@tenphi/tasty 2.0.3 → 2.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.
Files changed (323) hide show
  1. package/dist/{ssr/async-storage.js → async-storage-B7_o6FKt.js} +2 -2
  2. package/dist/async-storage-B7_o6FKt.js.map +1 -0
  3. package/dist/{ssr/collector.js → collector-DrgDE7QB.js} +5 -10
  4. package/dist/collector-DrgDE7QB.js.map +1 -0
  5. package/dist/{ssr/collector.d.ts → collector-LuU1vZ68.d.ts} +3 -3
  6. package/dist/config-_aQ_PZ-P.js +10131 -0
  7. package/dist/config-_aQ_PZ-P.js.map +1 -0
  8. package/dist/config-vuCRkBWX.d.ts +884 -0
  9. package/dist/{ssr/context.js → context-CkSg-kDT.js} +11 -3
  10. package/dist/context-CkSg-kDT.js.map +1 -0
  11. package/dist/core/index.d.ts +5 -34
  12. package/dist/core/index.js +6 -27
  13. package/dist/core-BqO8pplb.js +1592 -0
  14. package/dist/core-BqO8pplb.js.map +1 -0
  15. package/dist/{zero/extractor.js → css-writer-D--REwtp.js} +74 -11
  16. package/dist/css-writer-D--REwtp.js.map +1 -0
  17. package/dist/{ssr/format-global-rules.js → format-global-rules-Dbc_1tc3.js} +2 -2
  18. package/dist/format-global-rules-Dbc_1tc3.js.map +1 -0
  19. package/dist/format-rules-xwteB7a1.js +143 -0
  20. package/dist/format-rules-xwteB7a1.js.map +1 -0
  21. package/dist/{ssr/hydrate.js → hydrate-BvPT4ndL.js} +3 -3
  22. package/dist/hydrate-BvPT4ndL.js.map +1 -0
  23. package/dist/index-ZRxZWzlj.d.ts +1602 -0
  24. package/dist/{styles/types.d.ts → index-dUtwpOux.d.ts} +707 -5
  25. package/dist/index.d.ts +5 -51
  26. package/dist/index.js +732 -36
  27. package/dist/index.js.map +1 -0
  28. package/dist/keyframes-ClPFWy33.js +587 -0
  29. package/dist/keyframes-ClPFWy33.js.map +1 -0
  30. package/dist/{utils/merge-styles.js → merge-styles-BUQsEpbv.js} +3 -4
  31. package/dist/merge-styles-BUQsEpbv.js.map +1 -0
  32. package/dist/{utils/merge-styles.d.ts → merge-styles-CtDJMhpJ.d.ts} +3 -3
  33. package/dist/{utils/resolve-recipes.js → resolve-recipes-C0-AMzCz.js} +4 -6
  34. package/dist/resolve-recipes-C0-AMzCz.js.map +1 -0
  35. package/dist/ssr/astro-client.js +1 -1
  36. package/dist/ssr/astro.js +4 -4
  37. package/dist/ssr/index.d.ts +44 -4
  38. package/dist/ssr/index.js +4 -4
  39. package/dist/ssr/next.d.ts +1 -1
  40. package/dist/ssr/next.js +6 -6
  41. package/dist/ssr/next.js.map +1 -1
  42. package/dist/static/index.d.ts +91 -5
  43. package/dist/static/index.js +49 -3
  44. package/dist/static/index.js.map +1 -0
  45. package/dist/zero/babel.d.ts +1 -1
  46. package/dist/zero/babel.js +10 -6
  47. package/dist/zero/babel.js.map +1 -1
  48. package/dist/zero/index.d.ts +67 -3
  49. package/dist/zero/index.js +1 -2
  50. package/docs/injector.md +2 -2
  51. package/package.json +10 -9
  52. package/dist/_virtual/_rolldown/runtime.js +0 -7
  53. package/dist/chunks/cacheKey.d.ts +0 -1
  54. package/dist/chunks/cacheKey.js +0 -77
  55. package/dist/chunks/cacheKey.js.map +0 -1
  56. package/dist/chunks/definitions.d.ts +0 -37
  57. package/dist/chunks/definitions.js +0 -258
  58. package/dist/chunks/definitions.js.map +0 -1
  59. package/dist/chunks/index.d.ts +0 -1
  60. package/dist/chunks/renderChunk.d.ts +0 -1
  61. package/dist/chunks/renderChunk.js +0 -59
  62. package/dist/chunks/renderChunk.js.map +0 -1
  63. package/dist/compute-styles.d.ts +0 -31
  64. package/dist/compute-styles.js +0 -322
  65. package/dist/compute-styles.js.map +0 -1
  66. package/dist/config.d.ts +0 -407
  67. package/dist/config.js +0 -591
  68. package/dist/config.js.map +0 -1
  69. package/dist/counter-style/index.js +0 -51
  70. package/dist/counter-style/index.js.map +0 -1
  71. package/dist/debug.d.ts +0 -89
  72. package/dist/debug.js +0 -453
  73. package/dist/debug.js.map +0 -1
  74. package/dist/font-face/index.js +0 -63
  75. package/dist/font-face/index.js.map +0 -1
  76. package/dist/hooks/index.d.ts +0 -7
  77. package/dist/hooks/useCounterStyle.d.ts +0 -36
  78. package/dist/hooks/useCounterStyle.js +0 -65
  79. package/dist/hooks/useCounterStyle.js.map +0 -1
  80. package/dist/hooks/useFontFace.d.ts +0 -45
  81. package/dist/hooks/useFontFace.js +0 -66
  82. package/dist/hooks/useFontFace.js.map +0 -1
  83. package/dist/hooks/useGlobalStyles.d.ts +0 -46
  84. package/dist/hooks/useGlobalStyles.js +0 -88
  85. package/dist/hooks/useGlobalStyles.js.map +0 -1
  86. package/dist/hooks/useKeyframes.d.ts +0 -58
  87. package/dist/hooks/useKeyframes.js +0 -55
  88. package/dist/hooks/useKeyframes.js.map +0 -1
  89. package/dist/hooks/useProperty.d.ts +0 -81
  90. package/dist/hooks/useProperty.js +0 -96
  91. package/dist/hooks/useProperty.js.map +0 -1
  92. package/dist/hooks/useRawCSS.d.ts +0 -22
  93. package/dist/hooks/useRawCSS.js +0 -103
  94. package/dist/hooks/useRawCSS.js.map +0 -1
  95. package/dist/hooks/useStyles.d.ts +0 -40
  96. package/dist/hooks/useStyles.js +0 -31
  97. package/dist/hooks/useStyles.js.map +0 -1
  98. package/dist/injector/index.d.ts +0 -182
  99. package/dist/injector/index.js +0 -185
  100. package/dist/injector/index.js.map +0 -1
  101. package/dist/injector/injector.d.ts +0 -198
  102. package/dist/injector/injector.js +0 -651
  103. package/dist/injector/injector.js.map +0 -1
  104. package/dist/injector/sheet-manager.d.ts +0 -132
  105. package/dist/injector/sheet-manager.js +0 -699
  106. package/dist/injector/sheet-manager.js.map +0 -1
  107. package/dist/injector/types.d.ts +0 -235
  108. package/dist/keyframes/index.js +0 -206
  109. package/dist/keyframes/index.js.map +0 -1
  110. package/dist/parser/classify.js +0 -319
  111. package/dist/parser/classify.js.map +0 -1
  112. package/dist/parser/const.js +0 -60
  113. package/dist/parser/const.js.map +0 -1
  114. package/dist/parser/lru.js +0 -109
  115. package/dist/parser/lru.js.map +0 -1
  116. package/dist/parser/parser.d.ts +0 -25
  117. package/dist/parser/parser.js +0 -115
  118. package/dist/parser/parser.js.map +0 -1
  119. package/dist/parser/tokenizer.js +0 -69
  120. package/dist/parser/tokenizer.js.map +0 -1
  121. package/dist/parser/types.d.ts +0 -51
  122. package/dist/parser/types.js +0 -46
  123. package/dist/parser/types.js.map +0 -1
  124. package/dist/pipeline/conditions.d.ts +0 -134
  125. package/dist/pipeline/conditions.js +0 -406
  126. package/dist/pipeline/conditions.js.map +0 -1
  127. package/dist/pipeline/exclusive.js +0 -389
  128. package/dist/pipeline/exclusive.js.map +0 -1
  129. package/dist/pipeline/index.d.ts +0 -55
  130. package/dist/pipeline/index.js +0 -749
  131. package/dist/pipeline/index.js.map +0 -1
  132. package/dist/pipeline/materialize-contradictions.js +0 -125
  133. package/dist/pipeline/materialize-contradictions.js.map +0 -1
  134. package/dist/pipeline/materialize.js +0 -1038
  135. package/dist/pipeline/materialize.js.map +0 -1
  136. package/dist/pipeline/parseStateKey.d.ts +0 -15
  137. package/dist/pipeline/parseStateKey.js +0 -446
  138. package/dist/pipeline/parseStateKey.js.map +0 -1
  139. package/dist/pipeline/simplify.js +0 -725
  140. package/dist/pipeline/simplify.js.map +0 -1
  141. package/dist/pipeline/warnings.js +0 -18
  142. package/dist/pipeline/warnings.js.map +0 -1
  143. package/dist/plugins/index.d.ts +0 -2
  144. package/dist/plugins/okhsl-plugin.d.ts +0 -35
  145. package/dist/plugins/okhsl-plugin.js +0 -97
  146. package/dist/plugins/okhsl-plugin.js.map +0 -1
  147. package/dist/plugins/types.d.ts +0 -87
  148. package/dist/properties/index.js +0 -222
  149. package/dist/properties/index.js.map +0 -1
  150. package/dist/properties/property-type-resolver.d.ts +0 -24
  151. package/dist/properties/property-type-resolver.js +0 -90
  152. package/dist/properties/property-type-resolver.js.map +0 -1
  153. package/dist/rsc-cache.js +0 -79
  154. package/dist/rsc-cache.js.map +0 -1
  155. package/dist/ssr/async-storage.d.ts +0 -17
  156. package/dist/ssr/async-storage.js.map +0 -1
  157. package/dist/ssr/collect-auto-properties.js +0 -58
  158. package/dist/ssr/collect-auto-properties.js.map +0 -1
  159. package/dist/ssr/collector.js.map +0 -1
  160. package/dist/ssr/context.js.map +0 -1
  161. package/dist/ssr/format-global-rules.js.map +0 -1
  162. package/dist/ssr/format-keyframes.js +0 -69
  163. package/dist/ssr/format-keyframes.js.map +0 -1
  164. package/dist/ssr/format-property.js +0 -49
  165. package/dist/ssr/format-property.js.map +0 -1
  166. package/dist/ssr/format-rules.js +0 -73
  167. package/dist/ssr/format-rules.js.map +0 -1
  168. package/dist/ssr/hydrate.d.ts +0 -29
  169. package/dist/ssr/hydrate.js.map +0 -1
  170. package/dist/ssr/ssr-collector-ref.js +0 -29
  171. package/dist/ssr/ssr-collector-ref.js.map +0 -1
  172. package/dist/states/index.d.ts +0 -49
  173. package/dist/states/index.js +0 -170
  174. package/dist/states/index.js.map +0 -1
  175. package/dist/static/tastyStatic.d.ts +0 -46
  176. package/dist/static/tastyStatic.js +0 -30
  177. package/dist/static/tastyStatic.js.map +0 -1
  178. package/dist/static/types.d.ts +0 -49
  179. package/dist/static/types.js +0 -24
  180. package/dist/static/types.js.map +0 -1
  181. package/dist/styles/border.d.ts +0 -25
  182. package/dist/styles/border.js +0 -120
  183. package/dist/styles/border.js.map +0 -1
  184. package/dist/styles/color.d.ts +0 -14
  185. package/dist/styles/color.js +0 -26
  186. package/dist/styles/color.js.map +0 -1
  187. package/dist/styles/const.js +0 -17
  188. package/dist/styles/const.js.map +0 -1
  189. package/dist/styles/createStyle.js +0 -79
  190. package/dist/styles/createStyle.js.map +0 -1
  191. package/dist/styles/dimension.js +0 -109
  192. package/dist/styles/dimension.js.map +0 -1
  193. package/dist/styles/directional.js +0 -133
  194. package/dist/styles/directional.js.map +0 -1
  195. package/dist/styles/display.d.ts +0 -30
  196. package/dist/styles/display.js +0 -73
  197. package/dist/styles/display.js.map +0 -1
  198. package/dist/styles/fade.d.ts +0 -15
  199. package/dist/styles/fade.js +0 -62
  200. package/dist/styles/fade.js.map +0 -1
  201. package/dist/styles/fill.d.ts +0 -42
  202. package/dist/styles/fill.js +0 -51
  203. package/dist/styles/fill.js.map +0 -1
  204. package/dist/styles/flow.d.ts +0 -16
  205. package/dist/styles/flow.js +0 -12
  206. package/dist/styles/flow.js.map +0 -1
  207. package/dist/styles/gap.d.ts +0 -31
  208. package/dist/styles/gap.js +0 -38
  209. package/dist/styles/gap.js.map +0 -1
  210. package/dist/styles/height.d.ts +0 -17
  211. package/dist/styles/height.js +0 -19
  212. package/dist/styles/height.js.map +0 -1
  213. package/dist/styles/index.d.ts +0 -1
  214. package/dist/styles/index.js +0 -8
  215. package/dist/styles/index.js.map +0 -1
  216. package/dist/styles/inset.d.ts +0 -24
  217. package/dist/styles/inset.js +0 -34
  218. package/dist/styles/inset.js.map +0 -1
  219. package/dist/styles/list.d.ts +0 -16
  220. package/dist/styles/list.js +0 -100
  221. package/dist/styles/list.js.map +0 -1
  222. package/dist/styles/margin.d.ts +0 -24
  223. package/dist/styles/margin.js +0 -32
  224. package/dist/styles/margin.js.map +0 -1
  225. package/dist/styles/outline.d.ts +0 -29
  226. package/dist/styles/outline.js +0 -55
  227. package/dist/styles/outline.js.map +0 -1
  228. package/dist/styles/padding.d.ts +0 -24
  229. package/dist/styles/padding.js +0 -32
  230. package/dist/styles/padding.js.map +0 -1
  231. package/dist/styles/placement.d.ts +0 -37
  232. package/dist/styles/placement.js +0 -74
  233. package/dist/styles/placement.js.map +0 -1
  234. package/dist/styles/predefined.d.ts +0 -71
  235. package/dist/styles/predefined.js +0 -237
  236. package/dist/styles/predefined.js.map +0 -1
  237. package/dist/styles/preset.d.ts +0 -52
  238. package/dist/styles/preset.js +0 -127
  239. package/dist/styles/preset.js.map +0 -1
  240. package/dist/styles/radius.d.ts +0 -12
  241. package/dist/styles/radius.js +0 -83
  242. package/dist/styles/radius.js.map +0 -1
  243. package/dist/styles/scrollMargin.d.ts +0 -24
  244. package/dist/styles/scrollMargin.js +0 -32
  245. package/dist/styles/scrollMargin.js.map +0 -1
  246. package/dist/styles/scrollbar.d.ts +0 -25
  247. package/dist/styles/scrollbar.js +0 -51
  248. package/dist/styles/scrollbar.js.map +0 -1
  249. package/dist/styles/shadow.d.ts +0 -14
  250. package/dist/styles/shadow.js +0 -25
  251. package/dist/styles/shadow.js.map +0 -1
  252. package/dist/styles/shared.js +0 -17
  253. package/dist/styles/shared.js.map +0 -1
  254. package/dist/styles/transition.d.ts +0 -14
  255. package/dist/styles/transition.js +0 -159
  256. package/dist/styles/transition.js.map +0 -1
  257. package/dist/styles/width.d.ts +0 -17
  258. package/dist/styles/width.js +0 -19
  259. package/dist/styles/width.js.map +0 -1
  260. package/dist/tasty.d.ts +0 -134
  261. package/dist/tasty.js +0 -248
  262. package/dist/tasty.js.map +0 -1
  263. package/dist/types.d.ts +0 -184
  264. package/dist/utils/cache-wrapper.js +0 -21
  265. package/dist/utils/cache-wrapper.js.map +0 -1
  266. package/dist/utils/case-converter.js +0 -8
  267. package/dist/utils/case-converter.js.map +0 -1
  268. package/dist/utils/color-math.d.ts +0 -46
  269. package/dist/utils/color-math.js +0 -749
  270. package/dist/utils/color-math.js.map +0 -1
  271. package/dist/utils/color-space.d.ts +0 -5
  272. package/dist/utils/color-space.js +0 -228
  273. package/dist/utils/color-space.js.map +0 -1
  274. package/dist/utils/colors.d.ts +0 -5
  275. package/dist/utils/colors.js +0 -10
  276. package/dist/utils/colors.js.map +0 -1
  277. package/dist/utils/css-types.d.ts +0 -7
  278. package/dist/utils/deps-equal.js +0 -15
  279. package/dist/utils/deps-equal.js.map +0 -1
  280. package/dist/utils/dotize.d.ts +0 -26
  281. package/dist/utils/dotize.js +0 -122
  282. package/dist/utils/dotize.js.map +0 -1
  283. package/dist/utils/filter-base-props.d.ts +0 -15
  284. package/dist/utils/filter-base-props.js +0 -45
  285. package/dist/utils/filter-base-props.js.map +0 -1
  286. package/dist/utils/get-display-name.d.ts +0 -7
  287. package/dist/utils/get-display-name.js +0 -10
  288. package/dist/utils/get-display-name.js.map +0 -1
  289. package/dist/utils/has-keys.js +0 -13
  290. package/dist/utils/has-keys.js.map +0 -1
  291. package/dist/utils/hash.js +0 -14
  292. package/dist/utils/hash.js.map +0 -1
  293. package/dist/utils/is-dev-env.js +0 -19
  294. package/dist/utils/is-dev-env.js.map +0 -1
  295. package/dist/utils/is-valid-element-type.js +0 -15
  296. package/dist/utils/is-valid-element-type.js.map +0 -1
  297. package/dist/utils/merge-styles.js.map +0 -1
  298. package/dist/utils/mod-attrs.d.ts +0 -6
  299. package/dist/utils/mod-attrs.js +0 -20
  300. package/dist/utils/mod-attrs.js.map +0 -1
  301. package/dist/utils/process-tokens.d.ts +0 -17
  302. package/dist/utils/process-tokens.js +0 -83
  303. package/dist/utils/process-tokens.js.map +0 -1
  304. package/dist/utils/resolve-recipes.d.ts +0 -17
  305. package/dist/utils/resolve-recipes.js.map +0 -1
  306. package/dist/utils/selector-transform.js +0 -32
  307. package/dist/utils/selector-transform.js.map +0 -1
  308. package/dist/utils/string.js +0 -8
  309. package/dist/utils/string.js.map +0 -1
  310. package/dist/utils/styles.d.ts +0 -99
  311. package/dist/utils/styles.js +0 -220
  312. package/dist/utils/styles.js.map +0 -1
  313. package/dist/utils/typography.d.ts +0 -58
  314. package/dist/utils/typography.js +0 -51
  315. package/dist/utils/typography.js.map +0 -1
  316. package/dist/utils/warnings.d.ts +0 -16
  317. package/dist/utils/warnings.js +0 -16
  318. package/dist/utils/warnings.js.map +0 -1
  319. package/dist/zero/css-writer.d.ts +0 -45
  320. package/dist/zero/css-writer.js +0 -73
  321. package/dist/zero/css-writer.js.map +0 -1
  322. package/dist/zero/extractor.d.ts +0 -24
  323. package/dist/zero/extractor.js.map +0 -1
@@ -0,0 +1,1602 @@
1
+ import { Dt as StyleInjectorConfig, I as StyleValue, L as StyleValueStateMap, b as Styles, bt as KeyframesResult, ct as CacheMetrics, dt as FontFaceDescriptors, ft as FontFaceInput, gt as InjectResult, ht as GlobalInjectResult, it as StyleDetails, lt as CounterStyleDescriptors, mt as GCOptions, n as StyleResult, st as CSSProperties$1, x as StylesInterface, xt as KeyframesSteps } from "./index-dUtwpOux.js";
2
+ import { b as StyleInjector, h as TastyPluginFactory } from "./config-vuCRkBWX.js";
3
+ import { t as ServerStyleCollector } from "./collector-LuU1vZ68.js";
4
+ import * as _$react from "react";
5
+ import { AllHTMLAttributes, CSSProperties, ComponentType, ElementType, ForwardRefExoticComponent, JSX, PropsWithoutRef, RefAttributes } from "react";
6
+
7
+ //#region src/plugins/okhsl-plugin.d.ts
8
+ /**
9
+ * The okhsl function handler for tasty parser.
10
+ * Receives parsed style groups and returns an RGB color string.
11
+ */
12
+ declare const okhslFunc: (groups: StyleDetails[]) => string;
13
+ /**
14
+ * OKHSL Plugin for Tasty.
15
+ *
16
+ * Adds support for the `okhsl()` color function in tasty styles.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { configure } from '@tenphi/tasty';
21
+ * import { okhslPlugin } from '@tenphi/tasty';
22
+ *
23
+ * configure({
24
+ * plugins: [okhslPlugin()],
25
+ * });
26
+ *
27
+ * // Now you can use okhsl in styles:
28
+ * const Box = tasty({
29
+ * styles: {
30
+ * fill: 'okhsl(240 50% 50%)',
31
+ * },
32
+ * });
33
+ * ```
34
+ */
35
+ declare const okhslPlugin: TastyPluginFactory;
36
+ //#endregion
37
+ //#region src/chunks/definitions.d.ts
38
+ declare const CHUNK_NAMES: {
39
+ /** Special chunk for styles that cannot be split */readonly COMBINED: "combined";
40
+ readonly SUBCOMPONENTS: "subcomponents";
41
+ readonly APPEARANCE: "appearance";
42
+ readonly FONT: "font";
43
+ readonly DIMENSION: "dimension";
44
+ readonly DISPLAY: "display";
45
+ readonly LAYOUT: "layout";
46
+ readonly POSITION: "position";
47
+ readonly MISC: "misc";
48
+ };
49
+ type ChunkName = (typeof CHUNK_NAMES)[keyof typeof CHUNK_NAMES];
50
+ /**
51
+ * Pre-computed map for O(1) style-to-chunk lookup.
52
+ * Built once at module load time.
53
+ */
54
+ declare const STYLE_TO_CHUNK: Map<string, ChunkName>;
55
+ interface ChunkInfo$1 {
56
+ /** Name of the chunk */
57
+ name: ChunkName | string;
58
+ /** Style keys belonging to this chunk */
59
+ styleKeys: string[];
60
+ }
61
+ /**
62
+ * Categorize style keys into chunks.
63
+ *
64
+ * Returns chunks in a deterministic order (by CHUNK_ORDER) regardless
65
+ * of the order of keys in the input styles object.
66
+ *
67
+ * @param styles - The styles object to categorize
68
+ * @returns Map of chunk name to array of style keys in that chunk (in priority order)
69
+ */
70
+ declare function categorizeStyleKeys(styles: Record<string, unknown>): Map<string, string[]>;
71
+ //#endregion
72
+ //#region src/styles/list.d.ts
73
+ declare const BASE_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition"];
74
+ declare const POSITION_STYLES: readonly ["gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "scrollMargin"];
75
+ declare const BLOCK_INNER_STYLES: readonly ["padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign"];
76
+ declare const BLOCK_OUTER_STYLES: readonly ["border", "radius", "shadow", "outline"];
77
+ declare const BLOCK_STYLES: readonly ["padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline"];
78
+ declare const COLOR_STYLES: readonly ["color", "fill", "fade", "image"];
79
+ declare const TEXT_STYLES: readonly ["textTransform", "fontWeight", "fontStyle"];
80
+ declare const DIMENSION_STYLES: readonly ["width", "height", "flexBasis", "flexGrow", "flexShrink", "flex"];
81
+ declare const FLOW_STYLES: readonly ["flow", "place", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
82
+ declare const CONTAINER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "scrollMargin", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "border", "radius", "shadow", "outline", "flow", "place", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
83
+ declare const OUTER_STYLES: readonly ["gridArea", "order", "gridColumn", "gridRow", "placeSelf", "alignSelf", "justifySelf", "zIndex", "margin", "inset", "position", "scrollMargin", "width", "height", "flexBasis", "flexGrow", "flexShrink", "flex", "border", "radius", "shadow", "outline"];
84
+ declare const INNER_STYLES: readonly ["display", "font", "preset", "hide", "whiteSpace", "opacity", "transition", "color", "fill", "fade", "image", "padding", "paddingInline", "paddingBlock", "overflow", "scrollbar", "textAlign", "flow", "place", "placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "gap", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas"];
85
+ //#endregion
86
+ //#region src/types.d.ts
87
+ interface GlobalStyledProps {
88
+ breakpoints?: number[];
89
+ }
90
+ /**
91
+ * Extensible interface for theme names.
92
+ * Augment this interface to register project-specific theme names for autocomplete.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * declare module '@tenphi/tasty' {
97
+ * interface TastyThemeNames {
98
+ * danger: true;
99
+ * success: true;
100
+ * }
101
+ * }
102
+ * ```
103
+ */
104
+ interface TastyThemeNames {}
105
+ type ThemeNameKey = Extract<keyof TastyThemeNames, string>;
106
+ type ThemeName = [ThemeNameKey] extends [never] ? string : ThemeNameKey;
107
+ /** Allowed mod value types */
108
+ type ModValue = boolean | string | number | undefined | null;
109
+ /**
110
+ * Type for element modifiers (mods prop).
111
+ * Can be used as a generic to define known modifiers with autocomplete:
112
+ * @example
113
+ * type ButtonMods = Mods<{
114
+ * loading?: boolean;
115
+ * selected?: boolean;
116
+ * }>;
117
+ */
118
+ type Mods<T extends Record<string, ModValue> = Record<string, ModValue>> = T & Record<string, ModValue>;
119
+ /**
120
+ * Token value: string or number (processed), boolean for special handling, undefined/null (skipped).
121
+ * For color tokens (#name), boolean `true` is converted to `transparent`.
122
+ * For non-color tokens ($name), boolean `true` results in an empty string value.
123
+ * Boolean `false` results in no CSS output (token is skipped).
124
+ */
125
+ type TokenValue = string | number | boolean | undefined | null;
126
+ /**
127
+ * Tokens definition for inline CSS custom properties.
128
+ * - `$name` keys become `--name` CSS properties
129
+ * - `#name` keys become `--name-color` and `--name-color-{colorSpace}` CSS properties
130
+ */
131
+ type Tokens = Record<`$${string}` | `#${string}`, TokenValue>;
132
+ type Caps = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
133
+ interface BasePropsWithoutChildren<K extends TagName = TagName> extends Pick<AllHTMLAttributes<HTMLElement>, 'className' | 'role' | 'id'> {
134
+ /** The HTML tag or React component to render as */
135
+ as?: K | ComponentType<any>;
136
+ /** QA ID for e2e testing. An alias for `data-qa` attribute. */
137
+ qa?: string;
138
+ /** QA value for e2e testing. An alias for `data-qaval` attribute. */
139
+ qaVal?: string | number;
140
+ /** Inner element name */
141
+ element?: `${Caps}${string}`;
142
+ /** The style map */
143
+ styles?: Styles;
144
+ /** The list of responsive points in pixels */
145
+ breakpoints?: number[];
146
+ /** Whether the element has the block layout outside */
147
+ block?: boolean;
148
+ /** Whether the element has the inline layout outside */
149
+ inline?: boolean;
150
+ /** The list of element modifiers **/
151
+ mods?: Mods;
152
+ /** Whether the element is hidden (`hidden` attribute is set) */
153
+ isHidden?: boolean;
154
+ /** Whether the element is disabled (`disabled` attribute is set) */
155
+ isDisabled?: boolean;
156
+ /** Plain css for the element */
157
+ css?: string;
158
+ /** The CSS style map */
159
+ style?: CSSProperties$1 | (CSSProperties$1 & Record<string, string | number | null | undefined>);
160
+ /** User-defined theme for the element. Mapped to `data-theme` attribute. Augment `TastyThemeNames` to register project-specific themes for autocomplete. */
161
+ theme?: ThemeName | (string & {});
162
+ /** CSS custom property tokens rendered as inline styles */
163
+ tokens?: Tokens;
164
+ }
165
+ interface BaseProps<K extends TagName = TagName> extends BasePropsWithoutChildren<K>, Pick<AllHTMLAttributes<HTMLElementTagNameMap[K]>, 'children'> {}
166
+ interface AllBaseProps<K extends TagName = TagName> extends BaseProps<K>, Omit<AllHTMLAttributes<HTMLElementTagNameMap[K]>, 'style' | 'disabled' | 'hidden' | 'css' | 'content' | 'translate' | 'as' | 'form' | 'bgcolor' | 'background' | 'align' | 'border' | 'color' | 'height' | 'size' | 'width' | 'prefix'> {}
167
+ type BaseStyleProps = Pick<Styles, (typeof BASE_STYLES)[number]>;
168
+ type PositionStyleProps = Pick<Styles, (typeof POSITION_STYLES)[number]>;
169
+ type BlockStyleProps = Pick<Styles, (typeof BLOCK_STYLES)[number]>;
170
+ type BlockInnerStyleProps = Pick<Styles, (typeof BLOCK_INNER_STYLES)[number]>;
171
+ type BlockOuterStyleProps = Pick<Styles, (typeof BLOCK_OUTER_STYLES)[number]>;
172
+ type ColorStyleProps = Pick<Styles, (typeof COLOR_STYLES)[number]>;
173
+ type TextStyleProps = Pick<Styles, (typeof TEXT_STYLES)[number]>;
174
+ type DimensionStyleProps = Pick<Styles, (typeof DIMENSION_STYLES)[number]>;
175
+ type FlowStyleProps = Pick<Styles, (typeof FLOW_STYLES)[number]>;
176
+ type ContainerStyleProps = Pick<Styles, (typeof CONTAINER_STYLES)[number]>;
177
+ type OuterStyleProps = Pick<Styles, (typeof OUTER_STYLES)[number]>;
178
+ type InnerStyleProps = Pick<Styles, (typeof INNER_STYLES)[number]>;
179
+ interface ShortGridStyles {
180
+ template?: Styles['gridTemplate'];
181
+ columns?: Styles['gridColumns'];
182
+ rows?: Styles['gridRows'];
183
+ areas?: Styles['gridAreas'];
184
+ }
185
+ type Props = Record<string, any>;
186
+ type TagName = keyof HTMLElementTagNameMap;
187
+ /**
188
+ * Configuration type for tasty.config.ts files.
189
+ * Used by the Tasty VSCode extension for validation and autocomplete.
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * import type { TastyExtensionConfig } from '@tenphi/tasty';
194
+ *
195
+ * const config: TastyExtensionConfig = {
196
+ * tokens: ['#primary', '#danger', '$spacing'],
197
+ * units: ['x', 'r', 'bw'],
198
+ * states: ['@mobile', '@tablet', '@dark'],
199
+ * presets: ['h1', 'h2', 't1', 't2'],
200
+ * };
201
+ *
202
+ * export default config;
203
+ * ```
204
+ */
205
+ interface TastyExtensionConfig {
206
+ /**
207
+ * Extend another config file. Path is relative to this config file.
208
+ * The extended config is merged first, then this config's values are added.
209
+ * @example '../tasty.config.ts'
210
+ */
211
+ extends?: string;
212
+ /**
213
+ * Valid token names for validation and autocomplete.
214
+ * Use # prefix for colors, $ prefix for custom properties.
215
+ * Set to `false` to disable token validation (overrides parent).
216
+ * @example ['#primary', '#danger', '$spacing', '$gap']
217
+ */
218
+ tokens?: false | string[];
219
+ /**
220
+ * Valid custom unit names.
221
+ * Set to `false` to disable unit validation (overrides parent).
222
+ * @example ['x', 'r', 'bw', 'cols']
223
+ */
224
+ units?: false | string[];
225
+ /**
226
+ * Valid custom function names.
227
+ * Set to `false` to disable function validation (overrides parent).
228
+ * @example ['clamp', 'double']
229
+ */
230
+ funcs?: false | string[];
231
+ /**
232
+ * State alias names for autocomplete.
233
+ * Must start with @ prefix.
234
+ * @example ['@mobile', '@tablet', '@dark']
235
+ */
236
+ states?: string[];
237
+ /**
238
+ * Valid preset names for the `preset` style property.
239
+ * Tasty has no built-in presets - they are project-specific.
240
+ * @example ['h1', 'h2', 'h3', 't1', 't2', 't3', 'tag']
241
+ */
242
+ presets?: string[];
243
+ /**
244
+ * Custom style property names added via configure({ handlers }).
245
+ * Suppresses "unknown property" warnings for these names.
246
+ * @example ['myGradient', 'customLayout', 'brandBorder']
247
+ */
248
+ styles?: string[];
249
+ /**
250
+ * Descriptions for presets, shown on hover in the extension.
251
+ * Maps preset names to human-readable descriptions.
252
+ * @example { h1: 'Heading 1 (36px/44px, semibold)', t1: 'Text large (18px/24px)' }
253
+ */
254
+ presetDescriptions?: Record<string, string>;
255
+ /**
256
+ * Descriptions for state aliases, shown on hover in the extension.
257
+ * Maps state names to human-readable descriptions.
258
+ * @example { '@mobile': 'Mobile viewport (width < 768px)' }
259
+ */
260
+ stateDescriptions?: Record<string, string>;
261
+ }
262
+ //#endregion
263
+ //#region src/tasty.d.ts
264
+ type StyleList = readonly (keyof { [key in keyof StylesInterface]: StylesInterface[key] })[];
265
+ /** Type descriptor for a single mod prop: a JS constructor or an enum array. */
266
+ type ModPropDef = BooleanConstructor | StringConstructor | NumberConstructor | readonly string[];
267
+ /** Array form: list of mod key names (types default to ModValue). */
268
+ type ModPropsList = readonly string[];
269
+ /** Object form: map of mod key names to type descriptors. */
270
+ type ModPropsMap = Readonly<Record<string, ModPropDef>>;
271
+ /** Either array or object form accepted by `modProps` option. */
272
+ type ModPropsInput = ModPropsList | ModPropsMap;
273
+ /** Resolve a single ModPropDef to its TypeScript type. */
274
+ type ResolveModPropDef<T> = T extends BooleanConstructor ? boolean : T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends readonly (infer U)[] ? U : ModValue;
275
+ /** Resolve an entire `modProps` definition to the component prop types it adds. */
276
+ type ResolveModProps<M extends ModPropsInput> = M extends readonly (infer K)[] ? Partial<Record<K & string, ModValue>> : M extends Record<string, ModPropDef> ? { [key in keyof M & string]?: ResolveModPropDef<M[key]> } : {};
277
+ /** A token key with `$` or `#` prefix. */
278
+ type TokenPropKey = `$${string}` | `#${string}`;
279
+ /** Array form: list of prop names. Names ending in `Color` map to `#` color tokens. */
280
+ type TokenPropsList = readonly string[];
281
+ /** Object form: prop name -> token key with explicit `$`/`#` prefix. */
282
+ type TokenPropsMap = Readonly<Record<string, TokenPropKey>>;
283
+ /** Either array or object form accepted by `tokenProps` option. */
284
+ type TokenPropsInput = TokenPropsList | TokenPropsMap;
285
+ /** Resolve a `tokenProps` definition to the component prop types it adds. */
286
+ type ResolveTokenProps<TP extends TokenPropsInput> = TP extends readonly (infer K)[] ? Partial<Record<K & string, TokenValue>> : TP extends Record<string, TokenPropKey> ? Partial<Record<keyof TP & string, TokenValue>> : {};
287
+ type PropsWithStyles = {
288
+ styles?: Styles;
289
+ } & Omit<Props, 'styles'>;
290
+ type VariantMap = Record<string, Styles>;
291
+ interface WithVariant<V extends VariantMap> {
292
+ variant?: keyof V;
293
+ }
294
+ /**
295
+ * Definition for a sub-element. Can be either:
296
+ * - A tag name string (e.g., 'div', 'span')
297
+ * - An object with configuration options
298
+ */
299
+ type SubElementDefinition<Tag extends keyof JSX.IntrinsicElements = 'div'> = Tag | {
300
+ as?: Tag;
301
+ qa?: string;
302
+ qaVal?: string | number;
303
+ };
304
+ /**
305
+ * Map of sub-element definitions.
306
+ * Keys become the sub-component names (e.g., { Icon: 'span' } -> Component.Icon)
307
+ */
308
+ type ElementsDefinition = Record<string, SubElementDefinition<keyof JSX.IntrinsicElements>>;
309
+ /**
310
+ * Resolves the tag from a SubElementDefinition
311
+ */
312
+ type ResolveElementTag<T extends SubElementDefinition<any>> = T extends string ? T : T extends {
313
+ as?: infer Tag;
314
+ } ? Tag extends keyof JSX.IntrinsicElements ? Tag : 'div' : 'div';
315
+ /**
316
+ * Props for sub-element components.
317
+ * Combines HTML attributes with tasty-specific props (qa, qaVal, mods, tokens, isDisabled, etc.)
318
+ */
319
+ type SubElementProps<Tag extends keyof JSX.IntrinsicElements = 'div'> = Omit<JSX.IntrinsicElements[Tag], 'ref' | 'color' | 'content' | 'translate'> & {
320
+ qa?: string;
321
+ qaVal?: string | number;
322
+ mods?: Mods;
323
+ tokens?: Tokens;
324
+ isDisabled?: boolean;
325
+ isHidden?: boolean;
326
+ isChecked?: boolean;
327
+ };
328
+ /**
329
+ * Generates the sub-element component types from an ElementsDefinition
330
+ */
331
+ type SubElementComponents<E extends ElementsDefinition> = { [K in keyof E]: ForwardRefExoticComponent<PropsWithoutRef<SubElementProps<ResolveElementTag<E[K]>>> & RefAttributes<ResolveElementTag<E[K]> extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[ResolveElementTag<E[K]>] : Element$1>> };
332
+ /**
333
+ * Base type containing common properties shared between TastyProps and TastyElementOptions.
334
+ * Separated to avoid code duplication while allowing different type constraints.
335
+ */
336
+ type TastyBaseProps<K extends StyleList, V extends VariantMap, E extends ElementsDefinition = Record<string, never>, M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]> = {
337
+ /** Default styles of the element. */styles?: Styles; /** The list of styles that can be provided by props */
338
+ styleProps?: K; /** Modifier keys exposed as top-level component props (array or typed object form). */
339
+ modProps?: M; /** Token keys exposed as top-level component props (array or typed object form). */
340
+ tokenProps?: TP;
341
+ element?: BaseProps['element'];
342
+ variants?: V; /** Default tokens for inline CSS custom properties */
343
+ tokens?: Tokens; /** Sub-element definitions for compound components */
344
+ elements?: E;
345
+ } & Pick<BaseProps, 'qa' | 'qaVal'> & WithVariant<V>;
346
+ type TastyProps<K extends StyleList, V extends VariantMap, E extends ElementsDefinition = Record<string, never>, DefaultProps = Props, M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]> = TastyBaseProps<K, V, E, M, TP> & {
347
+ /** The tag name of the element or a React component. */as?: string | ComponentType<any>;
348
+ } & Partial<Omit<DefaultProps, 'as' | 'styles' | 'styleProps' | 'modProps' | 'tokenProps' | 'tokens'>>;
349
+ /**
350
+ * TastyElementOptions is used for the element-creation overload of tasty().
351
+ * It includes a Tag generic that allows TypeScript to infer the correct
352
+ * HTML element type from the `as` prop.
353
+ *
354
+ * Note: Uses a separate index signature with `unknown` instead of inheriting
355
+ * from Props (which has `any`) to ensure strict type checking for styles.
356
+ */
357
+ type TastyElementOptions<K extends StyleList, V extends VariantMap, E extends ElementsDefinition = Record<string, never>, Tag extends keyof JSX.IntrinsicElements = 'div', M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]> = TastyBaseProps<K, V, E, M, TP> & {
358
+ /** The tag name of the element or a React component. */as?: Tag | ComponentType<any>;
359
+ } & Record<string, unknown>;
360
+ type AllBasePropsWithMods<K extends StyleList, M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]> = AllBaseProps & { [key in K[number]]?: StyleValue<StylesInterface[key]> | StyleValueStateMap<StylesInterface[key]> } & BaseStyleProps & ResolveModProps<M> & ResolveTokenProps<TP>;
361
+ /**
362
+ * Keys from BasePropsWithoutChildren that should be omitted from HTML attributes.
363
+ * This excludes event handlers so they can be properly typed from JSX.IntrinsicElements.
364
+ */
365
+ type TastySpecificKeys = 'as' | 'qa' | 'qaVal' | 'element' | 'styles' | 'breakpoints' | 'block' | 'inline' | 'mods' | 'isHidden' | 'isDisabled' | 'css' | 'style' | 'theme' | 'tokens' | 'ref' | 'color';
366
+ /** Extract prop key names from a ModPropsInput (array elements or object keys). */
367
+ type ModPropsKeys<M extends ModPropsInput> = M extends readonly (infer K)[] ? K & string : keyof M & string;
368
+ /** Extract prop key names from a TokenPropsInput (array elements or object keys). */
369
+ type TokenPropsKeys<TP extends TokenPropsInput> = TP extends readonly (infer K)[] ? K & string : keyof TP & string;
370
+ /**
371
+ * Props type for tasty elements that combines:
372
+ * - AllBasePropsWithMods for style props with strict tokens type
373
+ * - HTML attributes for flexibility (properly typed based on tag)
374
+ * - Variant support
375
+ *
376
+ * AllBasePropsWithMods carries generic AllHTMLAttributes which can conflict
377
+ * with tag-specific types from JSX.IntrinsicElements (e.g. `src` is `string`
378
+ * in AllHTMLAttributes but `string | Blob` in ImgHTMLAttributes). To avoid
379
+ * intersection-narrowing, we Omit tag-specific keys from AllBasePropsWithMods
380
+ * (keeping TastySpecificKeys, style props, mod props, and token props) and let
381
+ * JSX.IntrinsicElements supply the authoritative HTML attribute types.
382
+ */
383
+ type TastyElementProps<K extends StyleList, V extends VariantMap, Tag extends keyof JSX.IntrinsicElements = 'div', M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]> = Omit<AllBasePropsWithMods<K, M, TP>, Exclude<keyof JSX.IntrinsicElements[Tag], TastySpecificKeys | K[number] | ModPropsKeys<M> | TokenPropsKeys<TP>>> & WithVariant<V> & Omit<Omit<AllHTMLAttributes<HTMLElement>, keyof JSX.IntrinsicElements[Tag]> & JSX.IntrinsicElements[Tag], TastySpecificKeys | K[number] | ModPropsKeys<M> | TokenPropsKeys<TP>>;
384
+ type TastyComponentPropsWithDefaults<Props extends PropsWithStyles, DefaultProps extends Partial<Props>> = keyof DefaultProps extends never ? Props : { [key in Extract<keyof Props, keyof DefaultProps>]?: Props[key] } & { [key in keyof Omit<Props, keyof DefaultProps>]: Props[key] };
385
+ declare function tasty<K extends StyleList, V extends VariantMap, E extends ElementsDefinition = Record<string, never>, Tag extends keyof JSX.IntrinsicElements = 'div', M extends ModPropsInput = readonly never[], TP extends TokenPropsInput = readonly never[]>(options: TastyElementOptions<K, V, E, Tag, M, TP>, secondArg?: never): ForwardRefExoticComponent<PropsWithoutRef<TastyElementProps<K, V, Tag, M, TP>> & RefAttributes<unknown>> & SubElementComponents<E>;
386
+ declare function tasty<Props extends PropsWithStyles, DefaultProps extends Partial<Props> = Partial<Props>>(Component: ComponentType<Props>, options?: TastyProps<never, never, Record<string, never>, Props>): ComponentType<TastyComponentPropsWithDefaults<Props, DefaultProps>>;
387
+ declare const Element$1: ForwardRefExoticComponent<Omit<AllBasePropsWithMods<StyleList, readonly never[], readonly never[]>, "slot" | "title" | "children" | "className" | "role" | "id" | "hidden" | "prefix" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "key"> & WithVariant<VariantMap> & Omit<Omit<AllHTMLAttributes<HTMLElement>, keyof _$react.ClassAttributes<HTMLDivElement> | keyof _$react.HTMLAttributes<HTMLDivElement>> & _$react.ClassAttributes<HTMLDivElement> & _$react.HTMLAttributes<HTMLDivElement>, "style" | "clipPath" | "filter" | "image" | "marker" | "mask" | "fill" | "display" | "font" | "preset" | "hide" | "whiteSpace" | "opacity" | "transition" | "gridArea" | "order" | "gridColumn" | "gridRow" | "placeSelf" | "alignSelf" | "justifySelf" | "zIndex" | "margin" | "inset" | "position" | "scrollMargin" | "padding" | "paddingInline" | "paddingBlock" | "overflow" | "scrollbar" | "textAlign" | "border" | "radius" | "shadow" | "outline" | "color" | "fade" | "textTransform" | "fontWeight" | "fontStyle" | "width" | "height" | "flexBasis" | "flexGrow" | "flexShrink" | "flex" | "flow" | "place" | "placeItems" | "placeContent" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "align" | "justify" | "gap" | "columnGap" | "rowGap" | "gridColumns" | "gridRows" | "gridTemplate" | "gridAreas" | "top" | "right" | "bottom" | "left" | "mods" | "css" | "content" | "translate" | "as" | "background" | "all" | "page" | "qa" | "qaVal" | "scrollMarginTop" | "scrollMarginRight" | "scrollMarginBottom" | "scrollMarginLeft" | "scrollMarginBlock" | "scrollMarginInline" | "accentColor" | "alignTracks" | "alignmentBaseline" | "anchorName" | "anchorScope" | "animationComposition" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationRangeEnd" | "animationRangeStart" | "animationTimeline" | "animationTimingFunction" | "appearance" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "baselineShift" | "blockSize" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderEndEndRadius" | "borderEndStartRadius" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartEndRadius" | "borderStartStartRadius" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "boxDecorationBreak" | "boxShadow" | "boxSizing" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caretColor" | "caretShape" | "clear" | "clipRule" | "colorAdjust" | "colorInterpolationFilters" | "colorScheme" | "columnCount" | "columnFill" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "contain" | "containIntrinsicBlockSize" | "containIntrinsicHeight" | "containIntrinsicInlineSize" | "containIntrinsicWidth" | "containerName" | "containerType" | "contentVisibility" | "counterIncrement" | "counterReset" | "counterSet" | "cursor" | "cx" | "cy" | "d" | "direction" | "dominantBaseline" | "emptyCells" | "fieldSizing" | "fillOpacity" | "fillRule" | "flexDirection" | "flexWrap" | "float" | "floodColor" | "floodOpacity" | "fontFamily" | "fontFeatureSettings" | "fontKerning" | "fontLanguageOverride" | "fontOpticalSizing" | "fontPalette" | "fontSize" | "fontSizeAdjust" | "fontSmooth" | "fontSynthesis" | "fontSynthesisPosition" | "fontSynthesisSmallCaps" | "fontSynthesisStyle" | "fontSynthesisWeight" | "fontVariant" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantEmoji" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "fontWidth" | "forcedColorAdjust" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "hangingPunctuation" | "hyphenateCharacter" | "hyphenateLimitChars" | "hyphens" | "imageOrientation" | "imageRendering" | "imageResolution" | "initialLetter" | "initialLetterAlign" | "inlineSize" | "insetBlockEnd" | "insetBlockStart" | "insetInlineEnd" | "insetInlineStart" | "interpolateSize" | "isolation" | "justifyTracks" | "letterSpacing" | "lightingColor" | "lineBreak" | "lineHeight" | "lineHeightStep" | "listStyleImage" | "listStylePosition" | "listStyleType" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "marginTrim" | "markerEnd" | "markerMid" | "markerStart" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "masonryAutoFlow" | "mathDepth" | "mathShift" | "mathStyle" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxLines" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "motionDistance" | "motionPath" | "motionRotation" | "objectFit" | "objectPosition" | "objectViewBox" | "offsetAnchor" | "offsetDistance" | "offsetPath" | "offsetPosition" | "offsetRotate" | "offsetRotation" | "orphans" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflowAnchor" | "overflowBlock" | "overflowClipBox" | "overflowClipMargin" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "overlay" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "paintOrder" | "perspective" | "perspectiveOrigin" | "pointerEvents" | "positionAnchor" | "positionArea" | "positionTryFallbacks" | "positionTryOrder" | "positionVisibility" | "printColorAdjust" | "quotes" | "r" | "resize" | "rotate" | "rubyAlign" | "rubyMerge" | "rubyOverhang" | "rubyPosition" | "rx" | "ry" | "scale" | "scrollBehavior" | "scrollInitialTarget" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapMarginBottom" | "scrollSnapMarginLeft" | "scrollSnapMarginRight" | "scrollSnapMarginTop" | "scrollSnapStop" | "scrollSnapType" | "scrollTimelineAxis" | "scrollTimelineName" | "scrollbarColor" | "scrollbarGutter" | "scrollbarWidth" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "shapeRendering" | "speakAs" | "stopColor" | "stopOpacity" | "stroke" | "strokeColor" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "tabSize" | "tableLayout" | "textAlignLast" | "textAnchor" | "textAutospace" | "textBox" | "textBoxEdge" | "textBoxTrim" | "textCombineUpright" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkip" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textJustify" | "textOrientation" | "textOverflow" | "textRendering" | "textShadow" | "textSizeAdjust" | "textSpacingTrim" | "textUnderlineOffset" | "textUnderlinePosition" | "textWrapMode" | "textWrapStyle" | "timelineScope" | "touchAction" | "transform" | "transformBox" | "transformOrigin" | "transformStyle" | "transitionBehavior" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "unicodeBidi" | "userSelect" | "vectorEffect" | "verticalAlign" | "viewTimelineAxis" | "viewTimelineInset" | "viewTimelineName" | "viewTransitionClass" | "viewTransitionName" | "visibility" | "whiteSpaceCollapse" | "widows" | "willChange" | "wordBreak" | "wordSpacing" | "wordWrap" | "writingMode" | "x" | "y" | "zoom" | "animation" | "animationRange" | "backgroundPosition" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockStart" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderColor" | "borderImage" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineStart" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "caret" | "columnRule" | "columns" | "containIntrinsicSize" | "container" | "flexFlow" | "grid" | "insetBlock" | "insetInline" | "lineClamp" | "listStyle" | "marginBlock" | "marginInline" | "maskBorder" | "motion" | "offset" | "overscrollBehavior" | "positionTry" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingInline" | "scrollSnapMargin" | "scrollTimeline" | "textDecoration" | "textEmphasis" | "textWrap" | "viewTimeline" | "MozAnimationDelay" | "MozAnimationDirection" | "MozAnimationDuration" | "MozAnimationFillMode" | "MozAnimationIterationCount" | "MozAnimationName" | "MozAnimationPlayState" | "MozAnimationTimingFunction" | "MozAppearance" | "MozBackfaceVisibility" | "MozBinding" | "MozBorderBottomColors" | "MozBorderEndColor" | "MozBorderEndStyle" | "MozBorderEndWidth" | "MozBorderLeftColors" | "MozBorderRightColors" | "MozBorderStartColor" | "MozBorderStartStyle" | "MozBorderTopColors" | "MozBoxSizing" | "MozColumnRuleColor" | "MozColumnRuleStyle" | "MozColumnRuleWidth" | "MozColumnWidth" | "MozContextProperties" | "MozFontFeatureSettings" | "MozFontLanguageOverride" | "MozHyphens" | "MozMarginEnd" | "MozMarginStart" | "MozOrient" | "MozOsxFontSmoothing" | "MozOutlineRadiusBottomleft" | "MozOutlineRadiusBottomright" | "MozOutlineRadiusTopleft" | "MozOutlineRadiusTopright" | "MozPaddingEnd" | "MozPaddingStart" | "MozPerspective" | "MozPerspectiveOrigin" | "MozStackSizing" | "MozTabSize" | "MozTextBlink" | "MozTextSizeAdjust" | "MozTransform" | "MozTransformOrigin" | "MozTransformStyle" | "MozUserModify" | "MozUserSelect" | "MozWindowDragging" | "MozWindowShadow" | "msAccelerator" | "msBlockProgression" | "msContentZoomChaining" | "msContentZoomLimitMax" | "msContentZoomLimitMin" | "msContentZoomSnapPoints" | "msContentZoomSnapType" | "msContentZooming" | "msFilter" | "msFlexDirection" | "msFlexPositive" | "msFlowFrom" | "msFlowInto" | "msGridColumns" | "msGridRows" | "msHighContrastAdjust" | "msHyphenateLimitChars" | "msHyphenateLimitLines" | "msHyphenateLimitZone" | "msHyphens" | "msImeAlign" | "msLineBreak" | "msOrder" | "msOverflowStyle" | "msOverflowX" | "msOverflowY" | "msScrollChaining" | "msScrollLimitXMax" | "msScrollLimitXMin" | "msScrollLimitYMax" | "msScrollLimitYMin" | "msScrollRails" | "msScrollSnapPointsX" | "msScrollSnapPointsY" | "msScrollSnapType" | "msScrollTranslation" | "msScrollbar3dlightColor" | "msScrollbarArrowColor" | "msScrollbarBaseColor" | "msScrollbarDarkshadowColor" | "msScrollbarFaceColor" | "msScrollbarHighlightColor" | "msScrollbarShadowColor" | "msScrollbarTrackColor" | "msTextAutospace" | "msTextCombineHorizontal" | "msTextOverflow" | "msTouchAction" | "msTouchSelect" | "msTransform" | "msTransformOrigin" | "msTransitionDelay" | "msTransitionDuration" | "msTransitionProperty" | "msTransitionTimingFunction" | "msUserSelect" | "msWordBreak" | "msWrapFlow" | "msWrapMargin" | "msWrapThrough" | "msWritingMode" | "WebkitAlignContent" | "WebkitAlignItems" | "WebkitAlignSelf" | "WebkitAnimationDelay" | "WebkitAnimationDirection" | "WebkitAnimationDuration" | "WebkitAnimationFillMode" | "WebkitAnimationIterationCount" | "WebkitAnimationName" | "WebkitAnimationPlayState" | "WebkitAnimationTimingFunction" | "WebkitAppearance" | "WebkitBackdropFilter" | "WebkitBackfaceVisibility" | "WebkitBackgroundClip" | "WebkitBackgroundOrigin" | "WebkitBackgroundSize" | "WebkitBorderBeforeColor" | "WebkitBorderBeforeStyle" | "WebkitBorderBeforeWidth" | "WebkitBorderBottomLeftRadius" | "WebkitBorderBottomRightRadius" | "WebkitBorderImageSlice" | "WebkitBorderTopLeftRadius" | "WebkitBorderTopRightRadius" | "WebkitBoxDecorationBreak" | "WebkitBoxReflect" | "WebkitBoxShadow" | "WebkitBoxSizing" | "WebkitClipPath" | "WebkitColumnCount" | "WebkitColumnFill" | "WebkitColumnRuleColor" | "WebkitColumnRuleStyle" | "WebkitColumnRuleWidth" | "WebkitColumnSpan" | "WebkitColumnWidth" | "WebkitFilter" | "WebkitFlexBasis" | "WebkitFlexDirection" | "WebkitFlexGrow" | "WebkitFlexShrink" | "WebkitFlexWrap" | "WebkitFontFeatureSettings" | "WebkitFontKerning" | "WebkitFontSmoothing" | "WebkitFontVariantLigatures" | "WebkitHyphenateCharacter" | "WebkitHyphens" | "WebkitInitialLetter" | "WebkitJustifyContent" | "WebkitLineBreak" | "WebkitLineClamp" | "WebkitLogicalHeight" | "WebkitLogicalWidth" | "WebkitMarginEnd" | "WebkitMarginStart" | "WebkitMaskAttachment" | "WebkitMaskBoxImageOutset" | "WebkitMaskBoxImageRepeat" | "WebkitMaskBoxImageSlice" | "WebkitMaskBoxImageSource" | "WebkitMaskBoxImageWidth" | "WebkitMaskClip" | "WebkitMaskComposite" | "WebkitMaskImage" | "WebkitMaskOrigin" | "WebkitMaskPosition" | "WebkitMaskPositionX" | "WebkitMaskPositionY" | "WebkitMaskRepeat" | "WebkitMaskRepeatX" | "WebkitMaskRepeatY" | "WebkitMaskSize" | "WebkitMaxInlineSize" | "WebkitOrder" | "WebkitOverflowScrolling" | "WebkitPaddingEnd" | "WebkitPaddingStart" | "WebkitPerspective" | "WebkitPerspectiveOrigin" | "WebkitPrintColorAdjust" | "WebkitRubyPosition" | "WebkitScrollSnapType" | "WebkitShapeMargin" | "WebkitTapHighlightColor" | "WebkitTextCombine" | "WebkitTextDecorationColor" | "WebkitTextDecorationLine" | "WebkitTextDecorationSkip" | "WebkitTextDecorationStyle" | "WebkitTextEmphasisColor" | "WebkitTextEmphasisPosition" | "WebkitTextEmphasisStyle" | "WebkitTextFillColor" | "WebkitTextOrientation" | "WebkitTextSizeAdjust" | "WebkitTextStrokeColor" | "WebkitTextStrokeWidth" | "WebkitTextUnderlinePosition" | "WebkitTouchCallout" | "WebkitTransform" | "WebkitTransformOrigin" | "WebkitTransformStyle" | "WebkitTransitionDelay" | "WebkitTransitionDuration" | "WebkitTransitionProperty" | "WebkitTransitionTimingFunction" | "WebkitUserModify" | "WebkitUserSelect" | "WebkitWritingMode" | "MozAnimation" | "MozBorderImage" | "MozColumnRule" | "MozColumns" | "MozOutlineRadius" | "MozTransition" | "msContentZoomLimit" | "msContentZoomSnap" | "msFlex" | "msScrollLimit" | "msScrollSnapX" | "msScrollSnapY" | "msTransition" | "WebkitAnimation" | "WebkitBorderBefore" | "WebkitBorderImage" | "WebkitBorderRadius" | "WebkitColumnRule" | "WebkitColumns" | "WebkitFlex" | "WebkitFlexFlow" | "WebkitMask" | "WebkitMaskBoxImage" | "WebkitTextEmphasis" | "WebkitTextStroke" | "WebkitTransition" | "boxAlign" | "boxDirection" | "boxFlex" | "boxFlexGroup" | "boxLines" | "boxOrdinalGroup" | "boxOrient" | "boxPack" | "clip" | "fontStretch" | "gridColumnGap" | "gridGap" | "gridRowGap" | "imeMode" | "insetArea" | "offsetBlock" | "offsetBlockEnd" | "offsetBlockStart" | "offsetInline" | "offsetInlineEnd" | "offsetInlineStart" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "positionTryOptions" | "scrollSnapCoordinate" | "scrollSnapDestination" | "scrollSnapPointsX" | "scrollSnapPointsY" | "scrollSnapTypeX" | "scrollSnapTypeY" | "KhtmlBoxAlign" | "KhtmlBoxDirection" | "KhtmlBoxFlex" | "KhtmlBoxFlexGroup" | "KhtmlBoxLines" | "KhtmlBoxOrdinalGroup" | "KhtmlBoxOrient" | "KhtmlBoxPack" | "KhtmlLineBreak" | "KhtmlOpacity" | "KhtmlUserSelect" | "MozBackgroundClip" | "MozBackgroundOrigin" | "MozBackgroundSize" | "MozBorderRadius" | "MozBorderRadiusBottomleft" | "MozBorderRadiusBottomright" | "MozBorderRadiusTopleft" | "MozBorderRadiusTopright" | "MozBoxAlign" | "MozBoxDirection" | "MozBoxFlex" | "MozBoxOrdinalGroup" | "MozBoxOrient" | "MozBoxPack" | "MozBoxShadow" | "MozColumnCount" | "MozColumnFill" | "MozFloatEdge" | "MozForceBrokenImageIcon" | "MozOpacity" | "MozOutline" | "MozOutlineColor" | "MozOutlineStyle" | "MozOutlineWidth" | "MozTextAlignLast" | "MozTextDecorationColor" | "MozTextDecorationLine" | "MozTextDecorationStyle" | "MozTransitionDelay" | "MozTransitionDuration" | "MozTransitionProperty" | "MozTransitionTimingFunction" | "MozUserFocus" | "MozUserInput" | "msImeMode" | "OAnimation" | "OAnimationDelay" | "OAnimationDirection" | "OAnimationDuration" | "OAnimationFillMode" | "OAnimationIterationCount" | "OAnimationName" | "OAnimationPlayState" | "OAnimationTimingFunction" | "OBackgroundSize" | "OBorderImage" | "OObjectFit" | "OObjectPosition" | "OTabSize" | "OTextOverflow" | "OTransform" | "OTransformOrigin" | "OTransition" | "OTransitionDelay" | "OTransitionDuration" | "OTransitionProperty" | "OTransitionTimingFunction" | "WebkitBoxAlign" | "WebkitBoxDirection" | "WebkitBoxFlex" | "WebkitBoxFlexGroup" | "WebkitBoxLines" | "WebkitBoxOrdinalGroup" | "WebkitBoxOrient" | "WebkitBoxPack" | "colorInterpolation" | "colorRendering" | "glyphOrientationVertical" | "svgFill" | "boldFontWeight" | "@keyframes" | "@properties" | "@fontFace" | "@counterStyle" | "recipe" | "element" | "styles" | "breakpoints" | "block" | "inline" | "isHidden" | "isDisabled" | "theme" | "tokens" | "ref"> & RefAttributes<unknown>> & SubElementComponents<Record<string, never>>;
388
+ //#endregion
389
+ //#region src/hooks/useStyles.d.ts
390
+ /**
391
+ * Tasty styles object to generate CSS classes for.
392
+ * Can be undefined or empty object for no styles.
393
+ */
394
+ type UseStylesOptions = Styles | undefined;
395
+ interface UseStylesResult {
396
+ /**
397
+ * Generated className(s) to apply to the element.
398
+ * Can be empty string if no styles are provided.
399
+ * With chunking enabled, may contain multiple space-separated class names.
400
+ */
401
+ className: string;
402
+ }
403
+ /**
404
+ * Hook to generate CSS classes from Tasty styles.
405
+ * Thin wrapper around `computeStyles()` that adds React context-based
406
+ * SSR collector discovery for backward compatibility with TastyRegistry.
407
+ *
408
+ * For hook-free usage (e.g. in server components), use `computeStyles()` directly.
409
+ *
410
+ * @example
411
+ * ```tsx
412
+ * function MyComponent() {
413
+ * const { className } = useStyles({
414
+ * padding: '2x',
415
+ * fill: '#purple',
416
+ * radius: '1r',
417
+ * });
418
+ *
419
+ * return <div className={className}>Styled content</div>;
420
+ * }
421
+ * ```
422
+ */
423
+ declare function useStyles(styles: UseStylesOptions, options?: {
424
+ root?: Document | ShadowRoot;
425
+ }): UseStylesResult;
426
+ //#endregion
427
+ //#region src/hooks/useGlobalStyles.d.ts
428
+ interface UseGlobalStylesOptions {
429
+ /**
430
+ * Stable identifier for update tracking (client-only). When provided,
431
+ * changing the styles will dispose the previous injection and inject the
432
+ * new one. Without an id, the selector is used as the slot key.
433
+ * In RSC mode, renders are single-pass so update tracking does not apply.
434
+ */
435
+ id?: string;
436
+ /** Shadow root or document to inject into (client only). */
437
+ root?: Document | ShadowRoot;
438
+ }
439
+ /**
440
+ * Inject global styles for a given selector.
441
+ * Useful for styling elements by selector without generating classNames.
442
+ *
443
+ * SSR-aware: when a ServerStyleCollector is available, CSS is collected
444
+ * during the render phase instead of being injected into the DOM.
445
+ *
446
+ * Works in all environments: client, SSR with collector, and React Server Components.
447
+ *
448
+ * Injected styles are permanent — they are not cleaned up on component unmount.
449
+ * Use the `id` option for update tracking when styles change over the
450
+ * component lifecycle.
451
+ *
452
+ * @param selector - CSS selector to apply styles to (e.g., '.my-class', ':root', 'body')
453
+ * @param styles - Tasty styles object
454
+ * @param options - Optional settings including `id` for update tracking
455
+ *
456
+ * @example
457
+ * ```tsx
458
+ * function MyComponent() {
459
+ * useGlobalStyles('.card', {
460
+ * padding: '2x',
461
+ * radius: '1r',
462
+ * fill: '#white',
463
+ * });
464
+ *
465
+ * return <div className="card">Content</div>;
466
+ * }
467
+ * ```
468
+ */
469
+ declare function useGlobalStyles(selector: string, styles?: Styles, options?: UseGlobalStylesOptions): void;
470
+ //#endregion
471
+ //#region src/hooks/useRawCSS.d.ts
472
+ interface UseRawCSSOptions {
473
+ /**
474
+ * Shadow root or document to inject into.
475
+ * Note: `root` is not part of the update-tracking comparison — changing
476
+ * only the root for the same id/content will not re-inject.
477
+ */
478
+ root?: Document | ShadowRoot;
479
+ /**
480
+ * Stable identifier for update tracking (client-only). When provided,
481
+ * changing the CSS content will dispose the previous injection and inject
482
+ * the new one. Without an id, deduplication is purely content-based (same
483
+ * CSS is injected only once). In RSC mode, renders are single-pass so
484
+ * update tracking does not apply.
485
+ */
486
+ id?: string;
487
+ }
488
+ declare function useRawCSS(css: string, options?: UseRawCSSOptions): void;
489
+ declare function useRawCSS(factory: () => string, deps: readonly unknown[], options?: UseRawCSSOptions): void;
490
+ //#endregion
491
+ //#region src/hooks/useKeyframes.d.ts
492
+ interface UseKeyframesOptions {
493
+ name?: string;
494
+ root?: Document | ShadowRoot;
495
+ }
496
+ /**
497
+ * Inject CSS @keyframes and return the generated animation name.
498
+ * Deduplicates by content — identical steps always return the same name.
499
+ *
500
+ * Works in all environments: client, SSR with collector, and React Server Components.
501
+ *
502
+ * @example Basic usage - steps object is the dependency
503
+ * ```tsx
504
+ * function MyComponent() {
505
+ * const bounce = useKeyframes({
506
+ * '0%': { transform: 'scale(1)' },
507
+ * '50%': { transform: 'scale(1.1)' },
508
+ * '100%': { transform: 'scale(1)' },
509
+ * });
510
+ *
511
+ * return <div style={{ animation: `${bounce} 1s infinite` }}>Bouncing</div>;
512
+ * }
513
+ * ```
514
+ *
515
+ * @example With custom name
516
+ * ```tsx
517
+ * function MyComponent() {
518
+ * const fadeIn = useKeyframes(
519
+ * { from: { opacity: 0 }, to: { opacity: 1 } },
520
+ * { name: 'fadeIn' }
521
+ * );
522
+ *
523
+ * return <div style={{ animation: `${fadeIn} 0.3s ease-out` }}>Fading in</div>;
524
+ * }
525
+ * ```
526
+ *
527
+ * @example Factory function with dependencies
528
+ * ```tsx
529
+ * function MyComponent({ scale }: { scale: number }) {
530
+ * const pulse = useKeyframes(
531
+ * () => ({
532
+ * '0%': { transform: 'scale(1)' },
533
+ * '100%': { transform: `scale(${scale})` },
534
+ * }),
535
+ * [scale]
536
+ * );
537
+ *
538
+ * return <div style={{ animation: `${pulse} 1s infinite` }}>Pulsing</div>;
539
+ * }
540
+ * ```
541
+ */
542
+ declare function useKeyframes(steps: KeyframesSteps, options?: UseKeyframesOptions): string;
543
+ declare function useKeyframes(factory: () => KeyframesSteps, deps: readonly unknown[], options?: UseKeyframesOptions): string;
544
+ //#endregion
545
+ //#region src/hooks/useProperty.d.ts
546
+ interface UsePropertyOptions {
547
+ /**
548
+ * CSS syntax string for the property (e.g., '<color>', '<length>', '<angle>').
549
+ * For color tokens (#name), this is auto-set to '<color>' and cannot be overridden.
550
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@property/syntax
551
+ */
552
+ syntax?: string;
553
+ /**
554
+ * Whether the property inherits from parent elements
555
+ * @default true
556
+ */
557
+ inherits?: boolean;
558
+ /**
559
+ * Initial value for the property.
560
+ * For color tokens (#name), this defaults to 'transparent' if not specified.
561
+ */
562
+ initialValue?: string | number;
563
+ /**
564
+ * Shadow root or document to inject into
565
+ */
566
+ root?: Document | ShadowRoot;
567
+ }
568
+ /**
569
+ * Register a CSS @property custom property.
570
+ * This enables advanced features like animating custom properties.
571
+ *
572
+ * Note: @property rules are global and persistent once defined.
573
+ * The function ensures the property is only registered once per root.
574
+ *
575
+ * Accepts tasty token syntax for the property name:
576
+ * - `$name` → defines `--name`
577
+ * - `#name` → defines `--name-color` (auto-sets syntax: '<color>', defaults initialValue: 'transparent')
578
+ * - `--name` → defines `--name` (legacy format)
579
+ *
580
+ * Works in all environments: client, SSR with collector, and React Server Components.
581
+ *
582
+ * @param name - The property token ($name, #name) or CSS property name (--name)
583
+ * @param options - Property configuration
584
+ *
585
+ * @example Basic property with token syntax
586
+ * ```tsx
587
+ * function Spinner() {
588
+ * useProperty('$rotation', {
589
+ * syntax: '<angle>',
590
+ * inherits: false,
591
+ * initialValue: '0deg',
592
+ * });
593
+ *
594
+ * return <div className="spinner" />;
595
+ * }
596
+ * ```
597
+ *
598
+ * @example Color property with token syntax (auto-sets syntax)
599
+ * ```tsx
600
+ * function MyComponent() {
601
+ * useProperty('#theme', {
602
+ * initialValue: 'red', // syntax: '<color>' is auto-set
603
+ * });
604
+ *
605
+ * // Now --theme-color can be animated with CSS transitions
606
+ * return <div style={{ '--theme-color': 'blue' } as React.CSSProperties}>Colored</div>;
607
+ * }
608
+ * ```
609
+ *
610
+ * @example Legacy format (still supported)
611
+ * ```tsx
612
+ * function ResizableBox() {
613
+ * useProperty('--box-size', {
614
+ * syntax: '<length>',
615
+ * initialValue: '100px',
616
+ * });
617
+ *
618
+ * return <div style={{ width: 'var(--box-size)' }} />;
619
+ * }
620
+ * ```
621
+ */
622
+ declare function useProperty(name: string, options?: UsePropertyOptions): void;
623
+ //#endregion
624
+ //#region src/hooks/useFontFace.d.ts
625
+ interface UseFontFaceOptions {
626
+ root?: Document | ShadowRoot;
627
+ }
628
+ /**
629
+ * Inject CSS @font-face rules.
630
+ * Permanent — no cleanup on unmount. Deduplicates by content hash.
631
+ *
632
+ * Works in all environments: client, SSR with collector, and React Server Components.
633
+ *
634
+ * @param family - The font-family name
635
+ * @param input - Single descriptor object or array of descriptors (for multiple weights/styles)
636
+ * @param options - Optional settings (e.g. Shadow DOM root)
637
+ *
638
+ * @example Single weight
639
+ * ```tsx
640
+ * function App() {
641
+ * useFontFace('Brand Sans', {
642
+ * src: 'url("/fonts/brand-sans.woff2") format("woff2")',
643
+ * fontWeight: '400 700',
644
+ * fontDisplay: 'swap',
645
+ * });
646
+ *
647
+ * return <div style={{ fontFamily: '"Brand Sans", sans-serif' }}>Hello</div>;
648
+ * }
649
+ * ```
650
+ *
651
+ * @example Multiple weights
652
+ * ```tsx
653
+ * function App() {
654
+ * useFontFace('Brand Sans', [
655
+ * { src: 'url("/fonts/brand-regular.woff2") format("woff2")', fontWeight: 400, fontDisplay: 'swap' },
656
+ * { src: 'url("/fonts/brand-bold.woff2") format("woff2")', fontWeight: 700, fontDisplay: 'swap' },
657
+ * ]);
658
+ *
659
+ * return <div style={{ fontFamily: '"Brand Sans", sans-serif' }}>Hello</div>;
660
+ * }
661
+ * ```
662
+ */
663
+ declare function useFontFace(family: string, input: FontFaceInput, options?: UseFontFaceOptions): void;
664
+ //#endregion
665
+ //#region src/hooks/useCounterStyle.d.ts
666
+ interface UseCounterStyleOptions {
667
+ name?: string;
668
+ root?: Document | ShadowRoot;
669
+ }
670
+ /**
671
+ * Inject a CSS @counter-style rule and return the generated name.
672
+ * Permanent — no cleanup on unmount. Deduplicates by name.
673
+ *
674
+ * Works in all environments: client, SSR with collector, and React Server Components.
675
+ *
676
+ * @example Basic usage
677
+ * ```tsx
678
+ * function EmojiList() {
679
+ * const styleName = useCounterStyle({
680
+ * system: 'cyclic',
681
+ * symbols: '"👍"',
682
+ * suffix: '" "',
683
+ * }, { name: 'thumbs' });
684
+ *
685
+ * return (
686
+ * <ol style={{ listStyleType: styleName }}>
687
+ * <li>First</li>
688
+ * <li>Second</li>
689
+ * </ol>
690
+ * );
691
+ * }
692
+ * ```
693
+ *
694
+ */
695
+ declare function useCounterStyle(descriptors: CounterStyleDescriptors, options?: UseCounterStyleOptions): string;
696
+ //#endregion
697
+ //#region src/utils/get-display-name.d.ts
698
+ declare function getDisplayName<T>(Component: ElementType<T>, fallbackName?: string): string;
699
+ //#endregion
700
+ //#region src/index.d.ts
701
+ declare module './utils/css-types' {
702
+ interface CSSProperties extends CSSProperties {}
703
+ }
704
+ //#endregion
705
+ //#region src/styles/border.d.ts
706
+ /**
707
+ * Border style handler with multi-group support.
708
+ *
709
+ * Single group (backward compatible):
710
+ * - `border="1bw solid #red"` - all sides
711
+ * - `border="1bw solid #red top left"` - only top and left
712
+ *
713
+ * Multi-group (new):
714
+ * - `border="1bw #red, 2bw #blue top"` - all sides red 1bw, then top overridden to blue 2bw
715
+ * - `border="1bw, dashed top bottom, #purple left right"` - base 1bw, dashed on top/bottom, purple on left/right
716
+ *
717
+ * Later groups override earlier groups for conflicting directions.
718
+ */
719
+ declare function borderStyle({
720
+ border
721
+ }: {
722
+ border?: string | number | boolean;
723
+ }): Record<string, string> | null;
724
+ declare namespace borderStyle {
725
+ var __lookupStyles: string[];
726
+ }
727
+ //#endregion
728
+ //#region src/styles/color.d.ts
729
+ declare function colorStyle({
730
+ color
731
+ }: {
732
+ color?: string | boolean;
733
+ }): {
734
+ color: string;
735
+ } | null;
736
+ declare namespace colorStyle {
737
+ var __lookupStyles: string[];
738
+ }
739
+ //#endregion
740
+ //#region src/styles/display.d.ts
741
+ interface DisplayStyleProps {
742
+ display?: string;
743
+ hide?: boolean;
744
+ textOverflow?: string | boolean;
745
+ overflow?: string;
746
+ whiteSpace?: string;
747
+ }
748
+ /**
749
+ * Handles display, hide, textOverflow, overflow, and whiteSpace styles.
750
+ *
751
+ * Priority:
752
+ * 1. `hide` takes precedence (display: none)
753
+ * 2. Multi-line `textOverflow` forces display: -webkit-box
754
+ * 3. Single-line `textOverflow` defaults white-space to nowrap
755
+ * 4. Explicit `whiteSpace` overrides the default from `textOverflow`
756
+ */
757
+ declare function displayStyle({
758
+ display,
759
+ hide,
760
+ textOverflow,
761
+ overflow,
762
+ whiteSpace
763
+ }: DisplayStyleProps): Record<string, string | number> | null;
764
+ declare namespace displayStyle {
765
+ var __lookupStyles: string[];
766
+ }
767
+ //#endregion
768
+ //#region src/styles/fade.d.ts
769
+ declare function fadeStyle({
770
+ fade
771
+ }: {
772
+ fade?: string;
773
+ }): {
774
+ mask: string;
775
+ 'mask-composite': string;
776
+ } | null;
777
+ declare namespace fadeStyle {
778
+ var __lookupStyles: string[];
779
+ }
780
+ //#endregion
781
+ //#region src/styles/fill.d.ts
782
+ declare function fillStyle({
783
+ fill,
784
+ backgroundColor,
785
+ image,
786
+ backgroundImage,
787
+ backgroundPosition,
788
+ backgroundSize,
789
+ backgroundRepeat,
790
+ backgroundAttachment,
791
+ backgroundOrigin,
792
+ backgroundClip,
793
+ background
794
+ }: {
795
+ fill?: string;
796
+ backgroundColor?: string;
797
+ image?: string;
798
+ backgroundImage?: string;
799
+ backgroundPosition?: string;
800
+ backgroundSize?: string;
801
+ backgroundRepeat?: string;
802
+ backgroundAttachment?: string;
803
+ backgroundOrigin?: string;
804
+ backgroundClip?: string;
805
+ background?: string;
806
+ }): Record<string, string> | null;
807
+ declare namespace fillStyle {
808
+ var __lookupStyles: string[];
809
+ }
810
+ declare function svgFillStyle({
811
+ svgFill
812
+ }: {
813
+ svgFill?: string;
814
+ }): {
815
+ fill: string;
816
+ } | null;
817
+ declare namespace svgFillStyle {
818
+ var __lookupStyles: string[];
819
+ }
820
+ //#endregion
821
+ //#region src/styles/flow.d.ts
822
+ declare function flowStyle({
823
+ display,
824
+ flow
825
+ }: {
826
+ display?: string;
827
+ flow?: string;
828
+ }): {
829
+ [x: string]: string | undefined;
830
+ } | null;
831
+ declare namespace flowStyle {
832
+ var __lookupStyles: string[];
833
+ }
834
+ //#endregion
835
+ //#region src/styles/gap.d.ts
836
+ declare function gapStyle({
837
+ display,
838
+ flow,
839
+ gap
840
+ }: {
841
+ display?: string;
842
+ flow?: string;
843
+ gap?: string | number | boolean;
844
+ }): {
845
+ gap: string;
846
+ $?: undefined;
847
+ } | ({
848
+ 'margin-right': string;
849
+ 'margin-bottom': string;
850
+ $?: undefined;
851
+ } | {
852
+ $: string;
853
+ 'margin-right': string;
854
+ 'margin-bottom': string;
855
+ })[] | {
856
+ [x: string]: string;
857
+ $: string;
858
+ gap?: undefined;
859
+ } | null;
860
+ declare namespace gapStyle {
861
+ var __lookupStyles: string[];
862
+ }
863
+ //#endregion
864
+ //#region src/styles/height.d.ts
865
+ interface HeightStyleProps {
866
+ height?: string | number | boolean;
867
+ minHeight?: string | number | boolean;
868
+ maxHeight?: string | number | boolean;
869
+ }
870
+ declare function heightStyle({
871
+ height,
872
+ minHeight,
873
+ maxHeight
874
+ }: HeightStyleProps): Record<string, string | string[]> | null;
875
+ declare namespace heightStyle {
876
+ var __lookupStyles: string[];
877
+ }
878
+ //#endregion
879
+ //#region src/styles/inset.d.ts
880
+ declare function insetStyle({
881
+ inset,
882
+ insetBlock,
883
+ insetInline,
884
+ top,
885
+ right,
886
+ bottom,
887
+ left
888
+ }: {
889
+ inset?: string | number | boolean;
890
+ insetBlock?: string | number | boolean;
891
+ insetInline?: string | number | boolean;
892
+ top?: string | number | boolean;
893
+ right?: string | number | boolean;
894
+ bottom?: string | number | boolean;
895
+ left?: string | number | boolean;
896
+ }): Record<string, string> | null;
897
+ declare namespace insetStyle {
898
+ var __lookupStyles: string[];
899
+ }
900
+ //#endregion
901
+ //#region src/styles/margin.d.ts
902
+ declare function marginStyle({
903
+ margin,
904
+ marginBlock,
905
+ marginInline,
906
+ marginTop,
907
+ marginRight,
908
+ marginBottom,
909
+ marginLeft
910
+ }: {
911
+ margin?: string | number | boolean;
912
+ marginBlock?: string | number | boolean;
913
+ marginInline?: string | number | boolean;
914
+ marginTop?: string | number | boolean;
915
+ marginRight?: string | number | boolean;
916
+ marginBottom?: string | number | boolean;
917
+ marginLeft?: string | number | boolean;
918
+ }): Record<string, string> | null;
919
+ declare namespace marginStyle {
920
+ var __lookupStyles: string[];
921
+ }
922
+ //#endregion
923
+ //#region src/styles/outline.d.ts
924
+ interface OutlineStyleProps {
925
+ outline?: string | boolean | number;
926
+ outlineOffset?: string | number;
927
+ }
928
+ /**
929
+ * Generates CSS for outline property with optional offset.
930
+ *
931
+ * Syntax:
932
+ * - `outline="2px solid #red"` - outline only
933
+ * - `outline="2px solid #red / 4px"` - outline with offset (slash separator)
934
+ * - `outline="2px / 4px"` - width with offset (simpler form)
935
+ * - `outline={true}` - default 1ow solid outline
936
+ * - `outlineOffset="4px"` - offset as separate prop (can be combined with outline)
937
+ *
938
+ * Priority: slash syntax in outline takes precedence over outlineOffset prop
939
+ *
940
+ * @return CSS properties for outline and optionally outline-offset
941
+ */
942
+ declare function outlineStyle({
943
+ outline,
944
+ outlineOffset
945
+ }: OutlineStyleProps): Record<string, string> | null;
946
+ declare namespace outlineStyle {
947
+ var __lookupStyles: string[];
948
+ }
949
+ //#endregion
950
+ //#region src/styles/padding.d.ts
951
+ declare function paddingStyle({
952
+ padding,
953
+ paddingBlock,
954
+ paddingInline,
955
+ paddingTop,
956
+ paddingRight,
957
+ paddingBottom,
958
+ paddingLeft
959
+ }: {
960
+ padding?: string | number | boolean;
961
+ paddingBlock?: string | number | boolean;
962
+ paddingInline?: string | number | boolean;
963
+ paddingTop?: string | number | boolean;
964
+ paddingRight?: string | number | boolean;
965
+ paddingBottom?: string | number | boolean;
966
+ paddingLeft?: string | number | boolean;
967
+ }): Record<string, string> | null;
968
+ declare namespace paddingStyle {
969
+ var __lookupStyles: string[];
970
+ }
971
+ //#endregion
972
+ //#region src/styles/placement.d.ts
973
+ interface PlacementStyleProps {
974
+ place?: string | boolean;
975
+ placeItems?: string | boolean;
976
+ placeContent?: string | boolean;
977
+ align?: string | boolean;
978
+ justify?: string | boolean;
979
+ alignItems?: string | boolean;
980
+ alignContent?: string | boolean;
981
+ justifyItems?: string | boolean;
982
+ justifyContent?: string | boolean;
983
+ }
984
+ /**
985
+ * Unified placement handler replacing align, justify, and place.
986
+ *
987
+ * Priority (later overrides earlier):
988
+ * 1. place (lowest) — sets all 4 longhands
989
+ * 2. placeItems, placeContent, align, justify (medium) — each sets 2 longhands
990
+ * 3. alignItems, alignContent, justifyItems, justifyContent (highest) — each sets 1 longhand
991
+ */
992
+ declare function placementStyle({
993
+ place,
994
+ placeItems,
995
+ placeContent,
996
+ align,
997
+ justify,
998
+ alignItems,
999
+ alignContent,
1000
+ justifyItems,
1001
+ justifyContent
1002
+ }: PlacementStyleProps): Record<string, string> | null;
1003
+ declare namespace placementStyle {
1004
+ var __lookupStyles: string[];
1005
+ }
1006
+ //#endregion
1007
+ //#region src/styles/preset.d.ts
1008
+ interface PresetStyleProps {
1009
+ preset?: string | boolean;
1010
+ fontSize?: string | number;
1011
+ lineHeight?: string | number;
1012
+ textTransform?: string;
1013
+ letterSpacing?: string | number;
1014
+ fontWeight?: string | number;
1015
+ fontStyle?: string | boolean;
1016
+ fontFamily?: string;
1017
+ /** Alias for fontFamily with special handling for 'monospace' and boolean */
1018
+ font?: string | boolean;
1019
+ }
1020
+ /**
1021
+ * Handles typography preset and individual font properties.
1022
+ *
1023
+ * Preset syntax uses `/` to separate name from modifier:
1024
+ * - `preset="h1"` — name only
1025
+ * - `preset="h2 / strong"` — name + modifier
1026
+ * - `preset="bold"` — modifier-only shorthand (name defaults to `inherit`)
1027
+ *
1028
+ * When `preset` is defined, it sets up CSS custom properties for typography.
1029
+ * Individual font props can be used with or without `preset`:
1030
+ * - With `preset`: overrides the preset value for that property
1031
+ * - Without `preset`: outputs the CSS directly
1032
+ *
1033
+ * Number values are converted to pixels for fontSize, lineHeight, letterSpacing.
1034
+ * fontWeight accepts numbers directly (e.g., 400, 700).
1035
+ *
1036
+ * font vs fontFamily:
1037
+ * - `font` is the recommended prop with special handling (monospace, boolean, fallback)
1038
+ * - `fontFamily` is a direct value without special handling
1039
+ */
1040
+ declare function presetStyle({
1041
+ preset,
1042
+ fontSize,
1043
+ lineHeight,
1044
+ textTransform,
1045
+ letterSpacing,
1046
+ fontWeight,
1047
+ fontStyle,
1048
+ fontFamily,
1049
+ font
1050
+ }: PresetStyleProps): Styles | null;
1051
+ declare namespace presetStyle {
1052
+ var __lookupStyles: string[];
1053
+ }
1054
+ //#endregion
1055
+ //#region src/styles/radius.d.ts
1056
+ declare function radiusStyle({
1057
+ radius
1058
+ }: {
1059
+ radius?: string | number | boolean;
1060
+ }): Record<string, string> | null;
1061
+ declare namespace radiusStyle {
1062
+ var __lookupStyles: string[];
1063
+ }
1064
+ //#endregion
1065
+ //#region src/styles/scrollMargin.d.ts
1066
+ declare function scrollMarginStyle({
1067
+ scrollMargin,
1068
+ scrollMarginBlock,
1069
+ scrollMarginInline,
1070
+ scrollMarginTop,
1071
+ scrollMarginRight,
1072
+ scrollMarginBottom,
1073
+ scrollMarginLeft
1074
+ }: {
1075
+ scrollMargin?: string | number | boolean;
1076
+ scrollMarginBlock?: string | number | boolean;
1077
+ scrollMarginInline?: string | number | boolean;
1078
+ scrollMarginTop?: string | number | boolean;
1079
+ scrollMarginRight?: string | number | boolean;
1080
+ scrollMarginBottom?: string | number | boolean;
1081
+ scrollMarginLeft?: string | number | boolean;
1082
+ }): Record<string, string> | null;
1083
+ declare namespace scrollMarginStyle {
1084
+ var __lookupStyles: string[];
1085
+ }
1086
+ //#endregion
1087
+ //#region src/styles/scrollbar.d.ts
1088
+ interface ScrollbarStyleProps {
1089
+ scrollbar?: string | boolean;
1090
+ overflow?: string;
1091
+ }
1092
+ /**
1093
+ * Standard CSS scrollbar styling via `scrollbar-width`, `scrollbar-color`,
1094
+ * and `scrollbar-gutter`.
1095
+ *
1096
+ * Width values: `thin` (default), `auto`, `none`
1097
+ * Modifiers: `stable`, `both-edges`, `always`
1098
+ *
1099
+ * Note: `auto` is classified as a VALUE_KEYWORD by the parser, so it lands
1100
+ * in `values` rather than `mods`. Both locations are checked for robustness.
1101
+ */
1102
+ declare function scrollbarStyle({
1103
+ scrollbar,
1104
+ overflow
1105
+ }: ScrollbarStyleProps): Record<string, string> | null;
1106
+ declare namespace scrollbarStyle {
1107
+ var __lookupStyles: string[];
1108
+ }
1109
+ //#endregion
1110
+ //#region src/styles/shadow.d.ts
1111
+ declare function shadowStyle({
1112
+ shadow
1113
+ }: {
1114
+ shadow?: string | boolean;
1115
+ }): {
1116
+ 'box-shadow': string;
1117
+ } | null;
1118
+ declare namespace shadowStyle {
1119
+ var __lookupStyles: string[];
1120
+ }
1121
+ //#endregion
1122
+ //#region src/styles/transition.d.ts
1123
+ declare function transitionStyle({
1124
+ transition
1125
+ }: {
1126
+ transition?: string;
1127
+ }): {
1128
+ transition: string;
1129
+ } | null;
1130
+ declare namespace transitionStyle {
1131
+ var __lookupStyles: string[];
1132
+ }
1133
+ //#endregion
1134
+ //#region src/styles/width.d.ts
1135
+ interface WidthStyleProps {
1136
+ width?: string | number | boolean;
1137
+ minWidth?: string | number | boolean;
1138
+ maxWidth?: string | number | boolean;
1139
+ }
1140
+ declare function widthStyle({
1141
+ width,
1142
+ minWidth,
1143
+ maxWidth
1144
+ }: WidthStyleProps): Record<string, string | string[]> | null;
1145
+ declare namespace widthStyle {
1146
+ var __lookupStyles: string[];
1147
+ }
1148
+ //#endregion
1149
+ //#region src/styles/predefined.d.ts
1150
+ /**
1151
+ * Exported object containing wrapped predefined style handlers.
1152
+ * Users can import and call these to extend or delegate to built-in behavior.
1153
+ *
1154
+ * Internal handlers use *Style suffix for searchability.
1155
+ * External API uses short names for convenience.
1156
+ *
1157
+ * @example
1158
+ * ```ts
1159
+ * import { styleHandlers, configure } from '@tenphi/tasty';
1160
+ *
1161
+ * configure({
1162
+ * handlers: {
1163
+ * fill: ({ fill }) => {
1164
+ * if (fill?.startsWith('gradient:')) {
1165
+ * return { background: fill.slice(9) };
1166
+ * }
1167
+ * return styleHandlers.fill({ fill });
1168
+ * },
1169
+ * },
1170
+ * });
1171
+ * ```
1172
+ */
1173
+ declare const styleHandlers: {
1174
+ readonly border: typeof borderStyle;
1175
+ readonly color: typeof colorStyle;
1176
+ readonly display: typeof displayStyle;
1177
+ readonly fade: typeof fadeStyle;
1178
+ readonly fill: typeof fillStyle;
1179
+ readonly svgFill: typeof svgFillStyle;
1180
+ readonly flow: typeof flowStyle;
1181
+ readonly gap: typeof gapStyle;
1182
+ readonly height: typeof heightStyle;
1183
+ readonly inset: typeof insetStyle;
1184
+ readonly margin: typeof marginStyle;
1185
+ readonly outline: typeof outlineStyle;
1186
+ readonly padding: typeof paddingStyle;
1187
+ readonly placement: typeof placementStyle;
1188
+ readonly preset: typeof presetStyle;
1189
+ readonly radius: typeof radiusStyle;
1190
+ readonly scrollMargin: typeof scrollMarginStyle;
1191
+ readonly scrollbar: typeof scrollbarStyle;
1192
+ readonly shadow: typeof shadowStyle;
1193
+ readonly transition: typeof transitionStyle;
1194
+ readonly width: typeof widthStyle;
1195
+ };
1196
+ //#endregion
1197
+ //#region src/compute-styles.d.ts
1198
+ interface ComputeStylesResult {
1199
+ className: string;
1200
+ /** CSS text to emit as an inline <style> tag (RSC mode only). */
1201
+ css?: string;
1202
+ }
1203
+ interface ComputeStylesOptions {
1204
+ ssrCollector?: ServerStyleCollector | null;
1205
+ /** Target root for style injection (client only). Defaults to `document`. */
1206
+ root?: Document | ShadowRoot;
1207
+ }
1208
+ /**
1209
+ * Synchronous, hook-free style computation.
1210
+ *
1211
+ * Resolves recipes, categorizes style keys into chunks, renders CSS rules,
1212
+ * allocates class names, and injects / collects / returns the CSS.
1213
+ *
1214
+ * Three code paths:
1215
+ * 1. SSR collector — discovered via ALS or passed explicitly; CSS collected
1216
+ * 2. RSC inline — no collector and no `document`; CSS returned as `result.css`
1217
+ * for the caller to emit as an inline `<style>` tag
1218
+ * 3. Client inject — CSS injected synchronously into the DOM (idempotent)
1219
+ *
1220
+ * @param styles - Tasty styles object (or undefined for no styles)
1221
+ * @param options - Optional SSR collector override
1222
+ */
1223
+ declare function computeStyles(styles: Styles | undefined, options?: ComputeStylesOptions): ComputeStylesResult;
1224
+ //#endregion
1225
+ //#region src/injector/chunk-sheet-registry.d.ts
1226
+ /**
1227
+ * Global registry mapping CSS content hashes to shared constructable
1228
+ * CSSStyleSheet objects with reference counting.
1229
+ *
1230
+ * Multiple shadow roots adopting the same chunk share a single underlying
1231
+ * stylesheet object — parse once, adopt everywhere.
1232
+ */
1233
+ declare class ChunkSheetRegistry {
1234
+ private sheets;
1235
+ private sheetToHash;
1236
+ /**
1237
+ * Get or create a CSSStyleSheet for the given CSS text.
1238
+ * Increments refCount. Uses content hash as the dedup key.
1239
+ */
1240
+ acquire(cssText: string): CSSStyleSheet;
1241
+ /**
1242
+ * Decrement refCount for a sheet. When refCount reaches 0,
1243
+ * the sheet is removed from the registry.
1244
+ */
1245
+ release(sheet: CSSStyleSheet): void;
1246
+ /**
1247
+ * Bulk acquire — returns an array of CSSStyleSheet in the same order.
1248
+ */
1249
+ acquireAll(cssTexts: string[]): CSSStyleSheet[];
1250
+ /**
1251
+ * Bulk release — decrements refCount for each sheet.
1252
+ */
1253
+ releaseAll(sheets: CSSStyleSheet[]): void;
1254
+ /** Number of unique sheets currently held. */
1255
+ get size(): number;
1256
+ }
1257
+ /** Module-level singleton shared across the entire application. */
1258
+ declare const chunkSheetRegistry: ChunkSheetRegistry;
1259
+ //#endregion
1260
+ //#region src/injector/index.d.ts
1261
+ /**
1262
+ * Inject styles and return className with dispose function
1263
+ */
1264
+ declare function inject(rules: StyleResult[], options?: {
1265
+ root?: Document | ShadowRoot;
1266
+ cacheKey?: string;
1267
+ }): InjectResult;
1268
+ /**
1269
+ * Inject global rules that should not reserve tasty class names
1270
+ */
1271
+ declare function injectGlobal(rules: StyleResult[], options?: {
1272
+ root?: Document | ShadowRoot;
1273
+ }): GlobalInjectResult;
1274
+ /**
1275
+ * Inject raw CSS text directly without parsing
1276
+ * This is a low-overhead method for injecting raw CSS that doesn't need tasty processing.
1277
+ * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking.
1278
+ *
1279
+ * @example
1280
+ * ```tsx
1281
+ * // Inject raw CSS
1282
+ * const { dispose } = injectRawCSS(`
1283
+ * body { margin: 0; padding: 0; }
1284
+ * .my-class { color: red; }
1285
+ * `);
1286
+ *
1287
+ * // Later, remove the injected CSS
1288
+ * dispose();
1289
+ * ```
1290
+ */
1291
+ declare function injectRawCSS(css: string, options?: {
1292
+ root?: Document | ShadowRoot;
1293
+ }): {
1294
+ dispose: () => void;
1295
+ };
1296
+ /**
1297
+ * Get raw CSS text for SSR
1298
+ */
1299
+ declare function getRawCSSText(options?: {
1300
+ root?: Document | ShadowRoot;
1301
+ }): string;
1302
+ /**
1303
+ * Inject keyframes and return object with toString() and dispose()
1304
+ */
1305
+ declare function keyframes(steps: KeyframesSteps, nameOrOptions?: string | {
1306
+ root?: Document | ShadowRoot;
1307
+ name?: string;
1308
+ }): KeyframesResult;
1309
+ interface PropertyOptions {
1310
+ /**
1311
+ * CSS syntax string for the property (e.g., '<color>', '<length>', '<angle>')
1312
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@property/syntax
1313
+ */
1314
+ syntax?: string;
1315
+ /**
1316
+ * Whether the property inherits from parent elements
1317
+ * @default true
1318
+ */
1319
+ inherits?: boolean;
1320
+ /**
1321
+ * Initial value for the property
1322
+ */
1323
+ initialValue?: string | number;
1324
+ /**
1325
+ * Shadow root or document to inject into
1326
+ */
1327
+ root?: Document | ShadowRoot;
1328
+ }
1329
+ /**
1330
+ * Define a CSS @property custom property.
1331
+ * This enables advanced features like animating custom properties.
1332
+ *
1333
+ * Note: @property rules are global and persistent once defined.
1334
+ * Re-registering the same property name is a no-op.
1335
+ *
1336
+ * @param name - The custom property name (must start with --)
1337
+ * @param options - Property configuration
1338
+ *
1339
+ * @example
1340
+ * ```ts
1341
+ * // Define a color property that can be animated
1342
+ * property('--my-color', {
1343
+ * syntax: '<color>',
1344
+ * initialValue: 'red',
1345
+ * });
1346
+ *
1347
+ * // Define an angle property
1348
+ * property('--rotation', {
1349
+ * syntax: '<angle>',
1350
+ * inherits: false,
1351
+ * initialValue: '0deg',
1352
+ * });
1353
+ * ```
1354
+ */
1355
+ declare function property$1(name: string, options?: PropertyOptions): void;
1356
+ /**
1357
+ * Check if a CSS @property has already been defined
1358
+ *
1359
+ * @param name - The custom property name to check
1360
+ * @param options - Options including root
1361
+ */
1362
+ declare function isPropertyDefined(name: string, options?: {
1363
+ root?: Document | ShadowRoot;
1364
+ }): boolean;
1365
+ /**
1366
+ * Inject a CSS @font-face rule.
1367
+ *
1368
+ * Permanent and global — no dispose or ref-counting.
1369
+ * Deduplicates by content hash (family + descriptors).
1370
+ */
1371
+ declare function fontFace(family: string, descriptors: FontFaceDescriptors, options?: {
1372
+ root?: Document | ShadowRoot;
1373
+ }): void;
1374
+ /**
1375
+ * Inject a CSS @counter-style rule.
1376
+ *
1377
+ * Permanent and global — no dispose or ref-counting.
1378
+ * Deduplicates by name (first definition wins).
1379
+ */
1380
+ declare function counterStyle(name: string, descriptors: CounterStyleDescriptors, options?: {
1381
+ root?: Document | ShadowRoot;
1382
+ }): void;
1383
+ /**
1384
+ * Get CSS text from all sheets (for SSR)
1385
+ */
1386
+ declare function getCssText(options?: {
1387
+ root?: Document | ShadowRoot;
1388
+ }): string;
1389
+ /**
1390
+ * Collect only CSS used by a rendered subtree (like jest-styled-components).
1391
+ * Pass the container returned by render(...).
1392
+ */
1393
+ declare function getCssTextForNode(node: ParentNode | Element | DocumentFragment, options?: {
1394
+ root?: Document | ShadowRoot;
1395
+ }): string;
1396
+ /**
1397
+ * Force cleanup of unused rules
1398
+ */
1399
+ declare function cleanup(root?: Document | ShadowRoot): void;
1400
+ /**
1401
+ * Record a render-time usage hit for one or more classNames.
1402
+ * Used internally by computeStyles and tasty() to track usage for GC.
1403
+ * When the global touch counter reaches `touchInterval`, schedules GC.
1404
+ */
1405
+ declare function touch(className: string, options?: {
1406
+ root?: Document | ShadowRoot;
1407
+ }): void;
1408
+ /**
1409
+ * Synchronous garbage collection of unused styles.
1410
+ * Evicts the oldest unused styles when usageMap exceeds capacity.
1411
+ * With `{ force: true }`, removes ALL unused styles regardless of capacity.
1412
+ *
1413
+ * @returns Number of styles evicted.
1414
+ */
1415
+ declare function gc(options?: GCOptions): number;
1416
+ /**
1417
+ * Check if we're currently running in a test environment
1418
+ */
1419
+ declare function getIsTestEnvironment(): boolean;
1420
+ /**
1421
+ * Get the global injector instance for debugging
1422
+ */
1423
+ declare const injector: {
1424
+ readonly instance: StyleInjector;
1425
+ };
1426
+ /**
1427
+ * Destroy all resources and clean up
1428
+ */
1429
+ declare function destroy(root?: Document | ShadowRoot): void;
1430
+ /**
1431
+ * Create a new isolated injector instance
1432
+ */
1433
+ declare function createInjector(config?: Partial<StyleInjectorConfig>): StyleInjector;
1434
+ //#endregion
1435
+ //#region src/utils/filter-base-props.d.ts
1436
+ interface PropsFilterOptions {
1437
+ labelable?: boolean;
1438
+ propNames?: Set<string>;
1439
+ eventProps?: boolean;
1440
+ }
1441
+ /**
1442
+ * Filters out all props that aren't valid DOM props or defined via override prop obj.
1443
+ * @param props - The component props to be filtered.
1444
+ * @param opts - Props to override.
1445
+ */
1446
+ declare function filterBaseProps<T extends object>(props: T, opts?: PropsFilterOptions): Partial<T>;
1447
+ //#endregion
1448
+ //#region src/utils/colors.d.ts
1449
+ declare function color$1(name: string, opacity?: number): string;
1450
+ //#endregion
1451
+ //#region src/utils/mod-attrs.d.ts
1452
+ declare const _modAttrs: (firstArg: Record<string, ModValue> | undefined, secondArg?: unknown) => Record<string, string> | null;
1453
+ //#endregion
1454
+ //#region src/utils/dotize.d.ts
1455
+ declare const dotize: {
1456
+ valTypes: {
1457
+ none: string;
1458
+ primitive: string;
1459
+ object: string;
1460
+ array: string;
1461
+ };
1462
+ getValType: (val: any) => string | undefined;
1463
+ getPathType: (arrPath: any) => string[];
1464
+ isUndefined: (obj: any) => obj is undefined;
1465
+ isNumber: (f: any) => boolean;
1466
+ isEmptyObj: (obj: any) => boolean;
1467
+ isPlainObject: (obj: any) => boolean;
1468
+ isNotObject: (obj: any) => boolean;
1469
+ isEmptyArray: (arr: any) => boolean;
1470
+ isNotArray: (arr: any) => boolean;
1471
+ removeEmptyArrayItem: (arr: any) => any;
1472
+ getFieldName: (field: any, prefix: any, isRoot: any, isArrayItem: any, isArray: any) => string;
1473
+ startsWith: (val: any, valToSearch: any) => boolean;
1474
+ convert: (obj: any, prefix?: string) => any;
1475
+ backward: (obj: any, prefix: any) => any;
1476
+ };
1477
+ //#endregion
1478
+ //#region src/utils/resolve-recipes.d.ts
1479
+ /**
1480
+ * Resolve all `recipe` style properties in a styles object.
1481
+ *
1482
+ * Handles both top-level and sub-element recipe references.
1483
+ * Returns the same object reference if no recipes are present anywhere
1484
+ * (zero overhead for the common case).
1485
+ *
1486
+ * @param styles - The styles object potentially containing `recipe` keys
1487
+ * @returns Resolved styles with recipe values merged in, or the original object if unchanged
1488
+ */
1489
+ declare function resolveRecipes(styles: Styles): Styles;
1490
+ //#endregion
1491
+ //#region src/utils/warnings.d.ts
1492
+ declare function warn(...args: unknown[]): void;
1493
+ declare function deprecationWarning(condition: unknown, {
1494
+ property,
1495
+ name,
1496
+ betterAlternative,
1497
+ reason
1498
+ }: {
1499
+ property: string;
1500
+ name: string;
1501
+ betterAlternative: (() => string) | string;
1502
+ reason?: (() => string) | string;
1503
+ }): void;
1504
+ //#endregion
1505
+ //#region src/utils/process-tokens.d.ts
1506
+ /**
1507
+ * Process tokens object into inline style properties.
1508
+ * - $name -> --name with parsed value
1509
+ * - #name -> --name-color AND --name-color-{colorSpace} with parsed values
1510
+ *
1511
+ * @param tokens - The tokens object to process
1512
+ * @returns CSSProperties object or undefined if no tokens to process
1513
+ */
1514
+ declare function processTokens(tokens: Tokens | undefined): CSSProperties$1 | undefined;
1515
+ //#endregion
1516
+ //#region src/debug.d.ts
1517
+ declare global {
1518
+ interface Window {
1519
+ tastyDebug?: typeof tastyDebug;
1520
+ }
1521
+ }
1522
+ type CSSTarget = 'all' | 'global' | 'active' | 'unused' | 'page' | string | string[] | Element;
1523
+ interface DebugOptions {
1524
+ root?: Document | ShadowRoot;
1525
+ /** Suppress console logging and return data only (default: false) */
1526
+ raw?: boolean;
1527
+ }
1528
+ interface CssOptions extends DebugOptions {
1529
+ prettify?: boolean;
1530
+ /** Read from stored source CSS (dev-mode only) instead of live CSSOM */
1531
+ source?: boolean;
1532
+ }
1533
+ interface ChunkInfo {
1534
+ className: string;
1535
+ chunkName: string | null;
1536
+ }
1537
+ interface InspectResult {
1538
+ element?: Element | null;
1539
+ classes: string[];
1540
+ chunks: ChunkInfo[];
1541
+ css: string;
1542
+ size: number;
1543
+ rules: number;
1544
+ }
1545
+ interface CacheStatus {
1546
+ classes: {
1547
+ active: string[];
1548
+ unused: string[];
1549
+ all: string[];
1550
+ };
1551
+ metrics: CacheMetrics | null;
1552
+ }
1553
+ interface ChunkBreakdown {
1554
+ byChunk: Record<string, {
1555
+ classes: string[];
1556
+ cssSize: number;
1557
+ ruleCount: number;
1558
+ }>;
1559
+ totalChunkTypes: number;
1560
+ totalClasses: number;
1561
+ }
1562
+ interface Summary {
1563
+ activeClasses: string[];
1564
+ unusedClasses: string[];
1565
+ totalStyledClasses: string[];
1566
+ activeCSSSize: number;
1567
+ unusedCSSSize: number;
1568
+ globalCSSSize: number;
1569
+ rawCSSSize: number;
1570
+ keyframesCSSSize: number;
1571
+ propertyCSSSize: number;
1572
+ totalCSSSize: number;
1573
+ activeRuleCount: number;
1574
+ unusedRuleCount: number;
1575
+ globalRuleCount: number;
1576
+ rawRuleCount: number;
1577
+ keyframesRuleCount: number;
1578
+ propertyRuleCount: number;
1579
+ totalRuleCount: number;
1580
+ metrics: CacheMetrics | null;
1581
+ definedProperties: string[];
1582
+ definedKeyframes: {
1583
+ name: string;
1584
+ refCount: number;
1585
+ }[];
1586
+ chunkBreakdown: ChunkBreakdown;
1587
+ }
1588
+ declare const tastyDebug: {
1589
+ css(target: CSSTarget, opts?: CssOptions): string;
1590
+ inspect(target: string | Element, opts?: DebugOptions): InspectResult;
1591
+ summary(opts?: DebugOptions): Summary;
1592
+ chunks(opts?: DebugOptions): ChunkBreakdown;
1593
+ cache(opts?: DebugOptions): CacheStatus;
1594
+ cleanup(opts?: {
1595
+ root?: Document | ShadowRoot;
1596
+ }): void;
1597
+ help(): void;
1598
+ install(): void;
1599
+ };
1600
+ //#endregion
1601
+ export { ResolveTokenProps as $, chunkSheetRegistry as A, TastyThemeNames as At, useKeyframes as B, DIMENSION_STYLES as Bt, injectRawCSS as C, Mods as Ct, property$1 as D, ShortGridStyles as Dt, keyframes as E, Props as Et, getDisplayName as F, BLOCK_INNER_STYLES as Ft, useStyles as G, TEXT_STYLES as Gt, useGlobalStyles as H, INNER_STYLES as Ht, useCounterStyle as I, BLOCK_OUTER_STYLES as It, ElementsDefinition as J, ChunkName as Jt, AllBasePropsWithMods as K, CHUNK_NAMES as Kt, useFontFace as L, BLOCK_STYLES as Lt, ComputeStylesResult as M, TokenValue as Mt, computeStyles as N, Tokens as Nt, touch as O, TagName as Ot, styleHandlers as P, BASE_STYLES as Pt, ResolveModProps as Q, okhslPlugin as Qt, UsePropertyOptions as R, COLOR_STYLES as Rt, injectGlobal as S, ModValue as St, isPropertyDefined as T, PositionStyleProps as Tt, UseStylesOptions as U, OUTER_STYLES as Ut, useRawCSS as V, FLOW_STYLES as Vt, UseStylesResult as W, POSITION_STYLES as Wt, ModPropsInput as X, categorizeStyleKeys as Xt, ModPropDef as Y, STYLE_TO_CHUNK as Yt, ResolveModPropDef as Z, okhslFunc as Zt, getCssText as _, ContainerStyleProps as _t, resolveRecipes as a, TokenPropsInput as at, getRawCSSText as b, GlobalStyledProps as bt, color$1 as c, tasty as ct, cleanup as d, BasePropsWithoutChildren as dt, SubElementDefinition as et, counterStyle as f, BaseStyleProps as ft, gc as g, ColorStyleProps as gt, fontFace as h, BlockStyleProps as ht, warn as i, TastyProps as it, ComputeStylesOptions as j, TextStyleProps as jt, ChunkSheetRegistry as k, TastyExtensionConfig as kt, filterBaseProps as l, AllBaseProps as lt, destroy as m, BlockOuterStyleProps as mt, processTokens as n, TastyElementOptions as nt, dotize as o, VariantMap as ot, createInjector as p, BlockInnerStyleProps as pt, Element$1 as q, ChunkInfo$1 as qt, deprecationWarning as r, TastyElementProps as rt, _modAttrs as s, WithVariant as st, tastyDebug as t, SubElementProps as tt, PropertyOptions as u, BaseProps as ut, getCssTextForNode as v, DimensionStyleProps as vt, injector as w, OuterStyleProps as wt, inject as x, InnerStyleProps as xt, getIsTestEnvironment as y, FlowStyleProps as yt, useProperty as z, CONTAINER_STYLES as zt };
1602
+ //# sourceMappingURL=index-ZRxZWzlj.d.ts.map