@tenphi/tasty 0.1.0
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 +236 -0
- package/dist/_virtual/_rolldown/runtime.mjs +7 -0
- package/dist/chunks/cacheKey.d.ts +1 -0
- package/dist/chunks/cacheKey.js +70 -0
- package/dist/chunks/cacheKey.js.map +1 -0
- package/dist/chunks/cacheKey.mjs +70 -0
- package/dist/chunks/cacheKey.mjs.map +1 -0
- package/dist/chunks/definitions.d.ts +37 -0
- package/dist/chunks/definitions.js +260 -0
- package/dist/chunks/definitions.js.map +1 -0
- package/dist/chunks/definitions.mjs +260 -0
- package/dist/chunks/definitions.mjs.map +1 -0
- package/dist/chunks/index.d.ts +3 -0
- package/dist/chunks/renderChunk.d.ts +2 -0
- package/dist/chunks/renderChunk.js +61 -0
- package/dist/chunks/renderChunk.js.map +1 -0
- package/dist/chunks/renderChunk.mjs +61 -0
- package/dist/chunks/renderChunk.mjs.map +1 -0
- package/dist/config.d.ts +279 -0
- package/dist/config.js +400 -0
- package/dist/config.js.map +1 -0
- package/dist/config.mjs +231 -0
- package/dist/config.mjs.map +1 -0
- package/dist/css-writer.d.mts +45 -0
- package/dist/css-writer.mjs +74 -0
- package/dist/css-writer.mjs.map +1 -0
- package/dist/debug.d.ts +204 -0
- package/dist/debug.js +733 -0
- package/dist/debug.js.map +1 -0
- package/dist/extractor.d.mts +24 -0
- package/dist/extractor.mjs +150 -0
- package/dist/extractor.mjs.map +1 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/useGlobalStyles.d.ts +27 -0
- package/dist/hooks/useGlobalStyles.js +56 -0
- package/dist/hooks/useGlobalStyles.js.map +1 -0
- package/dist/hooks/useKeyframes.d.ts +56 -0
- package/dist/hooks/useKeyframes.js +54 -0
- package/dist/hooks/useKeyframes.js.map +1 -0
- package/dist/hooks/useProperty.d.ts +79 -0
- package/dist/hooks/useProperty.js +91 -0
- package/dist/hooks/useProperty.js.map +1 -0
- package/dist/hooks/useRawCSS.d.ts +53 -0
- package/dist/hooks/useRawCSS.js +28 -0
- package/dist/hooks/useRawCSS.js.map +1 -0
- package/dist/hooks/useStyles.d.ts +40 -0
- package/dist/hooks/useStyles.js +169 -0
- package/dist/hooks/useStyles.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +30 -0
- package/dist/injector/index.d.ts +157 -0
- package/dist/injector/index.js +154 -0
- package/dist/injector/index.js.map +1 -0
- package/dist/injector/injector.d.ts +139 -0
- package/dist/injector/injector.js +404 -0
- package/dist/injector/injector.js.map +1 -0
- package/dist/injector/injector.mjs +404 -0
- package/dist/injector/injector.mjs.map +1 -0
- package/dist/injector/sheet-manager.d.ts +127 -0
- package/dist/injector/sheet-manager.js +714 -0
- package/dist/injector/sheet-manager.js.map +1 -0
- package/dist/injector/sheet-manager.mjs +714 -0
- package/dist/injector/sheet-manager.mjs.map +1 -0
- package/dist/injector/types.d.mts +18 -0
- package/dist/injector/types.d.ts +135 -0
- package/dist/keyframes/index.js +206 -0
- package/dist/keyframes/index.js.map +1 -0
- package/dist/keyframes/index.mjs +156 -0
- package/dist/keyframes/index.mjs.map +1 -0
- package/dist/parser/classify.js +319 -0
- package/dist/parser/classify.js.map +1 -0
- package/dist/parser/classify.mjs +319 -0
- package/dist/parser/classify.mjs.map +1 -0
- package/dist/parser/const.js +33 -0
- package/dist/parser/const.js.map +1 -0
- package/dist/parser/const.mjs +33 -0
- package/dist/parser/const.mjs.map +1 -0
- package/dist/parser/lru.js +109 -0
- package/dist/parser/lru.js.map +1 -0
- package/dist/parser/lru.mjs +109 -0
- package/dist/parser/lru.mjs.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/parser.mjs +116 -0
- package/dist/parser/parser.mjs.map +1 -0
- package/dist/parser/tokenizer.js +69 -0
- package/dist/parser/tokenizer.js.map +1 -0
- package/dist/parser/tokenizer.mjs +69 -0
- package/dist/parser/tokenizer.mjs.map +1 -0
- package/dist/parser/types.d.mts +37 -0
- package/dist/parser/types.d.ts +46 -0
- package/dist/parser/types.js +46 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/parser/types.mjs +46 -0
- package/dist/parser/types.mjs.map +1 -0
- package/dist/pipeline/conditions.js +377 -0
- package/dist/pipeline/conditions.js.map +1 -0
- package/dist/pipeline/conditions.mjs +377 -0
- package/dist/pipeline/conditions.mjs.map +1 -0
- package/dist/pipeline/exclusive.d.ts +1 -0
- package/dist/pipeline/exclusive.js +231 -0
- package/dist/pipeline/exclusive.js.map +1 -0
- package/dist/pipeline/exclusive.mjs +231 -0
- package/dist/pipeline/exclusive.mjs.map +1 -0
- package/dist/pipeline/index.d.ts +53 -0
- package/dist/pipeline/index.js +641 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/index.mjs +635 -0
- package/dist/pipeline/index.mjs.map +1 -0
- package/dist/pipeline/materialize.js +821 -0
- package/dist/pipeline/materialize.js.map +1 -0
- package/dist/pipeline/materialize.mjs +821 -0
- package/dist/pipeline/materialize.mjs.map +1 -0
- package/dist/pipeline/parseStateKey.d.ts +1 -0
- package/dist/pipeline/parseStateKey.js +418 -0
- package/dist/pipeline/parseStateKey.js.map +1 -0
- package/dist/pipeline/parseStateKey.mjs +418 -0
- package/dist/pipeline/parseStateKey.mjs.map +1 -0
- package/dist/pipeline/simplify.js +557 -0
- package/dist/pipeline/simplify.js.map +1 -0
- package/dist/pipeline/simplify.mjs +557 -0
- package/dist/pipeline/simplify.mjs.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 +371 -0
- package/dist/plugins/okhsl-plugin.js.map +1 -0
- package/dist/plugins/okhsl-plugin.mjs +345 -0
- package/dist/plugins/okhsl-plugin.mjs.map +1 -0
- package/dist/plugins/types.d.mts +49 -0
- package/dist/plugins/types.d.ts +69 -0
- package/dist/properties/index.js +158 -0
- package/dist/properties/index.js.map +1 -0
- package/dist/properties/index.mjs +141 -0
- package/dist/properties/index.mjs.map +1 -0
- package/dist/states/index.d.ts +45 -0
- package/dist/states/index.js +389 -0
- package/dist/states/index.js.map +1 -0
- package/dist/states/index.mjs +161 -0
- package/dist/states/index.mjs.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/align.mjs +14 -0
- package/dist/styles/align.mjs.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/border.mjs +114 -0
- package/dist/styles/border.mjs.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/color.mjs +23 -0
- package/dist/styles/color.mjs.map +1 -0
- package/dist/styles/createStyle.js +77 -0
- package/dist/styles/createStyle.js.map +1 -0
- package/dist/styles/createStyle.mjs +77 -0
- package/dist/styles/createStyle.mjs.map +1 -0
- package/dist/styles/dimension.js +97 -0
- package/dist/styles/dimension.js.map +1 -0
- package/dist/styles/dimension.mjs +97 -0
- package/dist/styles/dimension.mjs.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/display.mjs +67 -0
- package/dist/styles/display.mjs.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/fade.mjs +58 -0
- package/dist/styles/fade.mjs.map +1 -0
- package/dist/styles/fill.d.ts +44 -0
- package/dist/styles/fill.js +51 -0
- package/dist/styles/fill.js.map +1 -0
- package/dist/styles/fill.mjs +51 -0
- package/dist/styles/fill.mjs.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/flow.mjs +12 -0
- package/dist/styles/flow.mjs.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/gap.mjs +37 -0
- package/dist/styles/gap.mjs.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/height.mjs +20 -0
- package/dist/styles/height.mjs.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/index.mjs +9 -0
- package/dist/styles/index.mjs.map +1 -0
- package/dist/styles/inset.d.ts +50 -0
- package/dist/styles/inset.js +142 -0
- package/dist/styles/inset.js.map +1 -0
- package/dist/styles/inset.mjs +142 -0
- package/dist/styles/inset.mjs.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/justify.mjs +14 -0
- package/dist/styles/justify.mjs.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 +28 -0
- package/dist/styles/margin.js +96 -0
- package/dist/styles/margin.js.map +1 -0
- package/dist/styles/margin.mjs +96 -0
- package/dist/styles/margin.mjs.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/outline.mjs +65 -0
- package/dist/styles/outline.mjs.map +1 -0
- package/dist/styles/padding.d.ts +28 -0
- package/dist/styles/padding.js +96 -0
- package/dist/styles/padding.js.map +1 -0
- package/dist/styles/padding.mjs +96 -0
- package/dist/styles/padding.mjs.map +1 -0
- package/dist/styles/predefined.d.ts +74 -0
- package/dist/styles/predefined.js +241 -0
- package/dist/styles/predefined.js.map +1 -0
- package/dist/styles/predefined.mjs +232 -0
- package/dist/styles/predefined.mjs.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/preset.mjs +126 -0
- package/dist/styles/preset.mjs.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/radius.mjs +51 -0
- package/dist/styles/radius.mjs.map +1 -0
- package/dist/styles/scrollbar.d.ts +21 -0
- package/dist/styles/scrollbar.js +105 -0
- package/dist/styles/scrollbar.js.map +1 -0
- package/dist/styles/scrollbar.mjs +105 -0
- package/dist/styles/scrollbar.mjs.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/shadow.mjs +24 -0
- package/dist/styles/shadow.mjs.map +1 -0
- package/dist/styles/styledScrollbar.d.ts +47 -0
- package/dist/styles/styledScrollbar.js +38 -0
- package/dist/styles/styledScrollbar.js.map +1 -0
- package/dist/styles/styledScrollbar.mjs +38 -0
- package/dist/styles/styledScrollbar.mjs.map +1 -0
- package/dist/styles/transition.d.ts +14 -0
- package/dist/styles/transition.js +138 -0
- package/dist/styles/transition.js.map +1 -0
- package/dist/styles/transition.mjs +138 -0
- package/dist/styles/transition.mjs.map +1 -0
- package/dist/styles/types.d.mts +492 -0
- package/dist/styles/types.d.ts +496 -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/styles/width.mjs +20 -0
- package/dist/styles/width.mjs.map +1 -0
- package/dist/tasty.d.ts +983 -0
- package/dist/tasty.js +191 -0
- package/dist/tasty.js.map +1 -0
- package/dist/tokens/typography.d.ts +19 -0
- package/dist/tokens/typography.js +237 -0
- package/dist/tokens/typography.js.map +1 -0
- package/dist/types.d.ts +182 -0
- package/dist/utils/cache-wrapper.js +26 -0
- package/dist/utils/cache-wrapper.js.map +1 -0
- package/dist/utils/cache-wrapper.mjs +26 -0
- package/dist/utils/cache-wrapper.mjs.map +1 -0
- package/dist/utils/case-converter.js +8 -0
- package/dist/utils/case-converter.js.map +1 -0
- package/dist/utils/case-converter.mjs +8 -0
- package/dist/utils/case-converter.mjs.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/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/hsl-to-rgb.mjs +38 -0
- package/dist/utils/hsl-to-rgb.mjs.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-dev-env.mjs +19 -0
- package/dist/utils/is-dev-env.mjs.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/merge-styles.mjs +146 -0
- package/dist/utils/merge-styles.mjs.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/okhsl-to-rgb.mjs +296 -0
- package/dist/utils/okhsl-to-rgb.mjs.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/process-tokens.mjs +28 -0
- package/dist/utils/process-tokens.mjs.map +1 -0
- package/dist/utils/resolve-recipes.d.ts +17 -0
- package/dist/utils/resolve-recipes.js +143 -0
- package/dist/utils/resolve-recipes.js.map +1 -0
- package/dist/utils/resolve-recipes.mjs +143 -0
- package/dist/utils/resolve-recipes.mjs.map +1 -0
- package/dist/utils/string.js +8 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/string.mjs +8 -0
- package/dist/utils/string.mjs.map +1 -0
- package/dist/utils/styles.d.mts +18 -0
- package/dist/utils/styles.d.ts +183 -0
- package/dist/utils/styles.js +585 -0
- package/dist/utils/styles.js.map +1 -0
- package/dist/utils/styles.mjs +346 -0
- package/dist/utils/styles.mjs.map +1 -0
- package/dist/utils/typography.d.ts +36 -0
- package/dist/utils/typography.js +53 -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.mts +108 -0
- package/dist/zero/babel.mjs +282 -0
- package/dist/zero/babel.mjs.map +1 -0
- package/dist/zero/index.d.mts +3 -0
- package/dist/zero/index.mjs +4 -0
- package/dist/zero/next.d.mts +60 -0
- package/dist/zero/next.mjs +78 -0
- package/dist/zero/next.mjs.map +1 -0
- package/package.json +127 -0
|
@@ -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({ radius }) {\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 } =\n processed.groups[0] ?? makeEmptyDetails();\n let { values } =\n 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,EAAE,UAAU;AACtC,KAAI,OAAO,WAAW,SACpB,UAAS,GAAG,OAAO;AAGrB,KAAI,CAAC,OAAQ;AAEb,KAAI,WAAW,KAAM,UAAS;CAE9B,MAAM,YAAY,WAAW,OAAO;CACpC,MAAM,EAAE,SACN,UAAU,OAAO,MAAM,kBAAkB;CAC3C,IAAI,EAAE,WACJ,UAAU,OAAO,MAAM,kBAAkB;AAE3C,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,51 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.mjs";
|
|
2
|
+
import { DIRECTIONS, parseStyle } from "../utils/styles.mjs";
|
|
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.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radius.mjs","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({ radius }) {\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 } =\n processed.groups[0] ?? makeEmptyDetails();\n let { values } =\n 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,EAAE,UAAU;AACtC,KAAI,OAAO,WAAW,SACpB,UAAS,GAAG,OAAO;AAGrB,KAAI,CAAC,OAAQ;AAEb,KAAI,WAAW,KAAM,UAAS;CAE9B,MAAM,YAAY,WAAW,OAAO;CACpC,MAAM,EAAE,SACN,UAAU,OAAO,MAAM,kBAAkB;CAC3C,IAAI,EAAE,WACJ,UAAU,OAAO,MAAM,kBAAkB;AAE3C,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,21 @@
|
|
|
1
|
+
//#region src/styles/scrollbar.d.ts
|
|
2
|
+
interface ScrollbarStyleProps {
|
|
3
|
+
scrollbar?: string | boolean | number;
|
|
4
|
+
overflow?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Creates cross-browser compatible scrollbar styles
|
|
8
|
+
*
|
|
9
|
+
* Supports both Firefox (scrollbar-width, scrollbar-color) and
|
|
10
|
+
* WebKit/Chromium browsers (::-webkit-scrollbar)
|
|
11
|
+
*/
|
|
12
|
+
declare function scrollbarStyle({
|
|
13
|
+
scrollbar,
|
|
14
|
+
overflow
|
|
15
|
+
}: ScrollbarStyleProps): {} | undefined;
|
|
16
|
+
declare namespace scrollbarStyle {
|
|
17
|
+
var __lookupStyles: string[];
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { scrollbarStyle };
|
|
21
|
+
//# sourceMappingURL=scrollbar.d.ts.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.js";
|
|
2
|
+
import { parseStyle } from "../utils/styles.js";
|
|
3
|
+
|
|
4
|
+
//#region src/styles/scrollbar.ts
|
|
5
|
+
/**
|
|
6
|
+
* Creates cross-browser compatible scrollbar styles
|
|
7
|
+
*
|
|
8
|
+
* Supports both Firefox (scrollbar-width, scrollbar-color) and
|
|
9
|
+
* WebKit/Chromium browsers (::-webkit-scrollbar)
|
|
10
|
+
*/
|
|
11
|
+
function scrollbarStyle({ scrollbar, overflow }) {
|
|
12
|
+
if (!scrollbar && scrollbar !== 0) return;
|
|
13
|
+
const value = scrollbar === true || scrollbar === "" ? "thin" : scrollbar;
|
|
14
|
+
const { mods, colors, values } = parseStyle(String(value)).groups[0] ?? makeEmptyDetails();
|
|
15
|
+
const style = {};
|
|
16
|
+
const defaultThumbColor = "var(--scrollbar-thumb-color)";
|
|
17
|
+
const defaultTrackColor = "var(--scrollbar-track-color, transparent)";
|
|
18
|
+
style["scrollbar-color"] = `${defaultThumbColor} transparent`;
|
|
19
|
+
const sizeValue = values[0] || "8px";
|
|
20
|
+
if (mods.includes("thin")) style["scrollbar-width"] = "thin";
|
|
21
|
+
else if (mods.includes("none")) {
|
|
22
|
+
style["scrollbar-width"] = "none";
|
|
23
|
+
delete style["scrollbar-color"];
|
|
24
|
+
style["&::-webkit-scrollbar"] = {
|
|
25
|
+
width: "0px",
|
|
26
|
+
height: "0px",
|
|
27
|
+
display: "none"
|
|
28
|
+
};
|
|
29
|
+
return style;
|
|
30
|
+
} else if (mods.includes("auto")) style["scrollbar-width"] = "auto";
|
|
31
|
+
if (mods.includes("stable") || mods.includes("both-edges")) style["scrollbar-gutter"] = mods.includes("both-edges") ? "stable both-edges" : "stable";
|
|
32
|
+
if (sizeValue) style["&::-webkit-scrollbar"] = {
|
|
33
|
+
...style["&::-webkit-scrollbar"] || {},
|
|
34
|
+
width: sizeValue,
|
|
35
|
+
height: sizeValue
|
|
36
|
+
};
|
|
37
|
+
const thumbColor = colors && colors[0] ? colors[0] : defaultThumbColor;
|
|
38
|
+
const trackColor = colors && colors[1] ? colors[1] : defaultTrackColor;
|
|
39
|
+
const cornerColor = colors && colors[2] ? colors[2] : trackColor;
|
|
40
|
+
if (colors && colors.length) {
|
|
41
|
+
style["scrollbar-color"] = `${thumbColor} ${trackColor}`;
|
|
42
|
+
if (!style["&::-webkit-scrollbar"]) style["&::-webkit-scrollbar"] = {};
|
|
43
|
+
style["&::-webkit-scrollbar"]["background"] = trackColor;
|
|
44
|
+
style["&::-webkit-scrollbar-track"] = {
|
|
45
|
+
...style["&::-webkit-scrollbar-track"] || {},
|
|
46
|
+
background: trackColor
|
|
47
|
+
};
|
|
48
|
+
style["&::-webkit-scrollbar-thumb"] = {
|
|
49
|
+
...style["&::-webkit-scrollbar-thumb"] || {},
|
|
50
|
+
background: thumbColor
|
|
51
|
+
};
|
|
52
|
+
style["&::-webkit-scrollbar-corner"] = {
|
|
53
|
+
...style["&::-webkit-scrollbar-corner"] || {},
|
|
54
|
+
background: cornerColor
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (mods.includes("always")) {
|
|
58
|
+
style["overflow"] = overflow || "scroll";
|
|
59
|
+
if (!style["scrollbar-gutter"]) style["scrollbar-gutter"] = "stable";
|
|
60
|
+
if (!style["&::-webkit-scrollbar"]) style["&::-webkit-scrollbar"] = {};
|
|
61
|
+
style["&::-webkit-scrollbar"]["display"] = "block";
|
|
62
|
+
}
|
|
63
|
+
if (mods.includes("styled")) {
|
|
64
|
+
const baseTransition = [
|
|
65
|
+
"background var(--transition)",
|
|
66
|
+
"border-radius var(--transition)",
|
|
67
|
+
"box-shadow var(--transition)",
|
|
68
|
+
"width var(--transition)",
|
|
69
|
+
"height var(--transition)",
|
|
70
|
+
"border var(--transition)"
|
|
71
|
+
].join(", ");
|
|
72
|
+
style["scrollbar-width"] = style["scrollbar-width"] || "thin";
|
|
73
|
+
style["scrollbar-color"] = style["scrollbar-color"] || `${defaultThumbColor} ${defaultTrackColor}`;
|
|
74
|
+
style["&::-webkit-scrollbar"] = {
|
|
75
|
+
width: sizeValue,
|
|
76
|
+
height: sizeValue,
|
|
77
|
+
transition: baseTransition,
|
|
78
|
+
background: defaultTrackColor,
|
|
79
|
+
...style["&::-webkit-scrollbar"] || {}
|
|
80
|
+
};
|
|
81
|
+
style["&::-webkit-scrollbar-thumb"] = {
|
|
82
|
+
"border-radius": "8px",
|
|
83
|
+
"min-height": "24px",
|
|
84
|
+
transition: baseTransition,
|
|
85
|
+
background: defaultThumbColor,
|
|
86
|
+
...style["&::-webkit-scrollbar-thumb"] || {}
|
|
87
|
+
};
|
|
88
|
+
style["&::-webkit-scrollbar-track"] = {
|
|
89
|
+
background: defaultTrackColor,
|
|
90
|
+
transition: baseTransition,
|
|
91
|
+
...style["&::-webkit-scrollbar-track"] || {}
|
|
92
|
+
};
|
|
93
|
+
style["&::-webkit-scrollbar-corner"] = {
|
|
94
|
+
background: defaultTrackColor,
|
|
95
|
+
transition: baseTransition,
|
|
96
|
+
...style["&::-webkit-scrollbar-corner"] || {}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return style;
|
|
100
|
+
}
|
|
101
|
+
scrollbarStyle.__lookupStyles = ["scrollbar", "overflow"];
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { scrollbarStyle };
|
|
105
|
+
//# 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';\n\ninterface ScrollbarStyleProps {\n scrollbar?: string | boolean | number;\n overflow?: string;\n}\n\n/**\n * Creates cross-browser compatible scrollbar styles\n *\n * Supports both Firefox (scrollbar-width, scrollbar-color) and\n * WebKit/Chromium browsers (::-webkit-scrollbar)\n */\nexport function scrollbarStyle({ scrollbar, overflow }: ScrollbarStyleProps) {\n // Check if scrollbar is defined\n if (!scrollbar && scrollbar !== 0) return;\n\n // Support true as alias for thin\n const value = scrollbar === true || scrollbar === '' ? 'thin' : scrollbar;\n const processed = parseStyle(String(value));\n const { mods, colors, values } =\n processed.groups[0] ?? makeEmptyDetails();\n const style = {};\n\n // Default colors for scrollbar\n const defaultThumbColor = 'var(--scrollbar-thumb-color)';\n const defaultTrackColor = 'var(--scrollbar-track-color, transparent)';\n\n // Setup default Firefox scrollbar style\n style['scrollbar-color'] = `${defaultThumbColor} transparent`;\n\n // Default scrollbar size\n const defaultSize = '8px';\n const sizeValue = values[0] || defaultSize;\n\n // Process modifiers\n if (mods.includes('thin')) {\n style['scrollbar-width'] = 'thin';\n } else if (mods.includes('none')) {\n style['scrollbar-width'] = 'none';\n // Remove scrollbar-color as it's not needed when scrollbar is hidden\n delete style['scrollbar-color'];\n // Also hide WebKit scrollbars\n style['&::-webkit-scrollbar'] = {\n width: '0px',\n height: '0px',\n display: 'none',\n };\n\n return style;\n } else if (mods.includes('auto')) {\n style['scrollbar-width'] = 'auto';\n }\n\n // Handle scrollbar gutter behavior\n if (mods.includes('stable') || mods.includes('both-edges')) {\n // scrollbar-gutter is supported in newer browsers only\n style['scrollbar-gutter'] = mods.includes('both-edges')\n ? 'stable both-edges'\n : 'stable';\n }\n\n // Custom size setup for WebKit\n if (sizeValue) {\n style['&::-webkit-scrollbar'] = {\n ...(style['&::-webkit-scrollbar'] || {}),\n width: sizeValue,\n height: sizeValue,\n };\n }\n\n // Extract colors (support up to 3: thumb, track, corner)\n // These will be used in various places throughout the function\n const thumbColor = colors && colors[0] ? colors[0] : defaultThumbColor;\n const trackColor = colors && colors[1] ? colors[1] : defaultTrackColor;\n const cornerColor = colors && colors[2] ? colors[2] : trackColor;\n\n // Apply colors if they are specified\n if (colors && colors.length) {\n // Firefox\n style['scrollbar-color'] = `${thumbColor} ${trackColor}`;\n\n // WebKit - always set these for consistency\n if (!style['&::-webkit-scrollbar']) {\n style['&::-webkit-scrollbar'] = {};\n }\n style['&::-webkit-scrollbar']['background'] = trackColor;\n\n style['&::-webkit-scrollbar-track'] = {\n ...(style['&::-webkit-scrollbar-track'] || {}),\n background: trackColor,\n };\n\n style['&::-webkit-scrollbar-thumb'] = {\n ...(style['&::-webkit-scrollbar-thumb'] || {}),\n background: thumbColor,\n };\n\n style['&::-webkit-scrollbar-corner'] = {\n ...(style['&::-webkit-scrollbar-corner'] || {}),\n background: cornerColor,\n };\n }\n\n // Handle 'always' mode: force scrollbars to show\n if (mods.includes('always')) {\n style['overflow'] = overflow || 'scroll';\n\n // Use auto for WebKit browsers since they don't support 'always'\n // This is closer to the expected behavior\n if (!style['scrollbar-gutter']) {\n style['scrollbar-gutter'] = 'stable';\n }\n\n // Ensure scrollbars appear in WebKit even with little content\n if (!style['&::-webkit-scrollbar']) {\n style['&::-webkit-scrollbar'] = {};\n }\n style['&::-webkit-scrollbar']['display'] = 'block';\n }\n\n // Enhanced 'styled' mode with better transitions and appearance\n if (mods.includes('styled')) {\n const baseTransition = [\n 'background var(--transition)',\n 'border-radius var(--transition)',\n 'box-shadow var(--transition)',\n 'width var(--transition)',\n 'height var(--transition)',\n 'border var(--transition)',\n ].join(', ');\n\n // Firefox\n style['scrollbar-width'] = style['scrollbar-width'] || 'thin';\n style['scrollbar-color'] =\n style['scrollbar-color'] || `${defaultThumbColor} ${defaultTrackColor}`;\n\n // WebKit\n style['&::-webkit-scrollbar'] = {\n width: sizeValue,\n height: sizeValue,\n transition: baseTransition,\n background: defaultTrackColor,\n ...(style['&::-webkit-scrollbar'] || {}),\n };\n\n style['&::-webkit-scrollbar-thumb'] = {\n 'border-radius': '8px',\n 'min-height': '24px',\n transition: baseTransition,\n background: defaultThumbColor,\n ...(style['&::-webkit-scrollbar-thumb'] || {}),\n };\n\n style['&::-webkit-scrollbar-track'] = {\n background: defaultTrackColor,\n transition: baseTransition,\n ...(style['&::-webkit-scrollbar-track'] || {}),\n };\n\n style['&::-webkit-scrollbar-corner'] = {\n background: defaultTrackColor,\n transition: baseTransition,\n ...(style['&::-webkit-scrollbar-corner'] || {}),\n };\n }\n\n return style;\n}\n\nscrollbarStyle.__lookupStyles = ['scrollbar', 'overflow'];\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,eAAe,EAAE,WAAW,YAAiC;AAE3E,KAAI,CAAC,aAAa,cAAc,EAAG;CAGnC,MAAM,QAAQ,cAAc,QAAQ,cAAc,KAAK,SAAS;CAEhE,MAAM,EAAE,MAAM,QAAQ,WADJ,WAAW,OAAO,MAAM,CAAC,CAE/B,OAAO,MAAM,kBAAkB;CAC3C,MAAM,QAAQ,EAAE;CAGhB,MAAM,oBAAoB;CAC1B,MAAM,oBAAoB;AAG1B,OAAM,qBAAqB,GAAG,kBAAkB;CAIhD,MAAM,YAAY,OAAO,MADL;AAIpB,KAAI,KAAK,SAAS,OAAO,CACvB,OAAM,qBAAqB;UAClB,KAAK,SAAS,OAAO,EAAE;AAChC,QAAM,qBAAqB;AAE3B,SAAO,MAAM;AAEb,QAAM,0BAA0B;GAC9B,OAAO;GACP,QAAQ;GACR,SAAS;GACV;AAED,SAAO;YACE,KAAK,SAAS,OAAO,CAC9B,OAAM,qBAAqB;AAI7B,KAAI,KAAK,SAAS,SAAS,IAAI,KAAK,SAAS,aAAa,CAExD,OAAM,sBAAsB,KAAK,SAAS,aAAa,GACnD,sBACA;AAIN,KAAI,UACF,OAAM,0BAA0B;EAC9B,GAAI,MAAM,2BAA2B,EAAE;EACvC,OAAO;EACP,QAAQ;EACT;CAKH,MAAM,aAAa,UAAU,OAAO,KAAK,OAAO,KAAK;CACrD,MAAM,aAAa,UAAU,OAAO,KAAK,OAAO,KAAK;CACrD,MAAM,cAAc,UAAU,OAAO,KAAK,OAAO,KAAK;AAGtD,KAAI,UAAU,OAAO,QAAQ;AAE3B,QAAM,qBAAqB,GAAG,WAAW,GAAG;AAG5C,MAAI,CAAC,MAAM,wBACT,OAAM,0BAA0B,EAAE;AAEpC,QAAM,wBAAwB,gBAAgB;AAE9C,QAAM,gCAAgC;GACpC,GAAI,MAAM,iCAAiC,EAAE;GAC7C,YAAY;GACb;AAED,QAAM,gCAAgC;GACpC,GAAI,MAAM,iCAAiC,EAAE;GAC7C,YAAY;GACb;AAED,QAAM,iCAAiC;GACrC,GAAI,MAAM,kCAAkC,EAAE;GAC9C,YAAY;GACb;;AAIH,KAAI,KAAK,SAAS,SAAS,EAAE;AAC3B,QAAM,cAAc,YAAY;AAIhC,MAAI,CAAC,MAAM,oBACT,OAAM,sBAAsB;AAI9B,MAAI,CAAC,MAAM,wBACT,OAAM,0BAA0B,EAAE;AAEpC,QAAM,wBAAwB,aAAa;;AAI7C,KAAI,KAAK,SAAS,SAAS,EAAE;EAC3B,MAAM,iBAAiB;GACrB;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,KAAK,KAAK;AAGZ,QAAM,qBAAqB,MAAM,sBAAsB;AACvD,QAAM,qBACJ,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;AAGtD,QAAM,0BAA0B;GAC9B,OAAO;GACP,QAAQ;GACR,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,2BAA2B,EAAE;GACxC;AAED,QAAM,gCAAgC;GACpC,iBAAiB;GACjB,cAAc;GACd,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,iCAAiC,EAAE;GAC9C;AAED,QAAM,gCAAgC;GACpC,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,iCAAiC,EAAE;GAC9C;AAED,QAAM,iCAAiC;GACrC,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,kCAAkC,EAAE;GAC/C;;AAGH,QAAO;;AAGT,eAAe,iBAAiB,CAAC,aAAa,WAAW"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.mjs";
|
|
2
|
+
import { parseStyle } from "../utils/styles.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/styles/scrollbar.ts
|
|
5
|
+
/**
|
|
6
|
+
* Creates cross-browser compatible scrollbar styles
|
|
7
|
+
*
|
|
8
|
+
* Supports both Firefox (scrollbar-width, scrollbar-color) and
|
|
9
|
+
* WebKit/Chromium browsers (::-webkit-scrollbar)
|
|
10
|
+
*/
|
|
11
|
+
function scrollbarStyle({ scrollbar, overflow }) {
|
|
12
|
+
if (!scrollbar && scrollbar !== 0) return;
|
|
13
|
+
const value = scrollbar === true || scrollbar === "" ? "thin" : scrollbar;
|
|
14
|
+
const { mods, colors, values } = parseStyle(String(value)).groups[0] ?? makeEmptyDetails();
|
|
15
|
+
const style = {};
|
|
16
|
+
const defaultThumbColor = "var(--scrollbar-thumb-color)";
|
|
17
|
+
const defaultTrackColor = "var(--scrollbar-track-color, transparent)";
|
|
18
|
+
style["scrollbar-color"] = `${defaultThumbColor} transparent`;
|
|
19
|
+
const sizeValue = values[0] || "8px";
|
|
20
|
+
if (mods.includes("thin")) style["scrollbar-width"] = "thin";
|
|
21
|
+
else if (mods.includes("none")) {
|
|
22
|
+
style["scrollbar-width"] = "none";
|
|
23
|
+
delete style["scrollbar-color"];
|
|
24
|
+
style["&::-webkit-scrollbar"] = {
|
|
25
|
+
width: "0px",
|
|
26
|
+
height: "0px",
|
|
27
|
+
display: "none"
|
|
28
|
+
};
|
|
29
|
+
return style;
|
|
30
|
+
} else if (mods.includes("auto")) style["scrollbar-width"] = "auto";
|
|
31
|
+
if (mods.includes("stable") || mods.includes("both-edges")) style["scrollbar-gutter"] = mods.includes("both-edges") ? "stable both-edges" : "stable";
|
|
32
|
+
if (sizeValue) style["&::-webkit-scrollbar"] = {
|
|
33
|
+
...style["&::-webkit-scrollbar"] || {},
|
|
34
|
+
width: sizeValue,
|
|
35
|
+
height: sizeValue
|
|
36
|
+
};
|
|
37
|
+
const thumbColor = colors && colors[0] ? colors[0] : defaultThumbColor;
|
|
38
|
+
const trackColor = colors && colors[1] ? colors[1] : defaultTrackColor;
|
|
39
|
+
const cornerColor = colors && colors[2] ? colors[2] : trackColor;
|
|
40
|
+
if (colors && colors.length) {
|
|
41
|
+
style["scrollbar-color"] = `${thumbColor} ${trackColor}`;
|
|
42
|
+
if (!style["&::-webkit-scrollbar"]) style["&::-webkit-scrollbar"] = {};
|
|
43
|
+
style["&::-webkit-scrollbar"]["background"] = trackColor;
|
|
44
|
+
style["&::-webkit-scrollbar-track"] = {
|
|
45
|
+
...style["&::-webkit-scrollbar-track"] || {},
|
|
46
|
+
background: trackColor
|
|
47
|
+
};
|
|
48
|
+
style["&::-webkit-scrollbar-thumb"] = {
|
|
49
|
+
...style["&::-webkit-scrollbar-thumb"] || {},
|
|
50
|
+
background: thumbColor
|
|
51
|
+
};
|
|
52
|
+
style["&::-webkit-scrollbar-corner"] = {
|
|
53
|
+
...style["&::-webkit-scrollbar-corner"] || {},
|
|
54
|
+
background: cornerColor
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (mods.includes("always")) {
|
|
58
|
+
style["overflow"] = overflow || "scroll";
|
|
59
|
+
if (!style["scrollbar-gutter"]) style["scrollbar-gutter"] = "stable";
|
|
60
|
+
if (!style["&::-webkit-scrollbar"]) style["&::-webkit-scrollbar"] = {};
|
|
61
|
+
style["&::-webkit-scrollbar"]["display"] = "block";
|
|
62
|
+
}
|
|
63
|
+
if (mods.includes("styled")) {
|
|
64
|
+
const baseTransition = [
|
|
65
|
+
"background var(--transition)",
|
|
66
|
+
"border-radius var(--transition)",
|
|
67
|
+
"box-shadow var(--transition)",
|
|
68
|
+
"width var(--transition)",
|
|
69
|
+
"height var(--transition)",
|
|
70
|
+
"border var(--transition)"
|
|
71
|
+
].join(", ");
|
|
72
|
+
style["scrollbar-width"] = style["scrollbar-width"] || "thin";
|
|
73
|
+
style["scrollbar-color"] = style["scrollbar-color"] || `${defaultThumbColor} ${defaultTrackColor}`;
|
|
74
|
+
style["&::-webkit-scrollbar"] = {
|
|
75
|
+
width: sizeValue,
|
|
76
|
+
height: sizeValue,
|
|
77
|
+
transition: baseTransition,
|
|
78
|
+
background: defaultTrackColor,
|
|
79
|
+
...style["&::-webkit-scrollbar"] || {}
|
|
80
|
+
};
|
|
81
|
+
style["&::-webkit-scrollbar-thumb"] = {
|
|
82
|
+
"border-radius": "8px",
|
|
83
|
+
"min-height": "24px",
|
|
84
|
+
transition: baseTransition,
|
|
85
|
+
background: defaultThumbColor,
|
|
86
|
+
...style["&::-webkit-scrollbar-thumb"] || {}
|
|
87
|
+
};
|
|
88
|
+
style["&::-webkit-scrollbar-track"] = {
|
|
89
|
+
background: defaultTrackColor,
|
|
90
|
+
transition: baseTransition,
|
|
91
|
+
...style["&::-webkit-scrollbar-track"] || {}
|
|
92
|
+
};
|
|
93
|
+
style["&::-webkit-scrollbar-corner"] = {
|
|
94
|
+
background: defaultTrackColor,
|
|
95
|
+
transition: baseTransition,
|
|
96
|
+
...style["&::-webkit-scrollbar-corner"] || {}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return style;
|
|
100
|
+
}
|
|
101
|
+
scrollbarStyle.__lookupStyles = ["scrollbar", "overflow"];
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { scrollbarStyle };
|
|
105
|
+
//# sourceMappingURL=scrollbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbar.mjs","names":[],"sources":["../../src/styles/scrollbar.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { parseStyle } from '../utils/styles';\n\ninterface ScrollbarStyleProps {\n scrollbar?: string | boolean | number;\n overflow?: string;\n}\n\n/**\n * Creates cross-browser compatible scrollbar styles\n *\n * Supports both Firefox (scrollbar-width, scrollbar-color) and\n * WebKit/Chromium browsers (::-webkit-scrollbar)\n */\nexport function scrollbarStyle({ scrollbar, overflow }: ScrollbarStyleProps) {\n // Check if scrollbar is defined\n if (!scrollbar && scrollbar !== 0) return;\n\n // Support true as alias for thin\n const value = scrollbar === true || scrollbar === '' ? 'thin' : scrollbar;\n const processed = parseStyle(String(value));\n const { mods, colors, values } =\n processed.groups[0] ?? makeEmptyDetails();\n const style = {};\n\n // Default colors for scrollbar\n const defaultThumbColor = 'var(--scrollbar-thumb-color)';\n const defaultTrackColor = 'var(--scrollbar-track-color, transparent)';\n\n // Setup default Firefox scrollbar style\n style['scrollbar-color'] = `${defaultThumbColor} transparent`;\n\n // Default scrollbar size\n const defaultSize = '8px';\n const sizeValue = values[0] || defaultSize;\n\n // Process modifiers\n if (mods.includes('thin')) {\n style['scrollbar-width'] = 'thin';\n } else if (mods.includes('none')) {\n style['scrollbar-width'] = 'none';\n // Remove scrollbar-color as it's not needed when scrollbar is hidden\n delete style['scrollbar-color'];\n // Also hide WebKit scrollbars\n style['&::-webkit-scrollbar'] = {\n width: '0px',\n height: '0px',\n display: 'none',\n };\n\n return style;\n } else if (mods.includes('auto')) {\n style['scrollbar-width'] = 'auto';\n }\n\n // Handle scrollbar gutter behavior\n if (mods.includes('stable') || mods.includes('both-edges')) {\n // scrollbar-gutter is supported in newer browsers only\n style['scrollbar-gutter'] = mods.includes('both-edges')\n ? 'stable both-edges'\n : 'stable';\n }\n\n // Custom size setup for WebKit\n if (sizeValue) {\n style['&::-webkit-scrollbar'] = {\n ...(style['&::-webkit-scrollbar'] || {}),\n width: sizeValue,\n height: sizeValue,\n };\n }\n\n // Extract colors (support up to 3: thumb, track, corner)\n // These will be used in various places throughout the function\n const thumbColor = colors && colors[0] ? colors[0] : defaultThumbColor;\n const trackColor = colors && colors[1] ? colors[1] : defaultTrackColor;\n const cornerColor = colors && colors[2] ? colors[2] : trackColor;\n\n // Apply colors if they are specified\n if (colors && colors.length) {\n // Firefox\n style['scrollbar-color'] = `${thumbColor} ${trackColor}`;\n\n // WebKit - always set these for consistency\n if (!style['&::-webkit-scrollbar']) {\n style['&::-webkit-scrollbar'] = {};\n }\n style['&::-webkit-scrollbar']['background'] = trackColor;\n\n style['&::-webkit-scrollbar-track'] = {\n ...(style['&::-webkit-scrollbar-track'] || {}),\n background: trackColor,\n };\n\n style['&::-webkit-scrollbar-thumb'] = {\n ...(style['&::-webkit-scrollbar-thumb'] || {}),\n background: thumbColor,\n };\n\n style['&::-webkit-scrollbar-corner'] = {\n ...(style['&::-webkit-scrollbar-corner'] || {}),\n background: cornerColor,\n };\n }\n\n // Handle 'always' mode: force scrollbars to show\n if (mods.includes('always')) {\n style['overflow'] = overflow || 'scroll';\n\n // Use auto for WebKit browsers since they don't support 'always'\n // This is closer to the expected behavior\n if (!style['scrollbar-gutter']) {\n style['scrollbar-gutter'] = 'stable';\n }\n\n // Ensure scrollbars appear in WebKit even with little content\n if (!style['&::-webkit-scrollbar']) {\n style['&::-webkit-scrollbar'] = {};\n }\n style['&::-webkit-scrollbar']['display'] = 'block';\n }\n\n // Enhanced 'styled' mode with better transitions and appearance\n if (mods.includes('styled')) {\n const baseTransition = [\n 'background var(--transition)',\n 'border-radius var(--transition)',\n 'box-shadow var(--transition)',\n 'width var(--transition)',\n 'height var(--transition)',\n 'border var(--transition)',\n ].join(', ');\n\n // Firefox\n style['scrollbar-width'] = style['scrollbar-width'] || 'thin';\n style['scrollbar-color'] =\n style['scrollbar-color'] || `${defaultThumbColor} ${defaultTrackColor}`;\n\n // WebKit\n style['&::-webkit-scrollbar'] = {\n width: sizeValue,\n height: sizeValue,\n transition: baseTransition,\n background: defaultTrackColor,\n ...(style['&::-webkit-scrollbar'] || {}),\n };\n\n style['&::-webkit-scrollbar-thumb'] = {\n 'border-radius': '8px',\n 'min-height': '24px',\n transition: baseTransition,\n background: defaultThumbColor,\n ...(style['&::-webkit-scrollbar-thumb'] || {}),\n };\n\n style['&::-webkit-scrollbar-track'] = {\n background: defaultTrackColor,\n transition: baseTransition,\n ...(style['&::-webkit-scrollbar-track'] || {}),\n };\n\n style['&::-webkit-scrollbar-corner'] = {\n background: defaultTrackColor,\n transition: baseTransition,\n ...(style['&::-webkit-scrollbar-corner'] || {}),\n };\n }\n\n return style;\n}\n\nscrollbarStyle.__lookupStyles = ['scrollbar', 'overflow'];\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,eAAe,EAAE,WAAW,YAAiC;AAE3E,KAAI,CAAC,aAAa,cAAc,EAAG;CAGnC,MAAM,QAAQ,cAAc,QAAQ,cAAc,KAAK,SAAS;CAEhE,MAAM,EAAE,MAAM,QAAQ,WADJ,WAAW,OAAO,MAAM,CAAC,CAE/B,OAAO,MAAM,kBAAkB;CAC3C,MAAM,QAAQ,EAAE;CAGhB,MAAM,oBAAoB;CAC1B,MAAM,oBAAoB;AAG1B,OAAM,qBAAqB,GAAG,kBAAkB;CAIhD,MAAM,YAAY,OAAO,MADL;AAIpB,KAAI,KAAK,SAAS,OAAO,CACvB,OAAM,qBAAqB;UAClB,KAAK,SAAS,OAAO,EAAE;AAChC,QAAM,qBAAqB;AAE3B,SAAO,MAAM;AAEb,QAAM,0BAA0B;GAC9B,OAAO;GACP,QAAQ;GACR,SAAS;GACV;AAED,SAAO;YACE,KAAK,SAAS,OAAO,CAC9B,OAAM,qBAAqB;AAI7B,KAAI,KAAK,SAAS,SAAS,IAAI,KAAK,SAAS,aAAa,CAExD,OAAM,sBAAsB,KAAK,SAAS,aAAa,GACnD,sBACA;AAIN,KAAI,UACF,OAAM,0BAA0B;EAC9B,GAAI,MAAM,2BAA2B,EAAE;EACvC,OAAO;EACP,QAAQ;EACT;CAKH,MAAM,aAAa,UAAU,OAAO,KAAK,OAAO,KAAK;CACrD,MAAM,aAAa,UAAU,OAAO,KAAK,OAAO,KAAK;CACrD,MAAM,cAAc,UAAU,OAAO,KAAK,OAAO,KAAK;AAGtD,KAAI,UAAU,OAAO,QAAQ;AAE3B,QAAM,qBAAqB,GAAG,WAAW,GAAG;AAG5C,MAAI,CAAC,MAAM,wBACT,OAAM,0BAA0B,EAAE;AAEpC,QAAM,wBAAwB,gBAAgB;AAE9C,QAAM,gCAAgC;GACpC,GAAI,MAAM,iCAAiC,EAAE;GAC7C,YAAY;GACb;AAED,QAAM,gCAAgC;GACpC,GAAI,MAAM,iCAAiC,EAAE;GAC7C,YAAY;GACb;AAED,QAAM,iCAAiC;GACrC,GAAI,MAAM,kCAAkC,EAAE;GAC9C,YAAY;GACb;;AAIH,KAAI,KAAK,SAAS,SAAS,EAAE;AAC3B,QAAM,cAAc,YAAY;AAIhC,MAAI,CAAC,MAAM,oBACT,OAAM,sBAAsB;AAI9B,MAAI,CAAC,MAAM,wBACT,OAAM,0BAA0B,EAAE;AAEpC,QAAM,wBAAwB,aAAa;;AAI7C,KAAI,KAAK,SAAS,SAAS,EAAE;EAC3B,MAAM,iBAAiB;GACrB;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,KAAK,KAAK;AAGZ,QAAM,qBAAqB,MAAM,sBAAsB;AACvD,QAAM,qBACJ,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;AAGtD,QAAM,0BAA0B;GAC9B,OAAO;GACP,QAAQ;GACR,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,2BAA2B,EAAE;GACxC;AAED,QAAM,gCAAgC;GACpC,iBAAiB;GACjB,cAAc;GACd,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,iCAAiC,EAAE;GAC9C;AAED,QAAM,gCAAgC;GACpC,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,iCAAiC,EAAE;GAC9C;AAED,QAAM,iCAAiC;GACrC,YAAY;GACZ,YAAY;GACZ,GAAI,MAAM,kCAAkC,EAAE;GAC/C;;AAGH,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: any;
|
|
6
|
+
}): {
|
|
7
|
+
'box-shadow': any;
|
|
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) {\n const processed = parseStyle(shadow);\n const { values, mods, colors } =\n 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 }) {\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,QAAQ;CAE3B,MAAM,EAAE,QAAQ,MAAM,WADJ,WAAW,OAAO,CAExB,OAAO,MAAM,kBAAkB;CAC3C,MAAM,MAAM,KAAK,MAAM;CACvB,MAAM,eAAe,UAAU,OAAO,OAAO;AAE7C,QAAO;EAAC;EAAK,GAAG;EAAQ;EAAY,CAAC,KAAK,IAAI;;AAGhD,SAAgB,YAAY,EAAE,UAAU;AACtC,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,24 @@
|
|
|
1
|
+
import { makeEmptyDetails } from "../parser/types.mjs";
|
|
2
|
+
import { parseStyle } from "../utils/styles.mjs";
|
|
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.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.mjs","names":[],"sources":["../../src/styles/shadow.ts"],"sourcesContent":["import { makeEmptyDetails } from '../parser/types';\nimport { parseStyle } from '../utils/styles';\n\nfunction toBoxShadow(shadow) {\n const processed = parseStyle(shadow);\n const { values, mods, colors } =\n 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 }) {\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,QAAQ;CAE3B,MAAM,EAAE,QAAQ,MAAM,WADJ,WAAW,OAAO,CAExB,OAAO,MAAM,kBAAkB;CAC3C,MAAM,MAAM,KAAK,MAAM;CACvB,MAAM,eAAe,UAAU,OAAO,OAAO;AAE7C,QAAO;EAAC;EAAK,GAAG;EAAQ;EAAY,CAAC,KAAK,IAAI;;AAGhD,SAAgB,YAAY,EAAE,UAAU;AACtC,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,47 @@
|
|
|
1
|
+
//#region src/styles/styledScrollbar.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated `styledScrollbar` is deprecated. Use `scrollbar` instead.
|
|
4
|
+
*/
|
|
5
|
+
declare function styledScrollbarStyle({
|
|
6
|
+
styledScrollbar: val
|
|
7
|
+
}: {
|
|
8
|
+
styledScrollbar: any;
|
|
9
|
+
}): ({
|
|
10
|
+
$: string;
|
|
11
|
+
display: string;
|
|
12
|
+
'scrollbar-width'?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
'scrollbar-width': string;
|
|
15
|
+
$?: undefined;
|
|
16
|
+
display?: undefined;
|
|
17
|
+
})[] | ({
|
|
18
|
+
$: string;
|
|
19
|
+
width: string;
|
|
20
|
+
height: string;
|
|
21
|
+
'background-color'?: undefined;
|
|
22
|
+
'border-radius'?: undefined;
|
|
23
|
+
border?: undefined;
|
|
24
|
+
'background-clip'?: undefined;
|
|
25
|
+
} | {
|
|
26
|
+
$: string;
|
|
27
|
+
'background-color': string;
|
|
28
|
+
width?: undefined;
|
|
29
|
+
height?: undefined;
|
|
30
|
+
'border-radius'?: undefined;
|
|
31
|
+
border?: undefined;
|
|
32
|
+
'background-clip'?: undefined;
|
|
33
|
+
} | {
|
|
34
|
+
$: string;
|
|
35
|
+
'background-color': string;
|
|
36
|
+
'border-radius': string;
|
|
37
|
+
border: string;
|
|
38
|
+
'background-clip': string;
|
|
39
|
+
width?: undefined;
|
|
40
|
+
height?: undefined;
|
|
41
|
+
})[] | null;
|
|
42
|
+
declare namespace styledScrollbarStyle {
|
|
43
|
+
var __lookupStyles: string[];
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { styledScrollbarStyle };
|
|
47
|
+
//# sourceMappingURL=styledScrollbar.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/styles/styledScrollbar.ts
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated `styledScrollbar` is deprecated. Use `scrollbar` instead.
|
|
4
|
+
*/
|
|
5
|
+
function styledScrollbarStyle({ styledScrollbar: val }) {
|
|
6
|
+
if (val == null) return null;
|
|
7
|
+
if (!val) return [{
|
|
8
|
+
$: "::-webkit-scrollbar",
|
|
9
|
+
display: "none"
|
|
10
|
+
}, { "scrollbar-width": "none" }];
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
$: "::-webkit-scrollbar",
|
|
14
|
+
width: "var(--scrollbar-width)",
|
|
15
|
+
height: "var(--scrollbar-width)"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
$: "::-webkit-scrollbar-track",
|
|
19
|
+
"background-color": "var(--scrollbar-bg-color)"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
$: "::-webkit-scrollbar-thumb",
|
|
23
|
+
"background-color": "var(--scrollbar-thumb-color)",
|
|
24
|
+
"border-radius": "var(--scrollbar-radius)",
|
|
25
|
+
border: "var(--scrollbar-outline-width) solid var(--scrollbar-outline-color)",
|
|
26
|
+
"background-clip": "padding-box"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
$: "::-webkit-scrollbar-corner",
|
|
30
|
+
"background-color": "var(--scrollbar-corner-color)"
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
styledScrollbarStyle.__lookupStyles = ["styledScrollbar"];
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { styledScrollbarStyle };
|
|
38
|
+
//# sourceMappingURL=styledScrollbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styledScrollbar.js","names":[],"sources":["../../src/styles/styledScrollbar.ts"],"sourcesContent":["/**\n * @deprecated `styledScrollbar` is deprecated. Use `scrollbar` instead.\n */\nexport function styledScrollbarStyle({ styledScrollbar: val }) {\n if (val == null) return null;\n\n if (!val) {\n return [\n {\n $: '::-webkit-scrollbar',\n display: 'none',\n },\n {\n 'scrollbar-width': 'none',\n },\n ];\n }\n\n return [\n {\n $: '::-webkit-scrollbar',\n width: 'var(--scrollbar-width)',\n height: 'var(--scrollbar-width)',\n },\n {\n $: '::-webkit-scrollbar-track',\n 'background-color': 'var(--scrollbar-bg-color)',\n },\n {\n $: '::-webkit-scrollbar-thumb',\n 'background-color': 'var(--scrollbar-thumb-color)',\n 'border-radius': 'var(--scrollbar-radius)',\n border:\n 'var(--scrollbar-outline-width) solid var(--scrollbar-outline-color)',\n 'background-clip': 'padding-box',\n },\n {\n $: '::-webkit-scrollbar-corner',\n 'background-color': 'var(--scrollbar-corner-color)',\n },\n // Breaks the scrollbar in the latest Chromium browsers\n // {\n // 'scrollbar-width': 'thin',\n // 'scrollbar-color':\n // 'var(--scrollbar-bg-color) var(--scrollbar-thumb-color)',\n // },\n ];\n}\n\nstyledScrollbarStyle.__lookupStyles = ['styledScrollbar'];\n"],"mappings":";;;;AAGA,SAAgB,qBAAqB,EAAE,iBAAiB,OAAO;AAC7D,KAAI,OAAO,KAAM,QAAO;AAExB,KAAI,CAAC,IACH,QAAO,CACL;EACE,GAAG;EACH,SAAS;EACV,EACD,EACE,mBAAmB,QACpB,CACF;AAGH,QAAO;EACL;GACE,GAAG;GACH,OAAO;GACP,QAAQ;GACT;EACD;GACE,GAAG;GACH,oBAAoB;GACrB;EACD;GACE,GAAG;GACH,oBAAoB;GACpB,iBAAiB;GACjB,QACE;GACF,mBAAmB;GACpB;EACD;GACE,GAAG;GACH,oBAAoB;GACrB;EAOF;;AAGH,qBAAqB,iBAAiB,CAAC,kBAAkB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/styles/styledScrollbar.ts
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated `styledScrollbar` is deprecated. Use `scrollbar` instead.
|
|
4
|
+
*/
|
|
5
|
+
function styledScrollbarStyle({ styledScrollbar: val }) {
|
|
6
|
+
if (val == null) return null;
|
|
7
|
+
if (!val) return [{
|
|
8
|
+
$: "::-webkit-scrollbar",
|
|
9
|
+
display: "none"
|
|
10
|
+
}, { "scrollbar-width": "none" }];
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
$: "::-webkit-scrollbar",
|
|
14
|
+
width: "var(--scrollbar-width)",
|
|
15
|
+
height: "var(--scrollbar-width)"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
$: "::-webkit-scrollbar-track",
|
|
19
|
+
"background-color": "var(--scrollbar-bg-color)"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
$: "::-webkit-scrollbar-thumb",
|
|
23
|
+
"background-color": "var(--scrollbar-thumb-color)",
|
|
24
|
+
"border-radius": "var(--scrollbar-radius)",
|
|
25
|
+
border: "var(--scrollbar-outline-width) solid var(--scrollbar-outline-color)",
|
|
26
|
+
"background-clip": "padding-box"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
$: "::-webkit-scrollbar-corner",
|
|
30
|
+
"background-color": "var(--scrollbar-corner-color)"
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
styledScrollbarStyle.__lookupStyles = ["styledScrollbar"];
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { styledScrollbarStyle };
|
|
38
|
+
//# sourceMappingURL=styledScrollbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styledScrollbar.mjs","names":[],"sources":["../../src/styles/styledScrollbar.ts"],"sourcesContent":["/**\n * @deprecated `styledScrollbar` is deprecated. Use `scrollbar` instead.\n */\nexport function styledScrollbarStyle({ styledScrollbar: val }) {\n if (val == null) return null;\n\n if (!val) {\n return [\n {\n $: '::-webkit-scrollbar',\n display: 'none',\n },\n {\n 'scrollbar-width': 'none',\n },\n ];\n }\n\n return [\n {\n $: '::-webkit-scrollbar',\n width: 'var(--scrollbar-width)',\n height: 'var(--scrollbar-width)',\n },\n {\n $: '::-webkit-scrollbar-track',\n 'background-color': 'var(--scrollbar-bg-color)',\n },\n {\n $: '::-webkit-scrollbar-thumb',\n 'background-color': 'var(--scrollbar-thumb-color)',\n 'border-radius': 'var(--scrollbar-radius)',\n border:\n 'var(--scrollbar-outline-width) solid var(--scrollbar-outline-color)',\n 'background-clip': 'padding-box',\n },\n {\n $: '::-webkit-scrollbar-corner',\n 'background-color': 'var(--scrollbar-corner-color)',\n },\n // Breaks the scrollbar in the latest Chromium browsers\n // {\n // 'scrollbar-width': 'thin',\n // 'scrollbar-color':\n // 'var(--scrollbar-bg-color) var(--scrollbar-thumb-color)',\n // },\n ];\n}\n\nstyledScrollbarStyle.__lookupStyles = ['styledScrollbar'];\n"],"mappings":";;;;AAGA,SAAgB,qBAAqB,EAAE,iBAAiB,OAAO;AAC7D,KAAI,OAAO,KAAM,QAAO;AAExB,KAAI,CAAC,IACH,QAAO,CACL;EACE,GAAG;EACH,SAAS;EACV,EACD,EACE,mBAAmB,QACpB,CACF;AAGH,QAAO;EACL;GACE,GAAG;GACH,OAAO;GACP,QAAQ;GACT;EACD;GACE,GAAG;GACH,oBAAoB;GACrB;EACD;GACE,GAAG;GACH,oBAAoB;GACpB,iBAAiB;GACjB,QACE;GACF,mBAAmB;GACpB;EACD;GACE,GAAG;GACH,oBAAoB;GACrB;EAOF;;AAGH,qBAAqB,iBAAiB,CAAC,kBAAkB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/styles/transition.d.ts
|
|
2
|
+
declare function transitionStyle({
|
|
3
|
+
transition
|
|
4
|
+
}: {
|
|
5
|
+
transition: any;
|
|
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
|