@tenphi/tasty 0.0.0-snapshot.08a6610
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +666 -0
- package/dist/_virtual/_rolldown/runtime.js +8 -0
- package/dist/chunks/cacheKey.js +70 -0
- package/dist/chunks/cacheKey.js.map +1 -0
- package/dist/chunks/definitions.d.ts +37 -0
- package/dist/chunks/definitions.js +259 -0
- package/dist/chunks/definitions.js.map +1 -0
- package/dist/chunks/renderChunk.js +61 -0
- package/dist/chunks/renderChunk.js.map +1 -0
- package/dist/config.d.ts +311 -0
- package/dist/config.js +458 -0
- package/dist/config.js.map +1 -0
- package/dist/core/index.d.ts +32 -0
- package/dist/core/index.js +26 -0
- package/dist/debug.d.ts +204 -0
- package/dist/debug.js +733 -0
- package/dist/debug.js.map +1 -0
- package/dist/hooks/useGlobalStyles.d.ts +30 -0
- package/dist/hooks/useGlobalStyles.js +83 -0
- package/dist/hooks/useGlobalStyles.js.map +1 -0
- package/dist/hooks/useKeyframes.d.ts +56 -0
- package/dist/hooks/useKeyframes.js +69 -0
- package/dist/hooks/useKeyframes.js.map +1 -0
- package/dist/hooks/useProperty.d.ts +79 -0
- package/dist/hooks/useProperty.js +114 -0
- package/dist/hooks/useProperty.js.map +1 -0
- package/dist/hooks/useRawCSS.d.ts +53 -0
- package/dist/hooks/useRawCSS.js +40 -0
- package/dist/hooks/useRawCSS.js.map +1 -0
- package/dist/hooks/useStyles.d.ts +45 -0
- package/dist/hooks/useStyles.js +248 -0
- package/dist/hooks/useStyles.js.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.js +33 -0
- package/dist/injector/index.d.ts +165 -0
- package/dist/injector/index.js +162 -0
- package/dist/injector/index.js.map +1 -0
- package/dist/injector/injector.d.ts +148 -0
- package/dist/injector/injector.js +430 -0
- package/dist/injector/injector.js.map +1 -0
- package/dist/injector/sheet-manager.d.ts +136 -0
- package/dist/injector/sheet-manager.js +729 -0
- package/dist/injector/sheet-manager.js.map +1 -0
- package/dist/injector/types.d.ts +144 -0
- package/dist/keyframes/index.js +206 -0
- package/dist/keyframes/index.js.map +1 -0
- package/dist/parser/classify.js +319 -0
- package/dist/parser/classify.js.map +1 -0
- package/dist/parser/const.js +33 -0
- package/dist/parser/const.js.map +1 -0
- package/dist/parser/lru.js +109 -0
- package/dist/parser/lru.js.map +1 -0
- package/dist/parser/parser.d.ts +25 -0
- package/dist/parser/parser.js +116 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser/tokenizer.js +69 -0
- package/dist/parser/tokenizer.js.map +1 -0
- package/dist/parser/types.d.ts +51 -0
- package/dist/parser/types.js +46 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/pipeline/conditions.d.ts +134 -0
- package/dist/pipeline/conditions.js +406 -0
- package/dist/pipeline/conditions.js.map +1 -0
- package/dist/pipeline/exclusive.js +231 -0
- package/dist/pipeline/exclusive.js.map +1 -0
- package/dist/pipeline/index.d.ts +53 -0
- package/dist/pipeline/index.js +660 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/materialize.js +856 -0
- package/dist/pipeline/materialize.js.map +1 -0
- package/dist/pipeline/parseStateKey.d.ts +15 -0
- package/dist/pipeline/parseStateKey.js +451 -0
- package/dist/pipeline/parseStateKey.js.map +1 -0
- package/dist/pipeline/simplify.js +516 -0
- package/dist/pipeline/simplify.js.map +1 -0
- package/dist/pipeline/warnings.js +18 -0
- package/dist/pipeline/warnings.js.map +1 -0
- package/dist/plugins/okhsl-plugin.d.ts +35 -0
- package/dist/plugins/okhsl-plugin.js +371 -0
- package/dist/plugins/okhsl-plugin.js.map +1 -0
- package/dist/plugins/types.d.ts +76 -0
- package/dist/properties/index.js +236 -0
- package/dist/properties/index.js.map +1 -0
- package/dist/properties/property-type-resolver.d.ts +24 -0
- package/dist/properties/property-type-resolver.js +91 -0
- package/dist/properties/property-type-resolver.js.map +1 -0
- package/dist/ssr/astro.d.ts +29 -0
- package/dist/ssr/astro.js +65 -0
- package/dist/ssr/astro.js.map +1 -0
- package/dist/ssr/async-storage.d.ts +17 -0
- package/dist/ssr/async-storage.js +35 -0
- package/dist/ssr/async-storage.js.map +1 -0
- package/dist/ssr/collect-auto-properties.js +40 -0
- package/dist/ssr/collect-auto-properties.js.map +1 -0
- package/dist/ssr/collector.d.ts +85 -0
- package/dist/ssr/collector.js +183 -0
- package/dist/ssr/collector.js.map +1 -0
- package/dist/ssr/context.d.ts +8 -0
- package/dist/ssr/context.js +14 -0
- package/dist/ssr/context.js.map +1 -0
- package/dist/ssr/format-global-rules.js +22 -0
- package/dist/ssr/format-global-rules.js.map +1 -0
- package/dist/ssr/format-keyframes.js +70 -0
- package/dist/ssr/format-keyframes.js.map +1 -0
- package/dist/ssr/format-property.js +48 -0
- package/dist/ssr/format-property.js.map +1 -0
- package/dist/ssr/format-rules.js +70 -0
- package/dist/ssr/format-rules.js.map +1 -0
- package/dist/ssr/hydrate.d.ts +22 -0
- package/dist/ssr/hydrate.js +50 -0
- package/dist/ssr/hydrate.js.map +1 -0
- package/dist/ssr/index.d.ts +5 -0
- package/dist/ssr/index.js +12 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/next.d.ts +45 -0
- package/dist/ssr/next.js +71 -0
- package/dist/ssr/next.js.map +1 -0
- package/dist/ssr/ssr-collector-ref.js +12 -0
- package/dist/ssr/ssr-collector-ref.js.map +1 -0
- package/dist/states/index.d.ts +49 -0
- package/dist/states/index.js +416 -0
- package/dist/states/index.js.map +1 -0
- package/dist/static/index.d.ts +5 -0
- package/dist/static/index.js +5 -0
- package/dist/static/tastyStatic.d.ts +46 -0
- package/dist/static/tastyStatic.js +31 -0
- package/dist/static/tastyStatic.js.map +1 -0
- package/dist/static/types.d.ts +49 -0
- package/dist/static/types.js +24 -0
- package/dist/static/types.js.map +1 -0
- package/dist/styles/align.d.ts +15 -0
- package/dist/styles/align.js +14 -0
- package/dist/styles/align.js.map +1 -0
- package/dist/styles/border.d.ts +25 -0
- package/dist/styles/border.js +114 -0
- package/dist/styles/border.js.map +1 -0
- package/dist/styles/color.d.ts +14 -0
- package/dist/styles/color.js +23 -0
- package/dist/styles/color.js.map +1 -0
- package/dist/styles/createStyle.js +77 -0
- package/dist/styles/createStyle.js.map +1 -0
- package/dist/styles/dimension.js +97 -0
- package/dist/styles/dimension.js.map +1 -0
- package/dist/styles/display.d.ts +37 -0
- package/dist/styles/display.js +67 -0
- package/dist/styles/display.js.map +1 -0
- package/dist/styles/fade.d.ts +15 -0
- package/dist/styles/fade.js +58 -0
- package/dist/styles/fade.js.map +1 -0
- package/dist/styles/fill.d.ts +42 -0
- package/dist/styles/fill.js +52 -0
- package/dist/styles/fill.js.map +1 -0
- package/dist/styles/flow.d.ts +16 -0
- package/dist/styles/flow.js +12 -0
- package/dist/styles/flow.js.map +1 -0
- package/dist/styles/gap.d.ts +31 -0
- package/dist/styles/gap.js +37 -0
- package/dist/styles/gap.js.map +1 -0
- package/dist/styles/height.d.ts +17 -0
- package/dist/styles/height.js +20 -0
- package/dist/styles/height.js.map +1 -0
- package/dist/styles/index.d.ts +2 -0
- package/dist/styles/index.js +9 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/inset.d.ts +52 -0
- package/dist/styles/inset.js +150 -0
- package/dist/styles/inset.js.map +1 -0
- package/dist/styles/justify.d.ts +15 -0
- package/dist/styles/justify.js +14 -0
- package/dist/styles/justify.js.map +1 -0
- package/dist/styles/list.d.ts +16 -0
- package/dist/styles/list.js +98 -0
- package/dist/styles/list.js.map +1 -0
- package/dist/styles/margin.d.ts +24 -0
- package/dist/styles/margin.js +104 -0
- package/dist/styles/margin.js.map +1 -0
- package/dist/styles/outline.d.ts +29 -0
- package/dist/styles/outline.js +65 -0
- package/dist/styles/outline.js.map +1 -0
- package/dist/styles/padding.d.ts +24 -0
- package/dist/styles/padding.js +104 -0
- package/dist/styles/padding.js.map +1 -0
- package/dist/styles/predefined.d.ts +71 -0
- package/dist/styles/predefined.js +238 -0
- package/dist/styles/predefined.js.map +1 -0
- package/dist/styles/preset.d.ts +47 -0
- package/dist/styles/preset.js +126 -0
- package/dist/styles/preset.js.map +1 -0
- package/dist/styles/radius.d.ts +14 -0
- package/dist/styles/radius.js +51 -0
- package/dist/styles/radius.js.map +1 -0
- package/dist/styles/scrollbar.d.ts +25 -0
- package/dist/styles/scrollbar.js +48 -0
- package/dist/styles/scrollbar.js.map +1 -0
- package/dist/styles/shadow.d.ts +14 -0
- package/dist/styles/shadow.js +24 -0
- package/dist/styles/shadow.js.map +1 -0
- package/dist/styles/transition.d.ts +14 -0
- package/dist/styles/transition.js +158 -0
- package/dist/styles/transition.js.map +1 -0
- package/dist/styles/types.d.ts +508 -0
- package/dist/styles/width.d.ts +17 -0
- package/dist/styles/width.js +20 -0
- package/dist/styles/width.js.map +1 -0
- package/dist/tasty.d.ts +981 -0
- package/dist/tasty.js +206 -0
- package/dist/tasty.js.map +1 -0
- package/dist/types.d.ts +184 -0
- package/dist/utils/cache-wrapper.js +26 -0
- package/dist/utils/cache-wrapper.js.map +1 -0
- package/dist/utils/case-converter.js +8 -0
- package/dist/utils/case-converter.js.map +1 -0
- package/dist/utils/colors.d.ts +5 -0
- package/dist/utils/colors.js +9 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/css-types.d.ts +7 -0
- package/dist/utils/dotize.d.ts +26 -0
- package/dist/utils/dotize.js +122 -0
- package/dist/utils/dotize.js.map +1 -0
- package/dist/utils/filter-base-props.d.ts +15 -0
- package/dist/utils/filter-base-props.js +45 -0
- package/dist/utils/filter-base-props.js.map +1 -0
- package/dist/utils/get-display-name.d.ts +7 -0
- package/dist/utils/get-display-name.js +10 -0
- package/dist/utils/get-display-name.js.map +1 -0
- package/dist/utils/hsl-to-rgb.js +38 -0
- package/dist/utils/hsl-to-rgb.js.map +1 -0
- package/dist/utils/is-dev-env.js +19 -0
- package/dist/utils/is-dev-env.js.map +1 -0
- package/dist/utils/is-valid-element-type.js +15 -0
- package/dist/utils/is-valid-element-type.js.map +1 -0
- package/dist/utils/merge-styles.d.ts +7 -0
- package/dist/utils/merge-styles.js +146 -0
- package/dist/utils/merge-styles.js.map +1 -0
- package/dist/utils/mod-attrs.d.ts +8 -0
- package/dist/utils/mod-attrs.js +21 -0
- package/dist/utils/mod-attrs.js.map +1 -0
- package/dist/utils/okhsl-to-rgb.js +296 -0
- package/dist/utils/okhsl-to-rgb.js.map +1 -0
- package/dist/utils/process-tokens.d.ts +31 -0
- package/dist/utils/process-tokens.js +171 -0
- package/dist/utils/process-tokens.js.map +1 -0
- package/dist/utils/resolve-recipes.d.ts +17 -0
- package/dist/utils/resolve-recipes.js +147 -0
- package/dist/utils/resolve-recipes.js.map +1 -0
- package/dist/utils/selector-transform.js +32 -0
- package/dist/utils/selector-transform.js.map +1 -0
- package/dist/utils/string.js +8 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/styles.d.ts +177 -0
- package/dist/utils/styles.js +730 -0
- package/dist/utils/styles.js.map +1 -0
- package/dist/utils/typography.d.ts +47 -0
- package/dist/utils/typography.js +43 -0
- package/dist/utils/typography.js.map +1 -0
- package/dist/utils/warnings.d.ts +16 -0
- package/dist/utils/warnings.js +16 -0
- package/dist/utils/warnings.js.map +1 -0
- package/dist/zero/babel.d.ts +147 -0
- package/dist/zero/babel.js +331 -0
- package/dist/zero/babel.js.map +1 -0
- package/dist/zero/css-writer.d.ts +45 -0
- package/dist/zero/css-writer.js +74 -0
- package/dist/zero/css-writer.js.map +1 -0
- package/dist/zero/extractor.d.ts +24 -0
- package/dist/zero/extractor.js +215 -0
- package/dist/zero/extractor.js.map +1 -0
- package/dist/zero/index.d.ts +3 -0
- package/dist/zero/index.js +4 -0
- package/dist/zero/next.d.ts +74 -0
- package/dist/zero/next.js +129 -0
- package/dist/zero/next.js.map +1 -0
- package/docs/adoption.md +286 -0
- package/docs/comparison.md +413 -0
- package/docs/configuration.md +242 -0
- package/docs/debug.md +505 -0
- package/docs/design-system.md +401 -0
- package/docs/dsl.md +540 -0
- package/docs/getting-started.md +201 -0
- package/docs/injector.md +528 -0
- package/docs/methodology.md +501 -0
- package/docs/runtime.md +291 -0
- package/docs/ssr.md +382 -0
- package/docs/styles.md +574 -0
- package/docs/tasty-static.md +421 -0
- package/package.json +209 -0
- package/tasty.config.ts +14 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/styles/radius.d.ts
|
|
2
|
+
declare function radiusStyle({
|
|
3
|
+
radius
|
|
4
|
+
}: {
|
|
5
|
+
radius?: string | number | boolean;
|
|
6
|
+
}): {
|
|
7
|
+
'border-radius': string;
|
|
8
|
+
} | undefined;
|
|
9
|
+
declare namespace radiusStyle {
|
|
10
|
+
var __lookupStyles: string[];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { radiusStyle };
|
|
14
|
+
//# sourceMappingURL=radius.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.js";
|
|
2
|
+
import { DIRECTIONS, parseStyle } from "../utils/styles.js";
|
|
3
|
+
|
|
4
|
+
//#region src/styles/radius.ts
|
|
5
|
+
const PROP = "var(--radius)";
|
|
6
|
+
const SHARP = "var(--sharp-radius)";
|
|
7
|
+
function radiusStyle({ radius }) {
|
|
8
|
+
if (typeof radius === "number") radius = `${radius}px`;
|
|
9
|
+
if (!radius) return;
|
|
10
|
+
if (radius === true) radius = "1r";
|
|
11
|
+
const processed = parseStyle(radius);
|
|
12
|
+
const { mods } = processed.groups[0] ?? makeEmptyDetails();
|
|
13
|
+
let { values } = processed.groups[0] ?? makeEmptyDetails();
|
|
14
|
+
if (mods.includes("round")) values = ["9999rem"];
|
|
15
|
+
else if (mods.includes("ellipse")) values = ["50%"];
|
|
16
|
+
else if (!values.length) values = [PROP];
|
|
17
|
+
if (mods.includes("leaf")) values = [
|
|
18
|
+
values[1] || SHARP,
|
|
19
|
+
values[0] || PROP,
|
|
20
|
+
values[1] || SHARP,
|
|
21
|
+
values[0] || PROP
|
|
22
|
+
];
|
|
23
|
+
else if (mods.includes("backleaf")) values = [
|
|
24
|
+
values[0] || PROP,
|
|
25
|
+
values[1] || SHARP,
|
|
26
|
+
values[0] || PROP,
|
|
27
|
+
values[1] || SHARP
|
|
28
|
+
];
|
|
29
|
+
else if (mods.length) {
|
|
30
|
+
const arr = [
|
|
31
|
+
"0",
|
|
32
|
+
"0",
|
|
33
|
+
"0",
|
|
34
|
+
"0"
|
|
35
|
+
];
|
|
36
|
+
let flag = false;
|
|
37
|
+
DIRECTIONS.forEach((dir, i) => {
|
|
38
|
+
if (!mods.includes(dir)) return;
|
|
39
|
+
flag = true;
|
|
40
|
+
arr[i] = values[0] || PROP;
|
|
41
|
+
arr[(i + 1) % 4] = values[0] || PROP;
|
|
42
|
+
});
|
|
43
|
+
if (flag) values = arr;
|
|
44
|
+
}
|
|
45
|
+
return { "border-radius": values.join(" ") };
|
|
46
|
+
}
|
|
47
|
+
radiusStyle.__lookupStyles = ["radius"];
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { radiusStyle };
|
|
51
|
+
//# sourceMappingURL=radius.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radius.js","names":[],"sources":["../../src/styles/radius.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { DIRECTIONS, parseStyle } from '../utils/styles';\n\nconst PROP = 'var(--radius)';\nconst SHARP = 'var(--sharp-radius)';\n\nexport function radiusStyle({\n radius,\n}: {\n radius?: string | number | boolean;\n}) {\n if (typeof radius === 'number') {\n radius = `${radius}px`;\n }\n\n if (!radius) return;\n\n if (radius === true) radius = '1r';\n\n const processed = parseStyle(radius);\n const { mods } = processed.groups[0] ?? makeEmptyDetails();\n let { values } = processed.groups[0] ?? makeEmptyDetails();\n\n if (mods.includes('round')) {\n values = ['9999rem'];\n } else if (mods.includes('ellipse')) {\n values = ['50%'];\n } else if (!values.length) {\n values = [PROP];\n }\n\n if (mods.includes('leaf')) {\n values = [\n values[1] || SHARP,\n values[0] || PROP,\n values[1] || SHARP,\n values[0] || PROP,\n ];\n } else if (mods.includes('backleaf')) {\n values = [\n values[0] || PROP,\n values[1] || SHARP,\n values[0] || PROP,\n values[1] || SHARP,\n ];\n } else if (mods.length) {\n const arr = ['0', '0', '0', '0'];\n\n let flag = false;\n\n DIRECTIONS.forEach((dir, i) => {\n if (!mods.includes(dir)) return;\n\n flag = true;\n\n arr[i] = values[0] || PROP;\n arr[(i + 1) % 4] = values[0] || PROP;\n });\n\n if (flag) {\n values = arr;\n }\n }\n\n return {\n 'border-radius': values.join(' '),\n };\n}\n\nradiusStyle.__lookupStyles = ['radius'];\n"],"mappings":";;;;AAGA,MAAM,OAAO;AACb,MAAM,QAAQ;AAEd,SAAgB,YAAY,EAC1B,UAGC;AACD,KAAI,OAAO,WAAW,SACpB,UAAS,GAAG,OAAO;AAGrB,KAAI,CAAC,OAAQ;AAEb,KAAI,WAAW,KAAM,UAAS;CAE9B,MAAM,YAAY,WAAW,OAAO;CACpC,MAAM,EAAE,SAAS,UAAU,OAAO,MAAM,kBAAkB;CAC1D,IAAI,EAAE,WAAW,UAAU,OAAO,MAAM,kBAAkB;AAE1D,KAAI,KAAK,SAAS,QAAQ,CACxB,UAAS,CAAC,UAAU;UACX,KAAK,SAAS,UAAU,CACjC,UAAS,CAAC,MAAM;UACP,CAAC,OAAO,OACjB,UAAS,CAAC,KAAK;AAGjB,KAAI,KAAK,SAAS,OAAO,CACvB,UAAS;EACP,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;EACd;UACQ,KAAK,SAAS,WAAW,CAClC,UAAS;EACP,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;EACb,OAAO,MAAM;EACd;UACQ,KAAK,QAAQ;EACtB,MAAM,MAAM;GAAC;GAAK;GAAK;GAAK;GAAI;EAEhC,IAAI,OAAO;AAEX,aAAW,SAAS,KAAK,MAAM;AAC7B,OAAI,CAAC,KAAK,SAAS,IAAI,CAAE;AAEzB,UAAO;AAEP,OAAI,KAAK,OAAO,MAAM;AACtB,QAAK,IAAI,KAAK,KAAK,OAAO,MAAM;IAChC;AAEF,MAAI,KACF,UAAS;;AAIb,QAAO,EACL,iBAAiB,OAAO,KAAK,IAAI,EAClC;;AAGH,YAAY,iBAAiB,CAAC,SAAS"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/styles/scrollbar.d.ts
|
|
2
|
+
interface ScrollbarStyleProps {
|
|
3
|
+
scrollbar?: string | boolean;
|
|
4
|
+
overflow?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Standard CSS scrollbar styling via `scrollbar-width`, `scrollbar-color`,
|
|
8
|
+
* and `scrollbar-gutter`.
|
|
9
|
+
*
|
|
10
|
+
* Width values: `thin` (default), `auto`, `none`
|
|
11
|
+
* Modifiers: `stable`, `both-edges`, `always`
|
|
12
|
+
*
|
|
13
|
+
* Note: `auto` is classified as a VALUE_KEYWORD by the parser, so it lands
|
|
14
|
+
* in `values` rather than `mods`. Both locations are checked for robustness.
|
|
15
|
+
*/
|
|
16
|
+
declare function scrollbarStyle({
|
|
17
|
+
scrollbar,
|
|
18
|
+
overflow
|
|
19
|
+
}: ScrollbarStyleProps): Record<string, string> | undefined;
|
|
20
|
+
declare namespace scrollbarStyle {
|
|
21
|
+
var __lookupStyles: string[];
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { scrollbarStyle };
|
|
25
|
+
//# sourceMappingURL=scrollbar.d.ts.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.js";
|
|
2
|
+
import { parseStyle } from "../utils/styles.js";
|
|
3
|
+
import { warn } from "../utils/warnings.js";
|
|
4
|
+
|
|
5
|
+
//#region src/styles/scrollbar.ts
|
|
6
|
+
/**
|
|
7
|
+
* Standard CSS scrollbar styling via `scrollbar-width`, `scrollbar-color`,
|
|
8
|
+
* and `scrollbar-gutter`.
|
|
9
|
+
*
|
|
10
|
+
* Width values: `thin` (default), `auto`, `none`
|
|
11
|
+
* Modifiers: `stable`, `both-edges`, `always`
|
|
12
|
+
*
|
|
13
|
+
* Note: `auto` is classified as a VALUE_KEYWORD by the parser, so it lands
|
|
14
|
+
* in `values` rather than `mods`. Both locations are checked for robustness.
|
|
15
|
+
*/
|
|
16
|
+
function scrollbarStyle({ scrollbar, overflow }) {
|
|
17
|
+
if (!scrollbar) return;
|
|
18
|
+
const value = scrollbar === true ? "thin" : scrollbar;
|
|
19
|
+
const { mods, colors, values } = parseStyle(String(value)).groups[0] ?? makeEmptyDetails();
|
|
20
|
+
const defaultThumbColor = "var(--scrollbar-thumb-color)";
|
|
21
|
+
const defaultTrackColor = "var(--scrollbar-track-color, transparent)";
|
|
22
|
+
const style = {};
|
|
23
|
+
if (mods.includes("none")) {
|
|
24
|
+
const ignored = [
|
|
25
|
+
...mods.filter((m) => m !== "none"),
|
|
26
|
+
...values,
|
|
27
|
+
...colors
|
|
28
|
+
];
|
|
29
|
+
if (ignored.length) warn(`scrollbar="none" hides the scrollbar; other tokens are ignored: ${ignored.join(", ")}`);
|
|
30
|
+
style["scrollbar-width"] = "none";
|
|
31
|
+
return style;
|
|
32
|
+
}
|
|
33
|
+
if (mods.includes("auto") || values.includes("auto")) style["scrollbar-width"] = "auto";
|
|
34
|
+
else style["scrollbar-width"] = "thin";
|
|
35
|
+
style["scrollbar-color"] = `${colors?.[0] || defaultThumbColor} ${colors?.[1] || defaultTrackColor}`;
|
|
36
|
+
if (mods.includes("stable") || mods.includes("both-edges")) style["scrollbar-gutter"] = mods.includes("both-edges") ? "stable both-edges" : "stable";
|
|
37
|
+
if (mods.includes("always")) {
|
|
38
|
+
const effectiveOverflow = overflow || "scroll";
|
|
39
|
+
style["overflow"] = effectiveOverflow;
|
|
40
|
+
if (!style["scrollbar-gutter"] && (effectiveOverflow === "scroll" || effectiveOverflow === "auto")) style["scrollbar-gutter"] = "stable";
|
|
41
|
+
}
|
|
42
|
+
return style;
|
|
43
|
+
}
|
|
44
|
+
scrollbarStyle.__lookupStyles = ["scrollbar", "overflow"];
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { scrollbarStyle };
|
|
48
|
+
//# sourceMappingURL=scrollbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbar.js","names":[],"sources":["../../src/styles/scrollbar.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { parseStyle } from '../utils/styles';\nimport { warn } from '../utils/warnings';\n\ninterface ScrollbarStyleProps {\n scrollbar?: string | boolean;\n overflow?: string;\n}\n\n/**\n * Standard CSS scrollbar styling via `scrollbar-width`, `scrollbar-color`,\n * and `scrollbar-gutter`.\n *\n * Width values: `thin` (default), `auto`, `none`\n * Modifiers: `stable`, `both-edges`, `always`\n *\n * Note: `auto` is classified as a VALUE_KEYWORD by the parser, so it lands\n * in `values` rather than `mods`. Both locations are checked for robustness.\n */\nexport function scrollbarStyle({\n scrollbar,\n overflow,\n}: ScrollbarStyleProps): Record<string, string> | undefined {\n if (!scrollbar) return;\n\n // `true` is treated as `thin` (empty string is falsy, caught by the guard above)\n const value = scrollbar === true ? 'thin' : scrollbar;\n const processed = parseStyle(String(value));\n const { mods, colors, values } = processed.groups[0] ?? makeEmptyDetails();\n\n const defaultThumbColor = 'var(--scrollbar-thumb-color)';\n const defaultTrackColor = 'var(--scrollbar-track-color, transparent)';\n\n const style: Record<string, string> = {};\n\n if (mods.includes('none')) {\n const ignored = [...mods.filter((m) => m !== 'none'), ...values, ...colors];\n\n if (ignored.length) {\n warn(\n `scrollbar=\"none\" hides the scrollbar; other tokens are ignored: ${ignored.join(', ')}`,\n );\n }\n\n style['scrollbar-width'] = 'none';\n\n return style;\n }\n\n // `thin` is the default — accepted as a value for readability but always\n // the fallback when neither `auto` nor `none` is specified.\n // `auto` is a VALUE_KEYWORD in the parser, so it may land in `values`.\n if (mods.includes('auto') || values.includes('auto')) {\n style['scrollbar-width'] = 'auto';\n } else {\n style['scrollbar-width'] = 'thin';\n }\n\n const thumbColor = colors?.[0] || defaultThumbColor;\n const trackColor = colors?.[1] || defaultTrackColor;\n style['scrollbar-color'] = `${thumbColor} ${trackColor}`;\n\n if (mods.includes('stable') || mods.includes('both-edges')) {\n style['scrollbar-gutter'] = mods.includes('both-edges')\n ? 'stable both-edges'\n : 'stable';\n }\n\n if (mods.includes('always')) {\n const effectiveOverflow = overflow || 'scroll';\n style['overflow'] = effectiveOverflow;\n\n // scrollbar-gutter only applies with scroll/auto overflow\n if (\n !style['scrollbar-gutter'] &&\n (effectiveOverflow === 'scroll' || effectiveOverflow === 'auto')\n ) {\n style['scrollbar-gutter'] = 'stable';\n }\n }\n\n return style;\n}\n\nscrollbarStyle.__lookupStyles = ['scrollbar', 'overflow'];\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,SAAgB,eAAe,EAC7B,WACA,YAC0D;AAC1D,KAAI,CAAC,UAAW;CAGhB,MAAM,QAAQ,cAAc,OAAO,SAAS;CAE5C,MAAM,EAAE,MAAM,QAAQ,WADJ,WAAW,OAAO,MAAM,CAAC,CACA,OAAO,MAAM,kBAAkB;CAE1E,MAAM,oBAAoB;CAC1B,MAAM,oBAAoB;CAE1B,MAAM,QAAgC,EAAE;AAExC,KAAI,KAAK,SAAS,OAAO,EAAE;EACzB,MAAM,UAAU;GAAC,GAAG,KAAK,QAAQ,MAAM,MAAM,OAAO;GAAE,GAAG;GAAQ,GAAG;GAAO;AAE3E,MAAI,QAAQ,OACV,MACE,mEAAmE,QAAQ,KAAK,KAAK,GACtF;AAGH,QAAM,qBAAqB;AAE3B,SAAO;;AAMT,KAAI,KAAK,SAAS,OAAO,IAAI,OAAO,SAAS,OAAO,CAClD,OAAM,qBAAqB;KAE3B,OAAM,qBAAqB;AAK7B,OAAM,qBAAqB,GAFR,SAAS,MAAM,kBAEO,GADtB,SAAS,MAAM;AAGlC,KAAI,KAAK,SAAS,SAAS,IAAI,KAAK,SAAS,aAAa,CACxD,OAAM,sBAAsB,KAAK,SAAS,aAAa,GACnD,sBACA;AAGN,KAAI,KAAK,SAAS,SAAS,EAAE;EAC3B,MAAM,oBAAoB,YAAY;AACtC,QAAM,cAAc;AAGpB,MACE,CAAC,MAAM,wBACN,sBAAsB,YAAY,sBAAsB,QAEzD,OAAM,sBAAsB;;AAIhC,QAAO;;AAGT,eAAe,iBAAiB,CAAC,aAAa,WAAW"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/styles/shadow.d.ts
|
|
2
|
+
declare function shadowStyle({
|
|
3
|
+
shadow
|
|
4
|
+
}: {
|
|
5
|
+
shadow?: string | boolean;
|
|
6
|
+
}): {
|
|
7
|
+
'box-shadow': string;
|
|
8
|
+
} | undefined;
|
|
9
|
+
declare namespace shadowStyle {
|
|
10
|
+
var __lookupStyles: string[];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { shadowStyle };
|
|
14
|
+
//# sourceMappingURL=shadow.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.js";
|
|
2
|
+
import { parseStyle } from "../utils/styles.js";
|
|
3
|
+
|
|
4
|
+
//#region src/styles/shadow.ts
|
|
5
|
+
function toBoxShadow(shadow) {
|
|
6
|
+
const { values, mods, colors } = parseStyle(shadow).groups[0] ?? makeEmptyDetails();
|
|
7
|
+
const mod = mods[0] || "";
|
|
8
|
+
const shadowColor = (colors && colors[0]) ?? "";
|
|
9
|
+
return [
|
|
10
|
+
mod,
|
|
11
|
+
...values,
|
|
12
|
+
shadowColor
|
|
13
|
+
].join(" ");
|
|
14
|
+
}
|
|
15
|
+
function shadowStyle({ shadow }) {
|
|
16
|
+
if (!shadow) return;
|
|
17
|
+
if (shadow === true) shadow = "var(--shadow)";
|
|
18
|
+
return { "box-shadow": shadow.split(",").map(toBoxShadow).join(",") };
|
|
19
|
+
}
|
|
20
|
+
shadowStyle.__lookupStyles = ["shadow"];
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { shadowStyle };
|
|
24
|
+
//# sourceMappingURL=shadow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.js","names":[],"sources":["../../src/styles/shadow.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { parseStyle } from '../utils/styles';\n\nfunction toBoxShadow(shadow: string): string {\n const processed = parseStyle(shadow);\n const { values, mods, colors } = processed.groups[0] ?? makeEmptyDetails();\n const mod = mods[0] || '';\n const shadowColor = (colors && colors[0]) ?? '';\n\n return [mod, ...values, shadowColor].join(' ');\n}\n\nexport function shadowStyle({ shadow }: { shadow?: string | boolean }) {\n if (!shadow) return;\n\n if (shadow === true) shadow = 'var(--shadow)';\n\n return {\n 'box-shadow': shadow.split(',').map(toBoxShadow).join(','),\n };\n}\n\nshadowStyle.__lookupStyles = ['shadow'];\n"],"mappings":";;;;AAGA,SAAS,YAAY,QAAwB;CAE3C,MAAM,EAAE,QAAQ,MAAM,WADJ,WAAW,OAAO,CACO,OAAO,MAAM,kBAAkB;CAC1E,MAAM,MAAM,KAAK,MAAM;CACvB,MAAM,eAAe,UAAU,OAAO,OAAO;AAE7C,QAAO;EAAC;EAAK,GAAG;EAAQ;EAAY,CAAC,KAAK,IAAI;;AAGhD,SAAgB,YAAY,EAAE,UAAyC;AACrE,KAAI,CAAC,OAAQ;AAEb,KAAI,WAAW,KAAM,UAAS;AAE9B,QAAO,EACL,cAAc,OAAO,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,IAAI,EAC3D;;AAGH,YAAY,iBAAiB,CAAC,SAAS"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/styles/transition.d.ts
|
|
2
|
+
declare function transitionStyle({
|
|
3
|
+
transition
|
|
4
|
+
}: {
|
|
5
|
+
transition?: string;
|
|
6
|
+
}): {
|
|
7
|
+
transition: string;
|
|
8
|
+
} | undefined;
|
|
9
|
+
declare namespace transitionStyle {
|
|
10
|
+
var __lookupStyles: string[];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { transitionStyle };
|
|
14
|
+
//# sourceMappingURL=transition.d.ts.map
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { parseStyle } from "../utils/styles.js";
|
|
2
|
+
|
|
3
|
+
//#region src/styles/transition.ts
|
|
4
|
+
const SECOND_FILL_COLOR_PROPERTY = "--tasty-second-fill-color";
|
|
5
|
+
const MAP = {
|
|
6
|
+
fade: ["mask", "mask-composite"],
|
|
7
|
+
translate: ["transform", "translate"],
|
|
8
|
+
rotate: ["transform", "rotate"],
|
|
9
|
+
scale: ["transform", "scale"],
|
|
10
|
+
fill: [
|
|
11
|
+
"background-color",
|
|
12
|
+
"background-image",
|
|
13
|
+
SECOND_FILL_COLOR_PROPERTY
|
|
14
|
+
],
|
|
15
|
+
image: [
|
|
16
|
+
"background-image",
|
|
17
|
+
"background-position",
|
|
18
|
+
"background-size",
|
|
19
|
+
"background-repeat",
|
|
20
|
+
"background-attachment",
|
|
21
|
+
"background-origin",
|
|
22
|
+
"background-clip",
|
|
23
|
+
SECOND_FILL_COLOR_PROPERTY
|
|
24
|
+
],
|
|
25
|
+
background: [
|
|
26
|
+
"background-color",
|
|
27
|
+
"background-image",
|
|
28
|
+
"background-position",
|
|
29
|
+
"background-size",
|
|
30
|
+
"background-repeat",
|
|
31
|
+
"background-attachment",
|
|
32
|
+
"background-origin",
|
|
33
|
+
"background-clip",
|
|
34
|
+
SECOND_FILL_COLOR_PROPERTY
|
|
35
|
+
],
|
|
36
|
+
border: [
|
|
37
|
+
"border",
|
|
38
|
+
"border-top",
|
|
39
|
+
"border-right",
|
|
40
|
+
"border-bottom",
|
|
41
|
+
"border-left"
|
|
42
|
+
],
|
|
43
|
+
filter: ["filter", "backdrop-filter"],
|
|
44
|
+
radius: ["border-radius"],
|
|
45
|
+
shadow: ["box-shadow"],
|
|
46
|
+
outline: ["outline", "outline-offset"],
|
|
47
|
+
preset: [
|
|
48
|
+
"font-size",
|
|
49
|
+
"line-height",
|
|
50
|
+
"letter-spacing",
|
|
51
|
+
"font-weight",
|
|
52
|
+
"font-style"
|
|
53
|
+
],
|
|
54
|
+
text: ["font-weight", "text-decoration-color"],
|
|
55
|
+
color: ["color"],
|
|
56
|
+
opacity: ["opacity"],
|
|
57
|
+
theme: [
|
|
58
|
+
"color",
|
|
59
|
+
"background-color",
|
|
60
|
+
"background-image",
|
|
61
|
+
"box-shadow",
|
|
62
|
+
"border",
|
|
63
|
+
"border-radius",
|
|
64
|
+
"outline",
|
|
65
|
+
"opacity",
|
|
66
|
+
SECOND_FILL_COLOR_PROPERTY
|
|
67
|
+
],
|
|
68
|
+
width: [
|
|
69
|
+
"max-width",
|
|
70
|
+
"min-width",
|
|
71
|
+
"width"
|
|
72
|
+
],
|
|
73
|
+
height: [
|
|
74
|
+
"max-height",
|
|
75
|
+
"min-height",
|
|
76
|
+
"height"
|
|
77
|
+
],
|
|
78
|
+
gap: ["gap", "margin"],
|
|
79
|
+
zIndex: ["z-index"],
|
|
80
|
+
inset: [
|
|
81
|
+
"inset",
|
|
82
|
+
"top",
|
|
83
|
+
"right",
|
|
84
|
+
"bottom",
|
|
85
|
+
"left"
|
|
86
|
+
]
|
|
87
|
+
};
|
|
88
|
+
const DEFAULT_EASING = "linear";
|
|
89
|
+
const EASING_KEYWORDS = new Set([
|
|
90
|
+
"ease",
|
|
91
|
+
"ease-in",
|
|
92
|
+
"ease-out",
|
|
93
|
+
"ease-in-out",
|
|
94
|
+
"linear",
|
|
95
|
+
"step-start",
|
|
96
|
+
"step-end"
|
|
97
|
+
]);
|
|
98
|
+
function isEasing(token) {
|
|
99
|
+
return EASING_KEYWORDS.has(token) || token.startsWith("cubic-bezier(") || token.startsWith("steps(") || token.startsWith("linear(");
|
|
100
|
+
}
|
|
101
|
+
function getTiming(name) {
|
|
102
|
+
return `var(${name.startsWith("--") ? `${name}-transition` : `--${name}-transition`}, var(--transition))`;
|
|
103
|
+
}
|
|
104
|
+
function transitionStyle({ transition }) {
|
|
105
|
+
if (!transition) return;
|
|
106
|
+
const processed = parseStyle(transition);
|
|
107
|
+
const tokens = [];
|
|
108
|
+
processed.groups.forEach((g, idx) => {
|
|
109
|
+
tokens.push(...g.all);
|
|
110
|
+
if (idx < processed.groups.length - 1) tokens.push(",");
|
|
111
|
+
});
|
|
112
|
+
if (tokens.length === 0) return;
|
|
113
|
+
let tempTransition = [];
|
|
114
|
+
const transitions = [];
|
|
115
|
+
tokens.forEach((token) => {
|
|
116
|
+
if (token === ",") {
|
|
117
|
+
if (tempTransition.length) {
|
|
118
|
+
transitions.push(tempTransition);
|
|
119
|
+
tempTransition = [];
|
|
120
|
+
}
|
|
121
|
+
} else tempTransition.push(token);
|
|
122
|
+
});
|
|
123
|
+
if (tempTransition.length) transitions.push(tempTransition);
|
|
124
|
+
const map = {};
|
|
125
|
+
transitions.forEach((transition) => {
|
|
126
|
+
const name = transition[0];
|
|
127
|
+
let timing;
|
|
128
|
+
let easing;
|
|
129
|
+
let delay;
|
|
130
|
+
if (transition[1] && isEasing(transition[1])) {
|
|
131
|
+
easing = transition[1];
|
|
132
|
+
delay = transition[2];
|
|
133
|
+
} else {
|
|
134
|
+
timing = transition[1];
|
|
135
|
+
easing = transition[2];
|
|
136
|
+
delay = transition[3];
|
|
137
|
+
}
|
|
138
|
+
(MAP[name] || [name]).forEach((style) => {
|
|
139
|
+
map[style] = [
|
|
140
|
+
name,
|
|
141
|
+
easing,
|
|
142
|
+
timing,
|
|
143
|
+
delay
|
|
144
|
+
];
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
return { transition: Object.entries(map).map(([style, [name, easing, timing, delay]]) => {
|
|
148
|
+
let value = `${style} ${timing || getTiming(name)}`;
|
|
149
|
+
if (easing || delay) value += ` ${easing || DEFAULT_EASING}`;
|
|
150
|
+
if (delay) value += ` ${delay}`;
|
|
151
|
+
return value;
|
|
152
|
+
}).join(", ") };
|
|
153
|
+
}
|
|
154
|
+
transitionStyle.__lookupStyles = ["transition"];
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
export { transitionStyle };
|
|
158
|
+
//# sourceMappingURL=transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition.js","names":[],"sources":["../../src/styles/transition.ts"],"sourcesContent":["import { parseStyle } from '../utils/styles';\n\nconst SECOND_FILL_COLOR_PROPERTY = '--tasty-second-fill-color';\n\nconst MAP: Record<string, string[]> = {\n fade: ['mask', 'mask-composite'],\n translate: ['transform', 'translate'],\n rotate: ['transform', 'rotate'],\n scale: ['transform', 'scale'],\n fill: ['background-color', 'background-image', SECOND_FILL_COLOR_PROPERTY],\n image: [\n 'background-image',\n 'background-position',\n 'background-size',\n 'background-repeat',\n 'background-attachment',\n 'background-origin',\n 'background-clip',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n background: [\n 'background-color',\n 'background-image',\n 'background-position',\n 'background-size',\n 'background-repeat',\n 'background-attachment',\n 'background-origin',\n 'background-clip',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n border: [\n 'border',\n 'border-top',\n 'border-right',\n 'border-bottom',\n 'border-left',\n ],\n filter: ['filter', 'backdrop-filter'],\n radius: ['border-radius'],\n shadow: ['box-shadow'],\n outline: ['outline', 'outline-offset'],\n preset: [\n 'font-size',\n 'line-height',\n 'letter-spacing',\n 'font-weight',\n 'font-style',\n ],\n text: ['font-weight', 'text-decoration-color'],\n color: ['color'],\n opacity: ['opacity'],\n theme: [\n 'color',\n 'background-color',\n 'background-image',\n 'box-shadow',\n 'border',\n 'border-radius',\n 'outline',\n 'opacity',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n width: ['max-width', 'min-width', 'width'],\n height: ['max-height', 'min-height', 'height'],\n gap: ['gap', 'margin'],\n zIndex: ['z-index'],\n inset: ['inset', 'top', 'right', 'bottom', 'left'],\n};\n\nexport const DEFAULT_TIMING = 'var(--transition)';\nconst DEFAULT_EASING = 'linear';\n\nconst EASING_KEYWORDS = new Set([\n 'ease',\n 'ease-in',\n 'ease-out',\n 'ease-in-out',\n 'linear',\n 'step-start',\n 'step-end',\n]);\n\nfunction isEasing(token: string): boolean {\n return (\n EASING_KEYWORDS.has(token) ||\n token.startsWith('cubic-bezier(') ||\n token.startsWith('steps(') ||\n token.startsWith('linear(')\n );\n}\n\nfunction getTiming(name: string): string {\n const varName = name.startsWith('--')\n ? `${name}-transition`\n : `--${name}-transition`;\n return `var(${varName}, var(--transition))`;\n}\n\ntype TransitionEntry = [\n name: string,\n easing: string | undefined,\n timing: string | undefined,\n delay: string | undefined,\n];\n\nexport function transitionStyle({ transition }: { transition?: string }) {\n if (!transition) return;\n\n const processed = parseStyle(transition);\n const tokens: string[] = [];\n processed.groups.forEach((g, idx) => {\n tokens.push(...g.all);\n if (idx < processed.groups.length - 1) tokens.push(',');\n });\n\n if (tokens.length === 0) return;\n\n let tempTransition: string[] = [];\n const transitions: string[][] = [];\n\n tokens.forEach((token) => {\n if (token === ',') {\n if (tempTransition.length) {\n transitions.push(tempTransition);\n tempTransition = [];\n }\n } else {\n tempTransition.push(token);\n }\n });\n\n if (tempTransition.length) {\n transitions.push(tempTransition);\n }\n\n const map: Record<string, TransitionEntry> = {};\n\n transitions.forEach((transition) => {\n const name = transition[0];\n\n let timing: string | undefined;\n let easing: string | undefined;\n let delay: string | undefined;\n\n if (transition[1] && isEasing(transition[1])) {\n easing = transition[1];\n delay = transition[2];\n } else {\n timing = transition[1];\n easing = transition[2];\n delay = transition[3];\n }\n\n const styles = MAP[name] || [name];\n\n styles.forEach((style) => {\n map[style] = [name, easing, timing, delay];\n });\n });\n\n const result = Object.entries(map)\n .map(([style, [name, easing, timing, delay]]) => {\n let value = `${style} ${timing || getTiming(name)}`;\n if (easing || delay) {\n value += ` ${easing || DEFAULT_EASING}`;\n }\n if (delay) {\n value += ` ${delay}`;\n }\n return value;\n })\n .join(', ');\n\n return { transition: result };\n}\n\ntransitionStyle.__lookupStyles = ['transition'];\n"],"mappings":"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"}
|