├── .gitignore
├── .prettierrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── cli
├── commands
│ ├── build.ts
│ ├── init.ts
│ └── watch.ts
├── config
│ └── defaultConfig.ts
├── services
│ ├── configLoader.ts
│ ├── minifyService.ts
│ ├── purgeService.ts
│ └── scssCompiler.ts
├── src
│ └── cli.ts
└── utils
│ └── cli-ui.ts
├── dist
├── cli
│ ├── commands
│ │ ├── build.js
│ │ ├── init.js
│ │ └── watch.js
│ ├── config
│ │ └── defaultConfig.js
│ ├── services
│ │ ├── configLoader.js
│ │ ├── minifyService.js
│ │ ├── purgeService.js
│ │ └── scssCompiler.js
│ ├── src
│ │ └── cli.js
│ └── utils
│ │ ├── cli-ui.js
│ │ └── ui.js
├── yumma.css
└── yumma.min.css
├── gulpfile.mjs
├── package.json
├── pnpm-lock.yaml
├── src
├── _fonts.scss
├── abstracts
│ ├── _breakpoints.scss
│ ├── _index.scss
│ ├── _theme.scss
│ ├── _variables.scss
│ ├── functions
│ │ ├── _create-values.scss
│ │ ├── _ignore-neutral.scss
│ │ └── _index.scss
│ └── mixins
│ │ ├── _create-colors.scss
│ │ ├── _create-utilities.scss
│ │ ├── _extend-utilities.scss
│ │ └── _index.scss
├── reset
│ └── _stylecent.scss
├── utilities
│ ├── _background.scss
│ ├── _border.scss
│ ├── _box-model.scss
│ ├── _color.scss
│ ├── _effect.scss
│ ├── _flexbox.scss
│ ├── _grid.scss
│ ├── _index.scss
│ ├── _interactivity.scss
│ ├── _outline.scss
│ ├── _positioning.scss
│ ├── _svg.scss
│ ├── _table.scss
│ ├── _transform.scss
│ ├── _typography.scss
│ └── maps
│ │ ├── _index.scss
│ │ ├── box-model
│ │ ├── _dimension.scss
│ │ ├── _height.scss
│ │ ├── _margin.scss
│ │ ├── _padding.scss
│ │ └── _width.scss
│ │ ├── flexbox
│ │ └── _flex-basis.scss
│ │ └── grid
│ │ └── _gap.scss
├── yummacss-core.scss
└── yummacss.scss
└── tsconfig.cli.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | node_modules/
3 |
4 | # development
5 | *.tgz
6 | project-hierarchy.txt
7 | test/
8 |
9 | # vs code
10 | .vscode/
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "singleQuote": false,
4 | "tabWidth": 2,
5 | "trailingComma": "es5",
6 | "printWidth": 80,
7 | "bracketSameLine": true,
8 | "bracketSpacing": true
9 | }
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to the Yumma CSS will be documented in this file.
4 |
5 | ## Changelog for 3.0.0 🎉
6 |
7 |
8 |
9 | Features
10 |
11 |
12 | - Added **Background Attachment** utilities
13 | - Added **Background Clip** utilities
14 | - Added **Background Origin** utilities
15 | - Added **Background Position** utilities
16 | - Added **Background Repeat** utilities
17 | - Added **Background Size** utilities
18 | - Added **Blur** utilities
19 | - Added **Border Spacing** utilities
20 | - Added **Bottom Radius** utilities
21 | - Added **Bottom/Left/Right/Top (Axis)** utilities
22 | - Added **Clear** utilities
23 | - Added **Field Sizing** utilities
24 | - Added **Fill** utilities
25 | - Added **Font Family** fallbacks
26 | - Added **Grayscale** utilities
27 | - Added **Isolation** utilities
28 | - Added **Left Radius** utilities
29 | - Added **Letter Spacing** utilities
30 | - Added **List Style Position** utilities
31 | - Added **Margin Block End** utilities
32 | - Added **Margin Block Start** utilities
33 | - Added **Margin Inline End** utilities
34 | - Added **Margin Inline Start** utilities
35 | - Added **Order** utilities
36 | - Added **Padding Block End** utilities
37 | - Added **Padding Block Start** utilities
38 | - Added **Padding Inline End** utilities
39 | - Added **Padding Inline Start** utilities
40 | - Added **Place Content** utilities
41 | - Added **Place Items** utilities
42 | - Added **Place Self** utilities
43 | - Added **Right Radius** utilities
44 | - Added **Rotate** utilities
45 | - Added **Scale** utilities
46 | - Added **Scroll Behavior** utilities
47 | - Added **Scroll Margin Bottom** utilities
48 | - Added **Scroll Margin Inline End** utilities
49 | - Added **Scroll Margin Inline Start** utilities
50 | - Added **Scroll Margin Left** utilities
51 | - Added **Scroll Margin Right** utilities
52 | - Added **Scroll Margin Top** utilities
53 | - Added **Scroll Margin X** utilities
54 | - Added **Scroll Margin Y** utilities
55 | - Added **Scroll Margin** utilities
56 | - Added **Scroll Snap Align** utilities
57 | - Added **Scroll Snap Stop** utilities
58 | - Added **Scroll Snap Type** utilities
59 | - Added **Skew** utilities
60 | - Added **Stroke Width** utilities
61 | - Added **Stroke** utilities
62 | - Added **Text Indent** utilities
63 | - Added **Text Overflow** utilities
64 | - Added **Text Transform** utilities
65 | - Added **Text Underline Offset** utilities
66 | - Added **Text Wrap** utilities
67 | - Added **Top Radius** utilities
68 | - Added **Transform Origin** utilities
69 | - Added **Visibility** utilities
70 | - Added **White Space** utilities
71 | - Added `_create-colors.scss`, `_create-values.scss`, `_create-utilities.scss` and `_extend-utilities.scss` partial files (Internal)
72 | - Added `_dimension.scss`, `_height.scss`, `_margin.scss`, `_padding.scss` and `_width.scss` files (Internal)
73 | - Added `_index.scss` files (Internal)
74 | - Added `$yma-box-shadow-*` variables (Internal)
75 | - Added `$yma-font-size-*` variables (Internal)
76 | - Added `1/2`, `2/1`, `2/3`, `3/2`, and `9/16` values for **Aspect Ratio** utilities
77 | - Added `fs-4xl`, `fs-5xl`, `fs-7xl` and `fs-8xl` values for **Font Size** utilities
78 | - Added `full` and `half` values for **Bottom/Left/Right/Top** utilities
79 | - Added `src/abstracts/functions` folder (Internal)
80 | - Added `table-cell`, `table-column` and `table-row` values for **Display** utilities
81 | - Added `utilities/maps` folder (Internal)
82 | - Added `yummacss-core.scss` file (Internal)
83 | - Added CLI functionality
84 | - Added the `column-dense` and `row-dense` values for **Grid Auto Flow**
85 | - Extend **Column Gap** utilities from 0-16 to 0-100
86 | - Extend **Gap** utilities from 0-16 to 0-100
87 | - Extend **Row Gap** utilities from 0-16 to 0-100
88 |
89 |
90 |
91 |
92 |
93 |
94 | Breaking changes
95 |
96 |
97 | - Merged **Filters** and **Effects** subcategories into a **Effect** category
98 | - Migrated base styles functionality to config file
99 | - Migrated from `@import` to `@use` and `@forwards`
100 | - Migrated from Common Js to ESM (Internal)
101 | - Migrated to Dart SASS (Internal)
102 | - Relocate `_base.scss` to `reset/_stylecent.scss`
103 | - Relocate `_functions.scss` to `reset/_ignore-neutral.scss`
104 | - Removed **Spacing X** utilities
105 | - Removed **Spacing Y** utilities
106 | - Removed `.cnt{}` utility class
107 | - Removed `.ins{}` utility class
108 | - Removed `coreFile()` function from `gulpfile.mjs` (Internal)
109 | - Removed `d-` (dark) and `l-` (light) from all color utilities
110 | - Removed `d-` prefix from **Bottom/Left/Right/Top** utilities
111 | - Removed `d-1/2` **Dimension** utility
112 | - Removed `dist/yumma-core.css` file (Internal)
113 | - Removed `dist/yumma-core.min.scss` file (Internal)
114 | - Removed `h-1/2` **Height** utility
115 | - Removed `hidden` and `none` properties from **Text Decoration Style** utilities
116 | - Removed `minifiedCoreFile()` function (Internal)
117 | - Removed `none` **Bottom/Left/Right/Top** invalid utilities
118 | - Removed `w-1/2` **Width** utility
119 | - Renamed `_color.scss` to `_create-colors.scss`
120 | - Renamed `_core.scss` to `yummacss-core.scss`
121 | - Renamed `_layout.scss` to `_positioning.scss`
122 | - Renamed `gulpfile.js` to `gulpfile.mjs` (Internal)
123 | - Renamed `index.scss` to `yummacss.scss`
124 | - Reworked **Box Model** utilities generation
125 | - Updated **Columns** utilities syntax from `cols-*` to `c-*`
126 | - Updated **Dimension** utilities syntax from `dim-*` to `d-*`
127 | - Updated **Direction Bottom** utilities syntax from `dir-b-*` to `bo-*`
128 | - Updated **Direction Inset** utilities syntax from `dir-i-*` to `i-*`
129 | - Updated **Direction Left** utilities syntax from `dir-l-*` to `l-*`
130 | - Updated **Direction Right** utilities syntax from `dir-r-*` to `r-*`
131 | - Updated **Direction Top** utilities syntax from `dir-t-*` to `t-*`
132 | - Updated **Direction** utilities to utilize `rem` as unit
133 | - Updated **Float** utilities syntax from `flo-*` to `fl-*`
134 | - Updated **Font Size** utilities syntax from `fs-b` to `fs-md`
135 | - Updated **Max Dimension** utilities syntax from `max-dim-*` to `max-d-*`
136 | - Updated **Min Dimension** utilities syntax from `min-dim-*` to `min-d-*`
137 | - Updated **Overflow X** utilities syntax from `ovf-x-*` to `o-x-*`
138 | - Updated **Overflow Y** utilities syntax from `ovf-y-*` to `o-y-*`
139 | - Updated **Overflow** utilities syntax from `ovf-*` to `o-*`
140 | - Updated `d-1/1` **Dimension** utility to `d-dvh`
141 | - Updated `h-1/1` **Height** utility to `h-dvh`
142 | - Updated `w-1/1` **Width** utility to `w-dvh`
143 | - Updated color shade percentage from 10% to 14%
144 | - Updated color utility generation logic
145 | - Updated color utility range from 1-6 to 1-12
146 |
147 |
148 |
149 |
150 |
151 | Fixes
152 |
153 |
154 | - Fixed responsive breakpoint utilities not overriding existent utilities [#2](https://github.com/yumma-lib/yumma-css/issues/2)
155 | - Fixed duplicated utilities in `yumma.css` and `yumma.min.css` files [#3](https://github.com/yumma-lib/yumma-css/issues/3)
156 |
157 |
158 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022-present Yumma CSS maintained by Renildo Pereira.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 | A CSS framework for the web with abbreviated styles.
13 |
14 | Read the documentation ↝
15 |
16 |
17 | ## Community
18 |
19 | Join the Yumma CSS community! Share your experiences and help Yumma CSS grow and be the best it can be.
20 |
21 | - Follow [@yummacss on X (Twitter)](https://x.com/yummacss)
22 | - Subscribe to [@yummacss on YouTube](https://www.youtube.com/@yummacss)
23 | - Join discussions on [`#yummacss` Discord](https://discord.gg/Zd2y6yVqgK)
24 |
25 | ## Built with
26 |
27 | - [Gulp](https://gulpjs.com/) — A toolkit to automate & enhance your workflow.
28 | - [SCSS](https://sass-lang.com/documentation/syntax/) — CSS with superpowers.
29 |
30 | ## Licensing
31 |
32 | MIT — Copyright (c) 2022–present
33 |
--------------------------------------------------------------------------------
/cli/commands/build.ts:
--------------------------------------------------------------------------------
1 | import { writeFileSync } from "fs";
2 | import { compileSCSS } from "../services/scssCompiler.js";
3 | import { purgeCSS } from "../services/purgeService.js";
4 | import { minifyCSS } from "../services/minifyService.js";
5 | import { loadConfig } from "../services/configLoader.js";
6 | import type { YummaConfig } from "../config/defaultConfig.js";
7 | import { cli } from "../utils/cli-ui.js";
8 |
9 | type BuildCache = {
10 | css?: string;
11 | dependencies?: string[];
12 | configHash?: string;
13 | };
14 |
15 | let cache: BuildCache = {};
16 |
17 | export async function build(
18 | existingConfig?: YummaConfig,
19 | forceRebuild = false
20 | ) {
21 | const buildSpinner = cli.startSpinner("Starting build process...");
22 | const startTime = Date.now();
23 |
24 | try {
25 | const config = existingConfig || (await loadConfig());
26 | const configHash = JSON.stringify(config);
27 | const configChanged = cache.configHash !== configHash;
28 |
29 | let css: string;
30 | if (forceRebuild || configChanged || !cache.css) {
31 | buildSpinner.text = "Compiling SCSS...";
32 | const result = await compileSCSS(config);
33 | css = result.css;
34 | cache = {
35 | css: result.css,
36 | dependencies: result.dependencies,
37 | configHash,
38 | };
39 | } else {
40 | css = cache.css;
41 | buildSpinner.text = "Using cached SCSS...";
42 | }
43 |
44 | buildSpinner.text = "Purging unused styles...";
45 | const purgedCSS = await purgeCSS(css, config);
46 |
47 | buildSpinner.text = "Minifying CSS...";
48 | const finalCSS = minifyCSS(purgedCSS, config);
49 |
50 | writeFileSync(config.output, finalCSS);
51 |
52 | buildSpinner.succeed("Build completed successfully!");
53 | cli.success(`Styles written to: ${config.output}`);
54 | cli.info(`Total time: ${Date.now() - startTime}ms`);
55 | } catch (error) {
56 | buildSpinner.fail("Build failed!");
57 | cli.error(
58 | error instanceof Error ? error.message : "Unknown error occurred"
59 | );
60 | process.exit(1);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/cli/commands/init.ts:
--------------------------------------------------------------------------------
1 | import { writeFileSync } from "fs";
2 | import { defaultConfig } from "../config/defaultConfig.js";
3 | import { cli } from "../utils/cli-ui.js";
4 |
5 | export function init() {
6 | const initSpinner = cli.startSpinner("Creating config file...");
7 |
8 | try {
9 | const configContent = `export default ${JSON.stringify(
10 | defaultConfig,
11 | null,
12 | 2
13 | )}`;
14 | writeFileSync("yumma.config.js", configContent);
15 |
16 | initSpinner.succeed("Config file created!");
17 | cli.success("yumma.config.js successfully created");
18 | } catch (error) {
19 | initSpinner.fail("Failed to create config file!");
20 | cli.error(
21 | error instanceof Error ? error.message : "Unknown error occurred"
22 | );
23 | process.exit(1);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/cli/commands/watch.ts:
--------------------------------------------------------------------------------
1 | import chok from "chokidar";
2 | import { build } from "./build.js";
3 | import { loadConfig } from "../services/configLoader.js";
4 | import type { YummaConfig } from "../config/defaultConfig.js";
5 | import { cli } from "../utils/cli-ui.js";
6 | import { globby } from "globby";
7 |
8 | let currentConfig: YummaConfig;
9 |
10 | export async function watch() {
11 | const watchSpinner = cli.startSpinner("Initializing watch mode...");
12 |
13 | try {
14 | currentConfig = await loadConfig();
15 | watchSpinner.start("Watching for changes...");
16 |
17 | await build(currentConfig, true);
18 |
19 | const files = await globby(currentConfig.source);
20 |
21 | const watcher = chok.watch(files, {
22 | awaitWriteFinish: {
23 | pollInterval: 50,
24 | stabilityThreshold: 200,
25 | },
26 | ignored: /(^|[/\\])\../,
27 | ignoreInitial: true,
28 | persistent: true,
29 | });
30 |
31 | watcher
32 | .on("add", (path) => handleChange(path, "added"))
33 | .on("change", (path) => handleChange(path, "changed"))
34 | .on("unlink", (path) => handleChange(path, "removed"));
35 |
36 | async function handleChange(path: string, event: string) {
37 | await build(currentConfig, true);
38 | }
39 | } catch (error) {
40 | watchSpinner.fail("Watch failed!");
41 | cli.error(
42 | error instanceof Error ? error.message : "Unknown error occurred"
43 | );
44 | process.exit(1);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/cli/config/defaultConfig.ts:
--------------------------------------------------------------------------------
1 | export interface YummaConfig {
2 | source: string[];
3 | output: string;
4 | buildOptions: {
5 | reset: boolean;
6 | minify: boolean;
7 | };
8 | }
9 |
10 | export const defaultConfig: YummaConfig = {
11 | source: [""],
12 | output: "",
13 | buildOptions: {
14 | reset: true,
15 | minify: false,
16 | },
17 | };
18 |
--------------------------------------------------------------------------------
/cli/services/configLoader.ts:
--------------------------------------------------------------------------------
1 | import { join } from "path";
2 | import { pathToFileURL } from "url";
3 | import { YummaConfig, defaultConfig } from "../config/defaultConfig.js";
4 |
5 | export async function loadConfig(): Promise {
6 | const configPath = join(process.cwd(), "yumma.config.js");
7 | const configUrl = pathToFileURL(configPath).href;
8 | const { default: userConfig } = (await import(configUrl)) as {
9 | default: Partial;
10 | };
11 |
12 | return {
13 | ...defaultConfig,
14 | ...userConfig,
15 | buildOptions: {
16 | ...defaultConfig.buildOptions,
17 | ...userConfig.buildOptions,
18 | },
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/cli/services/minifyService.ts:
--------------------------------------------------------------------------------
1 | import { transform } from "lightningcss";
2 | import type { YummaConfig } from "../config/defaultConfig.js";
3 |
4 | export function minifyCSS(css: string, config: YummaConfig): string {
5 | try {
6 | const result = transform({
7 | filename: "style.css",
8 | code: Buffer.from(css),
9 | minify: config.buildOptions.minify,
10 | sourceMap: false,
11 | });
12 |
13 | return result.code.toString();
14 | } catch (error) {
15 | console.error("Minification error:", error);
16 | throw error;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/cli/services/purgeService.ts:
--------------------------------------------------------------------------------
1 | import { PurgeCSS } from "purgecss";
2 | import { YummaConfig } from "../config/defaultConfig.js";
3 |
4 | import { globby } from "globby";
5 |
6 | export async function purgeCSS(
7 | css: string,
8 | config: YummaConfig
9 | ): Promise {
10 | const purgeCSSResult = await new PurgeCSS().purge({
11 | content: await globby(config.source),
12 | css: [{ raw: css }],
13 | defaultExtractor: (content) => {
14 | return content.match(/[\w-/\\:]+/g) || [];
15 | },
16 | });
17 |
18 | return purgeCSSResult[0].css;
19 | }
20 |
--------------------------------------------------------------------------------
/cli/services/scssCompiler.ts:
--------------------------------------------------------------------------------
1 | import * as sass from "sass-embedded";
2 | import type { YummaConfig } from "../config/defaultConfig.js";
3 | import { fileURLToPath } from "url";
4 | import { dirname, join } from "path";
5 |
6 | const __filename = fileURLToPath(import.meta.url);
7 | const __dirname = dirname(__filename);
8 | const packageRoot = join(__dirname, "../../..");
9 |
10 | export async function compileSCSS(config: YummaConfig): Promise<{
11 | css: string;
12 | dependencies: string[];
13 | }> {
14 | const scssFile = config.buildOptions.reset
15 | ? "yummacss.scss"
16 | : "yummacss-core.scss";
17 |
18 | try {
19 | const result = await sass.compileAsync(join(packageRoot, "src", scssFile), {
20 | style: "expanded",
21 | loadPaths: [join(packageRoot, "src")],
22 | importers: [
23 | {
24 | findFileUrl(url) {
25 | return new URL(url, `file://${join(packageRoot, "src/")}`);
26 | },
27 | },
28 | ],
29 | });
30 |
31 | return {
32 | css: result.css,
33 | dependencies: result.loadedUrls
34 | .filter((url) => url.protocol === "file:")
35 | .map((url) => fileURLToPath(url)),
36 | };
37 | } catch (error) {
38 | console.error("SCSS compilation error:", error);
39 | throw error;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/cli/src/cli.ts:
--------------------------------------------------------------------------------
1 | import { Command } from "commander";
2 | import { init } from "../commands/init.js";
3 | import { build } from "../commands/build.js";
4 | import { watch } from "../commands/watch.js";
5 |
6 | const program = new Command();
7 |
8 | program.name("yummacss").description("Yumma CSS CLI").version("3.0.0");
9 |
10 | program
11 | .command("init")
12 | .description("Create a default config file")
13 | .action(init);
14 |
15 | program
16 | .command("build")
17 | .description("Compile CSS with optional minification")
18 | .action(() => build().catch(() => process.exit(1)));
19 |
20 | program
21 | .command("watch")
22 | .description("Watch files and rebuild on changes")
23 | .action(() => watch().catch(() => process.exit(1)));
24 |
25 | program.parse(process.argv);
26 |
--------------------------------------------------------------------------------
/cli/utils/cli-ui.ts:
--------------------------------------------------------------------------------
1 | import ora from "ora";
2 |
3 | export const spinner = ora({
4 | spinner: "sand",
5 | });
6 |
7 | export const cli = {
8 | success: (msg: string) => console.log(`✔ ${msg}`),
9 | info: (msg: string) => console.log(`ℹ ${msg}`),
10 | error: (msg: string) => console.log(`✗ ${msg}`),
11 | startSpinner: (text: string) => {
12 | const spinner = ora({ spinner: "sand", color: "white" }).start(text);
13 | return spinner;
14 | },
15 | };
16 |
--------------------------------------------------------------------------------
/dist/cli/commands/build.js:
--------------------------------------------------------------------------------
1 | import { writeFileSync } from "fs";
2 | import { compileSCSS } from "../services/scssCompiler.js";
3 | import { purgeCSS } from "../services/purgeService.js";
4 | import { minifyCSS } from "../services/minifyService.js";
5 | import { loadConfig } from "../services/configLoader.js";
6 | import { cli } from "../utils/cli-ui.js";
7 | let cache = {};
8 | export async function build(existingConfig, forceRebuild = false) {
9 | const buildSpinner = cli.startSpinner("Starting build process...");
10 | const startTime = Date.now();
11 | try {
12 | const config = existingConfig || (await loadConfig());
13 | const configHash = JSON.stringify(config);
14 | const configChanged = cache.configHash !== configHash;
15 | let css;
16 | if (forceRebuild || configChanged || !cache.css) {
17 | buildSpinner.text = "Compiling SCSS...";
18 | const result = await compileSCSS(config);
19 | css = result.css;
20 | cache = {
21 | css: result.css,
22 | dependencies: result.dependencies,
23 | configHash,
24 | };
25 | }
26 | else {
27 | css = cache.css;
28 | buildSpinner.text = "Using cached SCSS...";
29 | }
30 | buildSpinner.text = "Purging unused styles...";
31 | const purgedCSS = await purgeCSS(css, config);
32 | buildSpinner.text = "Minifying CSS...";
33 | const finalCSS = minifyCSS(purgedCSS, config);
34 | writeFileSync(config.output, finalCSS);
35 | buildSpinner.succeed("Build completed successfully!");
36 | cli.success(`Styles written to: ${config.output}`);
37 | cli.info(`Total time: ${Date.now() - startTime}ms`);
38 | }
39 | catch (error) {
40 | buildSpinner.fail("Build failed!");
41 | cli.error(error instanceof Error ? error.message : "Unknown error occurred");
42 | process.exit(1);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/dist/cli/commands/init.js:
--------------------------------------------------------------------------------
1 | import { writeFileSync } from "fs";
2 | import { defaultConfig } from "../config/defaultConfig.js";
3 | import { cli } from "../utils/cli-ui.js";
4 | export function init() {
5 | const initSpinner = cli.startSpinner("Creating config file...");
6 | try {
7 | const configContent = `export default ${JSON.stringify(defaultConfig, null, 2)}`;
8 | writeFileSync("yumma.config.js", configContent);
9 | initSpinner.succeed("Config file created!");
10 | cli.success("yumma.config.js successfully created");
11 | }
12 | catch (error) {
13 | initSpinner.fail("Failed to create config file!");
14 | cli.error(error instanceof Error ? error.message : "Unknown error occurred");
15 | process.exit(1);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/dist/cli/commands/watch.js:
--------------------------------------------------------------------------------
1 | import chok from "chokidar";
2 | import { build } from "./build.js";
3 | import { loadConfig } from "../services/configLoader.js";
4 | import { cli } from "../utils/cli-ui.js";
5 | import { globby } from "globby";
6 | let currentConfig;
7 | export async function watch() {
8 | const watchSpinner = cli.startSpinner("Initializing watch mode...");
9 | try {
10 | currentConfig = await loadConfig();
11 | watchSpinner.start("Watching for changes...");
12 | await build(currentConfig, true);
13 | const files = await globby(currentConfig.source);
14 | const watcher = chok.watch(files, {
15 | awaitWriteFinish: {
16 | pollInterval: 50,
17 | stabilityThreshold: 200,
18 | },
19 | ignored: /(^|[/\\])\../,
20 | ignoreInitial: true,
21 | persistent: true,
22 | });
23 | watcher
24 | .on("add", (path) => handleChange(path, "added"))
25 | .on("change", (path) => handleChange(path, "changed"))
26 | .on("unlink", (path) => handleChange(path, "removed"));
27 | async function handleChange(path, event) {
28 | await build(currentConfig, true);
29 | }
30 | }
31 | catch (error) {
32 | watchSpinner.fail("Watch failed!");
33 | cli.error(error instanceof Error ? error.message : "Unknown error occurred");
34 | process.exit(1);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/dist/cli/config/defaultConfig.js:
--------------------------------------------------------------------------------
1 | export const defaultConfig = {
2 | source: [""],
3 | output: "",
4 | buildOptions: {
5 | reset: true,
6 | minify: false,
7 | },
8 | };
9 |
--------------------------------------------------------------------------------
/dist/cli/services/configLoader.js:
--------------------------------------------------------------------------------
1 | import { join } from "path";
2 | import { pathToFileURL } from "url";
3 | import { defaultConfig } from "../config/defaultConfig.js";
4 | export async function loadConfig() {
5 | const configPath = join(process.cwd(), "yumma.config.js");
6 | const configUrl = pathToFileURL(configPath).href;
7 | const { default: userConfig } = (await import(configUrl));
8 | return {
9 | ...defaultConfig,
10 | ...userConfig,
11 | buildOptions: {
12 | ...defaultConfig.buildOptions,
13 | ...userConfig.buildOptions,
14 | },
15 | };
16 | }
17 |
--------------------------------------------------------------------------------
/dist/cli/services/minifyService.js:
--------------------------------------------------------------------------------
1 | import { transform } from "lightningcss";
2 | export function minifyCSS(css, config) {
3 | try {
4 | const result = transform({
5 | filename: "style.css",
6 | code: Buffer.from(css),
7 | minify: config.buildOptions.minify,
8 | sourceMap: false,
9 | });
10 | return result.code.toString();
11 | }
12 | catch (error) {
13 | console.error("Minification error:", error);
14 | throw error;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dist/cli/services/purgeService.js:
--------------------------------------------------------------------------------
1 | import { PurgeCSS } from "purgecss";
2 | import { globby } from "globby";
3 | export async function purgeCSS(css, config) {
4 | const purgeCSSResult = await new PurgeCSS().purge({
5 | content: await globby(config.source),
6 | css: [{ raw: css }],
7 | defaultExtractor: (content) => {
8 | return content.match(/[\w-/\\:]+/g) || [];
9 | },
10 | });
11 | return purgeCSSResult[0].css;
12 | }
13 |
--------------------------------------------------------------------------------
/dist/cli/services/scssCompiler.js:
--------------------------------------------------------------------------------
1 | import * as sass from "sass-embedded";
2 | import { fileURLToPath } from "url";
3 | import { dirname, join } from "path";
4 | const __filename = fileURLToPath(import.meta.url);
5 | const __dirname = dirname(__filename);
6 | const packageRoot = join(__dirname, "../../..");
7 | export async function compileSCSS(config) {
8 | const scssFile = config.buildOptions.reset
9 | ? "yummacss.scss"
10 | : "yummacss-core.scss";
11 | try {
12 | const result = await sass.compileAsync(join(packageRoot, "src", scssFile), {
13 | style: "expanded",
14 | loadPaths: [join(packageRoot, "src")],
15 | importers: [
16 | {
17 | findFileUrl(url) {
18 | return new URL(url, `file://${join(packageRoot, "src/")}`);
19 | },
20 | },
21 | ],
22 | });
23 | return {
24 | css: result.css,
25 | dependencies: result.loadedUrls
26 | .filter((url) => url.protocol === "file:")
27 | .map((url) => fileURLToPath(url)),
28 | };
29 | }
30 | catch (error) {
31 | console.error("SCSS compilation error:", error);
32 | throw error;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/dist/cli/src/cli.js:
--------------------------------------------------------------------------------
1 | import { Command } from "commander";
2 | import { init } from "../commands/init.js";
3 | import { build } from "../commands/build.js";
4 | import { watch } from "../commands/watch.js";
5 | const program = new Command();
6 | program.name("yummacss").description("Yumma CSS CLI").version("3.0.0");
7 | program
8 | .command("init")
9 | .description("Create a default config file")
10 | .action(init);
11 | program
12 | .command("build")
13 | .description("Compile CSS with optional minification")
14 | .action(() => build().catch(() => process.exit(1)));
15 | program
16 | .command("watch")
17 | .description("Watch files and rebuild on changes")
18 | .action(() => watch().catch(() => process.exit(1)));
19 | program.parse(process.argv);
20 |
--------------------------------------------------------------------------------
/dist/cli/utils/cli-ui.js:
--------------------------------------------------------------------------------
1 | import ora from "ora";
2 | export const spinner = ora({
3 | spinner: "sand",
4 | });
5 | export const cli = {
6 | success: (msg) => console.log(`✔ ${msg}`),
7 | info: (msg) => console.log(`ℹ ${msg}`),
8 | error: (msg) => console.log(`✗ ${msg}`),
9 | startSpinner: (text) => {
10 | const spinner = ora({ spinner: "sand", color: "white" }).start(text);
11 | return spinner;
12 | },
13 | };
14 |
--------------------------------------------------------------------------------
/dist/cli/utils/ui.js:
--------------------------------------------------------------------------------
1 | import ora from "ora";
2 | import chalk from "chalk";
3 | export const spinner = ora();
4 | const { green, yellow, cyan, red } = chalk;
5 | export const ui = {
6 | success: (msg) => console.log(green(`✓ ${msg}`)),
7 | warn: (msg) => console.log(yellow(`⚠ ${msg}`)),
8 | info: (msg) => console.log(cyan(`ℹ ${msg}`)),
9 | error: (msg) => console.log(red(`✗ ${msg}`)),
10 | startSpinner: (text) => {
11 | spinner.text = text;
12 | spinner.start();
13 | return spinner;
14 | },
15 | };
16 |
--------------------------------------------------------------------------------
/gulpfile.mjs:
--------------------------------------------------------------------------------
1 | import gulp from "gulp";
2 | import dartSass from "sass";
3 | import gulpSass from "gulp-sass";
4 | import rename from "gulp-rename";
5 | import clean from "gulp-clean-css";
6 | import debug from "gulp-debug";
7 |
8 | const { series, src, dest } = gulp;
9 | const sass = gulpSass(dartSass);
10 |
11 | function buildStyles() {
12 | return src("src/yummacss.scss")
13 | .pipe(debug({ title: "Building styles:" }))
14 | .pipe(sass().on("error", sass.logError))
15 | .pipe(rename("yumma.css"))
16 | .pipe(dest("dist"));
17 | }
18 |
19 | function minifyStyles() {
20 | return src("dist/yumma.css", { allowEmpty: true })
21 | .pipe(debug({ title: "Minifying styles:" }))
22 | .pipe(clean())
23 | .pipe(rename({ suffix: ".min" }))
24 | .pipe(dest("dist"));
25 | }
26 |
27 | export const build = series(buildStyles, minifyStyles);
28 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "author": "Renildo Pereira",
3 | "description": "A CSS framework for the web with abbreviated styles.",
4 | "homepage": "https://yummacss.com",
5 | "license": "MIT",
6 | "main": "./dist/cli/index.js",
7 | "name": "yummacss",
8 | "type": "module",
9 | "version": "3.0.0",
10 | "bin": {
11 | "yummacss": "./dist/cli/src/cli.js",
12 | "yumma": "./dist/cli/src/cli.js"
13 | },
14 | "exports": {
15 | ".": "./dist/cli/src/cli.js"
16 | },
17 | "dependencies": {
18 | "chokidar": "^4.0.3",
19 | "commander": "^13.1.0",
20 | "globby": "^14.1.0",
21 | "lightningcss": "^1.29.3",
22 | "ora": "^8.2.0",
23 | "purgecss": "^7.0.2",
24 | "sass-embedded": "^1.85.1"
25 | },
26 | "devDependencies": {
27 | "@types/node": "^22.13.10",
28 | "gulp": "^5.0.0",
29 | "gulp-clean-css": "^4.3.0",
30 | "gulp-debug": "^5.0.1",
31 | "gulp-rename": "^2.0.0",
32 | "gulp-sass": "^6.0.0",
33 | "sass": "^1.85.1",
34 | "typescript": "^5.8.2"
35 | },
36 | "files": [
37 | "dist",
38 | "src"
39 | ],
40 | "repository": {
41 | "type": "git",
42 | "url": "https://github.com/yumma-lib/yumma-css"
43 | },
44 | "scripts": {
45 | "build:css": "gulp build",
46 | "build:cli": "tsc -p tsconfig.cli.json",
47 | "dev": "tsc -p tsconfig.cli.json --watch",
48 | "prepublishOnly": "pnpm build:cli"
49 | },
50 | "keywords": [
51 | "css-framework",
52 | "css",
53 | "framework",
54 | "utility-first",
55 | "yumma",
56 | "yummacss"
57 | ]
58 | }
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | chokidar:
12 | specifier: ^4.0.3
13 | version: 4.0.3
14 | commander:
15 | specifier: ^13.1.0
16 | version: 13.1.0
17 | globby:
18 | specifier: ^14.1.0
19 | version: 14.1.0
20 | lightningcss:
21 | specifier: ^1.29.3
22 | version: 1.29.3
23 | ora:
24 | specifier: ^8.2.0
25 | version: 8.2.0
26 | purgecss:
27 | specifier: ^7.0.2
28 | version: 7.0.2
29 | sass-embedded:
30 | specifier: ^1.85.1
31 | version: 1.85.1
32 | devDependencies:
33 | '@types/node':
34 | specifier: ^22.13.10
35 | version: 22.13.10
36 | gulp:
37 | specifier: ^5.0.0
38 | version: 5.0.0
39 | gulp-clean-css:
40 | specifier: ^4.3.0
41 | version: 4.3.0
42 | gulp-debug:
43 | specifier: ^5.0.1
44 | version: 5.0.1(gulp@5.0.0)
45 | gulp-rename:
46 | specifier: ^2.0.0
47 | version: 2.0.0
48 | gulp-sass:
49 | specifier: ^6.0.0
50 | version: 6.0.0
51 | sass:
52 | specifier: ^1.85.1
53 | version: 1.85.1
54 | typescript:
55 | specifier: ^5.8.2
56 | version: 5.8.2
57 |
58 | packages:
59 |
60 | '@bufbuild/protobuf@2.2.3':
61 | resolution: {integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==}
62 |
63 | '@gulpjs/messages@1.1.0':
64 | resolution: {integrity: sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==}
65 | engines: {node: '>=10.13.0'}
66 |
67 | '@gulpjs/to-absolute-glob@4.0.0':
68 | resolution: {integrity: sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==}
69 | engines: {node: '>=10.13.0'}
70 |
71 | '@isaacs/cliui@8.0.2':
72 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
73 | engines: {node: '>=12'}
74 |
75 | '@nodelib/fs.scandir@2.1.5':
76 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
77 | engines: {node: '>= 8'}
78 |
79 | '@nodelib/fs.stat@2.0.5':
80 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
81 | engines: {node: '>= 8'}
82 |
83 | '@nodelib/fs.walk@1.2.8':
84 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
85 | engines: {node: '>= 8'}
86 |
87 | '@parcel/watcher-android-arm64@2.5.1':
88 | resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
89 | engines: {node: '>= 10.0.0'}
90 | cpu: [arm64]
91 | os: [android]
92 |
93 | '@parcel/watcher-darwin-arm64@2.5.1':
94 | resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
95 | engines: {node: '>= 10.0.0'}
96 | cpu: [arm64]
97 | os: [darwin]
98 |
99 | '@parcel/watcher-darwin-x64@2.5.1':
100 | resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
101 | engines: {node: '>= 10.0.0'}
102 | cpu: [x64]
103 | os: [darwin]
104 |
105 | '@parcel/watcher-freebsd-x64@2.5.1':
106 | resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
107 | engines: {node: '>= 10.0.0'}
108 | cpu: [x64]
109 | os: [freebsd]
110 |
111 | '@parcel/watcher-linux-arm-glibc@2.5.1':
112 | resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
113 | engines: {node: '>= 10.0.0'}
114 | cpu: [arm]
115 | os: [linux]
116 |
117 | '@parcel/watcher-linux-arm-musl@2.5.1':
118 | resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
119 | engines: {node: '>= 10.0.0'}
120 | cpu: [arm]
121 | os: [linux]
122 |
123 | '@parcel/watcher-linux-arm64-glibc@2.5.1':
124 | resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
125 | engines: {node: '>= 10.0.0'}
126 | cpu: [arm64]
127 | os: [linux]
128 |
129 | '@parcel/watcher-linux-arm64-musl@2.5.1':
130 | resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
131 | engines: {node: '>= 10.0.0'}
132 | cpu: [arm64]
133 | os: [linux]
134 |
135 | '@parcel/watcher-linux-x64-glibc@2.5.1':
136 | resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
137 | engines: {node: '>= 10.0.0'}
138 | cpu: [x64]
139 | os: [linux]
140 |
141 | '@parcel/watcher-linux-x64-musl@2.5.1':
142 | resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
143 | engines: {node: '>= 10.0.0'}
144 | cpu: [x64]
145 | os: [linux]
146 |
147 | '@parcel/watcher-win32-arm64@2.5.1':
148 | resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
149 | engines: {node: '>= 10.0.0'}
150 | cpu: [arm64]
151 | os: [win32]
152 |
153 | '@parcel/watcher-win32-ia32@2.5.1':
154 | resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
155 | engines: {node: '>= 10.0.0'}
156 | cpu: [ia32]
157 | os: [win32]
158 |
159 | '@parcel/watcher-win32-x64@2.5.1':
160 | resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
161 | engines: {node: '>= 10.0.0'}
162 | cpu: [x64]
163 | os: [win32]
164 |
165 | '@parcel/watcher@2.5.1':
166 | resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
167 | engines: {node: '>= 10.0.0'}
168 |
169 | '@sindresorhus/merge-streams@2.3.0':
170 | resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
171 | engines: {node: '>=18'}
172 |
173 | '@types/expect@1.20.4':
174 | resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==}
175 |
176 | '@types/node@22.13.10':
177 | resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==}
178 |
179 | '@types/vinyl@2.0.12':
180 | resolution: {integrity: sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==}
181 |
182 | ansi-colors@1.1.0:
183 | resolution: {integrity: sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==}
184 | engines: {node: '>=0.10.0'}
185 |
186 | ansi-regex@5.0.1:
187 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
188 | engines: {node: '>=8'}
189 |
190 | ansi-regex@6.1.0:
191 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
192 | engines: {node: '>=12'}
193 |
194 | ansi-styles@4.3.0:
195 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
196 | engines: {node: '>=8'}
197 |
198 | ansi-styles@6.2.1:
199 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
200 | engines: {node: '>=12'}
201 |
202 | ansi-wrap@0.1.0:
203 | resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==}
204 | engines: {node: '>=0.10.0'}
205 |
206 | anymatch@3.1.3:
207 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
208 | engines: {node: '>= 8'}
209 |
210 | arr-diff@4.0.0:
211 | resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
212 | engines: {node: '>=0.10.0'}
213 |
214 | arr-union@3.1.0:
215 | resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
216 | engines: {node: '>=0.10.0'}
217 |
218 | array-each@1.0.1:
219 | resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==}
220 | engines: {node: '>=0.10.0'}
221 |
222 | array-slice@1.1.0:
223 | resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==}
224 | engines: {node: '>=0.10.0'}
225 |
226 | assign-symbols@1.0.0:
227 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
228 | engines: {node: '>=0.10.0'}
229 |
230 | async-done@2.0.0:
231 | resolution: {integrity: sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==}
232 | engines: {node: '>= 10.13.0'}
233 |
234 | async-settle@2.0.0:
235 | resolution: {integrity: sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==}
236 | engines: {node: '>= 10.13.0'}
237 |
238 | b4a@1.6.7:
239 | resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
240 |
241 | bach@2.0.1:
242 | resolution: {integrity: sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==}
243 | engines: {node: '>=10.13.0'}
244 |
245 | balanced-match@1.0.2:
246 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
247 |
248 | bare-events@2.5.4:
249 | resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==}
250 |
251 | base64-js@1.5.1:
252 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
253 |
254 | binary-extensions@2.3.0:
255 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
256 | engines: {node: '>=8'}
257 |
258 | bl@5.1.0:
259 | resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
260 |
261 | brace-expansion@2.0.1:
262 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
263 |
264 | braces@3.0.3:
265 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
266 | engines: {node: '>=8'}
267 |
268 | buffer-builder@0.2.0:
269 | resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==}
270 |
271 | buffer@6.0.3:
272 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
273 |
274 | chalk@4.1.2:
275 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
276 | engines: {node: '>=10'}
277 |
278 | chalk@5.4.1:
279 | resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
280 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
281 |
282 | chokidar@3.6.0:
283 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
284 | engines: {node: '>= 8.10.0'}
285 |
286 | chokidar@4.0.3:
287 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
288 | engines: {node: '>= 14.16.0'}
289 |
290 | clean-css@4.2.3:
291 | resolution: {integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==}
292 | engines: {node: '>= 4.0'}
293 |
294 | cli-cursor@5.0.0:
295 | resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
296 | engines: {node: '>=18'}
297 |
298 | cli-spinners@2.9.2:
299 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
300 | engines: {node: '>=6'}
301 |
302 | cliui@7.0.4:
303 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
304 |
305 | clone-stats@1.0.0:
306 | resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==}
307 |
308 | clone@2.1.2:
309 | resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
310 | engines: {node: '>=0.8'}
311 |
312 | color-convert@2.0.1:
313 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
314 | engines: {node: '>=7.0.0'}
315 |
316 | color-name@1.1.4:
317 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
318 |
319 | colorjs.io@0.5.2:
320 | resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
321 |
322 | commander@12.1.0:
323 | resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
324 | engines: {node: '>=18'}
325 |
326 | commander@13.1.0:
327 | resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
328 | engines: {node: '>=18'}
329 |
330 | convert-source-map@2.0.0:
331 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
332 |
333 | copy-props@4.0.0:
334 | resolution: {integrity: sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==}
335 | engines: {node: '>= 10.13.0'}
336 |
337 | cross-spawn@7.0.6:
338 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
339 | engines: {node: '>= 8'}
340 |
341 | cssesc@3.0.0:
342 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
343 | engines: {node: '>=4'}
344 | hasBin: true
345 |
346 | detect-file@1.0.0:
347 | resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==}
348 | engines: {node: '>=0.10.0'}
349 |
350 | detect-libc@1.0.3:
351 | resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
352 | engines: {node: '>=0.10'}
353 | hasBin: true
354 |
355 | detect-libc@2.0.3:
356 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
357 | engines: {node: '>=8'}
358 |
359 | each-props@3.0.0:
360 | resolution: {integrity: sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==}
361 | engines: {node: '>= 10.13.0'}
362 |
363 | eastasianwidth@0.2.0:
364 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
365 |
366 | easy-transform-stream@1.0.1:
367 | resolution: {integrity: sha512-ktkaa6XR7COAR3oj02CF3IOgz2m1hCaY3SfzvKT4Svt2MhHw9XCt+ncJNWfe2TGz31iqzNGZ8spdKQflj+Rlog==}
368 | engines: {node: '>=14.16'}
369 |
370 | emoji-regex@10.4.0:
371 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
372 |
373 | emoji-regex@8.0.0:
374 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
375 |
376 | emoji-regex@9.2.2:
377 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
378 |
379 | end-of-stream@1.4.4:
380 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
381 |
382 | escalade@3.2.0:
383 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
384 | engines: {node: '>=6'}
385 |
386 | expand-tilde@2.0.2:
387 | resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
388 | engines: {node: '>=0.10.0'}
389 |
390 | extend-shallow@3.0.2:
391 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
392 | engines: {node: '>=0.10.0'}
393 |
394 | extend@3.0.2:
395 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
396 |
397 | fast-fifo@1.3.2:
398 | resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
399 |
400 | fast-glob@3.3.3:
401 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
402 | engines: {node: '>=8.6.0'}
403 |
404 | fast-levenshtein@3.0.0:
405 | resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==}
406 |
407 | fastest-levenshtein@1.0.16:
408 | resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
409 | engines: {node: '>= 4.9.1'}
410 |
411 | fastq@1.18.0:
412 | resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
413 |
414 | fill-range@7.1.1:
415 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
416 | engines: {node: '>=8'}
417 |
418 | findup-sync@5.0.0:
419 | resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==}
420 | engines: {node: '>= 10.13.0'}
421 |
422 | fined@2.0.0:
423 | resolution: {integrity: sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==}
424 | engines: {node: '>= 10.13.0'}
425 |
426 | flagged-respawn@2.0.0:
427 | resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==}
428 | engines: {node: '>= 10.13.0'}
429 |
430 | for-in@1.0.2:
431 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
432 | engines: {node: '>=0.10.0'}
433 |
434 | for-own@1.0.0:
435 | resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==}
436 | engines: {node: '>=0.10.0'}
437 |
438 | foreground-child@3.3.0:
439 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
440 | engines: {node: '>=14'}
441 |
442 | fs-mkdirp-stream@2.0.1:
443 | resolution: {integrity: sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==}
444 | engines: {node: '>=10.13.0'}
445 |
446 | fsevents@2.3.3:
447 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
448 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
449 | os: [darwin]
450 |
451 | function-bind@1.1.2:
452 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
453 |
454 | get-caller-file@2.0.5:
455 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
456 | engines: {node: 6.* || 8.* || >= 10.*}
457 |
458 | get-east-asian-width@1.3.0:
459 | resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
460 | engines: {node: '>=18'}
461 |
462 | get-own-enumerable-keys@1.0.0:
463 | resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==}
464 | engines: {node: '>=14.16'}
465 |
466 | glob-parent@5.1.2:
467 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
468 | engines: {node: '>= 6'}
469 |
470 | glob-parent@6.0.2:
471 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
472 | engines: {node: '>=10.13.0'}
473 |
474 | glob-stream@8.0.2:
475 | resolution: {integrity: sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==}
476 | engines: {node: '>=10.13.0'}
477 |
478 | glob-watcher@6.0.0:
479 | resolution: {integrity: sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==}
480 | engines: {node: '>= 10.13.0'}
481 |
482 | glob@11.0.1:
483 | resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==}
484 | engines: {node: 20 || >=22}
485 | hasBin: true
486 |
487 | global-modules@1.0.0:
488 | resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
489 | engines: {node: '>=0.10.0'}
490 |
491 | global-prefix@1.0.2:
492 | resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
493 | engines: {node: '>=0.10.0'}
494 |
495 | globby@14.1.0:
496 | resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==}
497 | engines: {node: '>=18'}
498 |
499 | glogg@2.2.0:
500 | resolution: {integrity: sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==}
501 | engines: {node: '>= 10.13.0'}
502 |
503 | graceful-fs@4.2.11:
504 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
505 |
506 | gulp-clean-css@4.3.0:
507 | resolution: {integrity: sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==}
508 |
509 | gulp-cli@3.0.0:
510 | resolution: {integrity: sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==}
511 | engines: {node: '>=10.13.0'}
512 | hasBin: true
513 |
514 | gulp-debug@5.0.1:
515 | resolution: {integrity: sha512-2MZFfzg95/6JlfKchX+ZY+6Awn2KoEvg4GeJh+uVi/lwD3W4LEeLDo3SfQEFBF9X5jhQYgUazKD/xyxd2dG9cw==}
516 | engines: {node: '>=18'}
517 | peerDependencies:
518 | gulp: '>=4'
519 | peerDependenciesMeta:
520 | gulp:
521 | optional: true
522 |
523 | gulp-plugin-extras@0.3.0:
524 | resolution: {integrity: sha512-I/kOBSpo61QsGQZcqozZYEnDseKvpudUafVVWDLYgBFAUJ37kW5R8Sjw9cMYzpGyPUfEYOeoY4p+dkfLqgyJUQ==}
525 | engines: {node: '>=18'}
526 |
527 | gulp-rename@2.0.0:
528 | resolution: {integrity: sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==}
529 | engines: {node: '>=4'}
530 |
531 | gulp-sass@6.0.0:
532 | resolution: {integrity: sha512-FGb4Uab4jnH2GnSfBGd6uW3+imvNodAGfsjGcUhEtpNYPVx+TK2tp5uh7MO0sSR7aIf1Sm544werc+zV7ejHHw==}
533 | engines: {node: '>=12'}
534 |
535 | gulp@5.0.0:
536 | resolution: {integrity: sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==}
537 | engines: {node: '>=10.13.0'}
538 | hasBin: true
539 |
540 | gulplog@2.2.0:
541 | resolution: {integrity: sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==}
542 | engines: {node: '>= 10.13.0'}
543 |
544 | has-flag@4.0.0:
545 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
546 | engines: {node: '>=8'}
547 |
548 | hasown@2.0.2:
549 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
550 | engines: {node: '>= 0.4'}
551 |
552 | homedir-polyfill@1.0.3:
553 | resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
554 | engines: {node: '>=0.10.0'}
555 |
556 | iconv-lite@0.6.3:
557 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
558 | engines: {node: '>=0.10.0'}
559 |
560 | ieee754@1.2.1:
561 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
562 |
563 | ignore@7.0.3:
564 | resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==}
565 | engines: {node: '>= 4'}
566 |
567 | immutable@5.0.3:
568 | resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==}
569 |
570 | inherits@2.0.4:
571 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
572 |
573 | ini@1.3.8:
574 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
575 |
576 | interpret@3.1.1:
577 | resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
578 | engines: {node: '>=10.13.0'}
579 |
580 | irregular-plurals@3.5.0:
581 | resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==}
582 | engines: {node: '>=8'}
583 |
584 | is-absolute@1.0.0:
585 | resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==}
586 | engines: {node: '>=0.10.0'}
587 |
588 | is-binary-path@2.1.0:
589 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
590 | engines: {node: '>=8'}
591 |
592 | is-core-module@2.16.1:
593 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
594 | engines: {node: '>= 0.4'}
595 |
596 | is-extendable@1.0.1:
597 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
598 | engines: {node: '>=0.10.0'}
599 |
600 | is-extglob@2.1.1:
601 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
602 | engines: {node: '>=0.10.0'}
603 |
604 | is-fullwidth-code-point@3.0.0:
605 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
606 | engines: {node: '>=8'}
607 |
608 | is-glob@4.0.3:
609 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
610 | engines: {node: '>=0.10.0'}
611 |
612 | is-interactive@2.0.0:
613 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
614 | engines: {node: '>=12'}
615 |
616 | is-negated-glob@1.0.0:
617 | resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==}
618 | engines: {node: '>=0.10.0'}
619 |
620 | is-number@7.0.0:
621 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
622 | engines: {node: '>=0.12.0'}
623 |
624 | is-obj@3.0.0:
625 | resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==}
626 | engines: {node: '>=12'}
627 |
628 | is-plain-object@2.0.4:
629 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
630 | engines: {node: '>=0.10.0'}
631 |
632 | is-plain-object@5.0.0:
633 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
634 | engines: {node: '>=0.10.0'}
635 |
636 | is-regexp@3.1.0:
637 | resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==}
638 | engines: {node: '>=12'}
639 |
640 | is-relative@1.0.0:
641 | resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==}
642 | engines: {node: '>=0.10.0'}
643 |
644 | is-unc-path@1.0.0:
645 | resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
646 | engines: {node: '>=0.10.0'}
647 |
648 | is-unicode-supported@1.3.0:
649 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
650 | engines: {node: '>=12'}
651 |
652 | is-unicode-supported@2.1.0:
653 | resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
654 | engines: {node: '>=18'}
655 |
656 | is-valid-glob@1.0.0:
657 | resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==}
658 | engines: {node: '>=0.10.0'}
659 |
660 | is-windows@1.0.2:
661 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
662 | engines: {node: '>=0.10.0'}
663 |
664 | isexe@2.0.0:
665 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
666 |
667 | isobject@3.0.1:
668 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
669 | engines: {node: '>=0.10.0'}
670 |
671 | jackspeak@4.0.2:
672 | resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==}
673 | engines: {node: 20 || >=22}
674 |
675 | last-run@2.0.0:
676 | resolution: {integrity: sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==}
677 | engines: {node: '>= 10.13.0'}
678 |
679 | lead@4.0.0:
680 | resolution: {integrity: sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==}
681 | engines: {node: '>=10.13.0'}
682 |
683 | liftoff@5.0.0:
684 | resolution: {integrity: sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==}
685 | engines: {node: '>=10.13.0'}
686 |
687 | lightningcss-darwin-arm64@1.29.3:
688 | resolution: {integrity: sha512-fb7raKO3pXtlNbQbiMeEu8RbBVHnpyqAoxTyTRMEWFQWmscGC2wZxoHzZ+YKAepUuKT9uIW5vL2QbFivTgprZg==}
689 | engines: {node: '>= 12.0.0'}
690 | cpu: [arm64]
691 | os: [darwin]
692 |
693 | lightningcss-darwin-x64@1.29.3:
694 | resolution: {integrity: sha512-KF2XZ4ZdmDGGtEYmx5wpzn6u8vg7AdBHaEOvDKu8GOs7xDL/vcU2vMKtTeNe1d4dogkDdi3B9zC77jkatWBwEQ==}
695 | engines: {node: '>= 12.0.0'}
696 | cpu: [x64]
697 | os: [darwin]
698 |
699 | lightningcss-freebsd-x64@1.29.3:
700 | resolution: {integrity: sha512-VUWeVf+V1UM54jv9M4wen9vMlIAyT69Krl9XjI8SsRxz4tdNV/7QEPlW6JASev/pYdiynUCW0pwaFquDRYdxMw==}
701 | engines: {node: '>= 12.0.0'}
702 | cpu: [x64]
703 | os: [freebsd]
704 |
705 | lightningcss-linux-arm-gnueabihf@1.29.3:
706 | resolution: {integrity: sha512-UhgZ/XVNfXQVEJrMIWeK1Laj8KbhjbIz7F4znUk7G4zeGw7TRoJxhb66uWrEsonn1+O45w//0i0Fu0wIovYdYg==}
707 | engines: {node: '>= 12.0.0'}
708 | cpu: [arm]
709 | os: [linux]
710 |
711 | lightningcss-linux-arm64-gnu@1.29.3:
712 | resolution: {integrity: sha512-Pqau7jtgJNmQ/esugfmAT1aCFy/Gxc92FOxI+3n+LbMHBheBnk41xHDhc0HeYlx9G0xP5tK4t0Koy3QGGNqypw==}
713 | engines: {node: '>= 12.0.0'}
714 | cpu: [arm64]
715 | os: [linux]
716 |
717 | lightningcss-linux-arm64-musl@1.29.3:
718 | resolution: {integrity: sha512-dxakOk66pf7KLS7VRYFO7B8WOJLecE5OPL2YOk52eriFd/yeyxt2Km5H0BjLfElokIaR+qWi33gB8MQLrdAY3A==}
719 | engines: {node: '>= 12.0.0'}
720 | cpu: [arm64]
721 | os: [linux]
722 |
723 | lightningcss-linux-x64-gnu@1.29.3:
724 | resolution: {integrity: sha512-ySZTNCpbfbK8rqpKJeJR2S0g/8UqqV3QnzcuWvpI60LWxnFN91nxpSSwCbzfOXkzKfar9j5eOuOplf+klKtINg==}
725 | engines: {node: '>= 12.0.0'}
726 | cpu: [x64]
727 | os: [linux]
728 |
729 | lightningcss-linux-x64-musl@1.29.3:
730 | resolution: {integrity: sha512-3pVZhIzW09nzi10usAXfIGTTSTYQ141dk88vGFNCgawIzayiIzZQxEcxVtIkdvlEq2YuFsL9Wcj/h61JHHzuFQ==}
731 | engines: {node: '>= 12.0.0'}
732 | cpu: [x64]
733 | os: [linux]
734 |
735 | lightningcss-win32-arm64-msvc@1.29.3:
736 | resolution: {integrity: sha512-VRnkAvtIkeWuoBJeGOTrZxsNp4HogXtcaaLm8agmbYtLDOhQdpgxW6NjZZjDXbvGF+eOehGulXZ3C1TiwHY4QQ==}
737 | engines: {node: '>= 12.0.0'}
738 | cpu: [arm64]
739 | os: [win32]
740 |
741 | lightningcss-win32-x64-msvc@1.29.3:
742 | resolution: {integrity: sha512-IszwRPu2cPnDQsZpd7/EAr0x2W7jkaWqQ1SwCVIZ/tSbZVXPLt6k8s6FkcyBjViCzvB5CW0We0QbbP7zp2aBjQ==}
743 | engines: {node: '>= 12.0.0'}
744 | cpu: [x64]
745 | os: [win32]
746 |
747 | lightningcss@1.29.3:
748 | resolution: {integrity: sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ==}
749 | engines: {node: '>= 12.0.0'}
750 |
751 | lodash.clonedeep@4.5.0:
752 | resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
753 |
754 | log-symbols@6.0.0:
755 | resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
756 | engines: {node: '>=18'}
757 |
758 | lru-cache@11.0.2:
759 | resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==}
760 | engines: {node: 20 || >=22}
761 |
762 | map-cache@0.2.2:
763 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
764 | engines: {node: '>=0.10.0'}
765 |
766 | merge2@1.4.1:
767 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
768 | engines: {node: '>= 8'}
769 |
770 | micromatch@4.0.8:
771 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
772 | engines: {node: '>=8.6'}
773 |
774 | mimic-function@5.0.1:
775 | resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
776 | engines: {node: '>=18'}
777 |
778 | minimatch@10.0.1:
779 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
780 | engines: {node: 20 || >=22}
781 |
782 | minipass@7.1.2:
783 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
784 | engines: {node: '>=16 || 14 >=14.17'}
785 |
786 | mute-stdout@2.0.0:
787 | resolution: {integrity: sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==}
788 | engines: {node: '>= 10.13.0'}
789 |
790 | nanoid@3.3.8:
791 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
792 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
793 | hasBin: true
794 |
795 | node-addon-api@7.1.1:
796 | resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
797 |
798 | normalize-path@3.0.0:
799 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
800 | engines: {node: '>=0.10.0'}
801 |
802 | now-and-later@3.0.0:
803 | resolution: {integrity: sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==}
804 | engines: {node: '>= 10.13.0'}
805 |
806 | object.defaults@1.1.0:
807 | resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==}
808 | engines: {node: '>=0.10.0'}
809 |
810 | object.pick@1.3.0:
811 | resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
812 | engines: {node: '>=0.10.0'}
813 |
814 | once@1.4.0:
815 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
816 |
817 | onetime@7.0.0:
818 | resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
819 | engines: {node: '>=18'}
820 |
821 | ora@8.2.0:
822 | resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
823 | engines: {node: '>=18'}
824 |
825 | package-json-from-dist@1.0.1:
826 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
827 |
828 | parse-filepath@1.0.2:
829 | resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==}
830 | engines: {node: '>=0.8'}
831 |
832 | parse-passwd@1.0.0:
833 | resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
834 | engines: {node: '>=0.10.0'}
835 |
836 | path-key@3.1.1:
837 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
838 | engines: {node: '>=8'}
839 |
840 | path-parse@1.0.7:
841 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
842 |
843 | path-root-regex@0.1.2:
844 | resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==}
845 | engines: {node: '>=0.10.0'}
846 |
847 | path-root@0.1.1:
848 | resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==}
849 | engines: {node: '>=0.10.0'}
850 |
851 | path-scurry@2.0.0:
852 | resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
853 | engines: {node: 20 || >=22}
854 |
855 | path-type@6.0.0:
856 | resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==}
857 | engines: {node: '>=18'}
858 |
859 | picocolors@1.1.1:
860 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
861 |
862 | picomatch@2.3.1:
863 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
864 | engines: {node: '>=8.6'}
865 |
866 | plugin-error@1.0.1:
867 | resolution: {integrity: sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==}
868 | engines: {node: '>= 0.10'}
869 |
870 | plur@5.1.0:
871 | resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==}
872 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
873 |
874 | postcss-selector-parser@6.1.2:
875 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
876 | engines: {node: '>=4'}
877 |
878 | postcss@8.5.1:
879 | resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
880 | engines: {node: ^10 || ^12 || >=14}
881 |
882 | purgecss@7.0.2:
883 | resolution: {integrity: sha512-4Ku8KoxNhOWi9X1XJ73XY5fv+I+hhTRedKpGs/2gaBKU8ijUiIKF/uyyIyh7Wo713bELSICF5/NswjcuOqYouQ==}
884 | hasBin: true
885 |
886 | queue-microtask@1.2.3:
887 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
888 |
889 | readable-stream@3.6.2:
890 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
891 | engines: {node: '>= 6'}
892 |
893 | readdirp@3.6.0:
894 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
895 | engines: {node: '>=8.10.0'}
896 |
897 | readdirp@4.1.1:
898 | resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==}
899 | engines: {node: '>= 14.18.0'}
900 |
901 | rechoir@0.8.0:
902 | resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
903 | engines: {node: '>= 10.13.0'}
904 |
905 | remove-trailing-separator@1.1.0:
906 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
907 |
908 | replace-ext@2.0.0:
909 | resolution: {integrity: sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==}
910 | engines: {node: '>= 10'}
911 |
912 | replace-homedir@2.0.0:
913 | resolution: {integrity: sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==}
914 | engines: {node: '>= 10.13.0'}
915 |
916 | require-directory@2.1.1:
917 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
918 | engines: {node: '>=0.10.0'}
919 |
920 | resolve-dir@1.0.1:
921 | resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
922 | engines: {node: '>=0.10.0'}
923 |
924 | resolve-options@2.0.0:
925 | resolution: {integrity: sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==}
926 | engines: {node: '>= 10.13.0'}
927 |
928 | resolve@1.22.10:
929 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
930 | engines: {node: '>= 0.4'}
931 | hasBin: true
932 |
933 | restore-cursor@5.1.0:
934 | resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
935 | engines: {node: '>=18'}
936 |
937 | reusify@1.0.4:
938 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
939 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
940 |
941 | run-parallel@1.2.0:
942 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
943 |
944 | rxjs@7.8.2:
945 | resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
946 |
947 | safe-buffer@5.2.1:
948 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
949 |
950 | safer-buffer@2.1.2:
951 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
952 |
953 | sass-embedded-android-arm64@1.85.1:
954 | resolution: {integrity: sha512-27oRheqNA3SJM2hAxpVbs7mCKUwKPWmEEhyiNFpBINb5ELVLg+Ck5RsGg+SJmo130ul5YX0vinmVB5uPWc8X5w==}
955 | engines: {node: '>=14.0.0'}
956 | cpu: [arm64]
957 | os: [android]
958 |
959 | sass-embedded-android-arm@1.85.1:
960 | resolution: {integrity: sha512-GkcgUGMZtEF9gheuE1dxCU0ZSAifuaFXi/aX7ZXvjtdwmTl9Zc/OHR9oiUJkc8IW9UI7H8TuwlTAA8+SwgwIeQ==}
961 | engines: {node: '>=14.0.0'}
962 | cpu: [arm]
963 | os: [android]
964 |
965 | sass-embedded-android-ia32@1.85.1:
966 | resolution: {integrity: sha512-f3x16NyRgtXFksIaO/xXKrUhttUBv8V0XsAR2Dhdb/yz4yrDrhzw9Wh8fmw7PlQqECcQvFaoDr3XIIM6lKzasw==}
967 | engines: {node: '>=14.0.0'}
968 | cpu: [ia32]
969 | os: [android]
970 |
971 | sass-embedded-android-riscv64@1.85.1:
972 | resolution: {integrity: sha512-IP6OijpJ8Mqo7XqCe0LsuZVbAxEFVboa0kXqqR5K55LebEplsTIA2GnmRyMay3Yr/2FVGsZbCb6Wlgkw23eCiA==}
973 | engines: {node: '>=14.0.0'}
974 | cpu: [riscv64]
975 | os: [android]
976 |
977 | sass-embedded-android-x64@1.85.1:
978 | resolution: {integrity: sha512-Mh7CA53wR3ADvXAYipFc/R3vV4PVOzoKwWzPxmq+7i8UZrtsVjKONxGtqWe9JG1mna0C9CRZAx0sv/BzbOJxWg==}
979 | engines: {node: '>=14.0.0'}
980 | cpu: [x64]
981 | os: [android]
982 |
983 | sass-embedded-darwin-arm64@1.85.1:
984 | resolution: {integrity: sha512-msWxzhvcP9hqGVegxVePVEfv9mVNTlUgGr6k7O7Ihji702mbtrH/lKwF4aRkkt4g1j7tv10+JtQXmTNi/pi9kA==}
985 | engines: {node: '>=14.0.0'}
986 | cpu: [arm64]
987 | os: [darwin]
988 |
989 | sass-embedded-darwin-x64@1.85.1:
990 | resolution: {integrity: sha512-J4UFHUiyI9Z+mwYMwz11Ky9TYr3hY1fCxeQddjNGL/+ovldtb0yAIHvoVM0BGprQDm5JqhtUk8KyJ3RMJqpaAA==}
991 | engines: {node: '>=14.0.0'}
992 | cpu: [x64]
993 | os: [darwin]
994 |
995 | sass-embedded-linux-arm64@1.85.1:
996 | resolution: {integrity: sha512-jGadetB03BMFG2rq3OXub/uvC/lGpbQOiLGEz3NLb2nRZWyauRhzDtvZqkr6BEhxgIWtMtz2020yD8ZJSw/r2w==}
997 | engines: {node: '>=14.0.0'}
998 | cpu: [arm64]
999 | os: [linux]
1000 |
1001 | sass-embedded-linux-arm@1.85.1:
1002 | resolution: {integrity: sha512-X0fDh95nNSw1wfRlnkE4oscoEA5Au4nnk785s9jghPFkTBg+A+5uB6trCjf0fM22+Iw6kiP4YYmDdw3BqxAKLQ==}
1003 | engines: {node: '>=14.0.0'}
1004 | cpu: [arm]
1005 | os: [linux]
1006 |
1007 | sass-embedded-linux-ia32@1.85.1:
1008 | resolution: {integrity: sha512-7HlYY90d9mitDtNi5s+S+5wYZrTVbkBH2/kf7ixrzh2BFfT0YM81UHLJRnGX93y9aOMBL6DSZAIfkt1RsV9bkQ==}
1009 | engines: {node: '>=14.0.0'}
1010 | cpu: [ia32]
1011 | os: [linux]
1012 |
1013 | sass-embedded-linux-musl-arm64@1.85.1:
1014 | resolution: {integrity: sha512-FLkIT0p18XOkR6wryJ13LqGBDsrYev2dRk9dtiU18NCpNXruKsdBQ1ZnWHVKB3h1dA9lFyEEisC0sooKdNfeOQ==}
1015 | engines: {node: '>=14.0.0'}
1016 | cpu: [arm64]
1017 | os: [linux]
1018 |
1019 | sass-embedded-linux-musl-arm@1.85.1:
1020 | resolution: {integrity: sha512-5vcdEqE8QZnu6i6shZo7x2N36V7YUoFotWj2rGekII5ty7Nkaj+VtZhUEOp9tAzEOlaFuDp5CyO1kUCvweT64A==}
1021 | engines: {node: '>=14.0.0'}
1022 | cpu: [arm]
1023 | os: [linux]
1024 |
1025 | sass-embedded-linux-musl-ia32@1.85.1:
1026 | resolution: {integrity: sha512-N1093T84zQJor1yyIAdYScB5eAuQarGK1tKgZ4uTnxVlgA7Xi1lXV8Eh7ox9sDqKCaWkVQ3MjqU26vYRBeRWyw==}
1027 | engines: {node: '>=14.0.0'}
1028 | cpu: [ia32]
1029 | os: [linux]
1030 |
1031 | sass-embedded-linux-musl-riscv64@1.85.1:
1032 | resolution: {integrity: sha512-WRsZS/7qlfYXsa93FBpSruieuURIu7ySfFhzYfF1IbKrNAGwmbduutkHZh2ddm5/vQMvQ0Rdosgv+CslaQHMcw==}
1033 | engines: {node: '>=14.0.0'}
1034 | cpu: [riscv64]
1035 | os: [linux]
1036 |
1037 | sass-embedded-linux-musl-x64@1.85.1:
1038 | resolution: {integrity: sha512-+OlLIilA5TnP0YEqTQ8yZtkW+bJIQYvzoGoNLUEskeyeGuOiIyn2CwL6G4JQB4xZQFaxPHb7JD3EueFkQbH0Pw==}
1039 | engines: {node: '>=14.0.0'}
1040 | cpu: [x64]
1041 | os: [linux]
1042 |
1043 | sass-embedded-linux-riscv64@1.85.1:
1044 | resolution: {integrity: sha512-mKKlOwMGLN7yP1p0gB5yG/HX4fYLnpWaqstNuOOXH+fOzTaNg0+1hALg0H0CDIqypPO74M5MS9T6FAJZGdT6dQ==}
1045 | engines: {node: '>=14.0.0'}
1046 | cpu: [riscv64]
1047 | os: [linux]
1048 |
1049 | sass-embedded-linux-x64@1.85.1:
1050 | resolution: {integrity: sha512-uKRTv0z8NgtHV7xSren78+yoWB79sNi7TMqI7Bxd8fcRNIgHQSA8QBdF8led2ETC004hr8h71BrY60RPO+SSvA==}
1051 | engines: {node: '>=14.0.0'}
1052 | cpu: [x64]
1053 | os: [linux]
1054 |
1055 | sass-embedded-win32-arm64@1.85.1:
1056 | resolution: {integrity: sha512-/GMiZXBOc6AEMBC3g25Rp+x8fq9Z6Ql7037l5rajBPhZ+DdFwtdHY0Ou3oIU6XuWUwD06U3ii4XufXVFhsP6PA==}
1057 | engines: {node: '>=14.0.0'}
1058 | cpu: [arm64]
1059 | os: [win32]
1060 |
1061 | sass-embedded-win32-ia32@1.85.1:
1062 | resolution: {integrity: sha512-L+4BWkKKBGFOKVQ2PQ5HwFfkM5FvTf1Xx2VSRvEWt9HxPXp6SPDho6zC8fqNQ3hSjoaoASEIJcSvgfdQYO0gdg==}
1063 | engines: {node: '>=14.0.0'}
1064 | cpu: [ia32]
1065 | os: [win32]
1066 |
1067 | sass-embedded-win32-x64@1.85.1:
1068 | resolution: {integrity: sha512-/FO0AGKWxVfCk4GKsC0yXWBpUZdySe3YAAbQQL0lL6xUd1OiUY8Kow6g4Kc1TB/+z0iuQKKTqI/acJMEYl4iTQ==}
1069 | engines: {node: '>=14.0.0'}
1070 | cpu: [x64]
1071 | os: [win32]
1072 |
1073 | sass-embedded@1.85.1:
1074 | resolution: {integrity: sha512-0i+3h2Df/c71afluxC1SXqyyMmJlnKWfu9ZGdzwuKRM1OftEa2XM2myt5tR36CF3PanYrMjFKtRIj8PfSf838w==}
1075 | engines: {node: '>=16.0.0'}
1076 | hasBin: true
1077 |
1078 | sass@1.85.1:
1079 | resolution: {integrity: sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==}
1080 | engines: {node: '>=14.0.0'}
1081 | hasBin: true
1082 |
1083 | semver-greatest-satisfied-range@2.0.0:
1084 | resolution: {integrity: sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==}
1085 | engines: {node: '>= 10.13.0'}
1086 |
1087 | semver@6.3.1:
1088 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1089 | hasBin: true
1090 |
1091 | shebang-command@2.0.0:
1092 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1093 | engines: {node: '>=8'}
1094 |
1095 | shebang-regex@3.0.0:
1096 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1097 | engines: {node: '>=8'}
1098 |
1099 | signal-exit@4.1.0:
1100 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1101 | engines: {node: '>=14'}
1102 |
1103 | slash@5.1.0:
1104 | resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
1105 | engines: {node: '>=14.16'}
1106 |
1107 | source-map-js@1.2.1:
1108 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1109 | engines: {node: '>=0.10.0'}
1110 |
1111 | source-map@0.5.7:
1112 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
1113 | engines: {node: '>=0.10.0'}
1114 |
1115 | source-map@0.6.1:
1116 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1117 | engines: {node: '>=0.10.0'}
1118 |
1119 | sparkles@2.1.0:
1120 | resolution: {integrity: sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==}
1121 | engines: {node: '>= 10.13.0'}
1122 |
1123 | stdin-discarder@0.2.2:
1124 | resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
1125 | engines: {node: '>=18'}
1126 |
1127 | stream-composer@1.0.2:
1128 | resolution: {integrity: sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==}
1129 |
1130 | stream-exhaust@1.0.2:
1131 | resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==}
1132 |
1133 | streamx@2.22.0:
1134 | resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==}
1135 |
1136 | string-width@4.2.3:
1137 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1138 | engines: {node: '>=8'}
1139 |
1140 | string-width@5.1.2:
1141 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1142 | engines: {node: '>=12'}
1143 |
1144 | string-width@7.2.0:
1145 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
1146 | engines: {node: '>=18'}
1147 |
1148 | string_decoder@1.3.0:
1149 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
1150 |
1151 | stringify-object@5.0.0:
1152 | resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==}
1153 | engines: {node: '>=14.16'}
1154 |
1155 | strip-ansi@6.0.1:
1156 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1157 | engines: {node: '>=8'}
1158 |
1159 | strip-ansi@7.1.0:
1160 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1161 | engines: {node: '>=12'}
1162 |
1163 | supports-color@7.2.0:
1164 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1165 | engines: {node: '>=8'}
1166 |
1167 | supports-color@8.1.1:
1168 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
1169 | engines: {node: '>=10'}
1170 |
1171 | supports-preserve-symlinks-flag@1.0.0:
1172 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1173 | engines: {node: '>= 0.4'}
1174 |
1175 | sver@1.8.4:
1176 | resolution: {integrity: sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==}
1177 |
1178 | sync-child-process@1.0.2:
1179 | resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
1180 | engines: {node: '>=16.0.0'}
1181 |
1182 | sync-message-port@1.1.3:
1183 | resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==}
1184 | engines: {node: '>=16.0.0'}
1185 |
1186 | teex@1.0.1:
1187 | resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==}
1188 |
1189 | text-decoder@1.2.3:
1190 | resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
1191 |
1192 | through2@3.0.1:
1193 | resolution: {integrity: sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==}
1194 |
1195 | tildify@3.0.0:
1196 | resolution: {integrity: sha512-9ZLMl75qnTLr7oSEmWJbKemFS/fP4TMBiF6PFwGwLpgobebU1ehXoGbadJ+7jT8fjaz2G82JgN9G4taz+o1j1w==}
1197 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1198 |
1199 | to-regex-range@5.0.1:
1200 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1201 | engines: {node: '>=8.0'}
1202 |
1203 | to-through@3.0.0:
1204 | resolution: {integrity: sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==}
1205 | engines: {node: '>=10.13.0'}
1206 |
1207 | tslib@2.8.1:
1208 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1209 |
1210 | typescript@5.8.2:
1211 | resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
1212 | engines: {node: '>=14.17'}
1213 | hasBin: true
1214 |
1215 | unc-path-regex@0.1.2:
1216 | resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==}
1217 | engines: {node: '>=0.10.0'}
1218 |
1219 | undertaker-registry@2.0.0:
1220 | resolution: {integrity: sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==}
1221 | engines: {node: '>= 10.13.0'}
1222 |
1223 | undertaker@2.0.0:
1224 | resolution: {integrity: sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==}
1225 | engines: {node: '>=10.13.0'}
1226 |
1227 | undici-types@6.20.0:
1228 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1229 |
1230 | unicorn-magic@0.3.0:
1231 | resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
1232 | engines: {node: '>=18'}
1233 |
1234 | util-deprecate@1.0.2:
1235 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1236 |
1237 | v8flags@4.0.1:
1238 | resolution: {integrity: sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==}
1239 | engines: {node: '>= 10.13.0'}
1240 |
1241 | value-or-function@4.0.0:
1242 | resolution: {integrity: sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==}
1243 | engines: {node: '>= 10.13.0'}
1244 |
1245 | varint@6.0.0:
1246 | resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
1247 |
1248 | vinyl-contents@2.0.0:
1249 | resolution: {integrity: sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==}
1250 | engines: {node: '>=10.13.0'}
1251 |
1252 | vinyl-fs@4.0.0:
1253 | resolution: {integrity: sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==}
1254 | engines: {node: '>=10.13.0'}
1255 |
1256 | vinyl-sourcemap@2.0.0:
1257 | resolution: {integrity: sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==}
1258 | engines: {node: '>=10.13.0'}
1259 |
1260 | vinyl-sourcemaps-apply@0.2.1:
1261 | resolution: {integrity: sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==}
1262 |
1263 | vinyl@3.0.0:
1264 | resolution: {integrity: sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==}
1265 | engines: {node: '>=10.13.0'}
1266 |
1267 | which@1.3.1:
1268 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
1269 | hasBin: true
1270 |
1271 | which@2.0.2:
1272 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1273 | engines: {node: '>= 8'}
1274 | hasBin: true
1275 |
1276 | wrap-ansi@7.0.0:
1277 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1278 | engines: {node: '>=10'}
1279 |
1280 | wrap-ansi@8.1.0:
1281 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1282 | engines: {node: '>=12'}
1283 |
1284 | wrappy@1.0.2:
1285 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1286 |
1287 | y18n@5.0.8:
1288 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
1289 | engines: {node: '>=10'}
1290 |
1291 | yargs-parser@20.2.9:
1292 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
1293 | engines: {node: '>=10'}
1294 |
1295 | yargs@16.2.0:
1296 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
1297 | engines: {node: '>=10'}
1298 |
1299 | snapshots:
1300 |
1301 | '@bufbuild/protobuf@2.2.3': {}
1302 |
1303 | '@gulpjs/messages@1.1.0': {}
1304 |
1305 | '@gulpjs/to-absolute-glob@4.0.0':
1306 | dependencies:
1307 | is-negated-glob: 1.0.0
1308 |
1309 | '@isaacs/cliui@8.0.2':
1310 | dependencies:
1311 | string-width: 5.1.2
1312 | string-width-cjs: string-width@4.2.3
1313 | strip-ansi: 7.1.0
1314 | strip-ansi-cjs: strip-ansi@6.0.1
1315 | wrap-ansi: 8.1.0
1316 | wrap-ansi-cjs: wrap-ansi@7.0.0
1317 |
1318 | '@nodelib/fs.scandir@2.1.5':
1319 | dependencies:
1320 | '@nodelib/fs.stat': 2.0.5
1321 | run-parallel: 1.2.0
1322 |
1323 | '@nodelib/fs.stat@2.0.5': {}
1324 |
1325 | '@nodelib/fs.walk@1.2.8':
1326 | dependencies:
1327 | '@nodelib/fs.scandir': 2.1.5
1328 | fastq: 1.18.0
1329 |
1330 | '@parcel/watcher-android-arm64@2.5.1':
1331 | optional: true
1332 |
1333 | '@parcel/watcher-darwin-arm64@2.5.1':
1334 | optional: true
1335 |
1336 | '@parcel/watcher-darwin-x64@2.5.1':
1337 | optional: true
1338 |
1339 | '@parcel/watcher-freebsd-x64@2.5.1':
1340 | optional: true
1341 |
1342 | '@parcel/watcher-linux-arm-glibc@2.5.1':
1343 | optional: true
1344 |
1345 | '@parcel/watcher-linux-arm-musl@2.5.1':
1346 | optional: true
1347 |
1348 | '@parcel/watcher-linux-arm64-glibc@2.5.1':
1349 | optional: true
1350 |
1351 | '@parcel/watcher-linux-arm64-musl@2.5.1':
1352 | optional: true
1353 |
1354 | '@parcel/watcher-linux-x64-glibc@2.5.1':
1355 | optional: true
1356 |
1357 | '@parcel/watcher-linux-x64-musl@2.5.1':
1358 | optional: true
1359 |
1360 | '@parcel/watcher-win32-arm64@2.5.1':
1361 | optional: true
1362 |
1363 | '@parcel/watcher-win32-ia32@2.5.1':
1364 | optional: true
1365 |
1366 | '@parcel/watcher-win32-x64@2.5.1':
1367 | optional: true
1368 |
1369 | '@parcel/watcher@2.5.1':
1370 | dependencies:
1371 | detect-libc: 1.0.3
1372 | is-glob: 4.0.3
1373 | micromatch: 4.0.8
1374 | node-addon-api: 7.1.1
1375 | optionalDependencies:
1376 | '@parcel/watcher-android-arm64': 2.5.1
1377 | '@parcel/watcher-darwin-arm64': 2.5.1
1378 | '@parcel/watcher-darwin-x64': 2.5.1
1379 | '@parcel/watcher-freebsd-x64': 2.5.1
1380 | '@parcel/watcher-linux-arm-glibc': 2.5.1
1381 | '@parcel/watcher-linux-arm-musl': 2.5.1
1382 | '@parcel/watcher-linux-arm64-glibc': 2.5.1
1383 | '@parcel/watcher-linux-arm64-musl': 2.5.1
1384 | '@parcel/watcher-linux-x64-glibc': 2.5.1
1385 | '@parcel/watcher-linux-x64-musl': 2.5.1
1386 | '@parcel/watcher-win32-arm64': 2.5.1
1387 | '@parcel/watcher-win32-ia32': 2.5.1
1388 | '@parcel/watcher-win32-x64': 2.5.1
1389 | optional: true
1390 |
1391 | '@sindresorhus/merge-streams@2.3.0': {}
1392 |
1393 | '@types/expect@1.20.4': {}
1394 |
1395 | '@types/node@22.13.10':
1396 | dependencies:
1397 | undici-types: 6.20.0
1398 |
1399 | '@types/vinyl@2.0.12':
1400 | dependencies:
1401 | '@types/expect': 1.20.4
1402 | '@types/node': 22.13.10
1403 |
1404 | ansi-colors@1.1.0:
1405 | dependencies:
1406 | ansi-wrap: 0.1.0
1407 |
1408 | ansi-regex@5.0.1: {}
1409 |
1410 | ansi-regex@6.1.0: {}
1411 |
1412 | ansi-styles@4.3.0:
1413 | dependencies:
1414 | color-convert: 2.0.1
1415 |
1416 | ansi-styles@6.2.1: {}
1417 |
1418 | ansi-wrap@0.1.0: {}
1419 |
1420 | anymatch@3.1.3:
1421 | dependencies:
1422 | normalize-path: 3.0.0
1423 | picomatch: 2.3.1
1424 |
1425 | arr-diff@4.0.0: {}
1426 |
1427 | arr-union@3.1.0: {}
1428 |
1429 | array-each@1.0.1: {}
1430 |
1431 | array-slice@1.1.0: {}
1432 |
1433 | assign-symbols@1.0.0: {}
1434 |
1435 | async-done@2.0.0:
1436 | dependencies:
1437 | end-of-stream: 1.4.4
1438 | once: 1.4.0
1439 | stream-exhaust: 1.0.2
1440 |
1441 | async-settle@2.0.0:
1442 | dependencies:
1443 | async-done: 2.0.0
1444 |
1445 | b4a@1.6.7: {}
1446 |
1447 | bach@2.0.1:
1448 | dependencies:
1449 | async-done: 2.0.0
1450 | async-settle: 2.0.0
1451 | now-and-later: 3.0.0
1452 |
1453 | balanced-match@1.0.2: {}
1454 |
1455 | bare-events@2.5.4:
1456 | optional: true
1457 |
1458 | base64-js@1.5.1: {}
1459 |
1460 | binary-extensions@2.3.0: {}
1461 |
1462 | bl@5.1.0:
1463 | dependencies:
1464 | buffer: 6.0.3
1465 | inherits: 2.0.4
1466 | readable-stream: 3.6.2
1467 |
1468 | brace-expansion@2.0.1:
1469 | dependencies:
1470 | balanced-match: 1.0.2
1471 |
1472 | braces@3.0.3:
1473 | dependencies:
1474 | fill-range: 7.1.1
1475 |
1476 | buffer-builder@0.2.0: {}
1477 |
1478 | buffer@6.0.3:
1479 | dependencies:
1480 | base64-js: 1.5.1
1481 | ieee754: 1.2.1
1482 |
1483 | chalk@4.1.2:
1484 | dependencies:
1485 | ansi-styles: 4.3.0
1486 | supports-color: 7.2.0
1487 |
1488 | chalk@5.4.1: {}
1489 |
1490 | chokidar@3.6.0:
1491 | dependencies:
1492 | anymatch: 3.1.3
1493 | braces: 3.0.3
1494 | glob-parent: 5.1.2
1495 | is-binary-path: 2.1.0
1496 | is-glob: 4.0.3
1497 | normalize-path: 3.0.0
1498 | readdirp: 3.6.0
1499 | optionalDependencies:
1500 | fsevents: 2.3.3
1501 |
1502 | chokidar@4.0.3:
1503 | dependencies:
1504 | readdirp: 4.1.1
1505 |
1506 | clean-css@4.2.3:
1507 | dependencies:
1508 | source-map: 0.6.1
1509 |
1510 | cli-cursor@5.0.0:
1511 | dependencies:
1512 | restore-cursor: 5.1.0
1513 |
1514 | cli-spinners@2.9.2: {}
1515 |
1516 | cliui@7.0.4:
1517 | dependencies:
1518 | string-width: 4.2.3
1519 | strip-ansi: 6.0.1
1520 | wrap-ansi: 7.0.0
1521 |
1522 | clone-stats@1.0.0: {}
1523 |
1524 | clone@2.1.2: {}
1525 |
1526 | color-convert@2.0.1:
1527 | dependencies:
1528 | color-name: 1.1.4
1529 |
1530 | color-name@1.1.4: {}
1531 |
1532 | colorjs.io@0.5.2: {}
1533 |
1534 | commander@12.1.0: {}
1535 |
1536 | commander@13.1.0: {}
1537 |
1538 | convert-source-map@2.0.0: {}
1539 |
1540 | copy-props@4.0.0:
1541 | dependencies:
1542 | each-props: 3.0.0
1543 | is-plain-object: 5.0.0
1544 |
1545 | cross-spawn@7.0.6:
1546 | dependencies:
1547 | path-key: 3.1.1
1548 | shebang-command: 2.0.0
1549 | which: 2.0.2
1550 |
1551 | cssesc@3.0.0: {}
1552 |
1553 | detect-file@1.0.0: {}
1554 |
1555 | detect-libc@1.0.3:
1556 | optional: true
1557 |
1558 | detect-libc@2.0.3: {}
1559 |
1560 | each-props@3.0.0:
1561 | dependencies:
1562 | is-plain-object: 5.0.0
1563 | object.defaults: 1.1.0
1564 |
1565 | eastasianwidth@0.2.0: {}
1566 |
1567 | easy-transform-stream@1.0.1: {}
1568 |
1569 | emoji-regex@10.4.0: {}
1570 |
1571 | emoji-regex@8.0.0: {}
1572 |
1573 | emoji-regex@9.2.2: {}
1574 |
1575 | end-of-stream@1.4.4:
1576 | dependencies:
1577 | once: 1.4.0
1578 |
1579 | escalade@3.2.0: {}
1580 |
1581 | expand-tilde@2.0.2:
1582 | dependencies:
1583 | homedir-polyfill: 1.0.3
1584 |
1585 | extend-shallow@3.0.2:
1586 | dependencies:
1587 | assign-symbols: 1.0.0
1588 | is-extendable: 1.0.1
1589 |
1590 | extend@3.0.2: {}
1591 |
1592 | fast-fifo@1.3.2: {}
1593 |
1594 | fast-glob@3.3.3:
1595 | dependencies:
1596 | '@nodelib/fs.stat': 2.0.5
1597 | '@nodelib/fs.walk': 1.2.8
1598 | glob-parent: 5.1.2
1599 | merge2: 1.4.1
1600 | micromatch: 4.0.8
1601 |
1602 | fast-levenshtein@3.0.0:
1603 | dependencies:
1604 | fastest-levenshtein: 1.0.16
1605 |
1606 | fastest-levenshtein@1.0.16: {}
1607 |
1608 | fastq@1.18.0:
1609 | dependencies:
1610 | reusify: 1.0.4
1611 |
1612 | fill-range@7.1.1:
1613 | dependencies:
1614 | to-regex-range: 5.0.1
1615 |
1616 | findup-sync@5.0.0:
1617 | dependencies:
1618 | detect-file: 1.0.0
1619 | is-glob: 4.0.3
1620 | micromatch: 4.0.8
1621 | resolve-dir: 1.0.1
1622 |
1623 | fined@2.0.0:
1624 | dependencies:
1625 | expand-tilde: 2.0.2
1626 | is-plain-object: 5.0.0
1627 | object.defaults: 1.1.0
1628 | object.pick: 1.3.0
1629 | parse-filepath: 1.0.2
1630 |
1631 | flagged-respawn@2.0.0: {}
1632 |
1633 | for-in@1.0.2: {}
1634 |
1635 | for-own@1.0.0:
1636 | dependencies:
1637 | for-in: 1.0.2
1638 |
1639 | foreground-child@3.3.0:
1640 | dependencies:
1641 | cross-spawn: 7.0.6
1642 | signal-exit: 4.1.0
1643 |
1644 | fs-mkdirp-stream@2.0.1:
1645 | dependencies:
1646 | graceful-fs: 4.2.11
1647 | streamx: 2.22.0
1648 |
1649 | fsevents@2.3.3:
1650 | optional: true
1651 |
1652 | function-bind@1.1.2: {}
1653 |
1654 | get-caller-file@2.0.5: {}
1655 |
1656 | get-east-asian-width@1.3.0: {}
1657 |
1658 | get-own-enumerable-keys@1.0.0: {}
1659 |
1660 | glob-parent@5.1.2:
1661 | dependencies:
1662 | is-glob: 4.0.3
1663 |
1664 | glob-parent@6.0.2:
1665 | dependencies:
1666 | is-glob: 4.0.3
1667 |
1668 | glob-stream@8.0.2:
1669 | dependencies:
1670 | '@gulpjs/to-absolute-glob': 4.0.0
1671 | anymatch: 3.1.3
1672 | fastq: 1.18.0
1673 | glob-parent: 6.0.2
1674 | is-glob: 4.0.3
1675 | is-negated-glob: 1.0.0
1676 | normalize-path: 3.0.0
1677 | streamx: 2.22.0
1678 |
1679 | glob-watcher@6.0.0:
1680 | dependencies:
1681 | async-done: 2.0.0
1682 | chokidar: 3.6.0
1683 |
1684 | glob@11.0.1:
1685 | dependencies:
1686 | foreground-child: 3.3.0
1687 | jackspeak: 4.0.2
1688 | minimatch: 10.0.1
1689 | minipass: 7.1.2
1690 | package-json-from-dist: 1.0.1
1691 | path-scurry: 2.0.0
1692 |
1693 | global-modules@1.0.0:
1694 | dependencies:
1695 | global-prefix: 1.0.2
1696 | is-windows: 1.0.2
1697 | resolve-dir: 1.0.1
1698 |
1699 | global-prefix@1.0.2:
1700 | dependencies:
1701 | expand-tilde: 2.0.2
1702 | homedir-polyfill: 1.0.3
1703 | ini: 1.3.8
1704 | is-windows: 1.0.2
1705 | which: 1.3.1
1706 |
1707 | globby@14.1.0:
1708 | dependencies:
1709 | '@sindresorhus/merge-streams': 2.3.0
1710 | fast-glob: 3.3.3
1711 | ignore: 7.0.3
1712 | path-type: 6.0.0
1713 | slash: 5.1.0
1714 | unicorn-magic: 0.3.0
1715 |
1716 | glogg@2.2.0:
1717 | dependencies:
1718 | sparkles: 2.1.0
1719 |
1720 | graceful-fs@4.2.11: {}
1721 |
1722 | gulp-clean-css@4.3.0:
1723 | dependencies:
1724 | clean-css: 4.2.3
1725 | plugin-error: 1.0.1
1726 | through2: 3.0.1
1727 | vinyl-sourcemaps-apply: 0.2.1
1728 |
1729 | gulp-cli@3.0.0:
1730 | dependencies:
1731 | '@gulpjs/messages': 1.1.0
1732 | chalk: 4.1.2
1733 | copy-props: 4.0.0
1734 | gulplog: 2.2.0
1735 | interpret: 3.1.1
1736 | liftoff: 5.0.0
1737 | mute-stdout: 2.0.0
1738 | replace-homedir: 2.0.0
1739 | semver-greatest-satisfied-range: 2.0.0
1740 | string-width: 4.2.3
1741 | v8flags: 4.0.1
1742 | yargs: 16.2.0
1743 |
1744 | gulp-debug@5.0.1(gulp@5.0.0):
1745 | dependencies:
1746 | chalk: 5.4.1
1747 | gulp-plugin-extras: 0.3.0
1748 | plur: 5.1.0
1749 | stringify-object: 5.0.0
1750 | tildify: 3.0.0
1751 | optionalDependencies:
1752 | gulp: 5.0.0
1753 |
1754 | gulp-plugin-extras@0.3.0:
1755 | dependencies:
1756 | '@types/vinyl': 2.0.12
1757 | chalk: 5.4.1
1758 | easy-transform-stream: 1.0.1
1759 |
1760 | gulp-rename@2.0.0: {}
1761 |
1762 | gulp-sass@6.0.0:
1763 | dependencies:
1764 | lodash.clonedeep: 4.5.0
1765 | picocolors: 1.1.1
1766 | plugin-error: 1.0.1
1767 | replace-ext: 2.0.0
1768 | strip-ansi: 6.0.1
1769 | vinyl-sourcemaps-apply: 0.2.1
1770 |
1771 | gulp@5.0.0:
1772 | dependencies:
1773 | glob-watcher: 6.0.0
1774 | gulp-cli: 3.0.0
1775 | undertaker: 2.0.0
1776 | vinyl-fs: 4.0.0
1777 |
1778 | gulplog@2.2.0:
1779 | dependencies:
1780 | glogg: 2.2.0
1781 |
1782 | has-flag@4.0.0: {}
1783 |
1784 | hasown@2.0.2:
1785 | dependencies:
1786 | function-bind: 1.1.2
1787 |
1788 | homedir-polyfill@1.0.3:
1789 | dependencies:
1790 | parse-passwd: 1.0.0
1791 |
1792 | iconv-lite@0.6.3:
1793 | dependencies:
1794 | safer-buffer: 2.1.2
1795 |
1796 | ieee754@1.2.1: {}
1797 |
1798 | ignore@7.0.3: {}
1799 |
1800 | immutable@5.0.3: {}
1801 |
1802 | inherits@2.0.4: {}
1803 |
1804 | ini@1.3.8: {}
1805 |
1806 | interpret@3.1.1: {}
1807 |
1808 | irregular-plurals@3.5.0: {}
1809 |
1810 | is-absolute@1.0.0:
1811 | dependencies:
1812 | is-relative: 1.0.0
1813 | is-windows: 1.0.2
1814 |
1815 | is-binary-path@2.1.0:
1816 | dependencies:
1817 | binary-extensions: 2.3.0
1818 |
1819 | is-core-module@2.16.1:
1820 | dependencies:
1821 | hasown: 2.0.2
1822 |
1823 | is-extendable@1.0.1:
1824 | dependencies:
1825 | is-plain-object: 2.0.4
1826 |
1827 | is-extglob@2.1.1: {}
1828 |
1829 | is-fullwidth-code-point@3.0.0: {}
1830 |
1831 | is-glob@4.0.3:
1832 | dependencies:
1833 | is-extglob: 2.1.1
1834 |
1835 | is-interactive@2.0.0: {}
1836 |
1837 | is-negated-glob@1.0.0: {}
1838 |
1839 | is-number@7.0.0: {}
1840 |
1841 | is-obj@3.0.0: {}
1842 |
1843 | is-plain-object@2.0.4:
1844 | dependencies:
1845 | isobject: 3.0.1
1846 |
1847 | is-plain-object@5.0.0: {}
1848 |
1849 | is-regexp@3.1.0: {}
1850 |
1851 | is-relative@1.0.0:
1852 | dependencies:
1853 | is-unc-path: 1.0.0
1854 |
1855 | is-unc-path@1.0.0:
1856 | dependencies:
1857 | unc-path-regex: 0.1.2
1858 |
1859 | is-unicode-supported@1.3.0: {}
1860 |
1861 | is-unicode-supported@2.1.0: {}
1862 |
1863 | is-valid-glob@1.0.0: {}
1864 |
1865 | is-windows@1.0.2: {}
1866 |
1867 | isexe@2.0.0: {}
1868 |
1869 | isobject@3.0.1: {}
1870 |
1871 | jackspeak@4.0.2:
1872 | dependencies:
1873 | '@isaacs/cliui': 8.0.2
1874 |
1875 | last-run@2.0.0: {}
1876 |
1877 | lead@4.0.0: {}
1878 |
1879 | liftoff@5.0.0:
1880 | dependencies:
1881 | extend: 3.0.2
1882 | findup-sync: 5.0.0
1883 | fined: 2.0.0
1884 | flagged-respawn: 2.0.0
1885 | is-plain-object: 5.0.0
1886 | rechoir: 0.8.0
1887 | resolve: 1.22.10
1888 |
1889 | lightningcss-darwin-arm64@1.29.3:
1890 | optional: true
1891 |
1892 | lightningcss-darwin-x64@1.29.3:
1893 | optional: true
1894 |
1895 | lightningcss-freebsd-x64@1.29.3:
1896 | optional: true
1897 |
1898 | lightningcss-linux-arm-gnueabihf@1.29.3:
1899 | optional: true
1900 |
1901 | lightningcss-linux-arm64-gnu@1.29.3:
1902 | optional: true
1903 |
1904 | lightningcss-linux-arm64-musl@1.29.3:
1905 | optional: true
1906 |
1907 | lightningcss-linux-x64-gnu@1.29.3:
1908 | optional: true
1909 |
1910 | lightningcss-linux-x64-musl@1.29.3:
1911 | optional: true
1912 |
1913 | lightningcss-win32-arm64-msvc@1.29.3:
1914 | optional: true
1915 |
1916 | lightningcss-win32-x64-msvc@1.29.3:
1917 | optional: true
1918 |
1919 | lightningcss@1.29.3:
1920 | dependencies:
1921 | detect-libc: 2.0.3
1922 | optionalDependencies:
1923 | lightningcss-darwin-arm64: 1.29.3
1924 | lightningcss-darwin-x64: 1.29.3
1925 | lightningcss-freebsd-x64: 1.29.3
1926 | lightningcss-linux-arm-gnueabihf: 1.29.3
1927 | lightningcss-linux-arm64-gnu: 1.29.3
1928 | lightningcss-linux-arm64-musl: 1.29.3
1929 | lightningcss-linux-x64-gnu: 1.29.3
1930 | lightningcss-linux-x64-musl: 1.29.3
1931 | lightningcss-win32-arm64-msvc: 1.29.3
1932 | lightningcss-win32-x64-msvc: 1.29.3
1933 |
1934 | lodash.clonedeep@4.5.0: {}
1935 |
1936 | log-symbols@6.0.0:
1937 | dependencies:
1938 | chalk: 5.4.1
1939 | is-unicode-supported: 1.3.0
1940 |
1941 | lru-cache@11.0.2: {}
1942 |
1943 | map-cache@0.2.2: {}
1944 |
1945 | merge2@1.4.1: {}
1946 |
1947 | micromatch@4.0.8:
1948 | dependencies:
1949 | braces: 3.0.3
1950 | picomatch: 2.3.1
1951 |
1952 | mimic-function@5.0.1: {}
1953 |
1954 | minimatch@10.0.1:
1955 | dependencies:
1956 | brace-expansion: 2.0.1
1957 |
1958 | minipass@7.1.2: {}
1959 |
1960 | mute-stdout@2.0.0: {}
1961 |
1962 | nanoid@3.3.8: {}
1963 |
1964 | node-addon-api@7.1.1:
1965 | optional: true
1966 |
1967 | normalize-path@3.0.0: {}
1968 |
1969 | now-and-later@3.0.0:
1970 | dependencies:
1971 | once: 1.4.0
1972 |
1973 | object.defaults@1.1.0:
1974 | dependencies:
1975 | array-each: 1.0.1
1976 | array-slice: 1.1.0
1977 | for-own: 1.0.0
1978 | isobject: 3.0.1
1979 |
1980 | object.pick@1.3.0:
1981 | dependencies:
1982 | isobject: 3.0.1
1983 |
1984 | once@1.4.0:
1985 | dependencies:
1986 | wrappy: 1.0.2
1987 |
1988 | onetime@7.0.0:
1989 | dependencies:
1990 | mimic-function: 5.0.1
1991 |
1992 | ora@8.2.0:
1993 | dependencies:
1994 | chalk: 5.4.1
1995 | cli-cursor: 5.0.0
1996 | cli-spinners: 2.9.2
1997 | is-interactive: 2.0.0
1998 | is-unicode-supported: 2.1.0
1999 | log-symbols: 6.0.0
2000 | stdin-discarder: 0.2.2
2001 | string-width: 7.2.0
2002 | strip-ansi: 7.1.0
2003 |
2004 | package-json-from-dist@1.0.1: {}
2005 |
2006 | parse-filepath@1.0.2:
2007 | dependencies:
2008 | is-absolute: 1.0.0
2009 | map-cache: 0.2.2
2010 | path-root: 0.1.1
2011 |
2012 | parse-passwd@1.0.0: {}
2013 |
2014 | path-key@3.1.1: {}
2015 |
2016 | path-parse@1.0.7: {}
2017 |
2018 | path-root-regex@0.1.2: {}
2019 |
2020 | path-root@0.1.1:
2021 | dependencies:
2022 | path-root-regex: 0.1.2
2023 |
2024 | path-scurry@2.0.0:
2025 | dependencies:
2026 | lru-cache: 11.0.2
2027 | minipass: 7.1.2
2028 |
2029 | path-type@6.0.0: {}
2030 |
2031 | picocolors@1.1.1: {}
2032 |
2033 | picomatch@2.3.1: {}
2034 |
2035 | plugin-error@1.0.1:
2036 | dependencies:
2037 | ansi-colors: 1.1.0
2038 | arr-diff: 4.0.0
2039 | arr-union: 3.1.0
2040 | extend-shallow: 3.0.2
2041 |
2042 | plur@5.1.0:
2043 | dependencies:
2044 | irregular-plurals: 3.5.0
2045 |
2046 | postcss-selector-parser@6.1.2:
2047 | dependencies:
2048 | cssesc: 3.0.0
2049 | util-deprecate: 1.0.2
2050 |
2051 | postcss@8.5.1:
2052 | dependencies:
2053 | nanoid: 3.3.8
2054 | picocolors: 1.1.1
2055 | source-map-js: 1.2.1
2056 |
2057 | purgecss@7.0.2:
2058 | dependencies:
2059 | commander: 12.1.0
2060 | glob: 11.0.1
2061 | postcss: 8.5.1
2062 | postcss-selector-parser: 6.1.2
2063 |
2064 | queue-microtask@1.2.3: {}
2065 |
2066 | readable-stream@3.6.2:
2067 | dependencies:
2068 | inherits: 2.0.4
2069 | string_decoder: 1.3.0
2070 | util-deprecate: 1.0.2
2071 |
2072 | readdirp@3.6.0:
2073 | dependencies:
2074 | picomatch: 2.3.1
2075 |
2076 | readdirp@4.1.1: {}
2077 |
2078 | rechoir@0.8.0:
2079 | dependencies:
2080 | resolve: 1.22.10
2081 |
2082 | remove-trailing-separator@1.1.0: {}
2083 |
2084 | replace-ext@2.0.0: {}
2085 |
2086 | replace-homedir@2.0.0: {}
2087 |
2088 | require-directory@2.1.1: {}
2089 |
2090 | resolve-dir@1.0.1:
2091 | dependencies:
2092 | expand-tilde: 2.0.2
2093 | global-modules: 1.0.0
2094 |
2095 | resolve-options@2.0.0:
2096 | dependencies:
2097 | value-or-function: 4.0.0
2098 |
2099 | resolve@1.22.10:
2100 | dependencies:
2101 | is-core-module: 2.16.1
2102 | path-parse: 1.0.7
2103 | supports-preserve-symlinks-flag: 1.0.0
2104 |
2105 | restore-cursor@5.1.0:
2106 | dependencies:
2107 | onetime: 7.0.0
2108 | signal-exit: 4.1.0
2109 |
2110 | reusify@1.0.4: {}
2111 |
2112 | run-parallel@1.2.0:
2113 | dependencies:
2114 | queue-microtask: 1.2.3
2115 |
2116 | rxjs@7.8.2:
2117 | dependencies:
2118 | tslib: 2.8.1
2119 |
2120 | safe-buffer@5.2.1: {}
2121 |
2122 | safer-buffer@2.1.2: {}
2123 |
2124 | sass-embedded-android-arm64@1.85.1:
2125 | optional: true
2126 |
2127 | sass-embedded-android-arm@1.85.1:
2128 | optional: true
2129 |
2130 | sass-embedded-android-ia32@1.85.1:
2131 | optional: true
2132 |
2133 | sass-embedded-android-riscv64@1.85.1:
2134 | optional: true
2135 |
2136 | sass-embedded-android-x64@1.85.1:
2137 | optional: true
2138 |
2139 | sass-embedded-darwin-arm64@1.85.1:
2140 | optional: true
2141 |
2142 | sass-embedded-darwin-x64@1.85.1:
2143 | optional: true
2144 |
2145 | sass-embedded-linux-arm64@1.85.1:
2146 | optional: true
2147 |
2148 | sass-embedded-linux-arm@1.85.1:
2149 | optional: true
2150 |
2151 | sass-embedded-linux-ia32@1.85.1:
2152 | optional: true
2153 |
2154 | sass-embedded-linux-musl-arm64@1.85.1:
2155 | optional: true
2156 |
2157 | sass-embedded-linux-musl-arm@1.85.1:
2158 | optional: true
2159 |
2160 | sass-embedded-linux-musl-ia32@1.85.1:
2161 | optional: true
2162 |
2163 | sass-embedded-linux-musl-riscv64@1.85.1:
2164 | optional: true
2165 |
2166 | sass-embedded-linux-musl-x64@1.85.1:
2167 | optional: true
2168 |
2169 | sass-embedded-linux-riscv64@1.85.1:
2170 | optional: true
2171 |
2172 | sass-embedded-linux-x64@1.85.1:
2173 | optional: true
2174 |
2175 | sass-embedded-win32-arm64@1.85.1:
2176 | optional: true
2177 |
2178 | sass-embedded-win32-ia32@1.85.1:
2179 | optional: true
2180 |
2181 | sass-embedded-win32-x64@1.85.1:
2182 | optional: true
2183 |
2184 | sass-embedded@1.85.1:
2185 | dependencies:
2186 | '@bufbuild/protobuf': 2.2.3
2187 | buffer-builder: 0.2.0
2188 | colorjs.io: 0.5.2
2189 | immutable: 5.0.3
2190 | rxjs: 7.8.2
2191 | supports-color: 8.1.1
2192 | sync-child-process: 1.0.2
2193 | varint: 6.0.0
2194 | optionalDependencies:
2195 | sass-embedded-android-arm: 1.85.1
2196 | sass-embedded-android-arm64: 1.85.1
2197 | sass-embedded-android-ia32: 1.85.1
2198 | sass-embedded-android-riscv64: 1.85.1
2199 | sass-embedded-android-x64: 1.85.1
2200 | sass-embedded-darwin-arm64: 1.85.1
2201 | sass-embedded-darwin-x64: 1.85.1
2202 | sass-embedded-linux-arm: 1.85.1
2203 | sass-embedded-linux-arm64: 1.85.1
2204 | sass-embedded-linux-ia32: 1.85.1
2205 | sass-embedded-linux-musl-arm: 1.85.1
2206 | sass-embedded-linux-musl-arm64: 1.85.1
2207 | sass-embedded-linux-musl-ia32: 1.85.1
2208 | sass-embedded-linux-musl-riscv64: 1.85.1
2209 | sass-embedded-linux-musl-x64: 1.85.1
2210 | sass-embedded-linux-riscv64: 1.85.1
2211 | sass-embedded-linux-x64: 1.85.1
2212 | sass-embedded-win32-arm64: 1.85.1
2213 | sass-embedded-win32-ia32: 1.85.1
2214 | sass-embedded-win32-x64: 1.85.1
2215 |
2216 | sass@1.85.1:
2217 | dependencies:
2218 | chokidar: 4.0.3
2219 | immutable: 5.0.3
2220 | source-map-js: 1.2.1
2221 | optionalDependencies:
2222 | '@parcel/watcher': 2.5.1
2223 |
2224 | semver-greatest-satisfied-range@2.0.0:
2225 | dependencies:
2226 | sver: 1.8.4
2227 |
2228 | semver@6.3.1:
2229 | optional: true
2230 |
2231 | shebang-command@2.0.0:
2232 | dependencies:
2233 | shebang-regex: 3.0.0
2234 |
2235 | shebang-regex@3.0.0: {}
2236 |
2237 | signal-exit@4.1.0: {}
2238 |
2239 | slash@5.1.0: {}
2240 |
2241 | source-map-js@1.2.1: {}
2242 |
2243 | source-map@0.5.7: {}
2244 |
2245 | source-map@0.6.1: {}
2246 |
2247 | sparkles@2.1.0: {}
2248 |
2249 | stdin-discarder@0.2.2: {}
2250 |
2251 | stream-composer@1.0.2:
2252 | dependencies:
2253 | streamx: 2.22.0
2254 |
2255 | stream-exhaust@1.0.2: {}
2256 |
2257 | streamx@2.22.0:
2258 | dependencies:
2259 | fast-fifo: 1.3.2
2260 | text-decoder: 1.2.3
2261 | optionalDependencies:
2262 | bare-events: 2.5.4
2263 |
2264 | string-width@4.2.3:
2265 | dependencies:
2266 | emoji-regex: 8.0.0
2267 | is-fullwidth-code-point: 3.0.0
2268 | strip-ansi: 6.0.1
2269 |
2270 | string-width@5.1.2:
2271 | dependencies:
2272 | eastasianwidth: 0.2.0
2273 | emoji-regex: 9.2.2
2274 | strip-ansi: 7.1.0
2275 |
2276 | string-width@7.2.0:
2277 | dependencies:
2278 | emoji-regex: 10.4.0
2279 | get-east-asian-width: 1.3.0
2280 | strip-ansi: 7.1.0
2281 |
2282 | string_decoder@1.3.0:
2283 | dependencies:
2284 | safe-buffer: 5.2.1
2285 |
2286 | stringify-object@5.0.0:
2287 | dependencies:
2288 | get-own-enumerable-keys: 1.0.0
2289 | is-obj: 3.0.0
2290 | is-regexp: 3.1.0
2291 |
2292 | strip-ansi@6.0.1:
2293 | dependencies:
2294 | ansi-regex: 5.0.1
2295 |
2296 | strip-ansi@7.1.0:
2297 | dependencies:
2298 | ansi-regex: 6.1.0
2299 |
2300 | supports-color@7.2.0:
2301 | dependencies:
2302 | has-flag: 4.0.0
2303 |
2304 | supports-color@8.1.1:
2305 | dependencies:
2306 | has-flag: 4.0.0
2307 |
2308 | supports-preserve-symlinks-flag@1.0.0: {}
2309 |
2310 | sver@1.8.4:
2311 | optionalDependencies:
2312 | semver: 6.3.1
2313 |
2314 | sync-child-process@1.0.2:
2315 | dependencies:
2316 | sync-message-port: 1.1.3
2317 |
2318 | sync-message-port@1.1.3: {}
2319 |
2320 | teex@1.0.1:
2321 | dependencies:
2322 | streamx: 2.22.0
2323 |
2324 | text-decoder@1.2.3:
2325 | dependencies:
2326 | b4a: 1.6.7
2327 |
2328 | through2@3.0.1:
2329 | dependencies:
2330 | readable-stream: 3.6.2
2331 |
2332 | tildify@3.0.0: {}
2333 |
2334 | to-regex-range@5.0.1:
2335 | dependencies:
2336 | is-number: 7.0.0
2337 |
2338 | to-through@3.0.0:
2339 | dependencies:
2340 | streamx: 2.22.0
2341 |
2342 | tslib@2.8.1: {}
2343 |
2344 | typescript@5.8.2: {}
2345 |
2346 | unc-path-regex@0.1.2: {}
2347 |
2348 | undertaker-registry@2.0.0: {}
2349 |
2350 | undertaker@2.0.0:
2351 | dependencies:
2352 | bach: 2.0.1
2353 | fast-levenshtein: 3.0.0
2354 | last-run: 2.0.0
2355 | undertaker-registry: 2.0.0
2356 |
2357 | undici-types@6.20.0: {}
2358 |
2359 | unicorn-magic@0.3.0: {}
2360 |
2361 | util-deprecate@1.0.2: {}
2362 |
2363 | v8flags@4.0.1: {}
2364 |
2365 | value-or-function@4.0.0: {}
2366 |
2367 | varint@6.0.0: {}
2368 |
2369 | vinyl-contents@2.0.0:
2370 | dependencies:
2371 | bl: 5.1.0
2372 | vinyl: 3.0.0
2373 |
2374 | vinyl-fs@4.0.0:
2375 | dependencies:
2376 | fs-mkdirp-stream: 2.0.1
2377 | glob-stream: 8.0.2
2378 | graceful-fs: 4.2.11
2379 | iconv-lite: 0.6.3
2380 | is-valid-glob: 1.0.0
2381 | lead: 4.0.0
2382 | normalize-path: 3.0.0
2383 | resolve-options: 2.0.0
2384 | stream-composer: 1.0.2
2385 | streamx: 2.22.0
2386 | to-through: 3.0.0
2387 | value-or-function: 4.0.0
2388 | vinyl: 3.0.0
2389 | vinyl-sourcemap: 2.0.0
2390 |
2391 | vinyl-sourcemap@2.0.0:
2392 | dependencies:
2393 | convert-source-map: 2.0.0
2394 | graceful-fs: 4.2.11
2395 | now-and-later: 3.0.0
2396 | streamx: 2.22.0
2397 | vinyl: 3.0.0
2398 | vinyl-contents: 2.0.0
2399 |
2400 | vinyl-sourcemaps-apply@0.2.1:
2401 | dependencies:
2402 | source-map: 0.5.7
2403 |
2404 | vinyl@3.0.0:
2405 | dependencies:
2406 | clone: 2.1.2
2407 | clone-stats: 1.0.0
2408 | remove-trailing-separator: 1.1.0
2409 | replace-ext: 2.0.0
2410 | teex: 1.0.1
2411 |
2412 | which@1.3.1:
2413 | dependencies:
2414 | isexe: 2.0.0
2415 |
2416 | which@2.0.2:
2417 | dependencies:
2418 | isexe: 2.0.0
2419 |
2420 | wrap-ansi@7.0.0:
2421 | dependencies:
2422 | ansi-styles: 4.3.0
2423 | string-width: 4.2.3
2424 | strip-ansi: 6.0.1
2425 |
2426 | wrap-ansi@8.1.0:
2427 | dependencies:
2428 | ansi-styles: 6.2.1
2429 | string-width: 5.1.2
2430 | strip-ansi: 7.1.0
2431 |
2432 | wrappy@1.0.2: {}
2433 |
2434 | y18n@5.0.8: {}
2435 |
2436 | yargs-parser@20.2.9: {}
2437 |
2438 | yargs@16.2.0:
2439 | dependencies:
2440 | cliui: 7.0.4
2441 | escalade: 3.2.0
2442 | get-caller-file: 2.0.5
2443 | require-directory: 2.1.1
2444 | string-width: 4.2.3
2445 | y18n: 5.0.8
2446 | yargs-parser: 20.2.9
2447 |
--------------------------------------------------------------------------------
/src/_fonts.scss:
--------------------------------------------------------------------------------
1 | @use "abstracts/variables" as vars;
2 |
3 | .ff-c {
4 | font-family: vars.$yma-font-charter;
5 | font-weight: vars.$yma-font-weight;
6 | }
7 |
8 | .ff-m {
9 | font-family: vars.$yma-font-mono;
10 | font-weight: vars.$yma-font-weight;
11 | }
12 |
13 | .ff-s {
14 | font-family: vars.$yma-font-system;
15 | font-weight: vars.$yma-font-weight;
16 | }
17 |
--------------------------------------------------------------------------------
/src/abstracts/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 |
3 | $yma-breakpoints: (
4 | "sm": 40rem,
5 | "md": 48rem,
6 | "lg": 64rem,
7 | "xl": 80rem,
8 | "xxl": 96rem,
9 | );
10 |
11 | @mixin sm {
12 | @media (min-width: map.get($yma-breakpoints, "sm")) {
13 | @content;
14 | }
15 | }
16 |
17 | @mixin md {
18 | @media (min-width: map.get($yma-breakpoints, "md")) {
19 | @content;
20 | }
21 | }
22 |
23 | @mixin lg {
24 | @media (min-width: map.get($yma-breakpoints, "lg")) {
25 | @content;
26 | }
27 | }
28 |
29 | @mixin xl {
30 | @media (min-width: map.get($yma-breakpoints, "xl")) {
31 | @content;
32 | }
33 | }
34 |
35 | @mixin xxl {
36 | @media (min-width: map.get($yma-breakpoints, "xxl")) {
37 | @content;
38 | }
39 | }
40 |
41 | @mixin breakpoint($bp) {
42 | @media (min-width: $bp) {
43 | @content;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/abstracts/_index.scss:
--------------------------------------------------------------------------------
1 | @forward "functions";
2 | @forward "variables";
3 | @forward "breakpoints";
4 | @forward "mixins";
5 | @forward "theme";
6 |
--------------------------------------------------------------------------------
/src/abstracts/_theme.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "variables" as vars;
3 |
4 | $yma-theme: (
5 | "red": vars.$yma-color-red,
6 | "orange": vars.$yma-color-orange,
7 | "yellow": vars.$yma-color-yellow,
8 | "green": vars.$yma-color-green,
9 | "teal": vars.$yma-color-teal,
10 | "cyan": vars.$yma-color-cyan,
11 | "blue": vars.$yma-color-blue,
12 | "indigo": vars.$yma-color-indigo,
13 | "violet": vars.$yma-color-violet,
14 | "pink": vars.$yma-color-pink,
15 | "silver": vars.$yma-color-silver,
16 | "gray": vars.$yma-color-gray,
17 | "lead": vars.$yma-color-lead,
18 | "black": vars.$yma-color-black,
19 | "white": vars.$yma-color-white,
20 | "transparent": vars.$yma-color-transparent,
21 | );
22 |
--------------------------------------------------------------------------------
/src/abstracts/_variables.scss:
--------------------------------------------------------------------------------
1 | // color
2 | $yma-color-red: rgb(215, 61, 61) !default;
3 | $yma-color-orange: rgb(224, 104, 20) !default;
4 | $yma-color-yellow: rgb(211, 161, 7) !default;
5 | $yma-color-green: rgb(31, 177, 85) !default;
6 | $yma-color-teal: rgb(18, 166, 149) !default;
7 | $yma-color-cyan: rgb(5, 164, 191) !default;
8 | $yma-color-blue: rgb(53, 117, 221) !default;
9 | $yma-color-indigo: rgb(89, 92, 217) !default;
10 | $yma-color-violet: rgb(125, 83, 221) !default;
11 | $yma-color-pink: rgb(212, 65, 138) !default;
12 | $yma-color-lead: rgb(63, 63, 78) !default;
13 | $yma-color-gray: rgb(96, 103, 115) !default;
14 | $yma-color-silver: rgb(191, 194, 199) !default;
15 | $yma-color-black: black !default;
16 | $yma-color-white: white !default;
17 | $yma-color-transparent: transparent !default;
18 |
19 | // border
20 | $yma-border: 1px !default;
21 | $yma-border-radius: 0.25rem !default;
22 | $yma-border-spacing: 0.25rem !default;
23 |
24 | // box model
25 | $yma-dimension: 0.25rem !default;
26 | $yma-height: 0.25rem !default;
27 | $yma-width: 0.25rem !default;
28 | $yma-padding: 0.25rem !default;
29 | $yma-margin: 0.25rem !default;
30 | $yma-spacing: 0.25rem !default;
31 |
32 | // effect
33 | $yma-backdrop-blur: 4px !default;
34 |
35 | $yma-blur: 4px !default;
36 |
37 | $yma-box-shadow-lg: 1px 3px 5px 1px rgb(0, 0, 0, 0.1) !default;
38 | $yma-box-shadow-md: 1px 3px 5px -1px rgb(0, 0, 0, 0.1) !default;
39 | $yma-box-shadow-sm: 1px 3px 5px -2px rgb(0, 0, 0, 0.1) !default;
40 | $yma-box-shadow-xl: 1px 3px 5px 2px rgb(0, 0, 0, 0.1) !default;
41 | $yma-box-shadow-xs: 1px 3px 5px -3px rgb(0, 0, 0, 0.1) !default;
42 |
43 | $yma-grayscale: 10% !default;
44 |
45 | // flexbox
46 | $yma-flex-basis: 0.25rem !default;
47 |
48 | // grid
49 | $yma-gap: 0.25rem !default;
50 | $yma-column-gap: 0.25rem !default;
51 | $yma-row-gap: 0.25rem !default;
52 |
53 | // outline
54 | $yma-outline-offset: 1px !default;
55 | $yma-outline-width: 1px !default;
56 |
57 | // positioning
58 | $yma-bottom-left-top-right: 0.25rem !default;
59 |
60 | // typography
61 | $yma-decoration-thickness: 1px !default;
62 |
63 | $yma-font-size-xs: 0.75rem !default;
64 | $yma-font-size-sm: 0.875rem !default;
65 | $yma-font-size-md: 1rem !default;
66 | $yma-font-size-lg: 1.125rem !default;
67 | $yma-font-size-xl: 1.25rem !default;
68 | $yma-font-size-2xl: 1.5rem !default;
69 | $yma-font-size-3xl: 1.875rem !default;
70 | $yma-font-size-4xl: 2.25rem !default;
71 | $yma-font-size-5xl: 3rem !default;
72 | $yma-font-size-6xl: 3.75rem !default;
73 | $yma-font-size-7xl: 4.5rem !default;
74 | $yma-font-size-8xl: 6rem !default;
75 | $yma-font-size-9xl: 8rem !default;
76 |
77 | $yma-font-weight: 500 !default;
78 |
79 | $yma-font-charter: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif !default;
80 | $yma-font-mono: "Nimbus Mono PS", "Courier New", monospace !default;
81 | $yma-font-system: system-ui, sans-serif !default;
82 |
--------------------------------------------------------------------------------
/src/abstracts/functions/_create-values.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 |
3 | @function create-values($variable, $min: 0, $max: 100) {
4 | $values: ();
5 |
6 | @for $i from $min through $max {
7 | $values: map.merge(
8 | $values,
9 | (
10 | "#{$i}": $variable * $i,
11 | )
12 | );
13 | }
14 |
15 | @return $values;
16 | }
17 |
--------------------------------------------------------------------------------
/src/abstracts/functions/_ignore-neutral.scss:
--------------------------------------------------------------------------------
1 | @use "../theme" as *;
2 | @use "sass:map";
3 |
4 | // prettier-ignore
5 | @function ignore-neutral($v, $yma-theme) {
6 | @return $v != map.get($yma-theme, "black")
7 | and $v != map.get($yma-theme, "white")
8 | and $v != map.get($yma-theme, "transparent");
9 | }
10 |
--------------------------------------------------------------------------------
/src/abstracts/functions/_index.scss:
--------------------------------------------------------------------------------
1 | @forward "ignore-neutral";
2 | @forward "create-values";
3 |
--------------------------------------------------------------------------------
/src/abstracts/mixins/_create-colors.scss:
--------------------------------------------------------------------------------
1 | @use "sass:color";
2 |
3 | @mixin mod-color-scaling($property, $prefix, $k, $v) {
4 | .#{$prefix}-#{$k} {
5 | #{$property}: $v;
6 | }
7 |
8 | .h\:#{$prefix}-#{$k} {
9 | &:hover {
10 | #{$property}: $v;
11 | }
12 | }
13 | }
14 |
15 | @mixin shade-scaling($property, $prefix, $k, $v, $percentage) {
16 | @for $i from 1 through 13 {
17 | @if $i <= 6 {
18 | .#{$prefix}-#{$k}-#{$i} {
19 | #{$property}: color.mix(white, $v, (7 - $i) * $percentage);
20 | }
21 |
22 | .h\:#{$prefix}-#{$k}-#{$i} {
23 | &:hover {
24 | #{$property}: color.mix(white, $v, (7 - $i) * $percentage);
25 | }
26 | }
27 | } @else if $i > 7 {
28 | .#{$prefix}-#{$k}-#{$i - 1} {
29 | #{$property}: color.mix(black, $v, ($i - 7) * $percentage);
30 | }
31 |
32 | .h\:#{$prefix}-#{$k}-#{$i - 1} {
33 | &:hover {
34 | #{$property}: color.mix(black, $v, ($i - 7) * $percentage);
35 | }
36 | }
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/abstracts/mixins/_create-utilities.scss:
--------------------------------------------------------------------------------
1 | @use "../breakpoints" as bp;
2 | @use "sass:map";
3 |
4 | @mixin create-utilities($map, $prefix, $properties) {
5 | $function: if(
6 | map.has-key($map, "property-function"),
7 | map.get($map, "property-function"),
8 | null
9 | );
10 |
11 | // base styles
12 | @each $k, $v in map.get($map, "values") {
13 | .#{$prefix}-#{$k} {
14 | @each $property in $properties {
15 | #{$property}: if($function != null, $function + "(" + $v + ")", $v);
16 | }
17 | }
18 |
19 | // hover styles
20 | .h\:#{$prefix}-#{$k}:hover {
21 | @each $property in $properties {
22 | #{$property}: if($function != null, $function + "(" + $v + ")", $v);
23 | }
24 | }
25 | }
26 |
27 | // responsive styles
28 | @each $bp, $bp-value in bp.$yma-breakpoints {
29 | @media (min-width: $bp-value) {
30 | @each $k, $v in map.get($map, "values") {
31 | .#{$bp}\:#{$prefix}-#{$k} {
32 | @each $property in $properties {
33 | #{$property}: if($function != null, $function + "(" + $v + ")", $v);
34 | }
35 | }
36 | }
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/abstracts/mixins/_extend-utilities.scss:
--------------------------------------------------------------------------------
1 | @mixin extensions($map, $prefixes) {
2 | @each $k, $v in $map {
3 | @each $prefix, $property in $prefixes {
4 | // base styles
5 | .#{$prefix}-#{$k} {
6 | #{$property}: $v;
7 | }
8 |
9 | // hover styles
10 | .h\:#{$prefix}-#{$k}:hover {
11 | #{$property}: $v;
12 | }
13 |
14 | @each $bp, $bp-value in $yma-breakpoints {
15 | // responsive styles
16 | .#{$bp}\:#{$prefix}-#{$k} {
17 | @include breakpoint($bp-value) {
18 | #{$property}: $v;
19 | }
20 | }
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/abstracts/mixins/_index.scss:
--------------------------------------------------------------------------------
1 | @forward "create-colors";
2 | @forward "create-utilities";
3 | @forward "extend-utilities";
4 |
--------------------------------------------------------------------------------
/src/reset/_stylecent.scss:
--------------------------------------------------------------------------------
1 | @use "../abstracts/variables" as vars;
2 |
3 | /**
4 | * Yumma CSS v3.0.0 by Renildo Pereira | https://www.yummacss.com/
5 | */
6 |
7 | /** -- Box sizing --
8 | * 1. Use a more intuitive box-sizing model to make the design consistent.
9 | * 2. Remove default margin and padding.
10 | * 3. Reset default border styles.
11 | */
12 |
13 | *,
14 | *::before,
15 | *::after {
16 | box-sizing: border-box; /* 1 */
17 | border: 0 solid; /* 3 */
18 | }
19 |
20 | * {
21 | margin: 0; /* 2 */
22 | padding: 0; /* 2 */
23 | }
24 |
25 | /** -- Document --
26 | * 1. Improve font smoothing.
27 | * 2. Set a default system font.
28 | * 3. Add accessible line-height.
29 | */
30 |
31 | body {
32 | -webkit-font-smoothing: antialiased; /* 1 */
33 | font-family: vars.$yma-font-system; /* 2 */
34 | line-height: 1.5; /* 3 */
35 | }
36 |
37 | /** -- Media Elements --
38 | * 1. Ensure all media elements like images, videos, and canvases are block-level.
39 | * 2. Limit their maximum width to the parent container.
40 | */
41 |
42 | canvas,
43 | img,
44 | picture,
45 | svg,
46 | video {
47 | display: block; /* 1 */
48 | max-width: 100%; /* 2 */
49 | }
50 |
51 | /** -- Form Elements --
52 | * 1. Reset background and border styles for form elements.
53 | * 2. Use `inherit` to ensure font consistency within forms.
54 | * 3. Add default padding for usability.
55 | */
56 |
57 | button,
58 | input,
59 | optgroup,
60 | select,
61 | textarea {
62 | background-color: vars.$yma-color-transparent; /* 1 */
63 | font-family: inherit; /* 2 */
64 | padding: 0.5rem; /* 3 */
65 | }
66 |
67 | /**
68 | * Add a default border to form elements that do not have a class attribute.
69 | */
70 |
71 | button:not([class]),
72 | input:not([class]),
73 | optgroup:not([class]),
74 | select:not([class]),
75 | textarea:not([class]) {
76 | border: 1px solid vars.$yma-color-silver; /* 1 */
77 | }
78 |
79 | /**
80 | * Apply consistent focus styles to interactive elements.
81 | */
82 |
83 | a,
84 | button,
85 | input,
86 | select,
87 | summary,
88 | textarea {
89 | &:focus {
90 | outline: 2px solid vars.$yma-color-transparent;
91 | }
92 | }
93 |
94 | /**
95 | * Set a minimum height for textareas without a defined `rows` attribute.
96 | */
97 |
98 | textarea:not([rows]) {
99 | min-height: 10em;
100 | }
101 |
102 | /**
103 | * Ensure the buttons have a pointer cursor.
104 | */
105 |
106 | button {
107 | cursor: pointer;
108 | }
109 |
110 | /** Disabled States
111 | * 1. Reduce opacity and set a "not-allowed" cursor for disabled elements.
112 | */
113 |
114 | button:disabled,
115 | input:disabled,
116 | select:disabled,
117 | textarea:disabled {
118 | cursor: not-allowed; /* 1 */
119 | opacity: 0.5; /* 1 */
120 | }
121 |
122 | /** -- Typography --
123 | * 1. Avoid text overflows.
124 | * 2. Improve line wrapping for headings.
125 | * 3. Add a consistent font weight for bold text.
126 | */
127 |
128 | h1,
129 | h2,
130 | h3,
131 | h4,
132 | h5,
133 | h6,
134 | p {
135 | overflow-wrap: break-word; /* 1 */
136 | }
137 |
138 | h1,
139 | h2,
140 | h3,
141 | h4,
142 | h5,
143 | h6 {
144 | font-size: 1rem; /* 3 */
145 | font-weight: 600; /* 3 */
146 | text-wrap: balance; /* 2 */
147 | }
148 |
149 | p {
150 | text-wrap: pretty; /* 2 */
151 | }
152 |
153 | /**
154 | * Add the correct font weight in Chrome, Edge, and Safari.
155 | */
156 |
157 | b,
158 | strong {
159 | font-weight: 700;
160 | }
161 |
162 | /**
163 | * Add the correct font size in all browsers.
164 | */
165 |
166 | small {
167 | font-size: 80%;
168 | line-height: 1.4;
169 | }
170 |
171 | /**
172 | * 1. Correct the inheritance and scaling of font size in all browsers.
173 | * 2. Correct the odd `em` font sizing in all browsers.
174 | */
175 |
176 | pre,
177 | code,
178 | kbd,
179 | samp {
180 | font-family: monospace, monospace; /* 1 */
181 | font-size: 1em; /* 2 */
182 | }
183 |
184 | /** -- Links --
185 | * 1. Remove underline styling from links by default.
186 | * 3. Reset color to inherit from parent element.
187 | */
188 |
189 | a {
190 | color: inherit; /* 3 */
191 | text-decoration: none; /* 1 */
192 | }
193 |
194 | /** -- Lists --
195 | * Remove default list styling and padding.
196 | */
197 |
198 | ol,
199 | ul {
200 | list-style: none;
201 | padding: 0;
202 | }
203 |
204 | /** -- Tables --
205 | * 1. Add a consistent font weight for bold text.
206 | */
207 |
208 | th {
209 | font-size: 1rem; /* 1 */
210 | font-weight: 600; /* 1 */
211 | }
212 |
213 | /** -- Miscellaneous --
214 | * 1. Add the correct height in Firefox.
215 | * 2. Correct text decoration.
216 | * 3. Add spacing around horizontal rules.
217 | */
218 |
219 | hr {
220 | border-top: 1px solid vars.$yma-color-silver; /* 2 */
221 | height: 0; /* 1 */
222 | margin: 1em 0; /* 3 */
223 | }
224 |
225 | /**
226 | * Ensure details and summary elements display correctly.
227 | */
228 |
229 | details {
230 | display: block;
231 | }
232 |
233 | summary {
234 | display: list-item;
235 | }
236 |
--------------------------------------------------------------------------------
/src/utilities/_background.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 |
6 | $yma-background-utils: (
7 | "background-attachment": (
8 | "prefix": "ba",
9 | "properties": (
10 | "background-attachment",
11 | ),
12 | "values": (
13 | "f": fixed,
14 | "l": local,
15 | "s": scroll,
16 | ),
17 | ),
18 |
19 | "background-clip": (
20 | "prefix": "bc",
21 | "properties": (
22 | "background-clip",
23 | ),
24 | "values": (
25 | "bb": border-box,
26 | "cb": content-box,
27 | "pb": padding-box,
28 | "t": text,
29 | ),
30 | ),
31 |
32 | "background-origin": (
33 | "prefix": "bo",
34 | "properties": (
35 | "background-origin",
36 | ),
37 | "values": (
38 | "bb": border-box,
39 | "cb": content-box,
40 | "pb": padding-box,
41 | ),
42 | ),
43 |
44 | "background-position": (
45 | "prefix": "bp",
46 | "properties": (
47 | "background-position",
48 | ),
49 | "values": (
50 | "b": bottom,
51 | "c": center,
52 | "l": left,
53 | "lb": left bottom,
54 | "lt": left top,
55 | "r": right,
56 | "rb": right bottom,
57 | "rt": right top,
58 | "t": top,
59 | ),
60 | ),
61 |
62 | "background-repeat": (
63 | "prefix": "br",
64 | "properties": (
65 | "background-repeat",
66 | ),
67 | "values": (
68 | "nr": no-repeat,
69 | "r": repeat,
70 | "ro": round,
71 | "rx": repeat-x,
72 | "ry": repeat-y,
73 | "s": space,
74 | ),
75 | ),
76 |
77 | "background-size": (
78 | "prefix": "bs",
79 | "properties": (
80 | "background-size",
81 | ),
82 | "values": (
83 | "auto": auto,
84 | "c": cover,
85 | "co": contain,
86 | ),
87 | ),
88 | );
89 |
90 | @each $properties, $map in $yma-background-utils {
91 | $prefix: map.get($map, "prefix");
92 | $properties: map.get($map, "properties");
93 |
94 | @include mix.create-utilities($map, $prefix, $properties);
95 | }
96 |
--------------------------------------------------------------------------------
/src/utilities/_border.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 | @use "../utilities/maps/" as maps;
6 |
7 | $yma-border-utils: (
8 | "border-collapse": (
9 | "prefix": "bc",
10 | "properties": (
11 | "border-collapse",
12 | ),
13 | "values": (
14 | "c": collapse,
15 | "s": separate,
16 | ),
17 | ),
18 |
19 | "border-radius": (
20 | "prefix": "rad",
21 | "properties": (
22 | "border-radius",
23 | ),
24 | "values": (
25 | "0": vars.$yma-border-radius * 0,
26 | "1": vars.$yma-border-radius,
27 | "2": vars.$yma-border-radius * 2,
28 | "3": vars.$yma-border-radius * 3,
29 | "4": vars.$yma-border-radius * 4,
30 | "5": vars.$yma-border-radius * 5,
31 | "6": vars.$yma-border-radius * 6,
32 | "7": vars.$yma-border-radius * 7,
33 | "8": vars.$yma-border-radius * 8,
34 | "full": 100%,
35 | "half": 50%,
36 | ),
37 | ),
38 |
39 | "border-bottom-radius": (
40 | "prefix": "rad-b",
41 | "properties": (
42 | "border-bottom-left-radius",
43 | "border-bottom-right-radius",
44 | ),
45 | "values": (
46 | "0": vars.$yma-border-radius * 0,
47 | "1": vars.$yma-border-radius,
48 | "2": vars.$yma-border-radius * 2,
49 | "3": vars.$yma-border-radius * 3,
50 | "4": vars.$yma-border-radius * 4,
51 | "5": vars.$yma-border-radius * 5,
52 | "6": vars.$yma-border-radius * 6,
53 | "7": vars.$yma-border-radius * 7,
54 | "8": vars.$yma-border-radius * 8,
55 | ),
56 | ),
57 |
58 | "border-left-radius": (
59 | "prefix": "rad-l",
60 | "properties": (
61 | "border-bottom-left-radius",
62 | "border-top-left-radius",
63 | ),
64 | "values": (
65 | "0": vars.$yma-border-radius * 0,
66 | "1": vars.$yma-border-radius,
67 | "2": vars.$yma-border-radius * 2,
68 | "3": vars.$yma-border-radius * 3,
69 | "4": vars.$yma-border-radius * 4,
70 | "5": vars.$yma-border-radius * 5,
71 | "6": vars.$yma-border-radius * 6,
72 | "7": vars.$yma-border-radius * 7,
73 | "8": vars.$yma-border-radius * 8,
74 | ),
75 | ),
76 |
77 | "border-right-radius": (
78 | "prefix": "rad-r",
79 | "properties": (
80 | "border-bottom-right-radius",
81 | "border-top-right-radius",
82 | ),
83 | "values": (
84 | "0": vars.$yma-border-radius * 0,
85 | "1": vars.$yma-border-radius,
86 | "2": vars.$yma-border-radius * 2,
87 | "3": vars.$yma-border-radius * 3,
88 | "4": vars.$yma-border-radius * 4,
89 | "5": vars.$yma-border-radius * 5,
90 | "6": vars.$yma-border-radius * 6,
91 | "7": vars.$yma-border-radius * 7,
92 | "8": vars.$yma-border-radius * 8,
93 | ),
94 | ),
95 |
96 | "border-bottom-left-radius": (
97 | "prefix": "rad-bl",
98 | "properties": (
99 | "border-bottom-left-radius",
100 | ),
101 | "values": (
102 | "0": vars.$yma-border-radius * 0,
103 | "1": vars.$yma-border-radius,
104 | "2": vars.$yma-border-radius * 2,
105 | "3": vars.$yma-border-radius * 3,
106 | "4": vars.$yma-border-radius * 4,
107 | "5": vars.$yma-border-radius * 5,
108 | "6": vars.$yma-border-radius * 6,
109 | "7": vars.$yma-border-radius * 7,
110 | "8": vars.$yma-border-radius * 8,
111 | ),
112 | ),
113 |
114 | "border-bottom-right-radius": (
115 | "prefix": "rad-br",
116 | "properties": (
117 | "border-bottom-right-radius",
118 | ),
119 | "values": (
120 | "0": vars.$yma-border-radius * 0,
121 | "1": vars.$yma-border-radius,
122 | "2": vars.$yma-border-radius * 2,
123 | "3": vars.$yma-border-radius * 3,
124 | "4": vars.$yma-border-radius * 4,
125 | "5": vars.$yma-border-radius * 5,
126 | "6": vars.$yma-border-radius * 6,
127 | "7": vars.$yma-border-radius * 7,
128 | "8": vars.$yma-border-radius * 8,
129 | ),
130 | ),
131 |
132 | "border-top-radius": (
133 | "prefix": "rad-t",
134 | "properties": (
135 | "border-top-left-radius",
136 | "border-top-right-radius",
137 | ),
138 | "values": (
139 | "0": vars.$yma-border-radius * 0,
140 | "1": vars.$yma-border-radius,
141 | "2": vars.$yma-border-radius * 2,
142 | "3": vars.$yma-border-radius * 3,
143 | "4": vars.$yma-border-radius * 4,
144 | "5": vars.$yma-border-radius * 5,
145 | "6": vars.$yma-border-radius * 6,
146 | "7": vars.$yma-border-radius * 7,
147 | "8": vars.$yma-border-radius * 8,
148 | ),
149 | ),
150 |
151 | "border-top-left-radius": (
152 | "prefix": "rad-tl",
153 | "properties": (
154 | "border-top-left-radius",
155 | ),
156 | "values": (
157 | "0": vars.$yma-border-radius * 0,
158 | "1": vars.$yma-border-radius,
159 | "2": vars.$yma-border-radius * 2,
160 | "3": vars.$yma-border-radius * 3,
161 | "4": vars.$yma-border-radius * 4,
162 | "5": vars.$yma-border-radius * 5,
163 | "6": vars.$yma-border-radius * 6,
164 | "7": vars.$yma-border-radius * 7,
165 | "8": vars.$yma-border-radius * 8,
166 | ),
167 | ),
168 |
169 | "border-top-right-radius": (
170 | "prefix": "rad-tr",
171 | "properties": (
172 | "border-top-right-radius",
173 | ),
174 | "values": (
175 | "0": vars.$yma-border-radius * 0,
176 | "1": vars.$yma-border-radius,
177 | "2": vars.$yma-border-radius * 2,
178 | "3": vars.$yma-border-radius * 3,
179 | "4": vars.$yma-border-radius * 4,
180 | "5": vars.$yma-border-radius * 5,
181 | "6": vars.$yma-border-radius * 6,
182 | "7": vars.$yma-border-radius * 7,
183 | "8": vars.$yma-border-radius * 8,
184 | ),
185 | ),
186 |
187 | "border-spacing": (
188 | "prefix": "bs",
189 | "properties": (
190 | "border-spacing",
191 | ),
192 | "values": (
193 | "0": vars.$yma-border-spacing * 0,
194 | "1": vars.$yma-border-spacing,
195 | "2": vars.$yma-border-spacing * 2,
196 | "3": vars.$yma-border-spacing * 3,
197 | "4": vars.$yma-border-spacing * 4,
198 | "5": vars.$yma-border-spacing * 5,
199 | "6": vars.$yma-border-spacing * 6,
200 | "7": vars.$yma-border-spacing * 7,
201 | "8": vars.$yma-border-spacing * 8,
202 | ),
203 | ),
204 |
205 | "border-style": (
206 | "prefix": "b",
207 | "properties": (
208 | "border-style",
209 | ),
210 | "values": (
211 | "none": none,
212 | "d": dashed,
213 | "s": solid,
214 | ),
215 | ),
216 |
217 | "border-width": (
218 | "prefix": "b",
219 | "properties": (
220 | "border-width",
221 | ),
222 | "values": (
223 | "0": vars.$yma-border * 0,
224 | "1": vars.$yma-border,
225 | "2": vars.$yma-border * 2,
226 | "3": vars.$yma-border * 3,
227 | "4": vars.$yma-border * 4,
228 | "5": vars.$yma-border * 5,
229 | "6": vars.$yma-border * 6,
230 | "7": vars.$yma-border * 7,
231 | "8": vars.$yma-border * 8,
232 | ),
233 | ),
234 |
235 | "border-bottom-width": (
236 | "prefix": "bb",
237 | "properties": (
238 | "border-bottom-width",
239 | ),
240 | "values": (
241 | "0": vars.$yma-border * 0,
242 | "1": vars.$yma-border,
243 | "2": vars.$yma-border * 2,
244 | "3": vars.$yma-border * 3,
245 | "4": vars.$yma-border * 4,
246 | "5": vars.$yma-border * 5,
247 | "6": vars.$yma-border * 6,
248 | "7": vars.$yma-border * 7,
249 | "8": vars.$yma-border * 8,
250 | ),
251 | ),
252 |
253 | "border-left-width": (
254 | "prefix": "bl",
255 | "properties": (
256 | "border-left-width",
257 | ),
258 | "values": (
259 | "0": vars.$yma-border * 0,
260 | "1": vars.$yma-border,
261 | "2": vars.$yma-border * 2,
262 | "3": vars.$yma-border * 3,
263 | "4": vars.$yma-border * 4,
264 | "5": vars.$yma-border * 5,
265 | "6": vars.$yma-border * 6,
266 | "7": vars.$yma-border * 7,
267 | "8": vars.$yma-border * 8,
268 | ),
269 | ),
270 |
271 | "border-right-width": (
272 | "prefix": "br",
273 | "properties": (
274 | "border-right-width",
275 | ),
276 | "values": (
277 | "0": vars.$yma-border * 0,
278 | "1": vars.$yma-border,
279 | "2": vars.$yma-border * 2,
280 | "3": vars.$yma-border * 3,
281 | "4": vars.$yma-border * 4,
282 | "5": vars.$yma-border * 5,
283 | "6": vars.$yma-border * 6,
284 | "7": vars.$yma-border * 7,
285 | "8": vars.$yma-border * 8,
286 | ),
287 | ),
288 |
289 | "border-top-width": (
290 | "prefix": "bt",
291 | "properties": (
292 | "border-top-width",
293 | ),
294 | "values": (
295 | "0": vars.$yma-border * 0,
296 | "1": vars.$yma-border,
297 | "2": vars.$yma-border * 2,
298 | "3": vars.$yma-border * 3,
299 | "4": vars.$yma-border * 4,
300 | "5": vars.$yma-border * 5,
301 | "6": vars.$yma-border * 6,
302 | "7": vars.$yma-border * 7,
303 | "8": vars.$yma-border * 8,
304 | ),
305 | ),
306 | );
307 |
308 | @each $properties, $map in $yma-border-utils {
309 | $prefix: map.get($map, "prefix");
310 | $properties: map.get($map, "properties");
311 |
312 | @include mix.create-utilities($map, $prefix, $properties);
313 | }
314 |
--------------------------------------------------------------------------------
/src/utilities/_box-model.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "sass:meta";
4 | @use "../abstracts/variables" as vars;
5 | @use "../abstracts/mixins/" as mix;
6 | @use "../utilities/maps/" as maps;
7 |
8 | $yma-box-model-utils: (
9 | "box-sizing": (
10 | "prefix": "bs",
11 | "properties": (
12 | "box-sizing",
13 | ),
14 | "values": (
15 | "bb": border-box,
16 | "cb": content-box,
17 | ),
18 | ),
19 |
20 | "dimension": (
21 | "prefix": "d",
22 | "properties": (
23 | "height",
24 | "width",
25 | ),
26 | "values": maps.$yma-dimension-map,
27 | ),
28 |
29 | "max-dimension": (
30 | "prefix": "max-d",
31 | "properties": (
32 | "max-height",
33 | "max-width",
34 | ),
35 | "values": maps.$yma-dimension-map,
36 | ),
37 |
38 | "min-dimension": (
39 | "prefix": "min-d",
40 | "properties": (
41 | "min-height",
42 | "min-width",
43 | ),
44 | "values": maps.$yma-dimension-map,
45 | ),
46 |
47 | "height": (
48 | "prefix": "h",
49 | "properties": (
50 | "height",
51 | ),
52 | "values": maps.$yma-height-map,
53 | ),
54 |
55 | "max-height": (
56 | "prefix": "max-h",
57 | "properties": (
58 | "max-height",
59 | ),
60 | "values": maps.$yma-height-map,
61 | ),
62 |
63 | "min-height": (
64 | "prefix": "min-h",
65 | "properties": (
66 | "min-height",
67 | ),
68 | "values": maps.$yma-height-map,
69 | ),
70 |
71 | "margin": (
72 | "prefix": "m",
73 | "properties": (
74 | "margin",
75 | ),
76 | "values": maps.$yma-margin-map,
77 | ),
78 |
79 | "margin-block-end": (
80 | "prefix": "mbe",
81 | "properties": (
82 | "margin-block-end",
83 | ),
84 | "values": maps.$yma-margin-map,
85 | ),
86 |
87 | "margin-block-start": (
88 | "prefix": "mbs",
89 | "properties": (
90 | "margin-block-start",
91 | ),
92 | "values": maps.$yma-margin-map,
93 | ),
94 |
95 | "margin-bottom": (
96 | "prefix": "mb",
97 | "properties": (
98 | "margin-bottom",
99 | ),
100 | "values": maps.$yma-margin-map,
101 | ),
102 |
103 | "margin-inline-end": (
104 | "prefix": "mie",
105 | "properties": (
106 | "margin-inline-end",
107 | ),
108 | "values": maps.$yma-margin-map,
109 | ),
110 |
111 | "margin-inline-start": (
112 | "prefix": "mis",
113 | "properties": (
114 | "margin-inline-start",
115 | ),
116 | "values": maps.$yma-margin-map,
117 | ),
118 |
119 | "margin-left": (
120 | "prefix": "ml",
121 | "properties": (
122 | "margin-left",
123 | ),
124 | "values": maps.$yma-margin-map,
125 | ),
126 |
127 | "margin-right": (
128 | "prefix": "mr",
129 | "properties": (
130 | "margin-right",
131 | ),
132 | "values": maps.$yma-margin-map,
133 | ),
134 |
135 | "margin-top": (
136 | "prefix": "mt",
137 | "properties": (
138 | "margin-top",
139 | ),
140 | "values": maps.$yma-margin-map,
141 | ),
142 |
143 | "margin-x": (
144 | "prefix": "mx",
145 | "properties": (
146 | "margin-left",
147 | "margin-right",
148 | ),
149 | "values": maps.$yma-margin-map,
150 | ),
151 |
152 | "margin-y": (
153 | "prefix": "my",
154 | "properties": (
155 | "margin-bottom",
156 | "margin-top",
157 | ),
158 | "values": maps.$yma-margin-map,
159 | ),
160 |
161 | "padding": (
162 | "prefix": "p",
163 | "properties": (
164 | "padding",
165 | ),
166 | "values": maps.$yma-padding-map,
167 | ),
168 |
169 | "padding-block-end": (
170 | "prefix": "pbe",
171 | "properties": (
172 | "padding-block-end",
173 | ),
174 | "values": maps.$yma-padding-map,
175 | ),
176 |
177 | "padding-block-start": (
178 | "prefix": "pbs",
179 | "properties": (
180 | "padding-block-start",
181 | ),
182 | "values": maps.$yma-padding-map,
183 | ),
184 |
185 | "padding-bottom": (
186 | "prefix": "pb",
187 | "properties": (
188 | "padding-bottom",
189 | ),
190 | "values": maps.$yma-padding-map,
191 | ),
192 |
193 | "padding-inline-end": (
194 | "prefix": "pie",
195 | "properties": (
196 | "padding-inline-end",
197 | ),
198 | "values": maps.$yma-padding-map,
199 | ),
200 |
201 | "padding-inline-start": (
202 | "prefix": "pis",
203 | "properties": (
204 | "padding-inline-start",
205 | ),
206 | "values": maps.$yma-padding-map,
207 | ),
208 |
209 | "padding-left": (
210 | "prefix": "pl",
211 | "properties": (
212 | "padding-left",
213 | ),
214 | "values": maps.$yma-padding-map,
215 | ),
216 |
217 | "padding-right": (
218 | "prefix": "pr",
219 | "properties": (
220 | "padding-right",
221 | ),
222 | "values": maps.$yma-padding-map,
223 | ),
224 |
225 | "padding-top": (
226 | "prefix": "pt",
227 | "properties": (
228 | "padding-top",
229 | ),
230 | "values": maps.$yma-padding-map,
231 | ),
232 |
233 | "padding-x": (
234 | "prefix": "px",
235 | "properties": (
236 | "padding-left",
237 | "padding-right",
238 | ),
239 | "values": maps.$yma-padding-map,
240 | ),
241 |
242 | "padding-y": (
243 | "prefix": "py",
244 | "properties": (
245 | "padding-bottom",
246 | "padding-top",
247 | ),
248 | "values": maps.$yma-padding-map,
249 | ),
250 |
251 | "width": (
252 | "prefix": "w",
253 | "properties": (
254 | "width",
255 | ),
256 | "values": maps.$yma-width-map,
257 | ),
258 |
259 | "max-width": (
260 | "prefix": "max-w",
261 | "properties": (
262 | "max-width",
263 | ),
264 | "values": maps.$yma-width-map,
265 | ),
266 |
267 | "min-width": (
268 | "prefix": "min-w",
269 | "properties": (
270 | "min-width",
271 | ),
272 | "values": maps.$yma-width-map,
273 | ),
274 | );
275 |
276 | @each $name, $map in $yma-box-model-utils {
277 | $prefix: map.get($map, "prefix");
278 | $properties: map.get($map, "properties");
279 | $values: map.get($map, "values");
280 |
281 | @if meta.type-of($values) == "map" and map.get($values, "custom") {
282 | @include mix.create-spacing-utilities(
283 | $prefix,
284 | map.get($values, "map"),
285 | $properties
286 | );
287 | } @else {
288 | @include mix.create-utilities($map, $prefix, $properties);
289 | }
290 | }
291 |
--------------------------------------------------------------------------------
/src/utilities/_color.scss:
--------------------------------------------------------------------------------
1 | @use "sass:color";
2 | @use "sass:map";
3 | @use "../abstracts/mixins" as mix;
4 | @use "../abstracts/functions" as fun;
5 | @use "../abstracts/_theme" as theme;
6 |
7 | $yma-color-utils: (
8 | "accent-color": (
9 | "prefix": "ac",
10 | "property": "accent-color",
11 | ),
12 |
13 | "background-color": (
14 | "prefix": "bg",
15 | "property": "background-color",
16 | ),
17 |
18 | "border-color": (
19 | "prefix": "bc",
20 | "property": "border-color",
21 | ),
22 |
23 | "border-bottom-color": (
24 | "prefix": "bc-b",
25 | "property": "border-bottom-color",
26 | ),
27 |
28 | "border-left-color": (
29 | "prefix": "bc-l",
30 | "property": "border-left-color",
31 | ),
32 |
33 | "border-right-color": (
34 | "prefix": "bc-r",
35 | "property": "border-right-color",
36 | ),
37 |
38 | "border-top-color": (
39 | "prefix": "bc-t",
40 | "property": "border-top-color",
41 | ),
42 |
43 | "caret-color": (
44 | "prefix": "cc",
45 | "property": "caret-color",
46 | ),
47 |
48 | "color": (
49 | "prefix": "tc",
50 | "property": "color",
51 | ),
52 |
53 | "fill": (
54 | "prefix": "f",
55 | "property": "fill",
56 | ),
57 |
58 | "outline-color": (
59 | "prefix": "oc",
60 | "property": "outline-color",
61 | ),
62 |
63 | "stroke": (
64 | "prefix": "s",
65 | "property": "stroke",
66 | ),
67 |
68 | "text-decoration-color": (
69 | "prefix": "tdc",
70 | "property": "text-decoration-color",
71 | ),
72 | );
73 |
74 | @each $utility, $map in $yma-color-utils {
75 | $property: map.get($map, "property");
76 | $prefix: map.get($map, "prefix");
77 |
78 | @each $k, $v in theme.$yma-theme {
79 | @include mix.mod-color-scaling($property, $prefix, $k, $v);
80 |
81 | @if (fun.ignore-neutral($v, theme.$yma-theme)) {
82 | @include mix.shade-scaling($property, $prefix, $k, $v, 14%);
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/utilities/_effect.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 |
6 | $yma-effect-utils: (
7 | "backdrop-blur": (
8 | "prefix": "bf-b",
9 | "properties": (
10 | "backdrop-filter",
11 | ),
12 | "values": (
13 | "none": blur(vars.$yma-backdrop-blur * 0),
14 | "xs": blur(vars.$yma-backdrop-blur),
15 | "sm": blur(vars.$yma-backdrop-blur * 2),
16 | "md": blur(vars.$yma-backdrop-blur * 4),
17 | "lg": blur(vars.$yma-backdrop-blur * 8),
18 | "xl": blur(vars.$yma-backdrop-blur * 16),
19 | ),
20 | ),
21 |
22 | "blur": (
23 | "prefix": "f-b",
24 | "properties": (
25 | "filter",
26 | ),
27 | "values": (
28 | "none": blur(vars.$yma-blur * 0),
29 | "xs": blur(vars.$yma-blur),
30 | "sm": blur(vars.$yma-blur * 2),
31 | "md": blur(vars.$yma-blur * 4),
32 | "lg": blur(vars.$yma-blur * 8),
33 | "xl": blur(vars.$yma-blur * 16),
34 | ),
35 | ),
36 |
37 | "box-shadow": (
38 | "prefix": "bs",
39 | "properties": (
40 | "box-shadow",
41 | ),
42 | "values": (
43 | "none": none,
44 | "xs": vars.$yma-box-shadow-xs,
45 | "sm": vars.$yma-box-shadow-sm,
46 | "md": vars.$yma-box-shadow-md,
47 | "lg": vars.$yma-box-shadow-lg,
48 | "xl": vars.$yma-box-shadow-xl,
49 | ),
50 | ),
51 |
52 | "grayscale": (
53 | "prefix": "f-g",
54 | "properties": (
55 | "filter",
56 | ),
57 | "values": (
58 | "0": grayscale(vars.$yma-grayscale * 0),
59 | "10": grayscale(vars.$yma-grayscale),
60 | "20": grayscale(vars.$yma-grayscale * 2),
61 | "30": grayscale(vars.$yma-grayscale * 3),
62 | "40": grayscale(vars.$yma-grayscale * 4),
63 | "50": grayscale(vars.$yma-grayscale * 5),
64 | "60": grayscale(vars.$yma-grayscale * 6),
65 | "70": grayscale(vars.$yma-grayscale * 7),
66 | "80": grayscale(vars.$yma-grayscale * 8),
67 | "90": grayscale(vars.$yma-grayscale * 9),
68 | "100": grayscale(vars.$yma-grayscale * 10),
69 | ),
70 | ),
71 |
72 | "opacity": (
73 | "prefix": "o",
74 | "properties": (
75 | "opacity",
76 | ),
77 | "values": (
78 | "0": 0,
79 | "10": 0.1,
80 | "20": 0.2,
81 | "30": 0.3,
82 | "40": 0.4,
83 | "50": 0.5,
84 | "60": 0.6,
85 | "70": 0.7,
86 | "80": 0.8,
87 | "90": 0.9,
88 | "100": 1,
89 | ),
90 | ),
91 | );
92 |
93 | @each $name, $map in $yma-effect-utils {
94 | $prefix: map.get($map, "prefix");
95 | $properties: map.get($map, "properties");
96 |
97 | @include mix.create-utilities($map, $prefix, $properties);
98 | }
99 |
--------------------------------------------------------------------------------
/src/utilities/_flexbox.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 | @use "../utilities/maps/" as maps;
6 |
7 | $yma-flexbox-utils: (
8 | "align-content": (
9 | "prefix": "ac",
10 | "properties": (
11 | "align-content",
12 | ),
13 | "values": (
14 | "b": baseline,
15 | "c": center,
16 | "fe": flex-end,
17 | "fs": flex-start,
18 | "n": normal,
19 | "st": stretch,
20 | "sa": space-around,
21 | "sb": space-between,
22 | "se": space-evenly,
23 | ),
24 | ),
25 |
26 | "align-items": (
27 | "prefix": "ai",
28 | "properties": (
29 | "align-items",
30 | ),
31 | "values": (
32 | "b": baseline,
33 | "c": center,
34 | "fe": flex-end,
35 | "fs": flex-start,
36 | "st": stretch,
37 | ),
38 | ),
39 |
40 | "align-self": (
41 | "prefix": "as",
42 | "properties": (
43 | "align-self",
44 | ),
45 | "values": (
46 | "auto": auto,
47 | "b": baseline,
48 | "c": center,
49 | "fe": flex-end,
50 | "fs": flex-start,
51 | "st": stretch,
52 | ),
53 | ),
54 |
55 | "flex-basis": (
56 | "prefix": "fb",
57 | "properties": (
58 | "flex-basis",
59 | ),
60 | "values": maps.$yma-flex-basis-map,
61 | ),
62 |
63 | "flex-direction": (
64 | "prefix": "fd",
65 | "properties": (
66 | "flex-direction",
67 | ),
68 | "values": (
69 | "c": column,
70 | "cr": column-reverse,
71 | "r": row,
72 | "rr": row-reverse,
73 | ),
74 | ),
75 |
76 | "flex-grow": (
77 | "prefix": "fg",
78 | "properties": (
79 | "flex-grow",
80 | ),
81 | "values": (
82 | "0": 0,
83 | "1": 1,
84 | "2": 2,
85 | "3": 3,
86 | "4": 4,
87 | "5": 5,
88 | "6": 6,
89 | "7": 7,
90 | "8": 8,
91 | ),
92 | ),
93 |
94 | "flex-shrink": (
95 | "prefix": "fs",
96 | "properties": (
97 | "flex-shrink",
98 | ),
99 | "values": (
100 | "0": 0,
101 | "1": 1,
102 | "2": 2,
103 | "3": 3,
104 | "4": 4,
105 | "5": 5,
106 | "6": 6,
107 | "7": 7,
108 | "8": 8,
109 | ),
110 | ),
111 |
112 | "flex-wrap": (
113 | "prefix": "fw",
114 | "properties": (
115 | "flex-wrap",
116 | ),
117 | "values": (
118 | "nw": nowrap,
119 | "w": wrap,
120 | "wr": wrap-reverse,
121 | ),
122 | ),
123 |
124 | "flex": (
125 | "prefix": "f",
126 | "properties": (
127 | "flex",
128 | ),
129 | "values": (
130 | "1": 1 1 0%,
131 | "2": 2 2 0%,
132 | "3": 3 3 0%,
133 | "4": 4 4 0%,
134 | "5": 5 5 0%,
135 | "6": 6 6 0%,
136 | "auto": 1 1 auto,
137 | "none": none,
138 | ),
139 | ),
140 |
141 | "justify-content": (
142 | "prefix": "jc",
143 | "properties": (
144 | "justify-content",
145 | ),
146 | "values": (
147 | "c": center,
148 | "fe": flex-end,
149 | "fs": flex-start,
150 | "n": normal,
151 | "st": stretch,
152 | "sa": space-around,
153 | "sb": space-between,
154 | "se": space-evenly,
155 | ),
156 | ),
157 |
158 | "justify-items": (
159 | "prefix": "ji",
160 | "properties": (
161 | "justify-items",
162 | ),
163 | "values": (
164 | "c": center,
165 | "e": end,
166 | "s": start,
167 | "st": stretch,
168 | ),
169 | ),
170 |
171 | "justify-self": (
172 | "prefix": "js",
173 | "properties": (
174 | "justify-self",
175 | ),
176 | "values": (
177 | "auto": auto,
178 | "c": center,
179 | "e": end,
180 | "s": start,
181 | "st": stretch,
182 | ),
183 | ),
184 |
185 | "order": (
186 | "prefix": "or",
187 | "properties": (
188 | "order",
189 | ),
190 | "values": (
191 | "l": -9999,
192 | "0": 0,
193 | "1": 1,
194 | "2": 2,
195 | "3": 3,
196 | "4": 4,
197 | "5": 5,
198 | "6": 6,
199 | "7": 7,
200 | "8": 8,
201 | "9": 9,
202 | "10": 1,
203 | "f": 9999,
204 | ),
205 | ),
206 |
207 | "place-content": (
208 | "prefix": "pc",
209 | "properties": (
210 | "place-content",
211 | ),
212 | "values": (
213 | "b": baseline,
214 | "c": center,
215 | "e": end,
216 | "s": start,
217 | "sa": space-around,
218 | "sb": space-between,
219 | "se": space-evenly,
220 | "st": stretch,
221 | ),
222 | ),
223 |
224 | "place-items": (
225 | "prefix": "pi",
226 | "properties": (
227 | "place-items",
228 | ),
229 | "values": (
230 | "b": baseline,
231 | "c": center,
232 | "e": end,
233 | "s": start,
234 | "st": stretch,
235 | ),
236 | ),
237 |
238 | "place-self": (
239 | "prefix": "ps",
240 | "properties": (
241 | "place-self",
242 | ),
243 | "values": (
244 | "auto": auto,
245 | "c": center,
246 | "e": end,
247 | "s": start,
248 | "st": stretch,
249 | ),
250 | ),
251 | );
252 |
253 | @each $name, $map in $yma-flexbox-utils {
254 | $prefix: map.get($map, "prefix");
255 | $properties: map.get($map, "properties");
256 |
257 | @include mix.create-utilities($map, $prefix, $properties);
258 | }
259 |
--------------------------------------------------------------------------------
/src/utilities/_grid.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "sass:meta";
4 | @use "../abstracts/variables" as vars;
5 | @use "../abstracts/mixins/" as mix;
6 | @use "../utilities/maps/" as maps;
7 |
8 | $yma-grid-utils: (
9 | "column-gap": (
10 | "prefix": "cg",
11 | "properties": (
12 | "column-gap",
13 | ),
14 | "values": maps.$yma-gap-map,
15 | ),
16 |
17 | "gap": (
18 | "prefix": "g",
19 | "properties": (
20 | "gap",
21 | ),
22 | "values": maps.$yma-gap-map,
23 | ),
24 |
25 | "grid-auto-columns": (
26 | "prefix": "gac",
27 | "properties": (
28 | "grid-auto-columns",
29 | ),
30 | "values": (
31 | "auto": auto,
32 | "max": max-content,
33 | "min": min-content,
34 | ),
35 | ),
36 |
37 | "grid-auto-flow": (
38 | "prefix": "gaf",
39 | "properties": (
40 | "grid-auto-flow",
41 | ),
42 | "values": (
43 | "c": column,
44 | "cd": column dense,
45 | "d": dense,
46 | "r": row,
47 | "rd": row dense,
48 | ),
49 | ),
50 |
51 | "grid-auto-rows": (
52 | "prefix": "gar",
53 | "properties": (
54 | "grid-auto-rows",
55 | ),
56 | "values": (
57 | "auto": auto,
58 | "max": max-content,
59 | "min": min-content,
60 | ),
61 | ),
62 |
63 | "grid-column": (
64 | "prefix": "gc-s",
65 | "properties": (
66 | "grid-column",
67 | ),
68 | "values": (
69 | "1": span 1 / span 1,
70 | "2": span 2 / span 2,
71 | "3": span 3 / span 3,
72 | "4": span 4 / span 4,
73 | "5": span 5 / span 5,
74 | "6": span 6 / span 6,
75 | "7": span 7 / span 7,
76 | "8": span 8 / span 8,
77 | "9": span 9 / span 9,
78 | "10": span 10 / span 10,
79 | "11": span 11 / span 11,
80 | "12": span 12 / span 12,
81 | "13": span 13 / span 13,
82 | "14": span 14 / span 14,
83 | "15": span 15 / span 15,
84 | "16": span 16 / span 16,
85 | ),
86 | ),
87 |
88 | "grid-column-end": (
89 | "prefix": "gce",
90 | "properties": (
91 | "grid-column-end",
92 | ),
93 | "values": (
94 | "1": 1,
95 | "2": 2,
96 | "3": 3,
97 | "4": 4,
98 | "5": 5,
99 | "6": 6,
100 | "7": 7,
101 | "8": 8,
102 | "9": 9,
103 | "10": 10,
104 | "11": 11,
105 | "12": 12,
106 | "13": 13,
107 | "14": 14,
108 | "15": 15,
109 | "16": 16,
110 | ),
111 | ),
112 |
113 | "grid-column-start": (
114 | "prefix": "gcs",
115 | "properties": (
116 | "grid-column-start",
117 | ),
118 | "values": (
119 | "1": 1,
120 | "2": 2,
121 | "3": 3,
122 | "4": 4,
123 | "5": 5,
124 | "6": 6,
125 | "7": 7,
126 | "8": 8,
127 | "9": 9,
128 | "10": 10,
129 | "11": 11,
130 | "12": 12,
131 | "13": 13,
132 | "14": 14,
133 | "15": 15,
134 | "16": 16,
135 | ),
136 | ),
137 |
138 | "grid-row": (
139 | "prefix": "gr-s",
140 | "properties": (
141 | "grid-row",
142 | ),
143 | "values": (
144 | "1": span 1 / span 1,
145 | "2": span 2 / span 2,
146 | "3": span 3 / span 3,
147 | "4": span 4 / span 4,
148 | "5": span 5 / span 5,
149 | "6": span 6 / span 6,
150 | "7": span 7 / span 7,
151 | "8": span 8 / span 8,
152 | "9": span 9 / span 9,
153 | "10": span 10 / span 10,
154 | "11": span 11 / span 11,
155 | "12": span 12 / span 12,
156 | "13": span 13 / span 13,
157 | "14": span 14 / span 14,
158 | "15": span 15 / span 15,
159 | "16": span 16 / span 16,
160 | ),
161 | ),
162 |
163 | "grid-row-end": (
164 | "prefix": "gre",
165 | "properties": (
166 | "grid-row-end",
167 | ),
168 | "values": (
169 | "1": 1,
170 | "2": 2,
171 | "3": 3,
172 | "4": 4,
173 | "5": 5,
174 | "6": 6,
175 | "7": 7,
176 | "8": 8,
177 | "9": 9,
178 | "10": 10,
179 | "11": 11,
180 | "12": 12,
181 | "13": 13,
182 | "14": 14,
183 | "15": 15,
184 | "16": 16,
185 | ),
186 | ),
187 |
188 | "grid-row-start": (
189 | "prefix": "grs",
190 | "properties": (
191 | "grid-row-start",
192 | ),
193 | "values": (
194 | "1": 1,
195 | "2": 2,
196 | "3": 3,
197 | "4": 4,
198 | "5": 5,
199 | "6": 6,
200 | "7": 7,
201 | "8": 8,
202 | "9": 9,
203 | "10": 10,
204 | "11": 11,
205 | "12": 12,
206 | "13": 13,
207 | "14": 14,
208 | "15": 15,
209 | "16": 16,
210 | ),
211 | ),
212 |
213 | "grid-template-columns": (
214 | "prefix": "gtc",
215 | "properties": (
216 | "grid-template-columns",
217 | ),
218 | "values": (
219 | "1": repeat(1, minmax(0, 1fr)),
220 | "2": repeat(2, minmax(0, 1fr)),
221 | "3": repeat(3, minmax(0, 1fr)),
222 | "4": repeat(4, minmax(0, 1fr)),
223 | "5": repeat(5, minmax(0, 1fr)),
224 | "6": repeat(6, minmax(0, 1fr)),
225 | "7": repeat(7, minmax(0, 1fr)),
226 | "8": repeat(8, minmax(0, 1fr)),
227 | "9": repeat(9, minmax(0, 1fr)),
228 | "10": repeat(10, minmax(0, 1fr)),
229 | "11": repeat(11, minmax(0, 1fr)),
230 | "12": repeat(12, minmax(0, 1fr)),
231 | "13": repeat(13, minmax(0, 1fr)),
232 | "14": repeat(14, minmax(0, 1fr)),
233 | "15": repeat(15, minmax(0, 1fr)),
234 | "16": repeat(16, minmax(0, 1fr)),
235 | ),
236 | ),
237 |
238 | "grid-template-rows": (
239 | "prefix": "gtr",
240 | "properties": (
241 | "grid-template-rows",
242 | ),
243 | "values": (
244 | "1": repeat(1, minmax(0, 1fr)),
245 | "2": repeat(2, minmax(0, 1fr)),
246 | "3": repeat(3, minmax(0, 1fr)),
247 | "4": repeat(4, minmax(0, 1fr)),
248 | "5": repeat(5, minmax(0, 1fr)),
249 | "6": repeat(6, minmax(0, 1fr)),
250 | "7": repeat(7, minmax(0, 1fr)),
251 | "8": repeat(8, minmax(0, 1fr)),
252 | "9": repeat(9, minmax(0, 1fr)),
253 | "10": repeat(10, minmax(0, 1fr)),
254 | "11": repeat(11, minmax(0, 1fr)),
255 | "12": repeat(12, minmax(0, 1fr)),
256 | "13": repeat(13, minmax(0, 1fr)),
257 | "14": repeat(14, minmax(0, 1fr)),
258 | "15": repeat(15, minmax(0, 1fr)),
259 | "16": repeat(16, minmax(0, 1fr)),
260 | ),
261 | ),
262 |
263 | "row-gap": (
264 | "prefix": "rg",
265 | "properties": (
266 | "row-gap",
267 | ),
268 | "values": maps.$yma-gap-map,
269 | ),
270 | );
271 |
272 | @each $name, $map in $yma-grid-utils {
273 | $prefix: map.get($map, "prefix");
274 | $properties: map.get($map, "properties");
275 |
276 | @include mix.create-utilities($map, $prefix, $properties);
277 | }
278 |
--------------------------------------------------------------------------------
/src/utilities/_index.scss:
--------------------------------------------------------------------------------
1 | @forward "background";
2 | @forward "border";
3 | @forward "box-model";
4 | @forward "color";
5 | @forward "effect";
6 | @forward "flexbox";
7 | @forward "grid";
8 | @forward "interactivity";
9 | @forward "positioning";
10 | @forward "outline";
11 | @forward "svg";
12 | @forward "table";
13 | @forward "transform";
14 | @forward "typography";
15 |
--------------------------------------------------------------------------------
/src/utilities/_interactivity.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 | @use "../utilities/maps/" as maps;
6 |
7 | $yma-interactivity-utils: (
8 | "appearance": (
9 | "prefix": "a",
10 | "properties": (
11 | "appearance",
12 | ),
13 | "values": (
14 | "auto": auto,
15 | "none": none,
16 | ),
17 | ),
18 |
19 | "cursor": (
20 | "prefix": "c",
21 | "properties": (
22 | "cursor",
23 | ),
24 | "values": (
25 | "auto": auto,
26 | "ch": crosshair,
27 | "cr": col-resize,
28 | "d": default,
29 | "h": help,
30 | "m": move,
31 | "na": not-allowed,
32 | "ner": ne-resize,
33 | "neswr": nesw-resize,
34 | "none": none,
35 | "nr": n-resize,
36 | "nwr": nw-resize,
37 | "nwser": nwse-resize,
38 | "p": pointer,
39 | "pr": progress,
40 | "rs": row-resize,
41 | "ser": se-resize,
42 | "sr": s-resize,
43 | "swr": sw-resize,
44 | "t": text,
45 | "w": wait,
46 | "wr": w-resize,
47 | "zi": zoom-in,
48 | "zo": zoom-out,
49 | ),
50 | ),
51 |
52 | "field-sizing": (
53 | "prefix": "fs",
54 | "properties": (
55 | "field-sizing",
56 | ),
57 | "values": (
58 | "f": fixed,
59 | "c": content,
60 | ),
61 | ),
62 |
63 | "pointer-events": (
64 | "prefix": "pe",
65 | "properties": (
66 | "pointer-events",
67 | ),
68 | "values": (
69 | "auto": auto,
70 | "none": none,
71 | ),
72 | ),
73 |
74 | "resize": (
75 | "prefix": "r",
76 | "properties": (
77 | "resize",
78 | ),
79 | "values": (
80 | "b": both,
81 | "h": horizontal,
82 | "none": none,
83 | "v": vertical,
84 | ),
85 | ),
86 |
87 | "scroll-behavior": (
88 | "prefix": "sb",
89 | "properties": (
90 | "scroll-behavior",
91 | ),
92 | "values": (
93 | "auto": auto,
94 | "s": smooth,
95 | ),
96 | ),
97 |
98 | "scroll-margin": (
99 | "prefix": "sm",
100 | "properties": (
101 | "scroll-margin",
102 | ),
103 | "values": maps.$yma-margin-map,
104 | ),
105 |
106 | "scroll-margin-bottom": (
107 | "prefix": "smb",
108 | "properties": (
109 | "scroll-margin-bottom",
110 | ),
111 | "values": maps.$yma-margin-map,
112 | ),
113 |
114 | "scroll-margin-inline-start": (
115 | "prefix": "smis",
116 | "properties": (
117 | "scroll-margin-inline-start",
118 | ),
119 | "values": maps.$yma-margin-map,
120 | ),
121 |
122 | "scroll-margin-left": (
123 | "prefix": "sml",
124 | "properties": (
125 | "scroll-margin-left",
126 | ),
127 | "values": maps.$yma-margin-map,
128 | ),
129 |
130 | "scroll-margin-right": (
131 | "prefix": "smr",
132 | "properties": (
133 | "scroll-margin-right",
134 | ),
135 | "values": maps.$yma-margin-map,
136 | ),
137 |
138 | "scroll-margin-top": (
139 | "prefix": "smt",
140 | "properties": (
141 | "scroll-margin-top",
142 | ),
143 | "values": maps.$yma-margin-map,
144 | ),
145 |
146 | "scroll-margin-inline-end": (
147 | "prefix": "smie",
148 | "properties": (
149 | "scroll-margin-inline-end",
150 | ),
151 | "values": maps.$yma-margin-map,
152 | ),
153 |
154 | "scroll-margin-x": (
155 | "prefix": "smx",
156 | "properties": (
157 | "scroll-margin-left",
158 | "scroll-margin-right",
159 | ),
160 | "values": maps.$yma-margin-map,
161 | ),
162 |
163 | "scroll-margin-y": (
164 | "prefix": "smy",
165 | "properties": (
166 | "scroll-margin-bottom",
167 | "scroll-margin-top",
168 | ),
169 | "values": maps.$yma-margin-map,
170 | ),
171 |
172 | "scroll-padding": (
173 | "prefix": "sp",
174 | "properties": (
175 | "scroll-padding",
176 | ),
177 | "values": maps.$yma-padding-map,
178 | ),
179 |
180 | "scroll-padding-bottom": (
181 | "prefix": "spb",
182 | "properties": (
183 | "scroll-padding-bottom",
184 | ),
185 | "values": maps.$yma-padding-map,
186 | ),
187 |
188 | "scroll-padding-inline-start": (
189 | "prefix": "spis",
190 | "properties": (
191 | "scroll-padding-inline-start",
192 | ),
193 | "values": maps.$yma-padding-map,
194 | ),
195 |
196 | "scroll-padding-left": (
197 | "prefix": "spl",
198 | "properties": (
199 | "scroll-padding-left",
200 | ),
201 | "values": maps.$yma-padding-map,
202 | ),
203 |
204 | "scroll-padding-right": (
205 | "prefix": "spr",
206 | "properties": (
207 | "scroll-padding-right",
208 | ),
209 | "values": maps.$yma-padding-map,
210 | ),
211 |
212 | "scroll-padding-top": (
213 | "prefix": "spt",
214 | "properties": (
215 | "scroll-padding-top",
216 | ),
217 | "values": maps.$yma-padding-map,
218 | ),
219 |
220 | "scroll-padding-inline-end": (
221 | "prefix": "spie",
222 | "properties": (
223 | "scroll-padding-inline-end",
224 | ),
225 | "values": maps.$yma-padding-map,
226 | ),
227 |
228 | "scroll-padding-x": (
229 | "prefix": "spx",
230 | "properties": (
231 | "scroll-padding-left",
232 | "scroll-padding-right",
233 | ),
234 | "values": maps.$yma-padding-map,
235 | ),
236 |
237 | "scroll-padding-y": (
238 | "prefix": "spy",
239 | "properties": (
240 | "scroll-padding-bottom",
241 | "scroll-padding-top",
242 | ),
243 | "values": maps.$yma-padding-map,
244 | ),
245 |
246 | "scroll-snap-align": (
247 | "prefix": "ssa",
248 | "properties": (
249 | "scroll-snap-align",
250 | ),
251 | "values": (
252 | "c": center,
253 | "e": end,
254 | "none": none,
255 | "s": start,
256 | ),
257 | ),
258 |
259 | "scroll-snap-stop": (
260 | "prefix": "sss",
261 | "properties": (
262 | "scroll-snap-stop",
263 | ),
264 | "values": (
265 | "a": always,
266 | "n": normal,
267 | ),
268 | ),
269 |
270 | "scroll-snap-type": (
271 | "prefix": "sst",
272 | "properties": (
273 | "scroll-snap-type",
274 | ),
275 | "values": (
276 | "b-m": both mandatory,
277 | "none": none,
278 | "x-m": x mandatory,
279 | "x-p": x proximity,
280 | "y-m": y mandatory,
281 | "y-p": y proximity,
282 | ),
283 | ),
284 |
285 | "user-select": (
286 | "prefix": "us",
287 | "properties": (
288 | "user-select",
289 | ),
290 | "values": (
291 | "a": all,
292 | "auto": auto,
293 | "none": none,
294 | "t": text,
295 | ),
296 | ),
297 | );
298 |
299 | @each $name, $map in $yma-interactivity-utils {
300 | $prefix: map.get($map, "prefix");
301 | $properties: map.get($map, "properties");
302 |
303 | @include mix.create-utilities($map, $prefix, $properties);
304 | }
305 |
--------------------------------------------------------------------------------
/src/utilities/_outline.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 |
6 | $yma-outline-utils: (
7 | "outline-offset": (
8 | "prefix": "oo",
9 | "properties": (
10 | "outline-offset",
11 | ),
12 | "values": (
13 | "0": vars.$yma-outline-offset * 0,
14 | "1": vars.$yma-outline-offset,
15 | "2": vars.$yma-outline-offset * 2,
16 | "3": vars.$yma-outline-offset * 3,
17 | "4": vars.$yma-outline-offset * 4,
18 | ),
19 | ),
20 |
21 | "outline-style": (
22 | "prefix": "os",
23 | "properties": (
24 | "outline-style",
25 | ),
26 | "values": (
27 | "none": none,
28 | "d": dashed,
29 | "s": solid,
30 | ),
31 | ),
32 |
33 | "outline-width": (
34 | "prefix": "ow",
35 | "properties": (
36 | "outline-width",
37 | ),
38 | "values": (
39 | "0": vars.$yma-outline-width * 0,
40 | "1": vars.$yma-outline-width,
41 | "2": vars.$yma-outline-width * 2,
42 | "3": vars.$yma-outline-width * 3,
43 | "4": vars.$yma-outline-width * 4,
44 | ),
45 | ),
46 | );
47 |
48 | @each $properties, $map in $yma-outline-utils {
49 | $prefix: map.get($map, "prefix");
50 | $properties: map.get($map, "properties");
51 |
52 | @include mix.create-utilities($map, $prefix, $properties);
53 | }
54 |
--------------------------------------------------------------------------------
/src/utilities/_positioning.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "sass:string";
4 | @use "../abstracts/variables" as vars;
5 | @use "../abstracts/mixins/" as mix;
6 |
7 | $yma-positioning-utils: (
8 | "aspect-ratio": (
9 | "prefix": "ar",
10 | "properties": (
11 | "aspect-ratio",
12 | ),
13 | "values": (
14 | "auto": auto,
15 | 1\/1: string.unquote("1/1"),
16 | 1\/2: string.unquote("1/2"),
17 | 16\/9: string.unquote("16/9"),
18 | 2\/1: string.unquote("2/1"),
19 | 2\/3: string.unquote("2/3"),
20 | 3\/2: string.unquote("3/2"),
21 | 9\/16: string.unquote("9/16"),
22 | ),
23 | ),
24 |
25 | "clear": (
26 | "prefix": "cl",
27 | "properties": (
28 | "clear",
29 | ),
30 | "values": (
31 | "b": both,
32 | "ie": inline-end,
33 | "is": inline-start,
34 | "l": left,
35 | "none": none,
36 | "r": right,
37 | ),
38 | ),
39 |
40 | "columns": (
41 | "prefix": "c",
42 | "properties": (
43 | "columns",
44 | ),
45 | "values": (
46 | "1": 1,
47 | "2": 2,
48 | "3": 3,
49 | "4": 4,
50 | "5": 5,
51 | "6": 6,
52 | "7": 7,
53 | "8": 8,
54 | "9": 9,
55 | "10": 10,
56 | "11": 11,
57 | "12": 12,
58 | "13": 13,
59 | "14": 14,
60 | "15": 15,
61 | "16": 16,
62 | ),
63 | ),
64 |
65 | "bottom": (
66 | "prefix": "bo",
67 | "properties": (
68 | "bottom",
69 | ),
70 | "values": (
71 | "0": vars.$yma-bottom-left-top-right * 0,
72 | "1": vars.$yma-bottom-left-top-right,
73 | "2": vars.$yma-bottom-left-top-right * 2,
74 | "3": vars.$yma-bottom-left-top-right * 3,
75 | "4": vars.$yma-bottom-left-top-right * 4,
76 | "5": vars.$yma-bottom-left-top-right * 5,
77 | "6": vars.$yma-bottom-left-top-right * 6,
78 | "7": vars.$yma-bottom-left-top-right * 7,
79 | "8": vars.$yma-bottom-left-top-right * 8,
80 | "9": vars.$yma-bottom-left-top-right * 9,
81 | "10": vars.$yma-bottom-left-top-right * 10,
82 | "11": vars.$yma-bottom-left-top-right * 11,
83 | "12": vars.$yma-bottom-left-top-right * 12,
84 | "13": vars.$yma-bottom-left-top-right * 13,
85 | "14": vars.$yma-bottom-left-top-right * 14,
86 | "15": vars.$yma-bottom-left-top-right * 15,
87 | "16": vars.$yma-bottom-left-top-right * 16,
88 | "full": 100%,
89 | "half": 50%,
90 | ),
91 | ),
92 |
93 | "inset": (
94 | "prefix": "i",
95 | "properties": (
96 | "inset",
97 | ),
98 | "values": (
99 | "0": vars.$yma-bottom-left-top-right * 0,
100 | "1": vars.$yma-bottom-left-top-right,
101 | "2": vars.$yma-bottom-left-top-right * 2,
102 | "3": vars.$yma-bottom-left-top-right * 3,
103 | "4": vars.$yma-bottom-left-top-right * 4,
104 | "5": vars.$yma-bottom-left-top-right * 5,
105 | "6": vars.$yma-bottom-left-top-right * 6,
106 | "7": vars.$yma-bottom-left-top-right * 7,
107 | "8": vars.$yma-bottom-left-top-right * 8,
108 | "9": vars.$yma-bottom-left-top-right * 9,
109 | "10": vars.$yma-bottom-left-top-right * 10,
110 | "11": vars.$yma-bottom-left-top-right * 11,
111 | "12": vars.$yma-bottom-left-top-right * 12,
112 | "13": vars.$yma-bottom-left-top-right * 13,
113 | "14": vars.$yma-bottom-left-top-right * 14,
114 | "15": vars.$yma-bottom-left-top-right * 15,
115 | "16": vars.$yma-bottom-left-top-right * 16,
116 | "full": 100%,
117 | "half": 50%,
118 | ),
119 | ),
120 |
121 | "inset-x": (
122 | "prefix": "ix",
123 | "properties": (
124 | "left",
125 | "right",
126 | ),
127 | "values": (
128 | "0": vars.$yma-bottom-left-top-right * 0,
129 | "1": vars.$yma-bottom-left-top-right,
130 | "2": vars.$yma-bottom-left-top-right * 2,
131 | "3": vars.$yma-bottom-left-top-right * 3,
132 | "4": vars.$yma-bottom-left-top-right * 4,
133 | "5": vars.$yma-bottom-left-top-right * 5,
134 | "6": vars.$yma-bottom-left-top-right * 6,
135 | "7": vars.$yma-bottom-left-top-right * 7,
136 | "8": vars.$yma-bottom-left-top-right * 8,
137 | "9": vars.$yma-bottom-left-top-right * 9,
138 | "10": vars.$yma-bottom-left-top-right * 10,
139 | "11": vars.$yma-bottom-left-top-right * 11,
140 | "12": vars.$yma-bottom-left-top-right * 12,
141 | "13": vars.$yma-bottom-left-top-right * 13,
142 | "14": vars.$yma-bottom-left-top-right * 14,
143 | "15": vars.$yma-bottom-left-top-right * 15,
144 | "16": vars.$yma-bottom-left-top-right * 16,
145 | "full": 100%,
146 | "half": 50%,
147 | ),
148 | ),
149 |
150 | "inset-y": (
151 | "prefix": "iy",
152 | "properties": (
153 | "top",
154 | "bottom",
155 | ),
156 | "values": (
157 | "0": vars.$yma-bottom-left-top-right * 0,
158 | "1": vars.$yma-bottom-left-top-right,
159 | "2": vars.$yma-bottom-left-top-right * 2,
160 | "3": vars.$yma-bottom-left-top-right * 3,
161 | "4": vars.$yma-bottom-left-top-right * 4,
162 | "5": vars.$yma-bottom-left-top-right * 5,
163 | "6": vars.$yma-bottom-left-top-right * 6,
164 | "7": vars.$yma-bottom-left-top-right * 7,
165 | "8": vars.$yma-bottom-left-top-right * 8,
166 | "9": vars.$yma-bottom-left-top-right * 9,
167 | "10": vars.$yma-bottom-left-top-right * 10,
168 | "11": vars.$yma-bottom-left-top-right * 11,
169 | "12": vars.$yma-bottom-left-top-right * 12,
170 | "13": vars.$yma-bottom-left-top-right * 13,
171 | "14": vars.$yma-bottom-left-top-right * 14,
172 | "15": vars.$yma-bottom-left-top-right * 15,
173 | "16": vars.$yma-bottom-left-top-right * 16,
174 | "full": 100%,
175 | "half": 50%,
176 | ),
177 | ),
178 |
179 | "isolation": (
180 | "prefix": "i",
181 | "properties": (
182 | "isolation",
183 | ),
184 | "values": (
185 | "auto": auto,
186 | "i": isolate,
187 | ),
188 | ),
189 |
190 | "left": (
191 | "prefix": "l",
192 | "properties": (
193 | "left",
194 | ),
195 | "values": (
196 | "0": vars.$yma-bottom-left-top-right * 0,
197 | "1": vars.$yma-bottom-left-top-right,
198 | "2": vars.$yma-bottom-left-top-right * 2,
199 | "3": vars.$yma-bottom-left-top-right * 3,
200 | "4": vars.$yma-bottom-left-top-right * 4,
201 | "5": vars.$yma-bottom-left-top-right * 5,
202 | "6": vars.$yma-bottom-left-top-right * 6,
203 | "7": vars.$yma-bottom-left-top-right * 7,
204 | "8": vars.$yma-bottom-left-top-right * 8,
205 | "9": vars.$yma-bottom-left-top-right * 9,
206 | "10": vars.$yma-bottom-left-top-right * 10,
207 | "11": vars.$yma-bottom-left-top-right * 11,
208 | "12": vars.$yma-bottom-left-top-right * 12,
209 | "13": vars.$yma-bottom-left-top-right * 13,
210 | "14": vars.$yma-bottom-left-top-right * 14,
211 | "15": vars.$yma-bottom-left-top-right * 15,
212 | "16": vars.$yma-bottom-left-top-right * 16,
213 | "full": 100%,
214 | "half": 50%,
215 | ),
216 | ),
217 |
218 | "right": (
219 | "prefix": "r",
220 | "properties": (
221 | "right",
222 | ),
223 | "values": (
224 | "0": vars.$yma-bottom-left-top-right * 0,
225 | "1": vars.$yma-bottom-left-top-right,
226 | "2": vars.$yma-bottom-left-top-right * 2,
227 | "3": vars.$yma-bottom-left-top-right * 3,
228 | "4": vars.$yma-bottom-left-top-right * 4,
229 | "5": vars.$yma-bottom-left-top-right * 5,
230 | "6": vars.$yma-bottom-left-top-right * 6,
231 | "7": vars.$yma-bottom-left-top-right * 7,
232 | "8": vars.$yma-bottom-left-top-right * 8,
233 | "9": vars.$yma-bottom-left-top-right * 9,
234 | "10": vars.$yma-bottom-left-top-right * 10,
235 | "11": vars.$yma-bottom-left-top-right * 11,
236 | "12": vars.$yma-bottom-left-top-right * 12,
237 | "13": vars.$yma-bottom-left-top-right * 13,
238 | "14": vars.$yma-bottom-left-top-right * 14,
239 | "15": vars.$yma-bottom-left-top-right * 15,
240 | "16": vars.$yma-bottom-left-top-right * 16,
241 | "full": 100%,
242 | "half": 50%,
243 | ),
244 | ),
245 |
246 | "top": (
247 | "prefix": "t",
248 | "properties": (
249 | "top",
250 | ),
251 | "values": (
252 | "0": vars.$yma-bottom-left-top-right * 0,
253 | "1": vars.$yma-bottom-left-top-right,
254 | "2": vars.$yma-bottom-left-top-right * 2,
255 | "3": vars.$yma-bottom-left-top-right * 3,
256 | "4": vars.$yma-bottom-left-top-right * 4,
257 | "5": vars.$yma-bottom-left-top-right * 5,
258 | "6": vars.$yma-bottom-left-top-right * 6,
259 | "7": vars.$yma-bottom-left-top-right * 7,
260 | "8": vars.$yma-bottom-left-top-right * 8,
261 | "9": vars.$yma-bottom-left-top-right * 9,
262 | "10": vars.$yma-bottom-left-top-right * 10,
263 | "11": vars.$yma-bottom-left-top-right * 11,
264 | "12": vars.$yma-bottom-left-top-right * 12,
265 | "13": vars.$yma-bottom-left-top-right * 13,
266 | "14": vars.$yma-bottom-left-top-right * 14,
267 | "15": vars.$yma-bottom-left-top-right * 15,
268 | "16": vars.$yma-bottom-left-top-right * 16,
269 | "full": 100%,
270 | "half": 50%,
271 | ),
272 | ),
273 |
274 | "display": (
275 | "prefix": "d",
276 | "properties": (
277 | "display",
278 | ),
279 | "values": (
280 | "b": block,
281 | "f": flex,
282 | "fr": flow-root,
283 | "g": grid,
284 | "i": inline,
285 | "ib": inline-block,
286 | "if": inline-flex,
287 | "ig": inline-grid,
288 | "it": inline-table,
289 | "none": none,
290 | "t": table,
291 | "tc": table-cell,
292 | "tco": table-column,
293 | "tr": table-row,
294 | ),
295 | ),
296 |
297 | "float": (
298 | "prefix": "fl",
299 | "properties": (
300 | "float",
301 | ),
302 | "values": (
303 | "ie": inline-end,
304 | "is": inline-start,
305 | "l": left,
306 | "none": none,
307 | "r": right,
308 | ),
309 | ),
310 |
311 | "object-fit": (
312 | "prefix": "of",
313 | "properties": (
314 | "object-fit",
315 | ),
316 | "values": (
317 | "c": cover,
318 | "f": fill,
319 | "none": none,
320 | "sd": scale-down,
321 | ),
322 | ),
323 |
324 | "object-position": (
325 | "prefix": "op",
326 | "properties": (
327 | "object-position",
328 | ),
329 | "values": (
330 | "b": bottom,
331 | "c": center,
332 | "l": left,
333 | "lb": left bottom,
334 | "lt": left top,
335 | "r": right,
336 | "rb": right bottom,
337 | "rt": right top,
338 | "t": top,
339 | ),
340 | ),
341 |
342 | "overflow": (
343 | "prefix": "o",
344 | "properties": (
345 | "overflow",
346 | ),
347 | "values": (
348 | "auto": auto,
349 | "c": clip,
350 | "h": hidden,
351 | "s": scroll,
352 | "v": visible,
353 | ),
354 | ),
355 |
356 | "overflow-x": (
357 | "prefix": "o-x",
358 | "properties": (
359 | "overflow-x",
360 | ),
361 | "values": (
362 | "auto": auto,
363 | "c": clip,
364 | "h": hidden,
365 | "s": scroll,
366 | "v": visible,
367 | ),
368 | ),
369 |
370 | "overflow-y": (
371 | "prefix": "o-y",
372 | "properties": (
373 | "overflow-y",
374 | ),
375 | "values": (
376 | "auto": auto,
377 | "c": clip,
378 | "h": hidden,
379 | "s": scroll,
380 | "v": visible,
381 | ),
382 | ),
383 |
384 | "position": (
385 | "prefix": "p",
386 | "properties": (
387 | "position",
388 | ),
389 | "values": (
390 | "a": absolute,
391 | "f": fixed,
392 | "r": relative,
393 | "s": static,
394 | "st": sticky,
395 | ),
396 | ),
397 |
398 | "visibility": (
399 | "prefix": "v",
400 | "properties": (
401 | "visibility",
402 | ),
403 | "values": (
404 | "c": collapse,
405 | "h": hidden,
406 | "v": visible,
407 | ),
408 | ),
409 |
410 | "z-index": (
411 | "prefix": "zi",
412 | "properties": (
413 | "z-index",
414 | ),
415 | "values": (
416 | "0": 0,
417 | "10": 10,
418 | "20": 20,
419 | "30": 30,
420 | "40": 40,
421 | "50": 50,
422 | "60": 60,
423 | "70": 70,
424 | "80": 80,
425 | "90": 90,
426 | "auto": auto,
427 | ),
428 | ),
429 | );
430 |
431 | @each $name, $map in $yma-positioning-utils {
432 | $prefix: map.get($map, "prefix");
433 | $properties: map.get($map, "properties");
434 |
435 | @include mix.create-utilities($map, $prefix, $properties);
436 | }
437 |
--------------------------------------------------------------------------------
/src/utilities/_svg.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/mixins/" as mix;
4 |
5 | $yma-svg-utils: (
6 | "stroke-width": (
7 | "prefix": "sw",
8 | "properties": (
9 | "stroke-width",
10 | ),
11 | "values": (
12 | "0": 0,
13 | "2": 0.2,
14 | "4": 0.4,
15 | "6": 0.6,
16 | "8": 0.8,
17 | "1": 1,
18 | ),
19 | ),
20 | );
21 |
22 | @each $name, $map in $yma-svg-utils {
23 | $prefix: map.get($map, "prefix");
24 | $properties: map.get($map, "properties");
25 |
26 | @include mix.create-utilities($map, $prefix, $properties);
27 | }
28 |
--------------------------------------------------------------------------------
/src/utilities/_table.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 |
6 | $yma-table-utils: (
7 | "caption-side": (
8 | "prefix": "cs",
9 | "properties": (
10 | "caption-side",
11 | ),
12 | "values": (
13 | "b": bottom,
14 | "t": top,
15 | ),
16 | ),
17 |
18 | "table-layout": (
19 | "prefix": "tl",
20 | "properties": (
21 | "table-layout",
22 | ),
23 | "values": (
24 | "auto": auto,
25 | "f": fixed,
26 | ),
27 | ),
28 | );
29 |
30 | @each $properties, $map in $yma-table-utils {
31 | $prefix: map.get($map, "prefix");
32 | $properties: map.get($map, "properties");
33 |
34 | @include mix.create-utilities($map, $prefix, $properties);
35 | }
36 |
--------------------------------------------------------------------------------
/src/utilities/_transform.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 | @use "../utilities/maps/" as maps;
6 |
7 | $yma-transform-utils: (
8 | "rotate": (
9 | "prefix": "t-r",
10 | "properties": (
11 | "transform",
12 | ),
13 | "values": (
14 | "0": rotate(0),
15 | "5": rotate(5deg),
16 | "10": rotate(10deg),
17 | "15": rotate(15deg),
18 | "20": rotate(20deg),
19 | "25": rotate(25deg),
20 | "30": rotate(30deg),
21 | "35": rotate(35deg),
22 | "40": rotate(40deg),
23 | "45": rotate(45deg),
24 | "50": rotate(50deg),
25 | "55": rotate(55deg),
26 | "60": rotate(60deg),
27 | "65": rotate(65deg),
28 | "70": rotate(70deg),
29 | "75": rotate(75deg),
30 | "80": rotate(80deg),
31 | "85": rotate(85deg),
32 | "90": rotate(90deg),
33 | "95": rotate(95deg),
34 | "100": rotate(100deg),
35 | ),
36 | ),
37 |
38 | "scale": (
39 | "prefix": "t-s",
40 | "properties": (
41 | "transform",
42 | ),
43 | "values": (
44 | "0": scale(0%),
45 | "10": scale(10%),
46 | "20": scale(20%),
47 | "30": scale(30%),
48 | "40": scale(40%),
49 | "50": scale(50%),
50 | "60": scale(60%),
51 | "70": scale(70%),
52 | "80": scale(80%),
53 | "90": scale(90%),
54 | "100": scale(100%),
55 | ),
56 | ),
57 |
58 | "scale-x": (
59 | "prefix": "t-sx",
60 | "properties": (
61 | "transform",
62 | ),
63 | "values": (
64 | "0": scaleX(0%),
65 | "10": scaleX(10%),
66 | "20": scaleX(20%),
67 | "30": scaleX(30%),
68 | "40": scaleX(40%),
69 | "50": scaleX(50%),
70 | "60": scaleX(60%),
71 | "70": scaleX(70%),
72 | "80": scaleX(80%),
73 | "90": scaleX(90%),
74 | "100": scaleX(100%),
75 | ),
76 | ),
77 |
78 | "scale-y": (
79 | "prefix": "t-sy",
80 | "properties": (
81 | "transform",
82 | ),
83 | "values": (
84 | "0": scaleY(0%),
85 | "10": scaleY(10%),
86 | "20": scaleY(20%),
87 | "30": scaleY(30%),
88 | "40": scaleY(40%),
89 | "50": scaleY(50%),
90 | "60": scaleY(60%),
91 | "70": scaleY(70%),
92 | "80": scaleY(80%),
93 | "90": scaleY(90%),
94 | "100": scaleY(100%),
95 | ),
96 | ),
97 |
98 | "skew": (
99 | "prefix": "t-sk",
100 | "properties": (
101 | "transform",
102 | ),
103 | "values": (
104 | "1": skew(1deg),
105 | "2": skew(2deg),
106 | "3": skew(3deg),
107 | "6": skew(6deg),
108 | "12": skew(12deg),
109 | ),
110 | ),
111 |
112 | "skew-x": (
113 | "prefix": "t-skx",
114 | "properties": (
115 | "transform",
116 | ),
117 | "values": (
118 | "1": skewX(1deg),
119 | "2": skewX(2deg),
120 | "3": skewX(3deg),
121 | "6": skewX(6deg),
122 | "12": skewX(12deg),
123 | ),
124 | ),
125 |
126 | "skew-y": (
127 | "prefix": "t-sky",
128 | "properties": (
129 | "transform",
130 | ),
131 | "values": (
132 | "1": skewY(1deg),
133 | "2": skewY(2deg),
134 | "3": skewY(3deg),
135 | "6": skewY(6deg),
136 | "12": skewY(12deg),
137 | ),
138 | ),
139 |
140 | "transform-origin": (
141 | "prefix": "t-o",
142 | "properties": (
143 | "transform-origin",
144 | ),
145 | "values": (
146 | "b": bottom,
147 | "bl": bottom left,
148 | "br": bottom right,
149 | "c": center,
150 | "l": left,
151 | "r": right,
152 | "t": top,
153 | "tl": top left,
154 | "tr": top right,
155 | ),
156 | ),
157 | );
158 |
159 | @each $name, $map in $yma-transform-utils {
160 | $prefix: map.get($map, "prefix");
161 | $properties: map.get($map, "properties");
162 |
163 | @include mix.create-utilities($map, $prefix, $properties);
164 | }
165 |
--------------------------------------------------------------------------------
/src/utilities/_typography.scss:
--------------------------------------------------------------------------------
1 | @use "sass:math";
2 | @use "sass:map";
3 | @use "../abstracts/variables" as vars;
4 | @use "../abstracts/mixins/" as mix;
5 |
6 | $yma-typography-utils: (
7 | "font-size": (
8 | "prefix": "fs",
9 | "properties": (
10 | "font-size",
11 | ),
12 | "values": (
13 | "xs": vars.$yma-font-size-xs,
14 | "sm": vars.$yma-font-size-sm,
15 | "md": vars.$yma-font-size-md,
16 | "lg": vars.$yma-font-size-lg,
17 | "xl": vars.$yma-font-size-xl,
18 | "xxl": vars.$yma-font-size-2xl,
19 | "3xl": vars.$yma-font-size-3xl,
20 | "4xl": vars.$yma-font-size-4xl,
21 | "5xl": vars.$yma-font-size-5xl,
22 | "6xl": vars.$yma-font-size-6xl,
23 | "7xl": vars.$yma-font-size-7xl,
24 | "8xl": vars.$yma-font-size-8xl,
25 | "9xl": vars.$yma-font-size-9xl,
26 | ),
27 | ),
28 |
29 | "font-style": (
30 | "prefix": "fs",
31 | "properties": (
32 | "font-style",
33 | ),
34 | "values": (
35 | "i": italic,
36 | "n": normal,
37 | ),
38 | ),
39 |
40 | "font-weight": (
41 | "prefix": "fw",
42 | "properties": (
43 | "font-weight",
44 | ),
45 | "values": (
46 | "100": 100,
47 | "200": 200,
48 | "300": 300,
49 | "400": 400,
50 | "500": 500,
51 | "600": 600,
52 | "700": 700,
53 | "800": 800,
54 | "900": 900,
55 | ),
56 | ),
57 |
58 | "letter-spacing": (
59 | "prefix": "ls",
60 | "properties": (
61 | "letter-spacing",
62 | ),
63 | "values": (
64 | "0": 0em,
65 | "1": -0.05em,
66 | "2": -0.025em,
67 | "3": 0.025em,
68 | "4": 0.05em,
69 | "5": 0.1em,
70 | ),
71 | ),
72 |
73 | "line-height": (
74 | "prefix": "lh",
75 | "properties": (
76 | "line-height",
77 | ),
78 | "values": (
79 | "1": 1,
80 | "2": 1.25,
81 | "3": 1.375,
82 | "4": 1.5,
83 | "5": 1.625,
84 | "6": 2,
85 | ),
86 | ),
87 |
88 | "list-style-position": (
89 | "prefix": "lsp",
90 | "properties": (
91 | "list-style-position",
92 | ),
93 | "values": (
94 | "i": inside,
95 | "o": outside,
96 | ),
97 | ),
98 |
99 | "list-style-type": (
100 | "prefix": "lst",
101 | "properties": (
102 | "list-style-type",
103 | ),
104 | "values": (
105 | "c": circle,
106 | "d": disc,
107 | "s": square,
108 | ),
109 | ),
110 |
111 | "overflow-wrap": (
112 | "prefix": "ow",
113 | "properties": (
114 | "overflow-wrap",
115 | ),
116 | "values": (
117 | "bw": break-word,
118 | "n": normal,
119 | ),
120 | ),
121 |
122 | "text-align": (
123 | "prefix": "ta",
124 | "properties": (
125 | "text-align",
126 | ),
127 | "values": (
128 | "c": center,
129 | "e": end,
130 | "j": justify,
131 | "ja": justify-all,
132 | "l": left,
133 | "mp": match-parent,
134 | "r": right,
135 | "s": start,
136 | ),
137 | ),
138 |
139 | "text-decoration-line": (
140 | "prefix": "tdl",
141 | "properties": (
142 | "text-decoration-line",
143 | ),
144 | "values": (
145 | "lt": line-through,
146 | "none": none,
147 | "o": overline,
148 | "u": underline,
149 | ),
150 | ),
151 |
152 | "text-decoration-style": (
153 | "prefix": "tds",
154 | "properties": (
155 | "text-decoration-style",
156 | ),
157 | "values": (
158 | "d": dashed,
159 | "s": solid,
160 | "w": wavy,
161 | ),
162 | ),
163 |
164 | "text-decoration-thickness": (
165 | "prefix": "tdt",
166 | "properties": (
167 | "text-decoration-thickness",
168 | ),
169 | "values": (
170 | "0": vars.$yma-decoration-thickness * 0,
171 | "1": vars.$yma-decoration-thickness,
172 | "2": vars.$yma-decoration-thickness * 2,
173 | "3": vars.$yma-decoration-thickness * 3,
174 | "4": vars.$yma-decoration-thickness * 4,
175 | "auto": auto,
176 | "ff": from-font,
177 | ),
178 | ),
179 |
180 | "text-decoration": (
181 | "prefix": "td",
182 | "properties": (
183 | "text-decoration",
184 | ),
185 | "values": (
186 | "none": none,
187 | "u": underline,
188 | ),
189 | ),
190 |
191 | "text-indent": (
192 | "prefix": "ti",
193 | "properties": (
194 | "text-indent",
195 | ),
196 | "values": (
197 | "0": 0px,
198 | "1": 1px,
199 | "2": 0.25rem,
200 | "3": 0.5rem,
201 | "4": 0.75rem,
202 | ),
203 | ),
204 |
205 | "text-overflow": (
206 | "prefix": "to",
207 | "properties": (
208 | "text-overflow",
209 | ),
210 | "values": (
211 | "c": clip,
212 | "e": ellipsis,
213 | ),
214 | ),
215 |
216 | "text-transform": (
217 | "prefix": "tt",
218 | "properties": (
219 | "text-transform",
220 | ),
221 | "values": (
222 | "c": capitalize,
223 | "l": lowercase,
224 | "n": none,
225 | "u": uppercase,
226 | ),
227 | ),
228 |
229 | "text-underline-offset": (
230 | "prefix": "tuo",
231 | "properties": (
232 | "text-underline-offset",
233 | ),
234 | "values": (
235 | "0": 0px,
236 | "1": 1px,
237 | "2": 2px,
238 | "4": 4px,
239 | "8": 8px,
240 | "auto": auto,
241 | ),
242 | ),
243 |
244 | "text-wrap": (
245 | "prefix": "tw",
246 | "properties": (
247 | "text-wrap",
248 | ),
249 | "values": (
250 | "b": balance,
251 | "n": nowrap,
252 | "p": pretty,
253 | "w": wrap,
254 | ),
255 | ),
256 |
257 | "white-space": (
258 | "prefix": "ws",
259 | "properties": (
260 | "white-space",
261 | ),
262 | "values": (
263 | "bs": break-spaces,
264 | "n": normal,
265 | "nw": nowrap,
266 | "p": pre,
267 | "pl": pre-line,
268 | "pw": pre-wrap,
269 | ),
270 | ),
271 | );
272 |
273 | @each $properties, $map in $yma-typography-utils {
274 | $prefix: map.get($map, "prefix");
275 | $properties: map.get($map, "properties");
276 |
277 | @include mix.create-utilities($map, $prefix, $properties);
278 | }
279 |
--------------------------------------------------------------------------------
/src/utilities/maps/_index.scss:
--------------------------------------------------------------------------------
1 | // Box Model
2 | @forward "box-model/dimension";
3 | @forward "box-model/height";
4 | @forward "box-model/margin";
5 | @forward "box-model/padding";
6 | @forward "box-model/width";
7 |
8 | // Flexbox
9 | @forward "flexbox/flex-basis";
10 |
11 | // Grid
12 | @forward "grid/gap";
13 |
--------------------------------------------------------------------------------
/src/utilities/maps/box-model/_dimension.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-dimension-map: map.merge(
6 | (
7 | "auto": auto,
8 | "dvh": 100dvh,
9 | "fc": fit-content,
10 | "full": 100%,
11 | "half": 50%,
12 | "max": max-content,
13 | "min": min-content,
14 | ),
15 | fun.create-values(vars.$yma-dimension)
16 | );
17 |
--------------------------------------------------------------------------------
/src/utilities/maps/box-model/_height.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-height-map: map.merge(
6 | (
7 | "auto": auto,
8 | "dvh": 100dvh,
9 | "fc": fit-content,
10 | "full": 100%,
11 | "half": 50%,
12 | "max": max-content,
13 | "min": min-content,
14 | ),
15 | fun.create-values(vars.$yma-height)
16 | );
17 |
--------------------------------------------------------------------------------
/src/utilities/maps/box-model/_margin.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-margin-map: map.merge(
6 | (
7 | "auto": auto,
8 | ),
9 | fun.create-values(vars.$yma-margin)
10 | );
11 |
--------------------------------------------------------------------------------
/src/utilities/maps/box-model/_padding.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-padding-map: map.merge(
6 | (
7 | "auto": auto,
8 | ),
9 | fun.create-values(vars.$yma-padding)
10 | );
11 |
--------------------------------------------------------------------------------
/src/utilities/maps/box-model/_width.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-width-map: map.merge(
6 | (
7 | "auto": auto,
8 | "dvh": 100dvh,
9 | "fc": fit-content,
10 | "full": 100%,
11 | "half": 50%,
12 | "max": max-content,
13 | "min": min-content,
14 | ),
15 | fun.create-values(vars.$yma-width)
16 | );
17 |
--------------------------------------------------------------------------------
/src/utilities/maps/flexbox/_flex-basis.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-flex-basis-map: map.merge(
6 | (
7 | "auto": auto,
8 | "full": 100%,
9 | "half": 50%,
10 | ),
11 | fun.create-values(vars.$yma-flex-basis)
12 | );
13 |
--------------------------------------------------------------------------------
/src/utilities/maps/grid/_gap.scss:
--------------------------------------------------------------------------------
1 | @use "sass:map";
2 | @use "../../../abstracts/functions/create-values" as fun;
3 | @use "../../../abstracts/variables" as vars;
4 |
5 | $yma-gap-map: fun.create-values(vars.$yma-gap);
6 |
--------------------------------------------------------------------------------
/src/yummacss-core.scss:
--------------------------------------------------------------------------------
1 | @use "abstracts" as *;
2 | @use "utilities" as *;
3 | @use "fonts";
--------------------------------------------------------------------------------
/src/yummacss.scss:
--------------------------------------------------------------------------------
1 | @use "reset/stylecent";
2 | @use "abstracts" as *;
3 | @use "utilities" as *;
4 | @use "fonts";
5 |
--------------------------------------------------------------------------------
/tsconfig.cli.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "module": "NodeNext",
5 | "moduleResolution": "NodeNext",
6 | "outDir": "./dist/cli",
7 | "rootDir": "./cli",
8 | "esModuleInterop": true,
9 | "strict": true,
10 | "skipLibCheck": true
11 | },
12 | "include": ["cli/**/*"],
13 | "exclude": ["node_modules", "dist"]
14 | }
15 |
--------------------------------------------------------------------------------