@tenphi/tasty 0.0.0-snapshot.05c1c22
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 +629 -0
- package/dist/_virtual/_rolldown/runtime.js +7 -0
- package/dist/chunks/cacheKey.d.ts +1 -0
- package/dist/chunks/cacheKey.js +77 -0
- package/dist/chunks/cacheKey.js.map +1 -0
- package/dist/chunks/definitions.d.ts +37 -0
- package/dist/chunks/definitions.js +258 -0
- package/dist/chunks/definitions.js.map +1 -0
- package/dist/chunks/index.d.ts +1 -0
- package/dist/chunks/renderChunk.d.ts +1 -0
- package/dist/chunks/renderChunk.js +59 -0
- package/dist/chunks/renderChunk.js.map +1 -0
- package/dist/config.d.ts +366 -0
- package/dist/config.js +503 -0
- package/dist/config.js.map +1 -0
- package/dist/core/index.d.ts +33 -0
- package/dist/core/index.js +26 -0
- package/dist/counter-style/index.js +51 -0
- package/dist/counter-style/index.js.map +1 -0
- package/dist/debug.d.ts +89 -0
- package/dist/debug.js +453 -0
- package/dist/debug.js.map +1 -0
- package/dist/font-face/index.js +63 -0
- package/dist/font-face/index.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/resolve-ssr-collector.js +14 -0
- package/dist/hooks/resolve-ssr-collector.js.map +1 -0
- package/dist/hooks/useCounterStyle.d.ts +50 -0
- package/dist/hooks/useCounterStyle.js +46 -0
- package/dist/hooks/useCounterStyle.js.map +1 -0
- package/dist/hooks/useFontFace.d.ts +43 -0
- package/dist/hooks/useFontFace.js +70 -0
- package/dist/hooks/useFontFace.js.map +1 -0
- package/dist/hooks/useGlobalStyles.d.ts +30 -0
- package/dist/hooks/useGlobalStyles.js +78 -0
- package/dist/hooks/useGlobalStyles.js.map +1 -0
- package/dist/hooks/useKeyframes.d.ts +56 -0
- package/dist/hooks/useKeyframes.js +64 -0
- package/dist/hooks/useKeyframes.js.map +1 -0
- package/dist/hooks/useProperty.d.ts +79 -0
- package/dist/hooks/useProperty.js +109 -0
- package/dist/hooks/useProperty.js.map +1 -0
- package/dist/hooks/useRawCSS.d.ts +53 -0
- package/dist/hooks/useRawCSS.js +35 -0
- package/dist/hooks/useRawCSS.js.map +1 -0
- package/dist/hooks/useStyles.d.ts +45 -0
- package/dist/hooks/useStyles.js +237 -0
- package/dist/hooks/useStyles.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +35 -0
- package/dist/injector/index.d.ts +183 -0
- package/dist/injector/index.js +179 -0
- package/dist/injector/index.js.map +1 -0
- package/dist/injector/injector.d.ts +166 -0
- package/dist/injector/injector.js +464 -0
- package/dist/injector/injector.js.map +1 -0
- package/dist/injector/sheet-manager.d.ts +136 -0
- package/dist/injector/sheet-manager.js +733 -0
- package/dist/injector/sheet-manager.js.map +1 -0
- package/dist/injector/types.d.ts +204 -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 +49 -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 +115 -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 +230 -0
- package/dist/pipeline/exclusive.js.map +1 -0
- package/dist/pipeline/index.d.ts +55 -0
- package/dist/pipeline/index.js +708 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/materialize.js +1103 -0
- package/dist/pipeline/materialize.js.map +1 -0
- package/dist/pipeline/parseStateKey.d.ts +15 -0
- package/dist/pipeline/parseStateKey.js +446 -0
- package/dist/pipeline/parseStateKey.js.map +1 -0
- package/dist/pipeline/simplify.js +515 -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/index.d.ts +2 -0
- package/dist/plugins/okhsl-plugin.d.ts +35 -0
- package/dist/plugins/okhsl-plugin.js +97 -0
- package/dist/plugins/okhsl-plugin.js.map +1 -0
- package/dist/plugins/types.d.ts +76 -0
- package/dist/properties/index.js +222 -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 +90 -0
- package/dist/properties/property-type-resolver.js.map +1 -0
- package/dist/ssr/astro.d.ts +29 -0
- package/dist/ssr/astro.js +64 -0
- package/dist/ssr/astro.js.map +1 -0
- package/dist/ssr/async-storage.d.ts +17 -0
- package/dist/ssr/async-storage.js +34 -0
- package/dist/ssr/async-storage.js.map +1 -0
- package/dist/ssr/collect-auto-properties.js +39 -0
- package/dist/ssr/collect-auto-properties.js.map +1 -0
- package/dist/ssr/collector.d.ts +102 -0
- package/dist/ssr/collector.js +226 -0
- package/dist/ssr/collector.js.map +1 -0
- package/dist/ssr/context.d.ts +8 -0
- package/dist/ssr/context.js +13 -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 +69 -0
- package/dist/ssr/format-keyframes.js.map +1 -0
- package/dist/ssr/format-property.js +49 -0
- package/dist/ssr/format-property.js.map +1 -0
- package/dist/ssr/format-rules.js +73 -0
- package/dist/ssr/format-rules.js.map +1 -0
- package/dist/ssr/hydrate.d.ts +22 -0
- package/dist/ssr/hydrate.js +49 -0
- package/dist/ssr/hydrate.js.map +1 -0
- package/dist/ssr/index.d.ts +5 -0
- package/dist/ssr/index.js +11 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/next.d.ts +45 -0
- package/dist/ssr/next.js +69 -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 +170 -0
- package/dist/states/index.js.map +1 -0
- package/dist/static/index.d.ts +5 -0
- package/dist/static/index.js +4 -0
- package/dist/static/inject.d.ts +5 -0
- package/dist/static/inject.js +17 -0
- package/dist/static/inject.js.map +1 -0
- package/dist/static/tastyStatic.d.ts +46 -0
- package/dist/static/tastyStatic.js +30 -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 +113 -0
- package/dist/styles/border.js.map +1 -0
- package/dist/styles/color.d.ts +14 -0
- package/dist/styles/color.js +26 -0
- package/dist/styles/color.js.map +1 -0
- package/dist/styles/createStyle.js +79 -0
- package/dist/styles/createStyle.js.map +1 -0
- package/dist/styles/dimension.js +96 -0
- package/dist/styles/dimension.js.map +1 -0
- package/dist/styles/display.d.ts +37 -0
- package/dist/styles/display.js +66 -0
- package/dist/styles/display.js.map +1 -0
- package/dist/styles/fade.d.ts +15 -0
- package/dist/styles/fade.js +57 -0
- package/dist/styles/fade.js.map +1 -0
- package/dist/styles/fill.d.ts +42 -0
- package/dist/styles/fill.js +51 -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 +36 -0
- package/dist/styles/gap.js.map +1 -0
- package/dist/styles/height.d.ts +17 -0
- package/dist/styles/height.js +19 -0
- package/dist/styles/height.js.map +1 -0
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.js +8 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/inset.d.ts +52 -0
- package/dist/styles/inset.js +149 -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 +103 -0
- package/dist/styles/margin.js.map +1 -0
- package/dist/styles/outline.d.ts +29 -0
- package/dist/styles/outline.js +64 -0
- package/dist/styles/outline.js.map +1 -0
- package/dist/styles/padding.d.ts +24 -0
- package/dist/styles/padding.js +103 -0
- package/dist/styles/padding.js.map +1 -0
- package/dist/styles/predefined.d.ts +71 -0
- package/dist/styles/predefined.js +237 -0
- package/dist/styles/predefined.js.map +1 -0
- package/dist/styles/preset.d.ts +52 -0
- package/dist/styles/preset.js +126 -0
- package/dist/styles/preset.js.map +1 -0
- package/dist/styles/radius.d.ts +12 -0
- package/dist/styles/radius.js +71 -0
- package/dist/styles/radius.js.map +1 -0
- package/dist/styles/scrollbar.d.ts +25 -0
- package/dist/styles/scrollbar.js +46 -0
- package/dist/styles/scrollbar.js.map +1 -0
- package/dist/styles/shadow.d.ts +14 -0
- package/dist/styles/shadow.js +23 -0
- package/dist/styles/shadow.js.map +1 -0
- package/dist/styles/transition.d.ts +14 -0
- package/dist/styles/transition.js +157 -0
- package/dist/styles/transition.js.map +1 -0
- package/dist/styles/types.d.ts +549 -0
- package/dist/styles/width.d.ts +17 -0
- package/dist/styles/width.js +19 -0
- package/dist/styles/width.js.map +1 -0
- package/dist/tasty.d.ts +119 -0
- package/dist/tasty.js +231 -0
- package/dist/tasty.js.map +1 -0
- package/dist/types.d.ts +184 -0
- package/dist/utils/cache-wrapper.js +21 -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/color-math.d.ts +46 -0
- package/dist/utils/color-math.js +749 -0
- package/dist/utils/color-math.js.map +1 -0
- package/dist/utils/color-space.d.ts +5 -0
- package/dist/utils/color-space.js +228 -0
- package/dist/utils/color-space.js.map +1 -0
- package/dist/utils/colors.d.ts +5 -0
- package/dist/utils/colors.js +10 -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/has-keys.js +13 -0
- package/dist/utils/has-keys.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 +145 -0
- package/dist/utils/merge-styles.js.map +1 -0
- package/dist/utils/mod-attrs.d.ts +6 -0
- package/dist/utils/mod-attrs.js +20 -0
- package/dist/utils/mod-attrs.js.map +1 -0
- package/dist/utils/process-tokens.d.ts +21 -0
- package/dist/utils/process-tokens.js +90 -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 +146 -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 +99 -0
- package/dist/utils/styles.js +220 -0
- package/dist/utils/styles.js.map +1 -0
- package/dist/utils/typography.d.ts +47 -0
- package/dist/utils/typography.js +51 -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 +182 -0
- package/dist/zero/babel.js +438 -0
- package/dist/zero/babel.js.map +1 -0
- package/dist/zero/css-writer.d.ts +45 -0
- package/dist/zero/css-writer.js +73 -0
- package/dist/zero/css-writer.js.map +1 -0
- package/dist/zero/extractor.d.ts +24 -0
- package/dist/zero/extractor.js +266 -0
- package/dist/zero/extractor.js.map +1 -0
- package/dist/zero/index.d.ts +3 -0
- package/dist/zero/index.js +3 -0
- package/dist/zero/next.d.ts +86 -0
- package/dist/zero/next.js +143 -0
- package/dist/zero/next.js.map +1 -0
- package/docs/PIPELINE.md +519 -0
- package/docs/README.md +31 -0
- package/docs/adoption.md +296 -0
- package/docs/comparison.md +420 -0
- package/docs/configuration.md +326 -0
- package/docs/debug.md +318 -0
- package/docs/design-system.md +424 -0
- package/docs/dsl.md +673 -0
- package/docs/getting-started.md +217 -0
- package/docs/injector.md +528 -0
- package/docs/methodology.md +567 -0
- package/docs/runtime.md +485 -0
- package/docs/ssr.md +384 -0
- package/docs/styles.md +582 -0
- package/docs/tasty-static.md +520 -0
- package/package.json +215 -0
- package/tasty.config.ts +14 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.js";
|
|
2
|
+
import { parseStyle } from "../utils/styles.js";
|
|
3
|
+
//#region src/styles/gap.ts
|
|
4
|
+
function gapStyle({ display = "block", flow, gap }) {
|
|
5
|
+
if (typeof gap === "number") gap = `${gap}px`;
|
|
6
|
+
if (!gap) return;
|
|
7
|
+
if (gap === true) gap = "1x";
|
|
8
|
+
const isGrid = display.includes("grid");
|
|
9
|
+
const isFlex = display.includes("flex");
|
|
10
|
+
const isWrap = flow ? flow.includes("wrap") && !flow.includes("nowrap") : false;
|
|
11
|
+
if (!isGrid && flow == null) flow = isFlex ? "row" : "column";
|
|
12
|
+
const { values } = parseStyle(gap).groups[0] ?? makeEmptyDetails();
|
|
13
|
+
gap = values.join(" ");
|
|
14
|
+
if (isGrid || isFlex) return { gap };
|
|
15
|
+
const gapDir = flow?.includes("row") ? "right" : "bottom";
|
|
16
|
+
return isWrap ? [{
|
|
17
|
+
"margin-right": `calc(-1 * ${values[1] || values[0]})`,
|
|
18
|
+
"margin-bottom": `calc(-1 * ${values[0]})`
|
|
19
|
+
}, {
|
|
20
|
+
$: "& > *",
|
|
21
|
+
"margin-right": values[1] || values[0],
|
|
22
|
+
"margin-bottom": values[0]
|
|
23
|
+
}] : {
|
|
24
|
+
$: "& > *:not(:last-child)",
|
|
25
|
+
[`margin-${gapDir}`]: gap
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
gapStyle.__lookupStyles = [
|
|
29
|
+
"display",
|
|
30
|
+
"flow",
|
|
31
|
+
"gap"
|
|
32
|
+
];
|
|
33
|
+
//#endregion
|
|
34
|
+
export { gapStyle };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=gap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gap.js","names":[],"sources":["../../src/styles/gap.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { parseStyle } from '../utils/styles';\n\nexport function gapStyle({\n display = 'block',\n flow,\n gap,\n}: {\n display?: string;\n flow?: string;\n gap?: string | number | boolean;\n}) {\n if (typeof gap === 'number') {\n gap = `${gap}px`;\n }\n\n if (!gap) {\n return;\n }\n\n if (gap === true) {\n gap = '1x';\n }\n\n const isGrid = display.includes('grid');\n const isFlex = display.includes('flex');\n const isWrap = flow\n ? flow.includes('wrap') && !flow.includes('nowrap')\n : false;\n\n if (!isGrid && flow == null) {\n flow = isFlex ? 'row' : 'column';\n }\n\n const processed = parseStyle(gap);\n const { values } = processed.groups[0] ?? makeEmptyDetails();\n\n gap = values.join(' ');\n\n if (isGrid || isFlex) {\n return { gap };\n }\n\n const gapDir = flow?.includes('row') ? 'right' : 'bottom';\n\n return isWrap\n ? [\n {\n 'margin-right': `calc(-1 * ${values[1] || values[0]})`,\n 'margin-bottom': `calc(-1 * ${values[0]})`,\n },\n {\n $: '& > *',\n 'margin-right': values[1] || values[0],\n 'margin-bottom': values[0],\n },\n ]\n : {\n $: '& > *:not(:last-child)',\n [`margin-${gapDir}`]: gap,\n };\n}\n\ngapStyle.__lookupStyles = ['display', 'flow', 'gap'];\n"],"mappings":";;;AAGA,SAAgB,SAAS,EACvB,UAAU,SACV,MACA,OAKC;AACD,KAAI,OAAO,QAAQ,SACjB,OAAM,GAAG,IAAI;AAGf,KAAI,CAAC,IACH;AAGF,KAAI,QAAQ,KACV,OAAM;CAGR,MAAM,SAAS,QAAQ,SAAS,OAAO;CACvC,MAAM,SAAS,QAAQ,SAAS,OAAO;CACvC,MAAM,SAAS,OACX,KAAK,SAAS,OAAO,IAAI,CAAC,KAAK,SAAS,SAAS,GACjD;AAEJ,KAAI,CAAC,UAAU,QAAQ,KACrB,QAAO,SAAS,QAAQ;CAI1B,MAAM,EAAE,WADU,WAAW,IAAI,CACJ,OAAO,MAAM,kBAAkB;AAE5D,OAAM,OAAO,KAAK,IAAI;AAEtB,KAAI,UAAU,OACZ,QAAO,EAAE,KAAK;CAGhB,MAAM,SAAS,MAAM,SAAS,MAAM,GAAG,UAAU;AAEjD,QAAO,SACH,CACE;EACE,gBAAgB,aAAa,OAAO,MAAM,OAAO,GAAG;EACpD,iBAAiB,aAAa,OAAO,GAAG;EACzC,EACD;EACE,GAAG;EACH,gBAAgB,OAAO,MAAM,OAAO;EACpC,iBAAiB,OAAO;EACzB,CACF,GACD;EACE,GAAG;GACF,UAAU,WAAW;EACvB;;AAGP,SAAS,iBAAiB;CAAC;CAAW;CAAQ;CAAM"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/styles/height.d.ts
|
|
2
|
+
interface HeightStyleProps {
|
|
3
|
+
height?: string | number | boolean;
|
|
4
|
+
minHeight?: string | number | boolean;
|
|
5
|
+
maxHeight?: string | number | boolean;
|
|
6
|
+
}
|
|
7
|
+
declare function heightStyle({
|
|
8
|
+
height,
|
|
9
|
+
minHeight,
|
|
10
|
+
maxHeight
|
|
11
|
+
}: HeightStyleProps): Record<string, string | string[]> | undefined;
|
|
12
|
+
declare namespace heightStyle {
|
|
13
|
+
var __lookupStyles: string[];
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { heightStyle };
|
|
17
|
+
//# sourceMappingURL=height.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { dimensionStyle } from "./dimension.js";
|
|
2
|
+
//#region src/styles/height.ts
|
|
3
|
+
const dimension = dimensionStyle("height");
|
|
4
|
+
function heightStyle({ height, minHeight, maxHeight }) {
|
|
5
|
+
return dimension({
|
|
6
|
+
value: height,
|
|
7
|
+
min: minHeight,
|
|
8
|
+
max: maxHeight
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
heightStyle.__lookupStyles = [
|
|
12
|
+
"height",
|
|
13
|
+
"minHeight",
|
|
14
|
+
"maxHeight"
|
|
15
|
+
];
|
|
16
|
+
//#endregion
|
|
17
|
+
export { heightStyle };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=height.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"height.js","names":[],"sources":["../../src/styles/height.ts"],"sourcesContent":["import { dimensionStyle } from './dimension';\n\nconst dimension = dimensionStyle('height');\n\ninterface HeightStyleProps {\n height?: string | number | boolean;\n minHeight?: string | number | boolean;\n maxHeight?: string | number | boolean;\n}\n\nexport function heightStyle({\n height,\n minHeight,\n maxHeight,\n}: HeightStyleProps) {\n return dimension({ value: height, min: minHeight, max: maxHeight });\n}\n\nheightStyle.__lookupStyles = ['height', 'minHeight', 'maxHeight'];\n"],"mappings":";;AAEA,MAAM,YAAY,eAAe,SAAS;AAQ1C,SAAgB,YAAY,EAC1B,QACA,WACA,aACmB;AACnB,QAAO,UAAU;EAAE,OAAO;EAAQ,KAAK;EAAW,KAAK;EAAW,CAAC;;AAGrE,YAAY,iBAAiB;CAAC;CAAU;CAAa;CAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { styleHandlers } from "./predefined.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./createStyle.js";
|
|
2
|
+
import { predefine } from "./predefined.js";
|
|
3
|
+
//#region src/styles/index.ts
|
|
4
|
+
const { STYLE_HANDLER_MAP, defineCustomStyle, defineStyleAlias } = predefine();
|
|
5
|
+
//#endregion
|
|
6
|
+
export { STYLE_HANDLER_MAP };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/styles/index.ts"],"sourcesContent":["import { predefine, styleHandlers } from './predefined';\n\nconst { STYLE_HANDLER_MAP, defineCustomStyle, defineStyleAlias } = predefine();\n\nexport {\n STYLE_HANDLER_MAP,\n defineCustomStyle,\n defineStyleAlias,\n styleHandlers,\n};\nexport * from './createStyle';\nexport {\n normalizeHandlerDefinition,\n registerHandler,\n resetHandlers,\n validateHandlerResult,\n} from './predefined';\n"],"mappings":";;;AAEA,MAAM,EAAE,mBAAmB,mBAAmB,qBAAqB,WAAW"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region src/styles/inset.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Inset style handler.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: This handler uses individual CSS properties (top, right, bottom, left)
|
|
6
|
+
* when only individual direction props are specified. This allows CSS cascade to work
|
|
7
|
+
* correctly when modifiers override only some directions.
|
|
8
|
+
*
|
|
9
|
+
* Example problem with using `inset` shorthand everywhere:
|
|
10
|
+
* styles: {
|
|
11
|
+
* top: { '': 0, 'side=bottom': 'initial' },
|
|
12
|
+
* right: { '': 0, 'side=left': 'initial' },
|
|
13
|
+
* bottom: { '': 0, 'side=top': 'initial' },
|
|
14
|
+
* left: { '': 0, 'side=right': 'initial' },
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* If we output `inset` for both cases:
|
|
18
|
+
* - Default: inset: 0 0 0 0
|
|
19
|
+
* - side=bottom: inset: initial auto auto auto ← WRONG! Overrides all 4 directions
|
|
20
|
+
*
|
|
21
|
+
* With individual properties:
|
|
22
|
+
* - Default: top: 0; right: 0; bottom: 0; left: 0
|
|
23
|
+
* - side=bottom: top: initial ← CORRECT! Only overrides top
|
|
24
|
+
*
|
|
25
|
+
* The `inset` shorthand is only used when the base `inset` prop is specified
|
|
26
|
+
* OR when `insetBlock`/`insetInline` are used (which imply setting pairs).
|
|
27
|
+
*/
|
|
28
|
+
declare function insetStyle({
|
|
29
|
+
inset,
|
|
30
|
+
insetBlock,
|
|
31
|
+
insetInline,
|
|
32
|
+
top,
|
|
33
|
+
right,
|
|
34
|
+
bottom,
|
|
35
|
+
left
|
|
36
|
+
}: {
|
|
37
|
+
inset?: string | number | boolean;
|
|
38
|
+
insetBlock?: string | number | boolean;
|
|
39
|
+
insetInline?: string | number | boolean;
|
|
40
|
+
top?: string | number | boolean;
|
|
41
|
+
right?: string | number | boolean;
|
|
42
|
+
bottom?: string | number | boolean;
|
|
43
|
+
left?: string | number | boolean;
|
|
44
|
+
}): Record<string, string> | {
|
|
45
|
+
inset: string;
|
|
46
|
+
};
|
|
47
|
+
declare namespace insetStyle {
|
|
48
|
+
var __lookupStyles: string[];
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { insetStyle };
|
|
52
|
+
//# sourceMappingURL=inset.d.ts.map
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { DIRECTIONS, filterMods, parseStyle } from "../utils/styles.js";
|
|
2
|
+
//#region src/styles/inset.ts
|
|
3
|
+
/**
|
|
4
|
+
* Parse an inset value and return the first processed value
|
|
5
|
+
*/
|
|
6
|
+
function parseInsetValue(value) {
|
|
7
|
+
if (typeof value === "number") return `${value}px`;
|
|
8
|
+
if (!value) return null;
|
|
9
|
+
if (value === true) value = "0";
|
|
10
|
+
const { values } = parseStyle(value).groups[0] ?? { values: [] };
|
|
11
|
+
return values[0] || "0";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Extract values and directions from a single parsed group.
|
|
15
|
+
*/
|
|
16
|
+
function extractGroupData(group) {
|
|
17
|
+
const { values = [], mods = [] } = group;
|
|
18
|
+
return {
|
|
19
|
+
values: values.length ? values : ["0"],
|
|
20
|
+
directions: filterMods(mods, DIRECTIONS)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Apply a single group's values and directions onto a direction map.
|
|
25
|
+
*/
|
|
26
|
+
function applyGroup(dirs, values, directions) {
|
|
27
|
+
if (!values.length) return;
|
|
28
|
+
if (directions.length === 0) {
|
|
29
|
+
dirs.top = values[0];
|
|
30
|
+
dirs.right = values[1] || values[0];
|
|
31
|
+
dirs.bottom = values[2] || values[0];
|
|
32
|
+
dirs.left = values[3] || values[1] || values[0];
|
|
33
|
+
} else directions.forEach((dir, i) => {
|
|
34
|
+
dirs[dir] = values[i] ?? values[0];
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Optimize inset output shorthand.
|
|
39
|
+
*/
|
|
40
|
+
function optimizeInset(dirs) {
|
|
41
|
+
const { top, right, bottom, left } = dirs;
|
|
42
|
+
if (top === right && right === bottom && bottom === left) return { inset: top };
|
|
43
|
+
if (top === bottom && left === right) return { inset: `${top} ${left}` };
|
|
44
|
+
return { inset: `${top} ${right} ${bottom} ${left}` };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Inset style handler.
|
|
48
|
+
*
|
|
49
|
+
* IMPORTANT: This handler uses individual CSS properties (top, right, bottom, left)
|
|
50
|
+
* when only individual direction props are specified. This allows CSS cascade to work
|
|
51
|
+
* correctly when modifiers override only some directions.
|
|
52
|
+
*
|
|
53
|
+
* Example problem with using `inset` shorthand everywhere:
|
|
54
|
+
* styles: {
|
|
55
|
+
* top: { '': 0, 'side=bottom': 'initial' },
|
|
56
|
+
* right: { '': 0, 'side=left': 'initial' },
|
|
57
|
+
* bottom: { '': 0, 'side=top': 'initial' },
|
|
58
|
+
* left: { '': 0, 'side=right': 'initial' },
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* If we output `inset` for both cases:
|
|
62
|
+
* - Default: inset: 0 0 0 0
|
|
63
|
+
* - side=bottom: inset: initial auto auto auto ← WRONG! Overrides all 4 directions
|
|
64
|
+
*
|
|
65
|
+
* With individual properties:
|
|
66
|
+
* - Default: top: 0; right: 0; bottom: 0; left: 0
|
|
67
|
+
* - side=bottom: top: initial ← CORRECT! Only overrides top
|
|
68
|
+
*
|
|
69
|
+
* The `inset` shorthand is only used when the base `inset` prop is specified
|
|
70
|
+
* OR when `insetBlock`/`insetInline` are used (which imply setting pairs).
|
|
71
|
+
*/
|
|
72
|
+
function insetStyle({ inset, insetBlock, insetInline, top, right, bottom, left }) {
|
|
73
|
+
if (inset == null && insetBlock == null && insetInline == null && top == null && right == null && bottom == null && left == null) return {};
|
|
74
|
+
if (inset == null && insetBlock == null && insetInline == null) {
|
|
75
|
+
const result = {};
|
|
76
|
+
if (top != null) {
|
|
77
|
+
const val = parseInsetValue(top);
|
|
78
|
+
if (val) result["top"] = val;
|
|
79
|
+
}
|
|
80
|
+
if (right != null) {
|
|
81
|
+
const val = parseInsetValue(right);
|
|
82
|
+
if (val) result["right"] = val;
|
|
83
|
+
}
|
|
84
|
+
if (bottom != null) {
|
|
85
|
+
const val = parseInsetValue(bottom);
|
|
86
|
+
if (val) result["bottom"] = val;
|
|
87
|
+
}
|
|
88
|
+
if (left != null) {
|
|
89
|
+
const val = parseInsetValue(left);
|
|
90
|
+
if (val) result["left"] = val;
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
const dirs = {
|
|
95
|
+
top: "auto",
|
|
96
|
+
right: "auto",
|
|
97
|
+
bottom: "auto",
|
|
98
|
+
left: "auto"
|
|
99
|
+
};
|
|
100
|
+
if (inset != null) {
|
|
101
|
+
if (typeof inset === "number") dirs.top = dirs.right = dirs.bottom = dirs.left = `${inset}px`;
|
|
102
|
+
else if (inset === true) inset = "0";
|
|
103
|
+
if (typeof inset === "string" && inset) {
|
|
104
|
+
const groups = parseStyle(inset).groups ?? [];
|
|
105
|
+
for (const group of groups) {
|
|
106
|
+
const { values, directions } = extractGroupData(group);
|
|
107
|
+
applyGroup(dirs, values, directions);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (insetBlock != null) {
|
|
112
|
+
const val = parseInsetValue(insetBlock);
|
|
113
|
+
if (val) dirs.top = dirs.bottom = val;
|
|
114
|
+
}
|
|
115
|
+
if (insetInline != null) {
|
|
116
|
+
const val = parseInsetValue(insetInline);
|
|
117
|
+
if (val) dirs.left = dirs.right = val;
|
|
118
|
+
}
|
|
119
|
+
if (top != null) {
|
|
120
|
+
const val = parseInsetValue(top);
|
|
121
|
+
if (val) dirs.top = val;
|
|
122
|
+
}
|
|
123
|
+
if (right != null) {
|
|
124
|
+
const val = parseInsetValue(right);
|
|
125
|
+
if (val) dirs.right = val;
|
|
126
|
+
}
|
|
127
|
+
if (bottom != null) {
|
|
128
|
+
const val = parseInsetValue(bottom);
|
|
129
|
+
if (val) dirs.bottom = val;
|
|
130
|
+
}
|
|
131
|
+
if (left != null) {
|
|
132
|
+
const val = parseInsetValue(left);
|
|
133
|
+
if (val) dirs.left = val;
|
|
134
|
+
}
|
|
135
|
+
return optimizeInset(dirs);
|
|
136
|
+
}
|
|
137
|
+
insetStyle.__lookupStyles = [
|
|
138
|
+
"inset",
|
|
139
|
+
"insetBlock",
|
|
140
|
+
"insetInline",
|
|
141
|
+
"top",
|
|
142
|
+
"right",
|
|
143
|
+
"bottom",
|
|
144
|
+
"left"
|
|
145
|
+
];
|
|
146
|
+
//#endregion
|
|
147
|
+
export { insetStyle };
|
|
148
|
+
|
|
149
|
+
//# sourceMappingURL=inset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inset.js","names":[],"sources":["../../src/styles/inset.ts"],"sourcesContent":["import type { StyleDetails } from '../parser/types';\nimport { DIRECTIONS, filterMods, parseStyle } from '../utils/styles';\n\ntype Direction = (typeof DIRECTIONS)[number];\n\n/**\n * Parse an inset value and return the first processed value\n */\nfunction parseInsetValue(value: string | number | boolean): string | null {\n if (typeof value === 'number') return `${value}px`;\n if (!value) return null;\n if (value === true) value = '0';\n\n const { values } = parseStyle(value).groups[0] ?? { values: [] };\n\n return values[0] || '0';\n}\n\n/**\n * Extract values and directions from a single parsed group.\n */\nfunction extractGroupData(group: StyleDetails): {\n values: string[];\n directions: Direction[];\n} {\n const { values = [], mods = [] } = group;\n return {\n values: values.length ? values : ['0'],\n directions: filterMods(mods, DIRECTIONS) as Direction[],\n };\n}\n\n/**\n * Apply a single group's values and directions onto a direction map.\n */\nfunction applyGroup(\n dirs: Record<Direction, string>,\n values: string[],\n directions: Direction[],\n): void {\n if (!values.length) return;\n\n if (directions.length === 0) {\n dirs.top = values[0];\n dirs.right = values[1] || values[0];\n dirs.bottom = values[2] || values[0];\n dirs.left = values[3] || values[1] || values[0];\n } else {\n directions.forEach((dir, i) => {\n dirs[dir] = values[i] ?? values[0];\n });\n }\n}\n\n/**\n * Optimize inset output shorthand.\n */\nfunction optimizeInset(dirs: Record<Direction, string>): { inset: string } {\n const { top, right, bottom, left } = dirs;\n if (top === right && right === bottom && bottom === left) {\n return { inset: top };\n }\n if (top === bottom && left === right) {\n return { inset: `${top} ${left}` };\n }\n return { inset: `${top} ${right} ${bottom} ${left}` };\n}\n\n/**\n * Inset style handler.\n *\n * IMPORTANT: This handler uses individual CSS properties (top, right, bottom, left)\n * when only individual direction props are specified. This allows CSS cascade to work\n * correctly when modifiers override only some directions.\n *\n * Example problem with using `inset` shorthand everywhere:\n * styles: {\n * top: { '': 0, 'side=bottom': 'initial' },\n * right: { '': 0, 'side=left': 'initial' },\n * bottom: { '': 0, 'side=top': 'initial' },\n * left: { '': 0, 'side=right': 'initial' },\n * }\n *\n * If we output `inset` for both cases:\n * - Default: inset: 0 0 0 0\n * - side=bottom: inset: initial auto auto auto ← WRONG! Overrides all 4 directions\n *\n * With individual properties:\n * - Default: top: 0; right: 0; bottom: 0; left: 0\n * - side=bottom: top: initial ← CORRECT! Only overrides top\n *\n * The `inset` shorthand is only used when the base `inset` prop is specified\n * OR when `insetBlock`/`insetInline` are used (which imply setting pairs).\n */\nexport function insetStyle({\n inset,\n insetBlock,\n insetInline,\n top,\n right,\n bottom,\n left,\n}: {\n inset?: string | number | boolean;\n insetBlock?: string | number | boolean;\n insetInline?: string | number | boolean;\n top?: string | number | boolean;\n right?: string | number | boolean;\n bottom?: string | number | boolean;\n left?: string | number | boolean;\n}) {\n if (\n inset == null &&\n insetBlock == null &&\n insetInline == null &&\n top == null &&\n right == null &&\n bottom == null &&\n left == null\n ) {\n return {};\n }\n\n // When only individual direction props are used (no inset, insetBlock, insetInline),\n // output individual CSS properties to allow proper CSS cascade with modifiers\n const onlyIndividualProps =\n inset == null && insetBlock == null && insetInline == null;\n\n if (onlyIndividualProps) {\n const result: Record<string, string> = {};\n\n if (top != null) {\n const val = parseInsetValue(top);\n if (val) result['top'] = val;\n }\n if (right != null) {\n const val = parseInsetValue(right);\n if (val) result['right'] = val;\n }\n if (bottom != null) {\n const val = parseInsetValue(bottom);\n if (val) result['bottom'] = val;\n }\n if (left != null) {\n const val = parseInsetValue(left);\n if (val) result['left'] = val;\n }\n\n return result;\n }\n\n const dirs: Record<Direction, string> = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n };\n\n // Priority 1 (lowest): inset\n if (inset != null) {\n if (typeof inset === 'number') {\n const v = `${inset}px`;\n dirs.top = dirs.right = dirs.bottom = dirs.left = v;\n } else if (inset === true) {\n inset = '0';\n }\n\n if (typeof inset === 'string' && inset) {\n const processed = parseStyle(inset);\n const groups = processed.groups ?? [];\n\n for (const group of groups) {\n const { values, directions } = extractGroupData(group);\n applyGroup(dirs, values, directions);\n }\n }\n }\n\n // Priority 2 (medium): insetBlock/insetInline\n if (insetBlock != null) {\n const val = parseInsetValue(insetBlock);\n if (val) dirs.top = dirs.bottom = val;\n }\n if (insetInline != null) {\n const val = parseInsetValue(insetInline);\n if (val) dirs.left = dirs.right = val;\n }\n\n // Priority 3 (highest): individual directions\n if (top != null) {\n const val = parseInsetValue(top);\n if (val) dirs.top = val;\n }\n if (right != null) {\n const val = parseInsetValue(right);\n if (val) dirs.right = val;\n }\n if (bottom != null) {\n const val = parseInsetValue(bottom);\n if (val) dirs.bottom = val;\n }\n if (left != null) {\n const val = parseInsetValue(left);\n if (val) dirs.left = val;\n }\n\n return optimizeInset(dirs);\n}\n\ninsetStyle.__lookupStyles = [\n 'inset',\n 'insetBlock',\n 'insetInline',\n 'top',\n 'right',\n 'bottom',\n 'left',\n];\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/styles/justify.d.ts
|
|
2
|
+
declare function justifyStyle({
|
|
3
|
+
justify
|
|
4
|
+
}: {
|
|
5
|
+
justify?: string;
|
|
6
|
+
}): {
|
|
7
|
+
'justify-items': string;
|
|
8
|
+
'justify-content': string;
|
|
9
|
+
} | undefined;
|
|
10
|
+
declare namespace justifyStyle {
|
|
11
|
+
var __lookupStyles: string[];
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { justifyStyle };
|
|
15
|
+
//# sourceMappingURL=justify.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/styles/justify.ts
|
|
2
|
+
function justifyStyle({ justify }) {
|
|
3
|
+
if (typeof justify !== "string") return;
|
|
4
|
+
if (!justify) return;
|
|
5
|
+
return {
|
|
6
|
+
"justify-items": justify,
|
|
7
|
+
"justify-content": justify
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
justifyStyle.__lookupStyles = ["justify"];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { justifyStyle };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=justify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"justify.js","names":[],"sources":["../../src/styles/justify.ts"],"sourcesContent":["export function justifyStyle({ justify }: { justify?: string }) {\n if (typeof justify !== 'string') return;\n\n if (!justify) return;\n\n return {\n 'justify-items': justify,\n 'justify-content': justify,\n };\n}\n\njustifyStyle.__lookupStyles = ['justify'];\n"],"mappings":";AAAA,SAAgB,aAAa,EAAE,WAAiC;AAC9D,KAAI,OAAO,YAAY,SAAU;AAEjC,KAAI,CAAC,QAAS;AAEd,QAAO;EACL,iBAAiB;EACjB,mBAAmB;EACpB;;AAGH,aAAa,iBAAiB,CAAC,UAAU"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/styles/list.d.ts
|
|
2
|
+
declare const BASE_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition"];
|
|
3
|
+
declare const POSITION_STYLES: readonly ["gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position"];
|
|
4
|
+
declare const BLOCK_INNER_STYLES: readonly ["padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign"];
|
|
5
|
+
declare const BLOCK_OUTER_STYLES: readonly ["border", "radius", "shadow", "outline"];
|
|
6
|
+
declare const BLOCK_STYLES: readonly ["padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline"];
|
|
7
|
+
declare const COLOR_STYLES: readonly ["color", "fill", "fade", "image"];
|
|
8
|
+
declare const TEXT_STYLES: readonly ["textTransform", "fontWeight", "fontStyle"];
|
|
9
|
+
declare const DIMENSION_STYLES: readonly ["width", "height", "flexBasis", "flexGrow", "flexShrink", "flex"];
|
|
10
|
+
declare const FLOW_STYLES: readonly ["flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
|
|
11
|
+
declare const CONTAINER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
|
|
12
|
+
declare const OUTER_STYLES: readonly ["gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "border", "radius", "shadow", "outline"];
|
|
13
|
+
declare const INNER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "flow", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
|
|
14
|
+
//#endregion
|
|
15
|
+
export { BASE_STYLES, BLOCK_INNER_STYLES, BLOCK_OUTER_STYLES, BLOCK_STYLES, COLOR_STYLES, CONTAINER_STYLES, DIMENSION_STYLES, FLOW_STYLES, INNER_STYLES, OUTER_STYLES, POSITION_STYLES, TEXT_STYLES };
|
|
16
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
//#region src/styles/list.ts
|
|
2
|
+
const BASE_STYLES = [
|
|
3
|
+
"display",
|
|
4
|
+
"font",
|
|
5
|
+
"preset",
|
|
6
|
+
"hide",
|
|
7
|
+
"whiteSpace",
|
|
8
|
+
"opacity",
|
|
9
|
+
"transition"
|
|
10
|
+
];
|
|
11
|
+
const POSITION_STYLES = [
|
|
12
|
+
"gridArea",
|
|
13
|
+
"order",
|
|
14
|
+
"gridColumn",
|
|
15
|
+
"gridRow",
|
|
16
|
+
"placeSelf",
|
|
17
|
+
"alignSelf",
|
|
18
|
+
"justifySelf",
|
|
19
|
+
"zIndex",
|
|
20
|
+
"margin",
|
|
21
|
+
"inset",
|
|
22
|
+
"position"
|
|
23
|
+
];
|
|
24
|
+
const BLOCK_INNER_STYLES = [
|
|
25
|
+
"padding",
|
|
26
|
+
"paddingInline",
|
|
27
|
+
"paddingBlock",
|
|
28
|
+
"overflow",
|
|
29
|
+
"scrollbar",
|
|
30
|
+
"textAlign"
|
|
31
|
+
];
|
|
32
|
+
const BLOCK_OUTER_STYLES = [
|
|
33
|
+
"border",
|
|
34
|
+
"radius",
|
|
35
|
+
"shadow",
|
|
36
|
+
"outline"
|
|
37
|
+
];
|
|
38
|
+
const BLOCK_STYLES = [...BLOCK_INNER_STYLES, ...BLOCK_OUTER_STYLES];
|
|
39
|
+
const COLOR_STYLES = [
|
|
40
|
+
"color",
|
|
41
|
+
"fill",
|
|
42
|
+
"fade",
|
|
43
|
+
"image"
|
|
44
|
+
];
|
|
45
|
+
const TEXT_STYLES = [
|
|
46
|
+
"textTransform",
|
|
47
|
+
"fontWeight",
|
|
48
|
+
"fontStyle"
|
|
49
|
+
];
|
|
50
|
+
const DIMENSION_STYLES = [
|
|
51
|
+
"width",
|
|
52
|
+
"height",
|
|
53
|
+
"flexBasis",
|
|
54
|
+
"flexGrow",
|
|
55
|
+
"flexShrink",
|
|
56
|
+
"flex"
|
|
57
|
+
];
|
|
58
|
+
const FLOW_STYLES = [
|
|
59
|
+
"flow",
|
|
60
|
+
"placeItems",
|
|
61
|
+
"placeContent",
|
|
62
|
+
"alignItems",
|
|
63
|
+
"alignContent",
|
|
64
|
+
"justifyItems",
|
|
65
|
+
"justifyContent",
|
|
66
|
+
"align",
|
|
67
|
+
"justify",
|
|
68
|
+
"gap",
|
|
69
|
+
"columnGap",
|
|
70
|
+
"rowGap",
|
|
71
|
+
"gridColumns",
|
|
72
|
+
"gridRows",
|
|
73
|
+
"gridTemplate",
|
|
74
|
+
"gridAreas"
|
|
75
|
+
];
|
|
76
|
+
const CONTAINER_STYLES = [
|
|
77
|
+
...BASE_STYLES,
|
|
78
|
+
...COLOR_STYLES,
|
|
79
|
+
...DIMENSION_STYLES,
|
|
80
|
+
...POSITION_STYLES,
|
|
81
|
+
...BLOCK_STYLES,
|
|
82
|
+
...FLOW_STYLES
|
|
83
|
+
];
|
|
84
|
+
const OUTER_STYLES = [
|
|
85
|
+
...POSITION_STYLES,
|
|
86
|
+
...DIMENSION_STYLES,
|
|
87
|
+
...BLOCK_OUTER_STYLES
|
|
88
|
+
];
|
|
89
|
+
const INNER_STYLES = [
|
|
90
|
+
...BASE_STYLES,
|
|
91
|
+
...COLOR_STYLES,
|
|
92
|
+
...BLOCK_INNER_STYLES,
|
|
93
|
+
...FLOW_STYLES
|
|
94
|
+
];
|
|
95
|
+
//#endregion
|
|
96
|
+
export { BASE_STYLES, BLOCK_INNER_STYLES, BLOCK_OUTER_STYLES, BLOCK_STYLES, COLOR_STYLES, CONTAINER_STYLES, DIMENSION_STYLES, FLOW_STYLES, INNER_STYLES, OUTER_STYLES, POSITION_STYLES, TEXT_STYLES };
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","names":[],"sources":["../../src/styles/list.ts"],"sourcesContent":["export const BASE_STYLES = [\n 'display',\n 'font',\n 'preset',\n 'hide',\n 'whiteSpace',\n 'opacity',\n 'transition',\n] as const;\n\nexport const POSITION_STYLES = [\n 'gridArea',\n 'order',\n 'gridColumn',\n 'gridRow',\n 'placeSelf',\n 'alignSelf',\n 'justifySelf',\n 'zIndex',\n 'margin',\n 'inset',\n 'position',\n] as const;\n\nexport const BLOCK_INNER_STYLES = [\n 'padding',\n 'paddingInline',\n 'paddingBlock',\n 'overflow',\n 'scrollbar',\n 'textAlign',\n] as const;\n\nexport const BLOCK_OUTER_STYLES = [\n 'border',\n 'radius',\n 'shadow',\n 'outline',\n] as const;\n\nexport const BLOCK_STYLES = [\n ...BLOCK_INNER_STYLES,\n ...BLOCK_OUTER_STYLES,\n] as const;\n\nexport const COLOR_STYLES = ['color', 'fill', 'fade', 'image'] as const;\n\nexport const TEXT_STYLES = [\n 'textTransform',\n 'fontWeight',\n 'fontStyle',\n] as const;\n\nexport const DIMENSION_STYLES = [\n 'width',\n 'height',\n 'flexBasis',\n 'flexGrow',\n 'flexShrink',\n 'flex',\n] as const;\n\nexport const FLOW_STYLES = [\n 'flow',\n 'placeItems',\n 'placeContent',\n 'alignItems',\n 'alignContent',\n 'justifyItems',\n 'justifyContent',\n 'align',\n 'justify',\n 'gap',\n 'columnGap',\n 'rowGap',\n 'gridColumns',\n 'gridRows',\n 'gridTemplate',\n 'gridAreas',\n] as const;\n\nexport const CONTAINER_STYLES = [\n ...BASE_STYLES,\n ...COLOR_STYLES,\n ...DIMENSION_STYLES,\n ...POSITION_STYLES,\n ...BLOCK_STYLES,\n ...FLOW_STYLES,\n] as const;\n\nexport const OUTER_STYLES = [\n ...POSITION_STYLES,\n ...DIMENSION_STYLES,\n ...BLOCK_OUTER_STYLES,\n] as const;\n\nexport const INNER_STYLES = [\n ...BASE_STYLES,\n ...COLOR_STYLES,\n ...BLOCK_INNER_STYLES,\n ...FLOW_STYLES,\n] as const;\n"],"mappings":";AAAA,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,kBAAkB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACD;AAED,MAAa,eAAe,CAC1B,GAAG,oBACH,GAAG,mBACJ;AAED,MAAa,eAAe;CAAC;CAAS;CAAQ;CAAQ;CAAQ;AAE9D,MAAa,cAAc;CACzB;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACJ;AAED,MAAa,eAAe;CAC1B,GAAG;CACH,GAAG;CACH,GAAG;CACJ;AAED,MAAa,eAAe;CAC1B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/styles/margin.d.ts
|
|
2
|
+
declare function marginStyle({
|
|
3
|
+
margin,
|
|
4
|
+
marginBlock,
|
|
5
|
+
marginInline,
|
|
6
|
+
marginTop,
|
|
7
|
+
marginRight,
|
|
8
|
+
marginBottom,
|
|
9
|
+
marginLeft
|
|
10
|
+
}: {
|
|
11
|
+
margin?: string | number | boolean;
|
|
12
|
+
marginBlock?: string | number | boolean;
|
|
13
|
+
marginInline?: string | number | boolean;
|
|
14
|
+
marginTop?: string | number | boolean;
|
|
15
|
+
marginRight?: string | number | boolean;
|
|
16
|
+
marginBottom?: string | number | boolean;
|
|
17
|
+
marginLeft?: string | number | boolean;
|
|
18
|
+
}): {};
|
|
19
|
+
declare namespace marginStyle {
|
|
20
|
+
var __lookupStyles: string[];
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { marginStyle };
|
|
24
|
+
//# sourceMappingURL=margin.d.ts.map
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { DIRECTIONS, filterMods, parseStyle } from "../utils/styles.js";
|
|
2
|
+
//#region src/styles/margin.ts
|
|
3
|
+
/**
|
|
4
|
+
* Parse a margin value and return the first processed value
|
|
5
|
+
*/
|
|
6
|
+
function parseMarginValue(value) {
|
|
7
|
+
if (typeof value === "number") return `${value}px`;
|
|
8
|
+
if (!value) return null;
|
|
9
|
+
if (value === true) value = "1x";
|
|
10
|
+
const { values } = parseStyle(value).groups[0] ?? { values: [] };
|
|
11
|
+
return values[0] || "var(--gap)";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Extract values and directions from a single parsed group.
|
|
15
|
+
*/
|
|
16
|
+
function extractGroupData(group) {
|
|
17
|
+
const { values = [], mods = [] } = group;
|
|
18
|
+
return {
|
|
19
|
+
values: values.length ? values : ["var(--gap)"],
|
|
20
|
+
directions: filterMods(mods, DIRECTIONS)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Apply a single group's values and directions onto a direction map.
|
|
25
|
+
*/
|
|
26
|
+
function applyGroup(dirs, values, directions) {
|
|
27
|
+
if (!values.length) return;
|
|
28
|
+
if (directions.length === 0) {
|
|
29
|
+
dirs.top = values[0];
|
|
30
|
+
dirs.right = values[1] || values[0];
|
|
31
|
+
dirs.bottom = values[2] || values[0];
|
|
32
|
+
dirs.left = values[3] || values[1] || values[0];
|
|
33
|
+
} else directions.forEach((dir, i) => {
|
|
34
|
+
dirs[dir] = values[i] ?? values[0];
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Optimize margin output shorthand.
|
|
39
|
+
*/
|
|
40
|
+
function optimizeMargin(dirs) {
|
|
41
|
+
const { top, right, bottom, left } = dirs;
|
|
42
|
+
if (top === right && right === bottom && bottom === left) return { margin: top };
|
|
43
|
+
if (top === bottom && left === right) return { margin: `${top} ${left}` };
|
|
44
|
+
return { margin: `${top} ${right} ${bottom} ${left}` };
|
|
45
|
+
}
|
|
46
|
+
function marginStyle({ margin, marginBlock, marginInline, marginTop, marginRight, marginBottom, marginLeft }) {
|
|
47
|
+
if (margin == null && marginBlock == null && marginInline == null && marginTop == null && marginRight == null && marginBottom == null && marginLeft == null) return {};
|
|
48
|
+
const dirs = {
|
|
49
|
+
top: "0",
|
|
50
|
+
right: "0",
|
|
51
|
+
bottom: "0",
|
|
52
|
+
left: "0"
|
|
53
|
+
};
|
|
54
|
+
if (margin != null) {
|
|
55
|
+
if (typeof margin === "number") dirs.top = dirs.right = dirs.bottom = dirs.left = `${margin}px`;
|
|
56
|
+
else if (margin === true) margin = "1x";
|
|
57
|
+
if (typeof margin === "string" && margin) {
|
|
58
|
+
const groups = parseStyle(margin).groups ?? [];
|
|
59
|
+
for (const group of groups) {
|
|
60
|
+
const { values, directions } = extractGroupData(group);
|
|
61
|
+
applyGroup(dirs, values, directions);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (marginBlock != null) {
|
|
66
|
+
const val = parseMarginValue(marginBlock);
|
|
67
|
+
if (val) dirs.top = dirs.bottom = val;
|
|
68
|
+
}
|
|
69
|
+
if (marginInline != null) {
|
|
70
|
+
const val = parseMarginValue(marginInline);
|
|
71
|
+
if (val) dirs.left = dirs.right = val;
|
|
72
|
+
}
|
|
73
|
+
if (marginTop != null) {
|
|
74
|
+
const val = parseMarginValue(marginTop);
|
|
75
|
+
if (val) dirs.top = val;
|
|
76
|
+
}
|
|
77
|
+
if (marginRight != null) {
|
|
78
|
+
const val = parseMarginValue(marginRight);
|
|
79
|
+
if (val) dirs.right = val;
|
|
80
|
+
}
|
|
81
|
+
if (marginBottom != null) {
|
|
82
|
+
const val = parseMarginValue(marginBottom);
|
|
83
|
+
if (val) dirs.bottom = val;
|
|
84
|
+
}
|
|
85
|
+
if (marginLeft != null) {
|
|
86
|
+
const val = parseMarginValue(marginLeft);
|
|
87
|
+
if (val) dirs.left = val;
|
|
88
|
+
}
|
|
89
|
+
return optimizeMargin(dirs);
|
|
90
|
+
}
|
|
91
|
+
marginStyle.__lookupStyles = [
|
|
92
|
+
"margin",
|
|
93
|
+
"marginTop",
|
|
94
|
+
"marginRight",
|
|
95
|
+
"marginBottom",
|
|
96
|
+
"marginLeft",
|
|
97
|
+
"marginBlock",
|
|
98
|
+
"marginInline"
|
|
99
|
+
];
|
|
100
|
+
//#endregion
|
|
101
|
+
export { marginStyle };
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=margin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin.js","names":[],"sources":["../../src/styles/margin.ts"],"sourcesContent":["import type { StyleDetails } from '../parser/types';\nimport { DIRECTIONS, filterMods, parseStyle } from '../utils/styles';\n\ntype Direction = (typeof DIRECTIONS)[number];\n\n/**\n * Parse a margin value and return the first processed value\n */\nfunction parseMarginValue(value: string | number | boolean): string | null {\n if (typeof value === 'number') return `${value}px`;\n if (!value) return null;\n if (value === true) value = '1x';\n\n const { values } = parseStyle(value).groups[0] ?? { values: [] };\n\n return values[0] || 'var(--gap)';\n}\n\n/**\n * Extract values and directions from a single parsed group.\n */\nfunction extractGroupData(group: StyleDetails): {\n values: string[];\n directions: Direction[];\n} {\n const { values = [], mods = [] } = group;\n return {\n values: values.length ? values : ['var(--gap)'],\n directions: filterMods(mods, DIRECTIONS) as Direction[],\n };\n}\n\n/**\n * Apply a single group's values and directions onto a direction map.\n */\nfunction applyGroup(\n dirs: Record<Direction, string>,\n values: string[],\n directions: Direction[],\n): void {\n if (!values.length) return;\n\n if (directions.length === 0) {\n dirs.top = values[0];\n dirs.right = values[1] || values[0];\n dirs.bottom = values[2] || values[0];\n dirs.left = values[3] || values[1] || values[0];\n } else {\n directions.forEach((dir, i) => {\n dirs[dir] = values[i] ?? values[0];\n });\n }\n}\n\n/**\n * Optimize margin output shorthand.\n */\nfunction optimizeMargin(dirs: Record<Direction, string>): {\n margin: string;\n} {\n const { top, right, bottom, left } = dirs;\n if (top === right && right === bottom && bottom === left) {\n return { margin: top };\n }\n if (top === bottom && left === right) {\n return { margin: `${top} ${left}` };\n }\n return { margin: `${top} ${right} ${bottom} ${left}` };\n}\n\nexport function marginStyle({\n margin,\n marginBlock,\n marginInline,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n}: {\n margin?: string | number | boolean;\n marginBlock?: string | number | boolean;\n marginInline?: string | number | boolean;\n marginTop?: string | number | boolean;\n marginRight?: string | number | boolean;\n marginBottom?: string | number | boolean;\n marginLeft?: string | number | boolean;\n}) {\n if (\n margin == null &&\n marginBlock == null &&\n marginInline == null &&\n marginTop == null &&\n marginRight == null &&\n marginBottom == null &&\n marginLeft == null\n ) {\n return {};\n }\n\n const dirs: Record<Direction, string> = {\n top: '0',\n right: '0',\n bottom: '0',\n left: '0',\n };\n\n // Priority 1 (lowest): margin\n if (margin != null) {\n if (typeof margin === 'number') {\n const v = `${margin}px`;\n dirs.top = dirs.right = dirs.bottom = dirs.left = v;\n } else if (margin === true) {\n margin = '1x';\n }\n\n if (typeof margin === 'string' && margin) {\n const processed = parseStyle(margin);\n const groups = processed.groups ?? [];\n\n for (const group of groups) {\n const { values, directions } = extractGroupData(group);\n applyGroup(dirs, values, directions);\n }\n }\n }\n\n // Priority 2 (medium): marginBlock/marginInline\n if (marginBlock != null) {\n const val = parseMarginValue(marginBlock);\n if (val) dirs.top = dirs.bottom = val;\n }\n if (marginInline != null) {\n const val = parseMarginValue(marginInline);\n if (val) dirs.left = dirs.right = val;\n }\n\n // Priority 3 (highest): individual directions\n if (marginTop != null) {\n const val = parseMarginValue(marginTop);\n if (val) dirs.top = val;\n }\n if (marginRight != null) {\n const val = parseMarginValue(marginRight);\n if (val) dirs.right = val;\n }\n if (marginBottom != null) {\n const val = parseMarginValue(marginBottom);\n if (val) dirs.bottom = val;\n }\n if (marginLeft != null) {\n const val = parseMarginValue(marginLeft);\n if (val) dirs.left = val;\n }\n\n return optimizeMargin(dirs);\n}\n\nmarginStyle.__lookupStyles = [\n 'margin',\n 'marginTop',\n 'marginRight',\n 'marginBottom',\n 'marginLeft',\n 'marginBlock',\n 'marginInline',\n];\n"],"mappings":";;;;;AAQA,SAAS,iBAAiB,OAAiD;AACzE,KAAI,OAAO,UAAU,SAAU,QAAO,GAAG,MAAM;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,UAAU,KAAM,SAAQ;CAE5B,MAAM,EAAE,WAAW,WAAW,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,EAAE,EAAE;AAEhE,QAAO,OAAO,MAAM;;;;;AAMtB,SAAS,iBAAiB,OAGxB;CACA,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK;AACnC,QAAO;EACL,QAAQ,OAAO,SAAS,SAAS,CAAC,aAAa;EAC/C,YAAY,WAAW,MAAM,WAAW;EACzC;;;;;AAMH,SAAS,WACP,MACA,QACA,YACM;AACN,KAAI,CAAC,OAAO,OAAQ;AAEpB,KAAI,WAAW,WAAW,GAAG;AAC3B,OAAK,MAAM,OAAO;AAClB,OAAK,QAAQ,OAAO,MAAM,OAAO;AACjC,OAAK,SAAS,OAAO,MAAM,OAAO;AAClC,OAAK,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO;OAE7C,YAAW,SAAS,KAAK,MAAM;AAC7B,OAAK,OAAO,OAAO,MAAM,OAAO;GAChC;;;;;AAON,SAAS,eAAe,MAEtB;CACA,MAAM,EAAE,KAAK,OAAO,QAAQ,SAAS;AACrC,KAAI,QAAQ,SAAS,UAAU,UAAU,WAAW,KAClD,QAAO,EAAE,QAAQ,KAAK;AAExB,KAAI,QAAQ,UAAU,SAAS,MAC7B,QAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ;AAErC,QAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ;;AAGxD,SAAgB,YAAY,EAC1B,QACA,aACA,cACA,WACA,aACA,cACA,cASC;AACD,KACE,UAAU,QACV,eAAe,QACf,gBAAgB,QAChB,aAAa,QACb,eAAe,QACf,gBAAgB,QAChB,cAAc,KAEd,QAAO,EAAE;CAGX,MAAM,OAAkC;EACtC,KAAK;EACL,OAAO;EACP,QAAQ;EACR,MAAM;EACP;AAGD,KAAI,UAAU,MAAM;AAClB,MAAI,OAAO,WAAW,SAEpB,MAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK,OADjC,GAAG,OAAO;WAEX,WAAW,KACpB,UAAS;AAGX,MAAI,OAAO,WAAW,YAAY,QAAQ;GAExC,MAAM,SADY,WAAW,OAAO,CACX,UAAU,EAAE;AAErC,QAAK,MAAM,SAAS,QAAQ;IAC1B,MAAM,EAAE,QAAQ,eAAe,iBAAiB,MAAM;AACtD,eAAW,MAAM,QAAQ,WAAW;;;;AAM1C,KAAI,eAAe,MAAM;EACvB,MAAM,MAAM,iBAAiB,YAAY;AACzC,MAAI,IAAK,MAAK,MAAM,KAAK,SAAS;;AAEpC,KAAI,gBAAgB,MAAM;EACxB,MAAM,MAAM,iBAAiB,aAAa;AAC1C,MAAI,IAAK,MAAK,OAAO,KAAK,QAAQ;;AAIpC,KAAI,aAAa,MAAM;EACrB,MAAM,MAAM,iBAAiB,UAAU;AACvC,MAAI,IAAK,MAAK,MAAM;;AAEtB,KAAI,eAAe,MAAM;EACvB,MAAM,MAAM,iBAAiB,YAAY;AACzC,MAAI,IAAK,MAAK,QAAQ;;AAExB,KAAI,gBAAgB,MAAM;EACxB,MAAM,MAAM,iBAAiB,aAAa;AAC1C,MAAI,IAAK,MAAK,SAAS;;AAEzB,KAAI,cAAc,MAAM;EACtB,MAAM,MAAM,iBAAiB,WAAW;AACxC,MAAI,IAAK,MAAK,OAAO;;AAGvB,QAAO,eAAe,KAAK;;AAG7B,YAAY,iBAAiB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
|