@tenphi/tasty 0.1.0 → 0.1.3

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.
Files changed (168) hide show
  1. package/README.md +27 -2
  2. package/dist/_virtual/_rolldown/runtime.js +8 -0
  3. package/dist/chunks/renderChunk.js.map +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/debug.js.map +1 -1
  6. package/dist/hooks/useKeyframes.js.map +1 -1
  7. package/dist/hooks/useRawCSS.js.map +1 -1
  8. package/dist/injector/injector.js.map +1 -1
  9. package/dist/injector/sheet-manager.js.map +1 -1
  10. package/dist/parser/index.d.ts +3 -0
  11. package/dist/parser/index.js +4 -0
  12. package/dist/parser/parser.js.map +1 -1
  13. package/dist/parser/types.d.ts +6 -1
  14. package/dist/pipeline/conditions.js.map +1 -1
  15. package/dist/pipeline/exclusive.js.map +1 -1
  16. package/dist/pipeline/index.js.map +1 -1
  17. package/dist/pipeline/materialize.js.map +1 -1
  18. package/dist/pipeline/parseStateKey.js.map +1 -1
  19. package/dist/pipeline/simplify.js.map +1 -1
  20. package/dist/styles/dimension.js.map +1 -1
  21. package/dist/styles/predefined.js.map +1 -1
  22. package/dist/styles/radius.js.map +1 -1
  23. package/dist/styles/scrollbar.js.map +1 -1
  24. package/dist/styles/shadow.js.map +1 -1
  25. package/dist/tasty.d.ts +8 -8
  26. package/dist/tasty.js.map +1 -1
  27. package/dist/utils/resolve-recipes.js.map +1 -1
  28. package/dist/utils/styles.js.map +1 -1
  29. package/dist/zero/{babel.d.mts → babel.d.ts} +6 -6
  30. package/dist/zero/{babel.mjs → babel.js} +6 -6
  31. package/dist/zero/babel.js.map +1 -0
  32. package/dist/{css-writer.d.mts → zero/css-writer.d.ts} +1 -1
  33. package/dist/{css-writer.mjs → zero/css-writer.js} +1 -1
  34. package/dist/zero/css-writer.js.map +1 -0
  35. package/dist/{extractor.d.mts → zero/extractor.d.ts} +3 -2
  36. package/dist/{extractor.mjs → zero/extractor.js} +6 -6
  37. package/dist/zero/extractor.js.map +1 -0
  38. package/dist/zero/index.d.ts +3 -0
  39. package/dist/zero/{index.mjs → index.js} +2 -2
  40. package/dist/zero/{next.d.mts → next.d.ts} +1 -1
  41. package/dist/zero/{next.mjs → next.js} +2 -2
  42. package/dist/zero/next.js.map +1 -0
  43. package/package.json +22 -23
  44. package/dist/_virtual/_rolldown/runtime.mjs +0 -7
  45. package/dist/chunks/cacheKey.mjs +0 -70
  46. package/dist/chunks/cacheKey.mjs.map +0 -1
  47. package/dist/chunks/definitions.mjs +0 -260
  48. package/dist/chunks/definitions.mjs.map +0 -1
  49. package/dist/chunks/renderChunk.mjs +0 -61
  50. package/dist/chunks/renderChunk.mjs.map +0 -1
  51. package/dist/config.mjs +0 -231
  52. package/dist/config.mjs.map +0 -1
  53. package/dist/css-writer.mjs.map +0 -1
  54. package/dist/extractor.mjs.map +0 -1
  55. package/dist/injector/injector.mjs +0 -404
  56. package/dist/injector/injector.mjs.map +0 -1
  57. package/dist/injector/sheet-manager.mjs +0 -714
  58. package/dist/injector/sheet-manager.mjs.map +0 -1
  59. package/dist/injector/types.d.mts +0 -18
  60. package/dist/keyframes/index.mjs +0 -156
  61. package/dist/keyframes/index.mjs.map +0 -1
  62. package/dist/parser/classify.mjs +0 -319
  63. package/dist/parser/classify.mjs.map +0 -1
  64. package/dist/parser/const.mjs +0 -33
  65. package/dist/parser/const.mjs.map +0 -1
  66. package/dist/parser/lru.mjs +0 -109
  67. package/dist/parser/lru.mjs.map +0 -1
  68. package/dist/parser/parser.mjs +0 -116
  69. package/dist/parser/parser.mjs.map +0 -1
  70. package/dist/parser/tokenizer.mjs +0 -69
  71. package/dist/parser/tokenizer.mjs.map +0 -1
  72. package/dist/parser/types.d.mts +0 -37
  73. package/dist/parser/types.mjs +0 -46
  74. package/dist/parser/types.mjs.map +0 -1
  75. package/dist/pipeline/conditions.mjs +0 -377
  76. package/dist/pipeline/conditions.mjs.map +0 -1
  77. package/dist/pipeline/exclusive.mjs +0 -231
  78. package/dist/pipeline/exclusive.mjs.map +0 -1
  79. package/dist/pipeline/index.mjs +0 -635
  80. package/dist/pipeline/index.mjs.map +0 -1
  81. package/dist/pipeline/materialize.mjs +0 -821
  82. package/dist/pipeline/materialize.mjs.map +0 -1
  83. package/dist/pipeline/parseStateKey.mjs +0 -418
  84. package/dist/pipeline/parseStateKey.mjs.map +0 -1
  85. package/dist/pipeline/simplify.mjs +0 -557
  86. package/dist/pipeline/simplify.mjs.map +0 -1
  87. package/dist/plugins/okhsl-plugin.mjs +0 -345
  88. package/dist/plugins/okhsl-plugin.mjs.map +0 -1
  89. package/dist/plugins/types.d.mts +0 -49
  90. package/dist/properties/index.mjs +0 -141
  91. package/dist/properties/index.mjs.map +0 -1
  92. package/dist/states/index.mjs +0 -161
  93. package/dist/states/index.mjs.map +0 -1
  94. package/dist/styles/align.mjs +0 -14
  95. package/dist/styles/align.mjs.map +0 -1
  96. package/dist/styles/border.mjs +0 -114
  97. package/dist/styles/border.mjs.map +0 -1
  98. package/dist/styles/color.mjs +0 -23
  99. package/dist/styles/color.mjs.map +0 -1
  100. package/dist/styles/createStyle.mjs +0 -77
  101. package/dist/styles/createStyle.mjs.map +0 -1
  102. package/dist/styles/dimension.mjs +0 -97
  103. package/dist/styles/dimension.mjs.map +0 -1
  104. package/dist/styles/display.mjs +0 -67
  105. package/dist/styles/display.mjs.map +0 -1
  106. package/dist/styles/fade.mjs +0 -58
  107. package/dist/styles/fade.mjs.map +0 -1
  108. package/dist/styles/fill.mjs +0 -51
  109. package/dist/styles/fill.mjs.map +0 -1
  110. package/dist/styles/flow.mjs +0 -12
  111. package/dist/styles/flow.mjs.map +0 -1
  112. package/dist/styles/gap.mjs +0 -37
  113. package/dist/styles/gap.mjs.map +0 -1
  114. package/dist/styles/height.mjs +0 -20
  115. package/dist/styles/height.mjs.map +0 -1
  116. package/dist/styles/index.mjs +0 -9
  117. package/dist/styles/index.mjs.map +0 -1
  118. package/dist/styles/inset.mjs +0 -142
  119. package/dist/styles/inset.mjs.map +0 -1
  120. package/dist/styles/justify.mjs +0 -14
  121. package/dist/styles/justify.mjs.map +0 -1
  122. package/dist/styles/margin.mjs +0 -96
  123. package/dist/styles/margin.mjs.map +0 -1
  124. package/dist/styles/outline.mjs +0 -65
  125. package/dist/styles/outline.mjs.map +0 -1
  126. package/dist/styles/padding.mjs +0 -96
  127. package/dist/styles/padding.mjs.map +0 -1
  128. package/dist/styles/predefined.mjs +0 -232
  129. package/dist/styles/predefined.mjs.map +0 -1
  130. package/dist/styles/preset.mjs +0 -126
  131. package/dist/styles/preset.mjs.map +0 -1
  132. package/dist/styles/radius.mjs +0 -51
  133. package/dist/styles/radius.mjs.map +0 -1
  134. package/dist/styles/scrollbar.mjs +0 -105
  135. package/dist/styles/scrollbar.mjs.map +0 -1
  136. package/dist/styles/shadow.mjs +0 -24
  137. package/dist/styles/shadow.mjs.map +0 -1
  138. package/dist/styles/styledScrollbar.mjs +0 -38
  139. package/dist/styles/styledScrollbar.mjs.map +0 -1
  140. package/dist/styles/transition.mjs +0 -138
  141. package/dist/styles/transition.mjs.map +0 -1
  142. package/dist/styles/types.d.mts +0 -492
  143. package/dist/styles/width.mjs +0 -20
  144. package/dist/styles/width.mjs.map +0 -1
  145. package/dist/utils/cache-wrapper.mjs +0 -26
  146. package/dist/utils/cache-wrapper.mjs.map +0 -1
  147. package/dist/utils/case-converter.mjs +0 -8
  148. package/dist/utils/case-converter.mjs.map +0 -1
  149. package/dist/utils/hsl-to-rgb.mjs +0 -38
  150. package/dist/utils/hsl-to-rgb.mjs.map +0 -1
  151. package/dist/utils/is-dev-env.mjs +0 -19
  152. package/dist/utils/is-dev-env.mjs.map +0 -1
  153. package/dist/utils/merge-styles.mjs +0 -146
  154. package/dist/utils/merge-styles.mjs.map +0 -1
  155. package/dist/utils/okhsl-to-rgb.mjs +0 -296
  156. package/dist/utils/okhsl-to-rgb.mjs.map +0 -1
  157. package/dist/utils/process-tokens.mjs +0 -28
  158. package/dist/utils/process-tokens.mjs.map +0 -1
  159. package/dist/utils/resolve-recipes.mjs +0 -143
  160. package/dist/utils/resolve-recipes.mjs.map +0 -1
  161. package/dist/utils/string.mjs +0 -8
  162. package/dist/utils/string.mjs.map +0 -1
  163. package/dist/utils/styles.d.mts +0 -18
  164. package/dist/utils/styles.mjs +0 -346
  165. package/dist/utils/styles.mjs.map +0 -1
  166. package/dist/zero/babel.mjs.map +0 -1
  167. package/dist/zero/index.d.mts +0 -3
  168. package/dist/zero/next.mjs.map +0 -1
@@ -1 +0,0 @@
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"}
@@ -1,105 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,24 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,38 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,138 +0,0 @@
1
- import { parseStyle } from "../utils/styles.mjs";
2
-
3
- //#region src/styles/transition.ts
4
- const SECOND_FILL_COLOR_PROPERTY = "--tasty-second-fill-color";
5
- const MAP = {
6
- fade: ["mask", "mask-composite"],
7
- translate: ["transform", "translate"],
8
- rotate: ["transform", "rotate"],
9
- scale: ["transform", "scale"],
10
- fill: [
11
- "background-color",
12
- "background-image",
13
- SECOND_FILL_COLOR_PROPERTY
14
- ],
15
- image: [
16
- "background-image",
17
- "background-position",
18
- "background-size",
19
- "background-repeat",
20
- "background-attachment",
21
- "background-origin",
22
- "background-clip",
23
- SECOND_FILL_COLOR_PROPERTY
24
- ],
25
- background: [
26
- "background-color",
27
- "background-image",
28
- "background-position",
29
- "background-size",
30
- "background-repeat",
31
- "background-attachment",
32
- "background-origin",
33
- "background-clip",
34
- SECOND_FILL_COLOR_PROPERTY
35
- ],
36
- border: [
37
- "border",
38
- "border-top",
39
- "border-right",
40
- "border-bottom",
41
- "border-left"
42
- ],
43
- filter: ["filter", "backdrop-filter"],
44
- radius: ["border-radius"],
45
- shadow: ["box-shadow"],
46
- outline: ["outline", "outline-offset"],
47
- preset: [
48
- "font-size",
49
- "line-height",
50
- "letter-spacing",
51
- "font-weight",
52
- "font-style"
53
- ],
54
- text: ["font-weight", "text-decoration-color"],
55
- color: ["color"],
56
- opacity: ["opacity"],
57
- theme: [
58
- "color",
59
- "background-color",
60
- "background-image",
61
- "box-shadow",
62
- "border",
63
- "border-radius",
64
- "outline",
65
- "opacity",
66
- SECOND_FILL_COLOR_PROPERTY
67
- ],
68
- width: [
69
- "max-width",
70
- "min-width",
71
- "width"
72
- ],
73
- height: [
74
- "max-height",
75
- "min-height",
76
- "height"
77
- ],
78
- gap: ["gap", "margin"],
79
- zIndex: ["z-index"],
80
- inset: [
81
- "inset",
82
- "top",
83
- "right",
84
- "bottom",
85
- "left"
86
- ]
87
- };
88
- const DEFAULT_EASING = "linear";
89
- function getTiming(name) {
90
- return `var(--${name}-transition, var(--transition))`;
91
- }
92
- function transitionStyle({ transition }) {
93
- if (!transition) return;
94
- const processed = parseStyle(transition);
95
- const tokens = [];
96
- processed.groups.forEach((g, idx) => {
97
- tokens.push(...g.all);
98
- if (idx < processed.groups.length - 1) tokens.push(",");
99
- });
100
- if (!tokens) return;
101
- let tempTransition = [];
102
- const transitions = [];
103
- tokens.forEach((token) => {
104
- if (token === ",") {
105
- if (tempTransition) {
106
- transitions.push(tempTransition);
107
- tempTransition = [];
108
- }
109
- } else tempTransition.push(token);
110
- });
111
- if (tempTransition) transitions.push(tempTransition);
112
- const map = {};
113
- transitions.forEach((transition) => {
114
- const name = transition[0];
115
- const timing = transition[1];
116
- const easing = transition[2];
117
- const delay = transition[3];
118
- (MAP[name] || [name]).forEach((style) => {
119
- map[style] = [
120
- name,
121
- easing,
122
- timing,
123
- delay
124
- ];
125
- });
126
- });
127
- return { transition: Object.entries(map).map(([style, [name, easing, timing, delay]]) => {
128
- let value = `${style} ${timing || getTiming(name)}`;
129
- if (easing || delay) value += ` ${easing || DEFAULT_EASING}`;
130
- if (delay) value += ` ${delay}`;
131
- return value;
132
- }).join(", ") };
133
- }
134
- transitionStyle.__lookupStyles = ["transition"];
135
-
136
- //#endregion
137
- export { transitionStyle };
138
- //# sourceMappingURL=transition.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transition.mjs","names":[],"sources":["../../src/styles/transition.ts"],"sourcesContent":["import { parseStyle } from '../utils/styles';\n\nconst SECOND_FILL_COLOR_PROPERTY = '--tasty-second-fill-color';\n\nconst MAP = {\n fade: ['mask', 'mask-composite'],\n translate: ['transform', 'translate'],\n rotate: ['transform', 'rotate'],\n scale: ['transform', 'scale'],\n fill: ['background-color', 'background-image', SECOND_FILL_COLOR_PROPERTY],\n image: [\n 'background-image',\n 'background-position',\n 'background-size',\n 'background-repeat',\n 'background-attachment',\n 'background-origin',\n 'background-clip',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n background: [\n 'background-color',\n 'background-image',\n 'background-position',\n 'background-size',\n 'background-repeat',\n 'background-attachment',\n 'background-origin',\n 'background-clip',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n border: [\n 'border',\n 'border-top',\n 'border-right',\n 'border-bottom',\n 'border-left',\n ],\n filter: ['filter', 'backdrop-filter'],\n radius: ['border-radius'],\n shadow: ['box-shadow'],\n outline: ['outline', 'outline-offset'],\n preset: [\n 'font-size',\n 'line-height',\n 'letter-spacing',\n 'font-weight',\n 'font-style',\n ],\n text: ['font-weight', 'text-decoration-color'],\n color: ['color'],\n opacity: ['opacity'],\n theme: [\n 'color',\n 'background-color',\n 'background-image',\n 'box-shadow',\n 'border',\n 'border-radius',\n 'outline',\n 'opacity',\n SECOND_FILL_COLOR_PROPERTY,\n ],\n width: ['max-width', 'min-width', 'width'],\n height: ['max-height', 'min-height', 'height'],\n gap: ['gap', 'margin'],\n zIndex: ['z-index'],\n inset: ['inset', 'top', 'right', 'bottom', 'left'],\n};\n\nexport const DEFAULT_TIMING = 'var(--transition)';\nconst DEFAULT_EASING = 'linear';\n\nfunction getTiming(name) {\n return `var(--${name}-transition, var(--transition))`;\n}\n\nexport function transitionStyle({ transition }) {\n if (!transition) return;\n\n const processed = parseStyle(transition);\n const tokens: string[] = [];\n processed.groups.forEach((g, idx) => {\n tokens.push(...g.all);\n if (idx < processed.groups.length - 1) tokens.push(',');\n });\n\n if (!tokens) return;\n\n let tempTransition: string[] = [];\n const transitions: string[][] = [];\n\n tokens.forEach((token) => {\n if (token === ',') {\n if (tempTransition) {\n transitions.push(tempTransition);\n tempTransition = [];\n }\n } else {\n tempTransition.push(token);\n }\n });\n\n if (tempTransition) {\n transitions.push(tempTransition);\n }\n\n const map: {\n name?: string;\n easing?: string;\n timing?: string;\n delay?: string;\n } = {};\n\n transitions.forEach((transition) => {\n const name = transition[0];\n const timing = transition[1];\n const easing = transition[2];\n const delay = transition[3];\n\n const styles = MAP[name] || [name];\n\n styles.forEach((style) => {\n map[style] = [name, easing, timing, delay];\n });\n });\n\n const result = Object.entries(map)\n .map(([style, [name, easing, timing, delay]]) => {\n let value = `${style} ${timing || getTiming(name)}`;\n if (easing || delay) {\n value += ` ${easing || DEFAULT_EASING}`;\n }\n if (delay) {\n value += ` ${delay}`;\n }\n return value;\n })\n .join(', ');\n\n return { transition: result };\n}\n\ntransitionStyle.__lookupStyles = ['transition'];\n"],"mappings":";;;AAEA,MAAM,6BAA6B;AAEnC,MAAM,MAAM;CACV,MAAM,CAAC,QAAQ,iBAAiB;CAChC,WAAW,CAAC,aAAa,YAAY;CACrC,QAAQ,CAAC,aAAa,SAAS;CAC/B,OAAO,CAAC,aAAa,QAAQ;CAC7B,MAAM;EAAC;EAAoB;EAAoB;EAA2B;CAC1E,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ;EACN;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ,CAAC,UAAU,kBAAkB;CACrC,QAAQ,CAAC,gBAAgB;CACzB,QAAQ,CAAC,aAAa;CACtB,SAAS,CAAC,WAAW,iBAAiB;CACtC,QAAQ;EACN;EACA;EACA;EACA;EACA;EACD;CACD,MAAM,CAAC,eAAe,wBAAwB;CAC9C,OAAO,CAAC,QAAQ;CAChB,SAAS,CAAC,UAAU;CACpB,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,OAAO;EAAC;EAAa;EAAa;EAAQ;CAC1C,QAAQ;EAAC;EAAc;EAAc;EAAS;CAC9C,KAAK,CAAC,OAAO,SAAS;CACtB,QAAQ,CAAC,UAAU;CACnB,OAAO;EAAC;EAAS;EAAO;EAAS;EAAU;EAAO;CACnD;AAGD,MAAM,iBAAiB;AAEvB,SAAS,UAAU,MAAM;AACvB,QAAO,SAAS,KAAK;;AAGvB,SAAgB,gBAAgB,EAAE,cAAc;AAC9C,KAAI,CAAC,WAAY;CAEjB,MAAM,YAAY,WAAW,WAAW;CACxC,MAAM,SAAmB,EAAE;AAC3B,WAAU,OAAO,SAAS,GAAG,QAAQ;AACnC,SAAO,KAAK,GAAG,EAAE,IAAI;AACrB,MAAI,MAAM,UAAU,OAAO,SAAS,EAAG,QAAO,KAAK,IAAI;GACvD;AAEF,KAAI,CAAC,OAAQ;CAEb,IAAI,iBAA2B,EAAE;CACjC,MAAM,cAA0B,EAAE;AAElC,QAAO,SAAS,UAAU;AACxB,MAAI,UAAU,KACZ;OAAI,gBAAgB;AAClB,gBAAY,KAAK,eAAe;AAChC,qBAAiB,EAAE;;QAGrB,gBAAe,KAAK,MAAM;GAE5B;AAEF,KAAI,eACF,aAAY,KAAK,eAAe;CAGlC,MAAM,MAKF,EAAE;AAEN,aAAY,SAAS,eAAe;EAClC,MAAM,OAAO,WAAW;EACxB,MAAM,SAAS,WAAW;EAC1B,MAAM,SAAS,WAAW;EAC1B,MAAM,QAAQ,WAAW;AAIzB,GAFe,IAAI,SAAS,CAAC,KAAK,EAE3B,SAAS,UAAU;AACxB,OAAI,SAAS;IAAC;IAAM;IAAQ;IAAQ;IAAM;IAC1C;GACF;AAeF,QAAO,EAAE,YAbM,OAAO,QAAQ,IAAI,CAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,QAAQ,QAAQ,YAAY;EAC/C,IAAI,QAAQ,GAAG,MAAM,GAAG,UAAU,UAAU,KAAK;AACjD,MAAI,UAAU,MACZ,UAAS,IAAI,UAAU;AAEzB,MAAI,MACF,UAAS,IAAI;AAEf,SAAO;GACP,CACD,KAAK,KAAK,EAEgB;;AAG/B,gBAAgB,iBAAiB,CAAC,aAAa"}