@yamada-ui/react 2.1.2-dev-20260305232700 → 2.1.2-dev-20260306225325

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 (266) hide show
  1. package/dist/cjs/core/css/at-rule.cjs +5 -2
  2. package/dist/cjs/core/css/at-rule.cjs.map +1 -1
  3. package/dist/cjs/core/css/config.cjs +1 -1
  4. package/dist/cjs/core/css/config.cjs.map +1 -1
  5. package/dist/cjs/core/system/create-system.cjs.map +1 -1
  6. package/dist/cjs/core/system/storage-manager.cjs.map +1 -1
  7. package/dist/esm/core/css/at-rule.js +5 -2
  8. package/dist/esm/core/css/at-rule.js.map +1 -1
  9. package/dist/esm/core/css/config.js +1 -1
  10. package/dist/esm/core/css/config.js.map +1 -1
  11. package/dist/esm/core/system/create-system.js.map +1 -1
  12. package/dist/esm/core/system/storage-manager.js.map +1 -1
  13. package/dist/types/components/accordion/accordion.d.ts +4 -2
  14. package/dist/types/components/accordion/accordion.style.d.ts +1 -1
  15. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  16. package/dist/types/components/airy/airy.d.ts +3 -2
  17. package/dist/types/components/alert/alert.d.ts +5 -2
  18. package/dist/types/components/alert/alert.style.d.ts +1 -1
  19. package/dist/types/components/alpha-slider/alpha-slider.d.ts +3 -2
  20. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  21. package/dist/types/components/autocomplete/autocomplete.d.ts +4 -2
  22. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  23. package/dist/types/components/autocomplete/use-autocomplete.d.ts +7 -5
  24. package/dist/types/components/avatar/avatar.d.ts +5 -5
  25. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  26. package/dist/types/components/badge/badge.d.ts +2 -2
  27. package/dist/types/components/bleed/bleed.d.ts +2 -2
  28. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  29. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  30. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  31. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  32. package/dist/types/components/button/button-group.d.ts +1 -0
  33. package/dist/types/components/button/button.d.ts +3 -2
  34. package/dist/types/components/button/icon-button.d.ts +2 -2
  35. package/dist/types/components/calendar/calendar.d.ts +3 -2
  36. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  37. package/dist/types/components/calendar/use-calendar.d.ts +9 -8
  38. package/dist/types/components/card/card.d.ts +2 -2
  39. package/dist/types/components/carousel/carousel.d.ts +3 -2
  40. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  41. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  42. package/dist/types/components/center/center.d.ts +2 -2
  43. package/dist/types/components/chart/area-chart.d.ts +2 -2
  44. package/dist/types/components/chart/bar-chart.d.ts +2 -2
  45. package/dist/types/components/chart/chart.d.ts +2 -2
  46. package/dist/types/components/chart/use-chart.d.ts +2 -2
  47. package/dist/types/components/checkbox/checkbox-group.d.ts +2 -0
  48. package/dist/types/components/checkbox/checkbox.d.ts +5 -4
  49. package/dist/types/components/checkbox/use-checkbox-group.d.ts +3 -2
  50. package/dist/types/components/checkbox/use-checkbox.d.ts +1 -0
  51. package/dist/types/components/checkbox-card/checkbox-card-group.d.ts +3 -0
  52. package/dist/types/components/checkbox-card/checkbox-card.d.ts +7 -5
  53. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  54. package/dist/types/components/circle-progress/circle-progress.d.ts +3 -2
  55. package/dist/types/components/close-button/close-button.d.ts +3 -2
  56. package/dist/types/components/code/code.d.ts +2 -2
  57. package/dist/types/components/collapse/collapse.d.ts +3 -2
  58. package/dist/types/components/color-picker/color-picker.d.ts +6 -2
  59. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  60. package/dist/types/components/color-picker/use-color-picker.d.ts +5 -2
  61. package/dist/types/components/color-selector/color-selector.d.ts +6 -2
  62. package/dist/types/components/color-selector/use-color-selector.d.ts +5 -3
  63. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  64. package/dist/types/components/container/container.d.ts +2 -2
  65. package/dist/types/components/data-list/data-list.d.ts +2 -2
  66. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  67. package/dist/types/components/date-picker/date-picker.d.ts +5 -2
  68. package/dist/types/components/date-picker/date-picker.style.d.ts +1 -1
  69. package/dist/types/components/date-picker/use-date-picker.d.ts +7 -4
  70. package/dist/types/components/drawer/drawer.d.ts +5 -2
  71. package/dist/types/components/drawer/use-drawer.d.ts +2 -0
  72. package/dist/types/components/dropzone/dropzone.d.ts +8 -5
  73. package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
  74. package/dist/types/components/dropzone/use-dropzone.d.ts +1 -0
  75. package/dist/types/components/editable/editable.d.ts +5 -4
  76. package/dist/types/components/editable/use-editable.d.ts +3 -2
  77. package/dist/types/components/em/em.d.ts +2 -2
  78. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  79. package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
  80. package/dist/types/components/fade/fade.d.ts +3 -2
  81. package/dist/types/components/fade-scale/fade-scale.d.ts +1 -0
  82. package/dist/types/components/field/field.d.ts +3 -3
  83. package/dist/types/components/field/use-field-props.d.ts +4 -4
  84. package/dist/types/components/fieldset/fieldset.d.ts +4 -3
  85. package/dist/types/components/file-button/file-button.d.ts +4 -2
  86. package/dist/types/components/file-button/use-file-button.d.ts +20 -18
  87. package/dist/types/components/file-input/file-input.d.ts +4 -2
  88. package/dist/types/components/file-input/use-file-input.d.ts +18 -17
  89. package/dist/types/components/flex/flex.d.ts +2 -2
  90. package/dist/types/components/flip/flip.d.ts +4 -3
  91. package/dist/types/components/flip/flip.style.d.ts +1 -1
  92. package/dist/types/components/float/float.d.ts +2 -2
  93. package/dist/types/components/form/form.d.ts +4 -3
  94. package/dist/types/components/form/form.style.d.ts +1 -1
  95. package/dist/types/components/format/format-byte.d.ts +4 -4
  96. package/dist/types/components/format/format-date-time.d.ts +4 -4
  97. package/dist/types/components/format/format-number.d.ts +2 -2
  98. package/dist/types/components/format/use-format-byte.d.ts +1 -0
  99. package/dist/types/components/format/use-format-date-time.d.ts +1 -0
  100. package/dist/types/components/format/use-format-number.d.ts +1 -0
  101. package/dist/types/components/grid/grid-item.d.ts +2 -2
  102. package/dist/types/components/grid/grid.d.ts +2 -2
  103. package/dist/types/components/group/group.d.ts +3 -2
  104. package/dist/types/components/group/use-group.d.ts +2 -2
  105. package/dist/types/components/heading/heading.d.ts +2 -2
  106. package/dist/types/components/highlight/highlight.d.ts +2 -0
  107. package/dist/types/components/hue-slider/hue-slider.d.ts +4 -3
  108. package/dist/types/components/icon/icon.d.ts +5 -5
  109. package/dist/types/components/image/image.d.ts +2 -2
  110. package/dist/types/components/indicator/indicator.d.ts +3 -2
  111. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  112. package/dist/types/components/input/input-addon.d.ts +2 -2
  113. package/dist/types/components/input/input-element.d.ts +2 -2
  114. package/dist/types/components/input/input-group.d.ts +2 -0
  115. package/dist/types/components/input/input.d.ts +3 -2
  116. package/dist/types/components/kbd/kbd.d.ts +2 -2
  117. package/dist/types/components/link/link.d.ts +2 -2
  118. package/dist/types/components/link-box/link-box.d.ts +2 -2
  119. package/dist/types/components/list/list.d.ts +2 -2
  120. package/dist/types/components/list/list.style.d.ts +2 -2
  121. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  122. package/dist/types/components/loading/loading.d.ts +4 -3
  123. package/dist/types/components/loading/use-loading-component.d.ts +1 -0
  124. package/dist/types/components/mark/mark.d.ts +2 -2
  125. package/dist/types/components/menu/menu.d.ts +3 -2
  126. package/dist/types/components/menu/menu.style.d.ts +2 -2
  127. package/dist/types/components/menu/use-menu.d.ts +11 -11
  128. package/dist/types/components/modal/modal.d.ts +6 -2
  129. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  130. package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
  131. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  132. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  133. package/dist/types/components/native-select/native-select.d.ts +4 -2
  134. package/dist/types/components/native-select/native-select.style.d.ts +1 -1
  135. package/dist/types/components/native-select/use-native-select.d.ts +1 -0
  136. package/dist/types/components/native-table/native-table.d.ts +4 -4
  137. package/dist/types/components/notice/notice.style.d.ts +1 -1
  138. package/dist/types/components/notice/use-notice.d.ts +3 -0
  139. package/dist/types/components/number-input/number-input.d.ts +3 -2
  140. package/dist/types/components/number-input/number-input.style.d.ts +1 -1
  141. package/dist/types/components/number-input/use-number-input.d.ts +1 -0
  142. package/dist/types/components/pagination/pagination.d.ts +3 -2
  143. package/dist/types/components/pagination/pagination.style.d.ts +1 -1
  144. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  145. package/dist/types/components/password-input/password-input.d.ts +3 -2
  146. package/dist/types/components/password-input/password-input.style.d.ts +1 -1
  147. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  148. package/dist/types/components/password-input/strength-meter.style.d.ts +1 -1
  149. package/dist/types/components/password-input/use-password-input.d.ts +3 -2
  150. package/dist/types/components/picture/picture.d.ts +1 -0
  151. package/dist/types/components/pin-input/pin-input.d.ts +4 -2
  152. package/dist/types/components/pin-input/pin-input.style.d.ts +1 -1
  153. package/dist/types/components/pin-input/use-pin-input.d.ts +8 -7
  154. package/dist/types/components/popover/popover.d.ts +3 -2
  155. package/dist/types/components/progress/progress.d.ts +4 -4
  156. package/dist/types/components/progress/use-progress.d.ts +706 -706
  157. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  158. package/dist/types/components/radio/radio-group.d.ts +2 -0
  159. package/dist/types/components/radio/radio.d.ts +5 -4
  160. package/dist/types/components/radio/use-radio-group.d.ts +3 -2
  161. package/dist/types/components/radio/use-radio.d.ts +1 -0
  162. package/dist/types/components/radio-card/radio-card-group.d.ts +3 -0
  163. package/dist/types/components/radio-card/radio-card.d.ts +7 -5
  164. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  165. package/dist/types/components/rating/rating.style.d.ts +2 -2
  166. package/dist/types/components/rating/use-rating.d.ts +8 -7
  167. package/dist/types/components/reorder/reorder.d.ts +3 -2
  168. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  169. package/dist/types/components/reorder/use-reorder.d.ts +4 -4
  170. package/dist/types/components/resizable/resizable.d.ts +2 -2
  171. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  172. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  173. package/dist/types/components/ripple/ripple.d.ts +3 -2
  174. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  175. package/dist/types/components/rotate/rotate.d.ts +3 -2
  176. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  177. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +3 -2
  178. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  179. package/dist/types/components/segmented-control/segmented-control.d.ts +3 -2
  180. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  181. package/dist/types/components/segmented-control/use-segmented-control.d.ts +10 -9
  182. package/dist/types/components/select/select.d.ts +4 -2
  183. package/dist/types/components/select/select.style.d.ts +1 -1
  184. package/dist/types/components/select/use-select.d.ts +6 -4
  185. package/dist/types/components/separator/separator.d.ts +2 -2
  186. package/dist/types/components/simple-grid/simple-grid.d.ts +3 -2
  187. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  188. package/dist/types/components/slide/slide.d.ts +3 -2
  189. package/dist/types/components/slide-fade/slide-fade.d.ts +3 -2
  190. package/dist/types/components/slider/slider.d.ts +2 -2
  191. package/dist/types/components/slider/use-slider.d.ts +3 -2
  192. package/dist/types/components/snacks/snacks.d.ts +2 -0
  193. package/dist/types/components/snacks/use-snacks.d.ts +1 -0
  194. package/dist/types/components/stack/h-stack.d.ts +2 -2
  195. package/dist/types/components/stack/stack.d.ts +2 -2
  196. package/dist/types/components/stack/v-stack.d.ts +2 -2
  197. package/dist/types/components/stack/z-stack.d.ts +2 -2
  198. package/dist/types/components/stat/stat.d.ts +2 -2
  199. package/dist/types/components/stat/stat.style.d.ts +2 -2
  200. package/dist/types/components/status/status.d.ts +2 -2
  201. package/dist/types/components/steps/steps.d.ts +2 -2
  202. package/dist/types/components/steps/steps.style.d.ts +1 -1
  203. package/dist/types/components/steps/use-steps.d.ts +10 -10
  204. package/dist/types/components/switch/switch.d.ts +2 -2
  205. package/dist/types/components/switch/use-switch.d.ts +1 -0
  206. package/dist/types/components/table/table.d.ts +4 -2
  207. package/dist/types/components/tabs/tabs.d.ts +2 -2
  208. package/dist/types/components/tabs/tabs.style.d.ts +1 -1
  209. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  210. package/dist/types/components/tag/tag.d.ts +2 -2
  211. package/dist/types/components/tag/tag.style.d.ts +1 -1
  212. package/dist/types/components/text/text.d.ts +2 -2
  213. package/dist/types/components/textarea/textarea.d.ts +4 -2
  214. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  215. package/dist/types/components/timeline/timeline.d.ts +5 -5
  216. package/dist/types/components/timeline/timeline.style.d.ts +2 -2
  217. package/dist/types/components/tip/tip.d.ts +2 -0
  218. package/dist/types/components/toggle/toggle-group.d.ts +1 -1
  219. package/dist/types/components/toggle/toggle.d.ts +7 -5
  220. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  221. package/dist/types/components/toggle/use-toggle.d.ts +3 -2
  222. package/dist/types/components/tooltip/tooltip.d.ts +4 -2
  223. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  224. package/dist/types/components/wrap/wrap.d.ts +3 -2
  225. package/dist/types/core/components/create-component.d.ts +7 -9
  226. package/dist/types/core/components/index.types.d.ts +0 -1
  227. package/dist/types/core/components/use-component-style.d.ts +0 -2
  228. package/dist/types/core/components/utils.d.ts +0 -1
  229. package/dist/types/core/constant.d.ts +0 -1
  230. package/dist/types/core/css/calc.d.ts +0 -1
  231. package/dist/types/core/css/config.d.ts +0 -1
  232. package/dist/types/core/css/css.d.ts +0 -1
  233. package/dist/types/core/css/index.types.d.ts +0 -1
  234. package/dist/types/core/css/styles.d.ts +0 -1
  235. package/dist/types/core/css/token.d.ts +0 -1
  236. package/dist/types/core/css/use-css.d.ts +0 -1
  237. package/dist/types/core/css/utils.d.ts +0 -2
  238. package/dist/types/core/generated-theme-tokens.types.d.ts +0 -1
  239. package/dist/types/core/index.d.ts +2 -4
  240. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  241. package/dist/types/core/system/config.d.ts +0 -1
  242. package/dist/types/core/system/create-system.d.ts +5 -2
  243. package/dist/types/core/system/factory.d.ts +0 -1
  244. package/dist/types/core/system/index.d.ts +2 -2
  245. package/dist/types/core/system/index.types.d.ts +0 -1
  246. package/dist/types/core/system/storage-manager.d.ts +2 -2
  247. package/dist/types/core/system/storage-script.d.ts +3 -3
  248. package/dist/types/core/system/styled.d.ts +2 -3
  249. package/dist/types/core/system/system-provider.d.ts +2 -2
  250. package/dist/types/core/system/var.d.ts +0 -2
  251. package/dist/types/hooks/use-async-callback/index.d.ts +1 -0
  252. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  253. package/dist/types/hooks/use-clickable/index.d.ts +9 -9
  254. package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
  255. package/dist/types/hooks/use-combobox/index.d.ts +13 -12
  256. package/dist/types/hooks/use-counter/index.d.ts +2 -2
  257. package/dist/types/hooks/use-descendants/index.d.ts +2 -2
  258. package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
  259. package/dist/types/hooks/use-hover/index.d.ts +2 -2
  260. package/dist/types/hooks/use-popper/index.d.ts +2 -2
  261. package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
  262. package/dist/types/index.d.ts +106 -3
  263. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
  264. package/dist/types/providers/ui-provider/ui-provider.d.ts +3 -2
  265. package/dist/types/utils/children.d.ts +2 -2
  266. package/package.json +1 -1
@@ -28,8 +28,11 @@ const generateAtRule = (identifier) => (values, { system }) => {
28
28
  return `(${(0, require_utils_index.utils_exports.toKebabCase)(key)}: ${value})`;
29
29
  }).join(" and ");
30
30
  }
31
- const condition = `@${identifier} ${type ?? name ?? ""} ${query}`;
32
- prev[condition] = css;
31
+ const conditions = [`@${identifier}`];
32
+ if (type) conditions.push(type);
33
+ if (name) conditions.push(name);
34
+ if (query) conditions.push(query);
35
+ prev[conditions.join(" ")] = css;
33
36
  return prev;
34
37
  }, {});
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"at-rule.cjs","names":["style","tokenToVar"],"sources":["../../../../src/core/css/at-rule.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Transform } from \"./utils\"\nimport { filterUndefined, isArray, toArray, toKebabCase } from \"../../utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport const generateAtRule =\n (identifier: string): Transform =>\n (values, { system }) => {\n if (!isArray(values)) return values\n\n return values.reduce<Dict>(\n (\n prev,\n {\n type,\n name,\n css,\n style,\n h,\n height,\n maxH,\n maxHeight,\n maxW,\n maxWidth,\n minH,\n minHeight,\n minW,\n minWidth,\n prefersColorMode,\n query,\n w,\n width,\n ...rest\n },\n ) => {\n width ??= w\n minWidth ??= minW\n maxWidth ??= maxW\n height ??= h\n minHeight ??= minH\n maxHeight ??= maxH\n\n if (!query) {\n if (style) {\n query = toArray(style)\n .map((style) => `style(${style})`)\n .join(\" and \")\n } else {\n const resolvedRest = filterUndefined({\n height,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n prefersColorScheme: prefersColorMode,\n width,\n ...rest,\n })\n\n query = Object.entries(resolvedRest)\n .map(([key, value]) => {\n value = tokenToVar(system)(\"sizes\", value)\n\n return `(${toKebabCase(key)}: ${value})`\n })\n .join(\" and \")\n }\n }\n\n const condition = `@${identifier} ${type ?? name ?? \"\"} ${query}`\n\n prev[condition] = css\n\n return prev\n },\n {},\n )\n }\n"],"mappings":";;;;AAKA,MAAa,kBACV,gBACA,QAAQ,EAAE,aAAa;AACtB,KAAI,gDAAS,OAAO,CAAE,QAAO;AAE7B,QAAO,OAAO,QAEV,MACA,EACE,MACA,MACA,KACA,OACA,GACA,QACA,MACA,WACA,MACA,UACA,MACA,WACA,MACA,UACA,kBACA,OACA,GACA,OACA,GAAG,WAEF;AACH,YAAU;AACV,eAAa;AACb,eAAa;AACb,aAAW;AACX,gBAAc;AACd,gBAAc;AAEd,MAAI,CAAC,MACH,KAAI,MACF,wDAAgB,MAAM,CACnB,KAAK,YAAU,SAASA,QAAM,GAAG,CACjC,KAAK,QAAQ;OACX;GACL,MAAM,sEAA+B;IACnC;IACA;IACA;IACA;IACA;IACA,oBAAoB;IACpB;IACA,GAAG;IACJ,CAAC;AAEF,WAAQ,OAAO,QAAQ,aAAa,CACjC,KAAK,CAAC,KAAK,WAAW;AACrB,YAAQC,yBAAW,OAAO,CAAC,SAAS,MAAM;AAE1C,WAAO,uDAAgB,IAAI,CAAC,IAAI,MAAM;KACtC,CACD,KAAK,QAAQ;;EAIpB,MAAM,YAAY,IAAI,WAAW,GAAG,QAAQ,QAAQ,GAAG,GAAG;AAE1D,OAAK,aAAa;AAElB,SAAO;IAET,EAAE,CACH"}
1
+ {"version":3,"file":"at-rule.cjs","names":["style","tokenToVar"],"sources":["../../../../src/core/css/at-rule.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Transform } from \"./utils\"\nimport { filterUndefined, isArray, toArray, toKebabCase } from \"../../utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport const generateAtRule =\n (identifier: string): Transform =>\n (values, { system }) => {\n if (!isArray(values)) return values\n\n return values.reduce<Dict>(\n (\n prev,\n {\n type,\n name,\n css,\n style,\n h,\n height,\n maxH,\n maxHeight,\n maxW,\n maxWidth,\n minH,\n minHeight,\n minW,\n minWidth,\n prefersColorMode,\n query,\n w,\n width,\n ...rest\n },\n ) => {\n width ??= w\n minWidth ??= minW\n maxWidth ??= maxW\n height ??= h\n minHeight ??= minH\n maxHeight ??= maxH\n\n if (!query) {\n if (style) {\n query = toArray(style)\n .map((style) => `style(${style})`)\n .join(\" and \")\n } else {\n const resolvedRest = filterUndefined({\n height,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n prefersColorScheme: prefersColorMode,\n width,\n ...rest,\n })\n\n query = Object.entries(resolvedRest)\n .map(([key, value]) => {\n value = tokenToVar(system)(\"sizes\", value)\n\n return `(${toKebabCase(key)}: ${value})`\n })\n .join(\" and \")\n }\n }\n\n const conditions = [`@${identifier}`]\n\n if (type) conditions.push(type)\n if (name) conditions.push(name)\n if (query) conditions.push(query)\n\n prev[conditions.join(\" \")] = css\n\n return prev\n },\n {},\n )\n }\n"],"mappings":";;;;AAKA,MAAa,kBACV,gBACA,QAAQ,EAAE,aAAa;AACtB,KAAI,gDAAS,OAAO,CAAE,QAAO;AAE7B,QAAO,OAAO,QAEV,MACA,EACE,MACA,MACA,KACA,OACA,GACA,QACA,MACA,WACA,MACA,UACA,MACA,WACA,MACA,UACA,kBACA,OACA,GACA,OACA,GAAG,WAEF;AACH,YAAU;AACV,eAAa;AACb,eAAa;AACb,aAAW;AACX,gBAAc;AACd,gBAAc;AAEd,MAAI,CAAC,MACH,KAAI,MACF,wDAAgB,MAAM,CACnB,KAAK,YAAU,SAASA,QAAM,GAAG,CACjC,KAAK,QAAQ;OACX;GACL,MAAM,sEAA+B;IACnC;IACA;IACA;IACA;IACA;IACA,oBAAoB;IACpB;IACA,GAAG;IACJ,CAAC;AAEF,WAAQ,OAAO,QAAQ,aAAa,CACjC,KAAK,CAAC,KAAK,WAAW;AACrB,YAAQC,yBAAW,OAAO,CAAC,SAAS,MAAM;AAE1C,WAAO,uDAAgB,IAAI,CAAC,IAAI,MAAM;KACtC,CACD,KAAK,QAAQ;;EAIpB,MAAM,aAAa,CAAC,IAAI,aAAa;AAErC,MAAI,KAAM,YAAW,KAAK,KAAK;AAC/B,MAAI,KAAM,YAAW,KAAK,KAAK;AAC/B,MAAI,MAAO,YAAW,KAAK,MAAM;AAEjC,OAAK,WAAW,KAAK,IAAI,IAAI;AAE7B,SAAO;IAET,EAAE,CACH"}
@@ -40,7 +40,7 @@ const transforms = {
40
40
  },
41
41
  deg: (value) => {
42
42
  if (require_utils.isCSSVar(value) || value == null) return value;
43
- return typeof value === "string" && !value.endsWith("deg") || (0, require_utils_index.utils_exports.isNumber)(value) ? `${value}deg` : value;
43
+ return typeof value === "string" && !value.endsWith("deg") && !value.endsWith("grad") && !value.endsWith("turn") && !value.endsWith("rad") || (0, require_utils_index.utils_exports.isNumber)(value) ? `${value}deg` : value;
44
44
  },
45
45
  display: require_display.display,
46
46
  filter: require_filter.generateFilter,
@@ -1 +1 @@
1
- {"version":3,"file":"config.cjs","names":["generateStyle","generateCalc","generateAtRule","isCSSVar","generateFilter","generateFocusRing","generateFunction","analyzeCSSValue","generateToken","generateTransition"],"sources":["../../../../src/core/css/config.ts"],"sourcesContent":["import type { CSSObject } from \"@emotion/styled\"\nimport type { ThemeToken } from \"../system\"\nimport type { CSSProperties } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isNumber, isObject } from \"../../utils\"\nimport { animation, keyframes } from \"./animation\"\nimport { generateAtRule } from \"./at-rule\"\nimport { generateCalc } from \"./calc\"\nimport { colorMix } from \"./color-mix\"\nimport { colorScheme } from \"./color-scheme\"\nimport { display } from \"./display\"\nimport { generateFilter } from \"./filter\"\nimport { generateFocusRing } from \"./focus-ring\"\nimport { generateFunction } from \"./function\"\nimport { gradient } from \"./gradient\"\nimport { grid } from \"./grid\"\nimport { generateStyle } from \"./style\"\nimport { generateToken } from \"./token\"\nimport { transform } from \"./transform\"\nimport { generateTransition } from \"./transition\"\nimport { analyzeCSSValue, isCSSVar } from \"./utils\"\n\nexport interface StyleConfig {\n important?: boolean\n properties?: CSSProperties[]\n static?: CSSObject\n token?: ThemeToken\n transform?: Transform\n}\n\nexport interface StyleConfigs {\n [key: string]: StyleConfig | true\n}\n\nexport const transforms = {\n style: generateStyle,\n colorScheme,\n animation,\n bgClip: (value, { prev }) => {\n if (value === \"text\") {\n prev ??= {}\n prev.color ??= \"transparent\"\n\n return value\n } else {\n return value\n }\n },\n calc: generateCalc,\n colorMix,\n container: generateAtRule(\"container\"),\n content: (value) => {\n if (isObject(value)) {\n return { content: \"''\", ...value }\n } else {\n return value\n }\n },\n deg: (value) => {\n if (isCSSVar(value) || value == null) return value\n\n const isUnitless = typeof value === \"string\" && !value.endsWith(\"deg\")\n\n return isUnitless || isNumber(value) ? `${value}deg` : value\n },\n display,\n filter: generateFilter,\n focusRing: generateFocusRing,\n fraction: (value) => {\n if (isNumber(value) && value <= 1) value = `${value * 100}%`\n\n return value\n },\n function: generateFunction,\n gradient,\n grid,\n keyframes,\n media: generateAtRule(\"media\"),\n px: (value) => {\n if (value == null) return value\n\n const { unitless } = analyzeCSSValue(value)\n\n return unitless || isNumber(value) ? `${value}px` : value\n },\n supports: generateAtRule(\"supports\"),\n token: generateToken,\n transform,\n transition: generateTransition,\n truncated: (value: boolean) => {\n if (value) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }\n },\n} satisfies { [key: string]: Transform }\n\nexport type Transforms = keyof typeof transforms\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCA,MAAa,aAAa;CACxB,OAAOA;CACP;CACA;CACA,SAAS,OAAO,EAAE,WAAW;AAC3B,MAAI,UAAU,QAAQ;AACpB,YAAS,EAAE;AACX,QAAK,UAAU;AAEf,UAAO;QAEP,QAAO;;CAGX,MAAMC;CACN;CACA,WAAWC,+BAAe,YAAY;CACtC,UAAU,UAAU;AAClB,sDAAa,MAAM,CACjB,QAAO;GAAE,SAAS;GAAM,GAAG;GAAO;MAElC,QAAO;;CAGX,MAAM,UAAU;AACd,MAAIC,uBAAS,MAAM,IAAI,SAAS,KAAM,QAAO;AAI7C,SAFmB,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,MAAM,oDAExC,MAAM,GAAG,GAAG,MAAM,OAAO;;CAEzD;CACA,QAAQC;CACR,WAAWC;CACX,WAAW,UAAU;AACnB,sDAAa,MAAM,IAAI,SAAS,EAAG,SAAQ,GAAG,QAAQ,IAAI;AAE1D,SAAO;;CAET,UAAUC;CACV;CACA;CACA;CACA,OAAOJ,+BAAe,QAAQ;CAC9B,KAAK,UAAU;AACb,MAAI,SAAS,KAAM,QAAO;EAE1B,MAAM,EAAE,aAAaK,8BAAgB,MAAM;AAE3C,SAAO,4DAAqB,MAAM,GAAG,GAAG,MAAM,MAAM;;CAEtD,UAAUL,+BAAe,WAAW;CACpC,OAAOM;CACP;CACA,YAAYC;CACZ,YAAY,UAAmB;AAC7B,MAAI,MACF,QAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;GACb;;CAGN"}
1
+ {"version":3,"file":"config.cjs","names":["generateStyle","generateCalc","generateAtRule","isCSSVar","generateFilter","generateFocusRing","generateFunction","analyzeCSSValue","generateToken","generateTransition"],"sources":["../../../../src/core/css/config.ts"],"sourcesContent":["import type { CSSObject } from \"@emotion/styled\"\nimport type { ThemeToken } from \"../system\"\nimport type { CSSProperties } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isNumber, isObject } from \"../../utils\"\nimport { animation, keyframes } from \"./animation\"\nimport { generateAtRule } from \"./at-rule\"\nimport { generateCalc } from \"./calc\"\nimport { colorMix } from \"./color-mix\"\nimport { colorScheme } from \"./color-scheme\"\nimport { display } from \"./display\"\nimport { generateFilter } from \"./filter\"\nimport { generateFocusRing } from \"./focus-ring\"\nimport { generateFunction } from \"./function\"\nimport { gradient } from \"./gradient\"\nimport { grid } from \"./grid\"\nimport { generateStyle } from \"./style\"\nimport { generateToken } from \"./token\"\nimport { transform } from \"./transform\"\nimport { generateTransition } from \"./transition\"\nimport { analyzeCSSValue, isCSSVar } from \"./utils\"\n\nexport interface StyleConfig {\n important?: boolean\n properties?: CSSProperties[]\n static?: CSSObject\n token?: ThemeToken\n transform?: Transform\n}\n\nexport interface StyleConfigs {\n [key: string]: StyleConfig | true\n}\n\nexport const transforms = {\n style: generateStyle,\n colorScheme,\n animation,\n bgClip: (value, { prev }) => {\n if (value === \"text\") {\n prev ??= {}\n prev.color ??= \"transparent\"\n\n return value\n } else {\n return value\n }\n },\n calc: generateCalc,\n colorMix,\n container: generateAtRule(\"container\"),\n content: (value) => {\n if (isObject(value)) {\n return { content: \"''\", ...value }\n } else {\n return value\n }\n },\n deg: (value) => {\n if (isCSSVar(value) || value == null) return value\n\n const isUnitless =\n typeof value === \"string\" &&\n !value.endsWith(\"deg\") &&\n !value.endsWith(\"grad\") &&\n !value.endsWith(\"turn\") &&\n !value.endsWith(\"rad\")\n\n return isUnitless || isNumber(value) ? `${value}deg` : value\n },\n display,\n filter: generateFilter,\n focusRing: generateFocusRing,\n fraction: (value) => {\n if (isNumber(value) && value <= 1) value = `${value * 100}%`\n\n return value\n },\n function: generateFunction,\n gradient,\n grid,\n keyframes,\n media: generateAtRule(\"media\"),\n px: (value) => {\n if (value == null) return value\n\n const { unitless } = analyzeCSSValue(value)\n\n return unitless || isNumber(value) ? `${value}px` : value\n },\n supports: generateAtRule(\"supports\"),\n token: generateToken,\n transform,\n transition: generateTransition,\n truncated: (value: boolean) => {\n if (value) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }\n },\n} satisfies { [key: string]: Transform }\n\nexport type Transforms = keyof typeof transforms\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCA,MAAa,aAAa;CACxB,OAAOA;CACP;CACA;CACA,SAAS,OAAO,EAAE,WAAW;AAC3B,MAAI,UAAU,QAAQ;AACpB,YAAS,EAAE;AACX,QAAK,UAAU;AAEf,UAAO;QAEP,QAAO;;CAGX,MAAMC;CACN;CACA,WAAWC,+BAAe,YAAY;CACtC,UAAU,UAAU;AAClB,sDAAa,MAAM,CACjB,QAAO;GAAE,SAAS;GAAM,GAAG;GAAO;MAElC,QAAO;;CAGX,MAAM,UAAU;AACd,MAAIC,uBAAS,MAAM,IAAI,SAAS,KAAM,QAAO;AAS7C,SANE,OAAO,UAAU,YACjB,CAAC,MAAM,SAAS,MAAM,IACtB,CAAC,MAAM,SAAS,OAAO,IACvB,CAAC,MAAM,SAAS,OAAO,IACvB,CAAC,MAAM,SAAS,MAAM,oDAEM,MAAM,GAAG,GAAG,MAAM,OAAO;;CAEzD;CACA,QAAQC;CACR,WAAWC;CACX,WAAW,UAAU;AACnB,sDAAa,MAAM,IAAI,SAAS,EAAG,SAAQ,GAAG,QAAQ,IAAI;AAE1D,SAAO;;CAET,UAAUC;CACV;CACA;CACA;CACA,OAAOJ,+BAAe,QAAQ;CAC9B,KAAK,UAAU;AACb,MAAI,SAAS,KAAM,QAAO;EAE1B,MAAM,EAAE,aAAaK,8BAAgB,MAAM;AAE3C,SAAO,4DAAqB,MAAM,GAAG,GAAG,MAAM,MAAM;;CAEtD,UAAUL,+BAAe,WAAW;CACpC,OAAOM;CACP;CACA,YAAYC;CACZ,YAAY,UAAmB;AAC7B,MAAI,MACF,QAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;GACb;;CAGN"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-system.cjs","names":["tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n}","defaultSystem: System","createBreakpoints","createLayers","DEFAULT_VAR_PREFIX","mergeVars","createVars","results: VariableTokens","colors","options: FlattenObjectOptions"],"sources":["../../../../src/core/system/create-system.ts"],"sourcesContent":["import type { Dict, FlattenObjectOptions } from \"../../utils\"\nimport type {\n DefineThemeValue,\n System,\n ThemeConfig,\n UsageTheme,\n} from \"./index.types\"\nimport { bem, flattenObject, isArray, isObject, isUndefined } from \"../../utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { createBreakpoints } from \"./breakpoint\"\nimport { createLayers } from \"./layer\"\nimport { createVars, mergeVars } from \"./var\"\n\nexport type VariableResponsiveValue = Dict<\n [DefineThemeValue, DefineThemeValue] | DefineThemeValue\n>\n\nexport type VariableColorModeValue = [\n DefineThemeValue | Dict<DefineThemeValue>,\n DefineThemeValue | Dict<DefineThemeValue>,\n]\n\nexport type VariableValue =\n | DefineThemeValue\n | VariableColorModeValue\n | VariableResponsiveValue\n\ninterface VariableToken {\n semantic: boolean\n value: VariableValue\n}\n\nexport interface VariableTokens {\n [key: string]: VariableToken\n}\n\ninterface TokenOptions {\n [key: string]: FlattenObjectOptions\n}\n\nconst primaryTokens = {\n aspectRatios: {},\n blurs: {},\n borders: {},\n colors: {},\n durations: {},\n easings: {},\n fonts: {},\n fontSizes: {},\n fontWeights: {},\n letterSpacings: {},\n lineHeights: {},\n radii: {},\n sizes: {},\n spaces: {},\n zIndices: {},\n} satisfies TokenOptions\n\ntype PrimaryToken = keyof typeof primaryTokens\n\nconst secondaryTokens = {\n gradients: {},\n keyframes: { maxDepth: 1 },\n shadows: {},\n} satisfies TokenOptions\n\ntype SecondaryToken = keyof typeof secondaryTokens\n\nconst tertiaryTokens = {\n animations: { shouldProcess: (obj) => !obj.keyframes },\n} satisfies TokenOptions\n\ntype TertiaryToken = keyof typeof tertiaryTokens\n\nconst tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n} = {\n primary: primaryTokens,\n secondary: secondaryTokens,\n tertiary: tertiaryTokens,\n}\n\nexport type ThemeToken =\n | \"breakpoints\"\n | PrimaryToken\n | SecondaryToken\n | TertiaryToken\n\nexport const defaultSystem: System = {\n breakpoints: createBreakpoints(),\n config: {},\n cssMap: {},\n cssVars: {},\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n): System {\n const prefix = config.css?.varPrefix ?? DEFAULT_VAR_PREFIX\n const breakpoints = createBreakpoints(theme.breakpoints, config.breakpoint)\n const layers = createLayers(config.css?.layers)\n const shouldProcess = config.theme?.responsive\n ? (obj: any) => !breakpoints.isResponsive(obj, true)\n : () => true\n\n const primaryTokens = {\n ...createTokens(theme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, undefined, shouldProcess),\n }\n const secondaryTokens = createTokens(theme, \"secondary\", shouldProcess)\n const tertiaryTokens = createTokens(theme, \"tertiary\", shouldProcess)\n\n const { cssMap, cssVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(primaryTokens),\n createVars(prefix, theme, breakpoints)(secondaryTokens),\n createVars(prefix, theme, breakpoints)(tertiaryTokens),\n )()\n\n const getClassName = (\n block?: string,\n element?: string,\n modifier?: string,\n ) => {\n if (!block) return \"\"\n\n const className = bem(block, element, modifier)\n\n return `${prefix}-${className}`\n }\n\n if (theme.themeSchemes) {\n const themeSchemeEntries = Object.entries<Dict>(theme.themeSchemes)\n\n for (const [themeScheme, nestedTheme] of themeSchemeEntries) {\n const themeCondition = `[data-theme=${themeScheme}] &:not([data-theme]), &[data-theme=${themeScheme}]`\n\n const nestedPrimaryTokens = {\n ...createTokens(nestedTheme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, nestedTheme, shouldProcess),\n }\n const nestedSecondaryTokens = createTokens(\n nestedTheme,\n \"secondary\",\n shouldProcess,\n )\n const nestedTertiaryTokens = createTokens(\n nestedTheme,\n \"tertiary\",\n shouldProcess,\n )\n\n const { cssVars: nestedCSSVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars[themeCondition] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n utils: { getClassName },\n }\n}\n\nfunction createColorSchemeTokens(\n theme: Dict,\n nestedTheme: Dict | undefined,\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"],\n) {\n const colors = { base: theme.colors ?? {}, nested: nestedTheme?.colors ?? {} }\n const semanticColors = {\n base: theme.semanticTokens?.colors ?? {},\n nested: nestedTheme?.semanticTokens?.colors ?? {},\n }\n const colorSchemeTokens = flattenObject(\n (nestedTheme ?? theme).semanticTokens?.colorSchemes ?? {},\n { shouldProcess },\n )\n\n const results: VariableTokens = {}\n\n function insertToken(\n primaryKey: string,\n secondaryKey: string | undefined,\n value: any,\n ) {\n if (isUndefined(value)) return\n\n if (!secondaryKey || secondaryKey === \"base\") {\n results[`colors.${primaryKey}`] = { semantic: true, value }\n } else {\n results[`colors.${primaryKey}.${secondaryKey}`] = {\n semantic: true,\n value,\n }\n }\n }\n\n function processValue(primaryKey: string, colors: any, keyOrValue: any) {\n const value = colors.nested[keyOrValue] ?? colors.base[keyOrValue]\n\n if (isObject(value)) {\n const tokens = flattenObject(value, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value =\n secondaryKey === \"base\" ? keyOrValue : `${keyOrValue}.${secondaryKey}`\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else {\n insertToken(primaryKey, undefined, keyOrValue)\n }\n }\n\n function processColorModeValue(\n primaryKey: string,\n colors: any,\n keyOrValue: any[],\n ) {\n const [lightValue, darkValue] = keyOrValue\n const lightColors = colors.nested[lightValue] ?? colors.base[lightValue]\n const darkColors = colors.nested[darkValue] ?? colors.base[darkValue]\n\n if (isObject(lightColors) && isObject(darkColors)) {\n const tokens = flattenObject(lightColors, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value = [\n secondaryKey === \"base\"\n ? lightValue\n : `${lightValue}.${secondaryKey}`,\n secondaryKey === \"base\" ? darkValue : `${darkValue}.${secondaryKey}`,\n ]\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else if (!isObject(lightValue) && !isObject(darkValue)) {\n insertToken(primaryKey, undefined, [lightValue, darkValue])\n }\n }\n\n Object.entries(colorSchemeTokens).forEach(([primaryKey, value]) => {\n if (isArray(value)) {\n processColorModeValue(primaryKey, colors, value)\n processColorModeValue(primaryKey, semanticColors, value)\n } else {\n processValue(primaryKey, colors, value)\n processValue(primaryKey, semanticColors, value)\n }\n })\n\n return results\n}\n\nfunction createTokens(\n theme: Dict,\n target: \"primary\" | \"secondary\" | \"tertiary\",\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"] = () => true,\n) {\n const results: VariableTokens = {}\n\n Object.entries(tokenMap[target]).forEach(\n ([primaryKey, { shouldProcess: shouldProcessProp, ...rest }]) => {\n const options: FlattenObjectOptions = {\n ...rest,\n shouldProcess: (obj) =>\n shouldProcess(obj) && (!shouldProcessProp || shouldProcessProp(obj)),\n }\n\n const tokens = flattenObject(theme[primaryKey] ?? {}, options)\n const semanticTokens = flattenObject(\n theme.semanticTokens?.[primaryKey] ?? {},\n options,\n )\n\n Object.entries(tokens).forEach(([secondaryKey, value]) => {\n const token = `${primaryKey}.${secondaryKey}`\n\n results[token] = { semantic: false, value }\n })\n\n Object.entries(semanticTokens).forEach(([secondaryKey, value]) => {\n let token = `${primaryKey}.${secondaryKey}`\n\n if (token.endsWith(\".base\")) token = token.replace(\".base\", \"\")\n\n results[token] = { semantic: true, value }\n })\n },\n )\n\n return results\n}\n"],"mappings":";;;;;;;AA0EA,MAAMA,WAEF;CACF,SArCoB;EACpB,cAAc,EAAE;EAChB,OAAO,EAAE;EACT,SAAS,EAAE;EACX,QAAQ,EAAE;EACV,WAAW,EAAE;EACb,SAAS,EAAE;EACX,OAAO,EAAE;EACT,WAAW,EAAE;EACb,aAAa,EAAE;EACf,gBAAgB,EAAE;EAClB,aAAa,EAAE;EACf,OAAO,EAAE;EACT,OAAO,EAAE;EACT,QAAQ,EAAE;EACV,UAAU,EAAE;EACb;CAsBC,WAlBsB;EACtB,WAAW,EAAE;EACb,WAAW,EAAE,UAAU,GAAG;EAC1B,SAAS,EAAE;EACZ;CAeC,UAXqB,EACrB,YAAY,EAAE,gBAAgB,QAAQ,CAAC,IAAI,WAAW,EACvD;CAUA;AAQD,MAAaC,gBAAwB;CACnC,aAAaC,sCAAmB;CAChC,QAAQ,EAAE;CACV,QAAQ,EAAE;CACV,SAAS,EAAE;CACX,QAAQC,4BAAc;CACtB,OAAO,EAAE,gDAAc,KAAK;CAC7B;AAED,SAAgB,aACd,OACA,SAAsB,EAAE,EAChB;CACR,MAAM,SAAS,OAAO,KAAK,aAAaC;CACxC,MAAM,cAAcF,qCAAkB,MAAM,aAAa,OAAO,WAAW;CAC3E,MAAM,SAASC,2BAAa,OAAO,KAAK,OAAO;CAC/C,MAAM,gBAAgB,OAAO,OAAO,cAC/B,QAAa,CAAC,YAAY,aAAa,KAAK,KAAK,SAC5C;CAEV,MAAM,gBAAgB;EACpB,GAAG,aAAa,OAAO,WAAW,cAAc;EAChD,GAAG,wBAAwB,OAAO,QAAW,cAAc;EAC5D;CACD,MAAM,kBAAkB,aAAa,OAAO,aAAa,cAAc;CACvE,MAAM,iBAAiB,aAAa,OAAO,YAAY,cAAc;CAErE,MAAM,EAAE,QAAQ,YAAYE,sBAC1BC,uBAAW,QAAQ,OAAO,YAAY,CAAC,cAAc,EACrDA,uBAAW,QAAQ,OAAO,YAAY,CAAC,gBAAgB,EACvDA,uBAAW,QAAQ,OAAO,YAAY,CAAC,eAAe,CACvD,EAAE;CAEH,MAAM,gBACJ,OACA,SACA,aACG;AACH,MAAI,CAAC,MAAO,QAAO;AAInB,SAAO,GAAG,OAAO,8CAFK,OAAO,SAAS,SAAS;;AAKjD,KAAI,MAAM,cAAc;EACtB,MAAM,qBAAqB,OAAO,QAAc,MAAM,aAAa;AAEnE,OAAK,MAAM,CAAC,aAAa,gBAAgB,oBAAoB;GAC3D,MAAM,iBAAiB,eAAe,YAAY,sCAAsC,YAAY;GAEpG,MAAM,sBAAsB;IAC1B,GAAG,aAAa,aAAa,WAAW,cAAc;IACtD,GAAG,wBAAwB,OAAO,aAAa,cAAc;IAC9D;GACD,MAAM,wBAAwB,aAC5B,aACA,aACA,cACD;GACD,MAAM,uBAAuB,aAC3B,aACA,YACA,cACD;GAED,MAAM,EAAE,SAAS,kBAAkBD,sBACjCC,uBAAW,QAAQ,OAAO,YAAY,CAAC,oBAAoB,EAC3DA,uBAAW,QAAQ,OAAO,YAAY,CAAC,sBAAsB,EAC7DA,uBAAW,QAAQ,OAAO,YAAY,CAAC,qBAAqB,CAC7D,CAAC;IAAE,GAAG;IAAe,GAAG;IAAiB,GAAG;IAAgB,CAAC;AAE9D,WAAQ,kBAAkB;;;AAI9B,QAAO;EACL;EACA;EACA;EACA;EACA;EACA,OAAO,EAAE,cAAc;EACxB;;AAGH,SAAS,wBACP,OACA,aACA,eACA;CACA,MAAM,SAAS;EAAE,MAAM,MAAM,UAAU,EAAE;EAAE,QAAQ,aAAa,UAAU,EAAE;EAAE;CAC9E,MAAM,iBAAiB;EACrB,MAAM,MAAM,gBAAgB,UAAU,EAAE;EACxC,QAAQ,aAAa,gBAAgB,UAAU,EAAE;EAClD;CACD,MAAM,0EACH,eAAe,OAAO,gBAAgB,gBAAgB,EAAE,EACzD,EAAE,eAAe,CAClB;CAED,MAAMC,UAA0B,EAAE;CAElC,SAAS,YACP,YACA,cACA,OACA;AACA,yDAAgB,MAAM,CAAE;AAExB,MAAI,CAAC,gBAAgB,iBAAiB,OACpC,SAAQ,UAAU,gBAAgB;GAAE,UAAU;GAAM;GAAO;MAE3D,SAAQ,UAAU,WAAW,GAAG,kBAAkB;GAChD,UAAU;GACV;GACD;;CAIL,SAAS,aAAa,YAAoB,UAAa,YAAiB;EACtE,MAAM,QAAQC,SAAO,OAAO,eAAeA,SAAO,KAAK;AAEvD,sDAAa,MAAM,EAAE;GACnB,MAAM,8DAAuB,OAAO,EAAE,eAAe,CAAC;AAEtD,UAAO,KAAK,OAAO,CAAC,SAAS,iBAAiB;AAI5C,gBAAY,YAAY,cAFtB,iBAAiB,SAAS,aAAa,GAAG,WAAW,GAAG,eAEd;KAC5C;QAEF,aAAY,YAAY,QAAW,WAAW;;CAIlD,SAAS,sBACP,YACA,UACA,YACA;EACA,MAAM,CAAC,YAAY,aAAa;EAChC,MAAM,cAAcA,SAAO,OAAO,eAAeA,SAAO,KAAK;EAC7D,MAAM,aAAaA,SAAO,OAAO,cAAcA,SAAO,KAAK;AAE3D,sDAAa,YAAY,oDAAa,WAAW,EAAE;GACjD,MAAM,8DAAuB,aAAa,EAAE,eAAe,CAAC;AAE5D,UAAO,KAAK,OAAO,CAAC,SAAS,iBAAiB;AAQ5C,gBAAY,YAAY,cAPV,CACZ,iBAAiB,SACb,aACA,GAAG,WAAW,GAAG,gBACrB,iBAAiB,SAAS,YAAY,GAAG,UAAU,GAAG,eACvD,CAE2C;KAC5C;aACO,iDAAU,WAAW,IAAI,iDAAU,UAAU,CACtD,aAAY,YAAY,QAAW,CAAC,YAAY,UAAU,CAAC;;AAI/D,QAAO,QAAQ,kBAAkB,CAAC,SAAS,CAAC,YAAY,WAAW;AACjE,qDAAY,MAAM,EAAE;AAClB,yBAAsB,YAAY,QAAQ,MAAM;AAChD,yBAAsB,YAAY,gBAAgB,MAAM;SACnD;AACL,gBAAa,YAAY,QAAQ,MAAM;AACvC,gBAAa,YAAY,gBAAgB,MAAM;;GAEjD;AAEF,QAAO;;AAGT,SAAS,aACP,OACA,QACA,sBAA6D,MAC7D;CACA,MAAMD,UAA0B,EAAE;AAElC,QAAO,QAAQ,SAAS,QAAQ,CAAC,SAC9B,CAAC,YAAY,EAAE,eAAe,mBAAmB,GAAG,YAAY;EAC/D,MAAME,UAAgC;GACpC,GAAG;GACH,gBAAgB,QACd,cAAc,IAAI,KAAK,CAAC,qBAAqB,kBAAkB,IAAI;GACtE;EAED,MAAM,8DAAuB,MAAM,eAAe,EAAE,EAAE,QAAQ;EAC9D,MAAM,sEACJ,MAAM,iBAAiB,eAAe,EAAE,EACxC,QACD;AAED,SAAO,QAAQ,OAAO,CAAC,SAAS,CAAC,cAAc,WAAW;GACxD,MAAM,QAAQ,GAAG,WAAW,GAAG;AAE/B,WAAQ,SAAS;IAAE,UAAU;IAAO;IAAO;IAC3C;AAEF,SAAO,QAAQ,eAAe,CAAC,SAAS,CAAC,cAAc,WAAW;GAChE,IAAI,QAAQ,GAAG,WAAW,GAAG;AAE7B,OAAI,MAAM,SAAS,QAAQ,CAAE,SAAQ,MAAM,QAAQ,SAAS,GAAG;AAE/D,WAAQ,SAAS;IAAE,UAAU;IAAM;IAAO;IAC1C;GAEL;AAED,QAAO"}
1
+ {"version":3,"file":"create-system.cjs","names":["tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n}","defaultSystem: System","createBreakpoints","createLayers","DEFAULT_VAR_PREFIX","mergeVars","createVars","results: VariableTokens","colors","options: FlattenObjectOptions"],"sources":["../../../../src/core/system/create-system.ts"],"sourcesContent":["import type { Dict, FlattenObjectOptions } from \"../../utils\"\nimport type { CSSAnimationObject, CSSModifierObject } from \"../css\"\nimport type {\n DefineThemeValue,\n System,\n ThemeConfig,\n UsageTheme,\n} from \"./index.types\"\nimport { bem, flattenObject, isArray, isObject, isUndefined } from \"../../utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { createBreakpoints } from \"./breakpoint\"\nimport { createLayers } from \"./layer\"\nimport { createVars, mergeVars } from \"./var\"\n\nexport type VariableResponsiveValue = Dict<\n [DefineThemeValue, DefineThemeValue] | DefineThemeValue\n>\n\nexport type VariableColorModeValue = [\n DefineThemeValue | Dict<DefineThemeValue>,\n DefineThemeValue | Dict<DefineThemeValue>,\n]\n\nexport type VariableKeyframeValue =\n | [\n CSSModifierObject | Dict<CSSModifierObject>,\n CSSModifierObject | Dict<CSSModifierObject>,\n ]\n | CSSModifierObject\n | Dict<CSSModifierObject>\n\nexport type VariableAnimationValue =\n | CSSAnimationObject\n | CSSAnimationObject[]\n | Dict<CSSAnimationObject>\n\nexport type VariableValue =\n | DefineThemeValue\n | VariableAnimationValue\n | VariableColorModeValue\n | VariableKeyframeValue\n | VariableResponsiveValue\n\ninterface VariableToken {\n semantic: boolean\n value: VariableValue\n}\n\nexport interface VariableTokens {\n [key: string]: VariableToken\n}\n\ninterface TokenOptions {\n [key: string]: FlattenObjectOptions\n}\n\nconst primaryTokens = {\n aspectRatios: {},\n blurs: {},\n borders: {},\n colors: {},\n durations: {},\n easings: {},\n fonts: {},\n fontSizes: {},\n fontWeights: {},\n letterSpacings: {},\n lineHeights: {},\n radii: {},\n sizes: {},\n spaces: {},\n zIndices: {},\n} satisfies TokenOptions\n\ntype PrimaryToken = keyof typeof primaryTokens\n\nconst secondaryTokens = {\n gradients: {},\n keyframes: { maxDepth: 1 },\n shadows: {},\n} satisfies TokenOptions\n\ntype SecondaryToken = keyof typeof secondaryTokens\n\nconst tertiaryTokens = {\n animations: { shouldProcess: (obj) => !obj.keyframes },\n} satisfies TokenOptions\n\ntype TertiaryToken = keyof typeof tertiaryTokens\n\nconst tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n} = {\n primary: primaryTokens,\n secondary: secondaryTokens,\n tertiary: tertiaryTokens,\n}\n\nexport type ThemeToken =\n | \"breakpoints\"\n | PrimaryToken\n | SecondaryToken\n | TertiaryToken\n\nexport const defaultSystem: System = {\n breakpoints: createBreakpoints(),\n config: {},\n cssMap: {},\n cssVars: {},\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n): System {\n const prefix = config.css?.varPrefix ?? DEFAULT_VAR_PREFIX\n const breakpoints = createBreakpoints(theme.breakpoints, config.breakpoint)\n const layers = createLayers(config.css?.layers)\n const shouldProcess = config.theme?.responsive\n ? (obj: any) => !breakpoints.isResponsive(obj, true)\n : () => true\n\n const primaryTokens = {\n ...createTokens(theme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, undefined, shouldProcess),\n }\n const secondaryTokens = createTokens(theme, \"secondary\", shouldProcess)\n const tertiaryTokens = createTokens(theme, \"tertiary\", shouldProcess)\n\n const { cssMap, cssVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(primaryTokens),\n createVars(prefix, theme, breakpoints)(secondaryTokens),\n createVars(prefix, theme, breakpoints)(tertiaryTokens),\n )()\n\n const getClassName = (\n block?: string,\n element?: string,\n modifier?: string,\n ) => {\n if (!block) return \"\"\n\n const className = bem(block, element, modifier)\n\n return `${prefix}-${className}`\n }\n\n if (theme.themeSchemes) {\n const themeSchemeEntries = Object.entries<Dict>(theme.themeSchemes)\n\n for (const [themeScheme, nestedTheme] of themeSchemeEntries) {\n const themeCondition = `[data-theme=${themeScheme}] &:not([data-theme]), &[data-theme=${themeScheme}]`\n\n const nestedPrimaryTokens = {\n ...createTokens(nestedTheme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, nestedTheme, shouldProcess),\n }\n const nestedSecondaryTokens = createTokens(\n nestedTheme,\n \"secondary\",\n shouldProcess,\n )\n const nestedTertiaryTokens = createTokens(\n nestedTheme,\n \"tertiary\",\n shouldProcess,\n )\n\n const { cssVars: nestedCSSVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars[themeCondition] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n utils: { getClassName },\n }\n}\n\nfunction createColorSchemeTokens(\n theme: Dict,\n nestedTheme: Dict | undefined,\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"],\n) {\n const colors = { base: theme.colors ?? {}, nested: nestedTheme?.colors ?? {} }\n const semanticColors = {\n base: theme.semanticTokens?.colors ?? {},\n nested: nestedTheme?.semanticTokens?.colors ?? {},\n }\n const colorSchemeTokens = flattenObject(\n (nestedTheme ?? theme).semanticTokens?.colorSchemes ?? {},\n { shouldProcess },\n )\n\n const results: VariableTokens = {}\n\n function insertToken(\n primaryKey: string,\n secondaryKey: string | undefined,\n value: any,\n ) {\n if (isUndefined(value)) return\n\n if (!secondaryKey || secondaryKey === \"base\") {\n results[`colors.${primaryKey}`] = { semantic: true, value }\n } else {\n results[`colors.${primaryKey}.${secondaryKey}`] = {\n semantic: true,\n value,\n }\n }\n }\n\n function processValue(primaryKey: string, colors: any, keyOrValue: any) {\n const value = colors.nested[keyOrValue] ?? colors.base[keyOrValue]\n\n if (isObject(value)) {\n const tokens = flattenObject(value, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value =\n secondaryKey === \"base\" ? keyOrValue : `${keyOrValue}.${secondaryKey}`\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else {\n insertToken(primaryKey, undefined, keyOrValue)\n }\n }\n\n function processColorModeValue(\n primaryKey: string,\n colors: any,\n keyOrValue: any[],\n ) {\n const [lightValue, darkValue] = keyOrValue\n const lightColors = colors.nested[lightValue] ?? colors.base[lightValue]\n const darkColors = colors.nested[darkValue] ?? colors.base[darkValue]\n\n if (isObject(lightColors) && isObject(darkColors)) {\n const tokens = flattenObject(lightColors, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value = [\n secondaryKey === \"base\"\n ? lightValue\n : `${lightValue}.${secondaryKey}`,\n secondaryKey === \"base\" ? darkValue : `${darkValue}.${secondaryKey}`,\n ]\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else if (!isObject(lightValue) && !isObject(darkValue)) {\n insertToken(primaryKey, undefined, [lightValue, darkValue])\n }\n }\n\n Object.entries(colorSchemeTokens).forEach(([primaryKey, value]) => {\n if (isArray(value)) {\n processColorModeValue(primaryKey, colors, value)\n processColorModeValue(primaryKey, semanticColors, value)\n } else {\n processValue(primaryKey, colors, value)\n processValue(primaryKey, semanticColors, value)\n }\n })\n\n return results\n}\n\nfunction createTokens(\n theme: Dict,\n target: \"primary\" | \"secondary\" | \"tertiary\",\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"] = () => true,\n) {\n const results: VariableTokens = {}\n\n Object.entries(tokenMap[target]).forEach(\n ([primaryKey, { shouldProcess: shouldProcessProp, ...rest }]) => {\n const options: FlattenObjectOptions = {\n ...rest,\n shouldProcess: (obj) =>\n shouldProcess(obj) && (!shouldProcessProp || shouldProcessProp(obj)),\n }\n\n const tokens = flattenObject(theme[primaryKey] ?? {}, options)\n const semanticTokens = flattenObject(\n theme.semanticTokens?.[primaryKey] ?? {},\n options,\n )\n\n Object.entries(tokens).forEach(([secondaryKey, value]) => {\n const token = `${primaryKey}.${secondaryKey}`\n\n results[token] = { semantic: false, value }\n })\n\n Object.entries(semanticTokens).forEach(([secondaryKey, value]) => {\n let token = `${primaryKey}.${secondaryKey}`\n\n if (token.endsWith(\".base\")) token = token.replace(\".base\", \"\")\n\n results[token] = { semantic: true, value }\n })\n },\n )\n\n return results\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage-manager.cjs","names":[],"sources":["../../../../src/core/system/storage-manager.ts"],"sourcesContent":["\"use client\"\n\nexport type Storage = \"cookie\" | \"localStorage\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nfunction parseCookie<Y extends string>(\n cookie: string,\n key: string,\n): undefined | Y {\n const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n return match?.[2] as undefined | Y\n}\n\nexport interface StorageManager<Y extends string, M extends Y> {\n default(value: M): M\n get(value?: Y): Y\n set(value: Y): void\n}\n\nexport function createStorageManager<Y extends string, M extends Y>(\n storage: Storage,\n storageKey: string,\n defaultValue: Y,\n cookie?: string,\n): StorageManager<Y, M> {\n return {\n default(value) {\n const defaultStorageKey = `default-${storageKey}`\n\n if (cookie) return parseCookie(cookie, defaultStorageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(defaultStorageKey) as M | null) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, defaultStorageKey) || value\n }\n },\n get(value = defaultValue) {\n if (cookie) return parseCookie(cookie, storageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(storageKey) as null | Y) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, storageKey) || value\n }\n },\n set(value: Y) {\n if (storage === \"localStorage\") {\n localStorage.setItem(storageKey, value)\n } else {\n document.cookie = `${storageKey}=${value}; max-age=31536000; path=/`\n }\n },\n }\n}\n"],"mappings":";;;;AAIA,MAAM,aAAa,CAAC,CAAE,WAAW;AAEjC,SAAS,YACP,QACA,KACe;AAGf,QAFc,OAAO,sBAAM,IAAI,OAAO,QAAQ,IAAI,UAAU,CAAC,GAE9C;;AASjB,SAAgB,qBACd,SACA,YACA,cACA,QACsB;AACtB,QAAO;EACL,QAAQ,OAAO;GACb,MAAM,oBAAoB,WAAW;AAErC,OAAI,OAAQ,QAAO,YAAY,QAAQ,kBAAkB,IAAI;AAE7D,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,kBAAkB,IAAiB;WAC1D;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,kBAAkB,IAAI;;;EAG9D,IAAI,QAAQ,cAAc;AACxB,OAAI,OAAQ,QAAO,YAAY,QAAQ,WAAW,IAAI;AAEtD,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,WAAW,IAAiB;WACnD;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,WAAW,IAAI;;;EAGvD,IAAI,OAAU;AACZ,OAAI,YAAY,eACd,cAAa,QAAQ,YAAY,MAAM;OAEvC,UAAS,SAAS,GAAG,WAAW,GAAG,MAAM;;EAG9C"}
1
+ {"version":3,"file":"storage-manager.cjs","names":[],"sources":["../../../../src/core/system/storage-manager.ts"],"sourcesContent":["\"use client\"\n\nexport type Storage = \"cookie\" | \"localStorage\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nfunction parseCookie<Y extends string>(\n cookie: string,\n key: string,\n): undefined | Y {\n const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n return match?.[2] as undefined | Y\n}\n\nexport interface StorageManager<Y extends string, M extends Y = Y> {\n default(value: M): M\n get(value?: Y): Y\n set(value: Y): void\n}\n\nexport function createStorageManager<Y extends string, M extends Y = Y>(\n storage: Storage,\n storageKey: string,\n defaultValue: Y,\n cookie?: string,\n): StorageManager<Y, M> {\n return {\n default(value) {\n const defaultStorageKey = `default-${storageKey}`\n\n if (cookie) return parseCookie(cookie, defaultStorageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(defaultStorageKey) as M | null) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, defaultStorageKey) || value\n }\n },\n get(value = defaultValue) {\n if (cookie) return parseCookie(cookie, storageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(storageKey) as null | Y) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, storageKey) || value\n }\n },\n set(value: Y) {\n if (storage === \"localStorage\") {\n localStorage.setItem(storageKey, value)\n } else {\n document.cookie = `${storageKey}=${value}; max-age=31536000; path=/`\n }\n },\n }\n}\n"],"mappings":";;;;AAIA,MAAM,aAAa,CAAC,CAAE,WAAW;AAEjC,SAAS,YACP,QACA,KACe;AAGf,QAFc,OAAO,sBAAM,IAAI,OAAO,QAAQ,IAAI,UAAU,CAAC,GAE9C;;AASjB,SAAgB,qBACd,SACA,YACA,cACA,QACsB;AACtB,QAAO;EACL,QAAQ,OAAO;GACb,MAAM,oBAAoB,WAAW;AAErC,OAAI,OAAQ,QAAO,YAAY,QAAQ,kBAAkB,IAAI;AAE7D,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,kBAAkB,IAAiB;WAC1D;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,kBAAkB,IAAI;;;EAG9D,IAAI,QAAQ,cAAc;AACxB,OAAI,OAAQ,QAAO,YAAY,QAAQ,WAAW,IAAI;AAEtD,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,WAAW,IAAiB;WACnD;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,WAAW,IAAI;;;EAGvD,IAAI,OAAU;AACZ,OAAI,YAAY,eACd,cAAa,QAAQ,YAAY,MAAM;OAEvC,UAAS,SAAS,GAAG,WAAW,GAAG,MAAM;;EAG9C"}
@@ -28,8 +28,11 @@ const generateAtRule = (identifier) => (values, { system }) => {
28
28
  return `(${(0, utils_exports.toKebabCase)(key)}: ${value})`;
29
29
  }).join(" and ");
30
30
  }
31
- const condition = `@${identifier} ${type ?? name ?? ""} ${query}`;
32
- prev[condition] = css;
31
+ const conditions = [`@${identifier}`];
32
+ if (type) conditions.push(type);
33
+ if (name) conditions.push(name);
34
+ if (query) conditions.push(query);
35
+ prev[conditions.join(" ")] = css;
33
36
  return prev;
34
37
  }, {});
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"at-rule.js","names":["style"],"sources":["../../../../src/core/css/at-rule.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Transform } from \"./utils\"\nimport { filterUndefined, isArray, toArray, toKebabCase } from \"../../utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport const generateAtRule =\n (identifier: string): Transform =>\n (values, { system }) => {\n if (!isArray(values)) return values\n\n return values.reduce<Dict>(\n (\n prev,\n {\n type,\n name,\n css,\n style,\n h,\n height,\n maxH,\n maxHeight,\n maxW,\n maxWidth,\n minH,\n minHeight,\n minW,\n minWidth,\n prefersColorMode,\n query,\n w,\n width,\n ...rest\n },\n ) => {\n width ??= w\n minWidth ??= minW\n maxWidth ??= maxW\n height ??= h\n minHeight ??= minH\n maxHeight ??= maxH\n\n if (!query) {\n if (style) {\n query = toArray(style)\n .map((style) => `style(${style})`)\n .join(\" and \")\n } else {\n const resolvedRest = filterUndefined({\n height,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n prefersColorScheme: prefersColorMode,\n width,\n ...rest,\n })\n\n query = Object.entries(resolvedRest)\n .map(([key, value]) => {\n value = tokenToVar(system)(\"sizes\", value)\n\n return `(${toKebabCase(key)}: ${value})`\n })\n .join(\" and \")\n }\n }\n\n const condition = `@${identifier} ${type ?? name ?? \"\"} ${query}`\n\n prev[condition] = css\n\n return prev\n },\n {},\n )\n }\n"],"mappings":";;;;AAKA,MAAa,kBACV,gBACA,QAAQ,EAAE,aAAa;AACtB,KAAI,4BAAS,OAAO,CAAE,QAAO;AAE7B,QAAO,OAAO,QAEV,MACA,EACE,MACA,MACA,KACA,OACA,GACA,QACA,MACA,WACA,MACA,UACA,MACA,WACA,MACA,UACA,kBACA,OACA,GACA,OACA,GAAG,WAEF;AACH,YAAU;AACV,eAAa;AACb,eAAa;AACb,aAAW;AACX,gBAAc;AACd,gBAAc;AAEd,MAAI,CAAC,MACH,KAAI,MACF,oCAAgB,MAAM,CACnB,KAAK,YAAU,SAASA,QAAM,GAAG,CACjC,KAAK,QAAQ;OACX;GACL,MAAM,kDAA+B;IACnC;IACA;IACA;IACA;IACA;IACA,oBAAoB;IACpB;IACA,GAAG;IACJ,CAAC;AAEF,WAAQ,OAAO,QAAQ,aAAa,CACjC,KAAK,CAAC,KAAK,WAAW;AACrB,YAAQ,WAAW,OAAO,CAAC,SAAS,MAAM;AAE1C,WAAO,mCAAgB,IAAI,CAAC,IAAI,MAAM;KACtC,CACD,KAAK,QAAQ;;EAIpB,MAAM,YAAY,IAAI,WAAW,GAAG,QAAQ,QAAQ,GAAG,GAAG;AAE1D,OAAK,aAAa;AAElB,SAAO;IAET,EAAE,CACH"}
1
+ {"version":3,"file":"at-rule.js","names":["style"],"sources":["../../../../src/core/css/at-rule.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Transform } from \"./utils\"\nimport { filterUndefined, isArray, toArray, toKebabCase } from \"../../utils\"\nimport { tokenToVar } from \"./utils\"\n\nexport const generateAtRule =\n (identifier: string): Transform =>\n (values, { system }) => {\n if (!isArray(values)) return values\n\n return values.reduce<Dict>(\n (\n prev,\n {\n type,\n name,\n css,\n style,\n h,\n height,\n maxH,\n maxHeight,\n maxW,\n maxWidth,\n minH,\n minHeight,\n minW,\n minWidth,\n prefersColorMode,\n query,\n w,\n width,\n ...rest\n },\n ) => {\n width ??= w\n minWidth ??= minW\n maxWidth ??= maxW\n height ??= h\n minHeight ??= minH\n maxHeight ??= maxH\n\n if (!query) {\n if (style) {\n query = toArray(style)\n .map((style) => `style(${style})`)\n .join(\" and \")\n } else {\n const resolvedRest = filterUndefined({\n height,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n prefersColorScheme: prefersColorMode,\n width,\n ...rest,\n })\n\n query = Object.entries(resolvedRest)\n .map(([key, value]) => {\n value = tokenToVar(system)(\"sizes\", value)\n\n return `(${toKebabCase(key)}: ${value})`\n })\n .join(\" and \")\n }\n }\n\n const conditions = [`@${identifier}`]\n\n if (type) conditions.push(type)\n if (name) conditions.push(name)\n if (query) conditions.push(query)\n\n prev[conditions.join(\" \")] = css\n\n return prev\n },\n {},\n )\n }\n"],"mappings":";;;;AAKA,MAAa,kBACV,gBACA,QAAQ,EAAE,aAAa;AACtB,KAAI,4BAAS,OAAO,CAAE,QAAO;AAE7B,QAAO,OAAO,QAEV,MACA,EACE,MACA,MACA,KACA,OACA,GACA,QACA,MACA,WACA,MACA,UACA,MACA,WACA,MACA,UACA,kBACA,OACA,GACA,OACA,GAAG,WAEF;AACH,YAAU;AACV,eAAa;AACb,eAAa;AACb,aAAW;AACX,gBAAc;AACd,gBAAc;AAEd,MAAI,CAAC,MACH,KAAI,MACF,oCAAgB,MAAM,CACnB,KAAK,YAAU,SAASA,QAAM,GAAG,CACjC,KAAK,QAAQ;OACX;GACL,MAAM,kDAA+B;IACnC;IACA;IACA;IACA;IACA;IACA,oBAAoB;IACpB;IACA,GAAG;IACJ,CAAC;AAEF,WAAQ,OAAO,QAAQ,aAAa,CACjC,KAAK,CAAC,KAAK,WAAW;AACrB,YAAQ,WAAW,OAAO,CAAC,SAAS,MAAM;AAE1C,WAAO,mCAAgB,IAAI,CAAC,IAAI,MAAM;KACtC,CACD,KAAK,QAAQ;;EAIpB,MAAM,aAAa,CAAC,IAAI,aAAa;AAErC,MAAI,KAAM,YAAW,KAAK,KAAK;AAC/B,MAAI,KAAM,YAAW,KAAK,KAAK;AAC/B,MAAI,MAAO,YAAW,KAAK,MAAM;AAEjC,OAAK,WAAW,KAAK,IAAI,IAAI;AAE7B,SAAO;IAET,EAAE,CACH"}
@@ -40,7 +40,7 @@ const transforms = {
40
40
  },
41
41
  deg: (value) => {
42
42
  if (isCSSVar(value) || value == null) return value;
43
- return typeof value === "string" && !value.endsWith("deg") || (0, utils_exports.isNumber)(value) ? `${value}deg` : value;
43
+ return typeof value === "string" && !value.endsWith("deg") && !value.endsWith("grad") && !value.endsWith("turn") && !value.endsWith("rad") || (0, utils_exports.isNumber)(value) ? `${value}deg` : value;
44
44
  },
45
45
  display,
46
46
  filter: generateFilter,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":[],"sources":["../../../../src/core/css/config.ts"],"sourcesContent":["import type { CSSObject } from \"@emotion/styled\"\nimport type { ThemeToken } from \"../system\"\nimport type { CSSProperties } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isNumber, isObject } from \"../../utils\"\nimport { animation, keyframes } from \"./animation\"\nimport { generateAtRule } from \"./at-rule\"\nimport { generateCalc } from \"./calc\"\nimport { colorMix } from \"./color-mix\"\nimport { colorScheme } from \"./color-scheme\"\nimport { display } from \"./display\"\nimport { generateFilter } from \"./filter\"\nimport { generateFocusRing } from \"./focus-ring\"\nimport { generateFunction } from \"./function\"\nimport { gradient } from \"./gradient\"\nimport { grid } from \"./grid\"\nimport { generateStyle } from \"./style\"\nimport { generateToken } from \"./token\"\nimport { transform } from \"./transform\"\nimport { generateTransition } from \"./transition\"\nimport { analyzeCSSValue, isCSSVar } from \"./utils\"\n\nexport interface StyleConfig {\n important?: boolean\n properties?: CSSProperties[]\n static?: CSSObject\n token?: ThemeToken\n transform?: Transform\n}\n\nexport interface StyleConfigs {\n [key: string]: StyleConfig | true\n}\n\nexport const transforms = {\n style: generateStyle,\n colorScheme,\n animation,\n bgClip: (value, { prev }) => {\n if (value === \"text\") {\n prev ??= {}\n prev.color ??= \"transparent\"\n\n return value\n } else {\n return value\n }\n },\n calc: generateCalc,\n colorMix,\n container: generateAtRule(\"container\"),\n content: (value) => {\n if (isObject(value)) {\n return { content: \"''\", ...value }\n } else {\n return value\n }\n },\n deg: (value) => {\n if (isCSSVar(value) || value == null) return value\n\n const isUnitless = typeof value === \"string\" && !value.endsWith(\"deg\")\n\n return isUnitless || isNumber(value) ? `${value}deg` : value\n },\n display,\n filter: generateFilter,\n focusRing: generateFocusRing,\n fraction: (value) => {\n if (isNumber(value) && value <= 1) value = `${value * 100}%`\n\n return value\n },\n function: generateFunction,\n gradient,\n grid,\n keyframes,\n media: generateAtRule(\"media\"),\n px: (value) => {\n if (value == null) return value\n\n const { unitless } = analyzeCSSValue(value)\n\n return unitless || isNumber(value) ? `${value}px` : value\n },\n supports: generateAtRule(\"supports\"),\n token: generateToken,\n transform,\n transition: generateTransition,\n truncated: (value: boolean) => {\n if (value) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }\n },\n} satisfies { [key: string]: Transform }\n\nexport type Transforms = keyof typeof transforms\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCA,MAAa,aAAa;CACxB,OAAO;CACP;CACA;CACA,SAAS,OAAO,EAAE,WAAW;AAC3B,MAAI,UAAU,QAAQ;AACpB,YAAS,EAAE;AACX,QAAK,UAAU;AAEf,UAAO;QAEP,QAAO;;CAGX,MAAM;CACN;CACA,WAAW,eAAe,YAAY;CACtC,UAAU,UAAU;AAClB,kCAAa,MAAM,CACjB,QAAO;GAAE,SAAS;GAAM,GAAG;GAAO;MAElC,QAAO;;CAGX,MAAM,UAAU;AACd,MAAI,SAAS,MAAM,IAAI,SAAS,KAAM,QAAO;AAI7C,SAFmB,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,MAAM,gCAExC,MAAM,GAAG,GAAG,MAAM,OAAO;;CAEzD;CACA,QAAQ;CACR,WAAW;CACX,WAAW,UAAU;AACnB,kCAAa,MAAM,IAAI,SAAS,EAAG,SAAQ,GAAG,QAAQ,IAAI;AAE1D,SAAO;;CAET,UAAU;CACV;CACA;CACA;CACA,OAAO,eAAe,QAAQ;CAC9B,KAAK,UAAU;AACb,MAAI,SAAS,KAAM,QAAO;EAE1B,MAAM,EAAE,aAAa,gBAAgB,MAAM;AAE3C,SAAO,wCAAqB,MAAM,GAAG,GAAG,MAAM,MAAM;;CAEtD,UAAU,eAAe,WAAW;CACpC,OAAO;CACP;CACA,YAAY;CACZ,YAAY,UAAmB;AAC7B,MAAI,MACF,QAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;GACb;;CAGN"}
1
+ {"version":3,"file":"config.js","names":[],"sources":["../../../../src/core/css/config.ts"],"sourcesContent":["import type { CSSObject } from \"@emotion/styled\"\nimport type { ThemeToken } from \"../system\"\nimport type { CSSProperties } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isNumber, isObject } from \"../../utils\"\nimport { animation, keyframes } from \"./animation\"\nimport { generateAtRule } from \"./at-rule\"\nimport { generateCalc } from \"./calc\"\nimport { colorMix } from \"./color-mix\"\nimport { colorScheme } from \"./color-scheme\"\nimport { display } from \"./display\"\nimport { generateFilter } from \"./filter\"\nimport { generateFocusRing } from \"./focus-ring\"\nimport { generateFunction } from \"./function\"\nimport { gradient } from \"./gradient\"\nimport { grid } from \"./grid\"\nimport { generateStyle } from \"./style\"\nimport { generateToken } from \"./token\"\nimport { transform } from \"./transform\"\nimport { generateTransition } from \"./transition\"\nimport { analyzeCSSValue, isCSSVar } from \"./utils\"\n\nexport interface StyleConfig {\n important?: boolean\n properties?: CSSProperties[]\n static?: CSSObject\n token?: ThemeToken\n transform?: Transform\n}\n\nexport interface StyleConfigs {\n [key: string]: StyleConfig | true\n}\n\nexport const transforms = {\n style: generateStyle,\n colorScheme,\n animation,\n bgClip: (value, { prev }) => {\n if (value === \"text\") {\n prev ??= {}\n prev.color ??= \"transparent\"\n\n return value\n } else {\n return value\n }\n },\n calc: generateCalc,\n colorMix,\n container: generateAtRule(\"container\"),\n content: (value) => {\n if (isObject(value)) {\n return { content: \"''\", ...value }\n } else {\n return value\n }\n },\n deg: (value) => {\n if (isCSSVar(value) || value == null) return value\n\n const isUnitless =\n typeof value === \"string\" &&\n !value.endsWith(\"deg\") &&\n !value.endsWith(\"grad\") &&\n !value.endsWith(\"turn\") &&\n !value.endsWith(\"rad\")\n\n return isUnitless || isNumber(value) ? `${value}deg` : value\n },\n display,\n filter: generateFilter,\n focusRing: generateFocusRing,\n fraction: (value) => {\n if (isNumber(value) && value <= 1) value = `${value * 100}%`\n\n return value\n },\n function: generateFunction,\n gradient,\n grid,\n keyframes,\n media: generateAtRule(\"media\"),\n px: (value) => {\n if (value == null) return value\n\n const { unitless } = analyzeCSSValue(value)\n\n return unitless || isNumber(value) ? `${value}px` : value\n },\n supports: generateAtRule(\"supports\"),\n token: generateToken,\n transform,\n transition: generateTransition,\n truncated: (value: boolean) => {\n if (value) {\n return {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }\n },\n} satisfies { [key: string]: Transform }\n\nexport type Transforms = keyof typeof transforms\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCA,MAAa,aAAa;CACxB,OAAO;CACP;CACA;CACA,SAAS,OAAO,EAAE,WAAW;AAC3B,MAAI,UAAU,QAAQ;AACpB,YAAS,EAAE;AACX,QAAK,UAAU;AAEf,UAAO;QAEP,QAAO;;CAGX,MAAM;CACN;CACA,WAAW,eAAe,YAAY;CACtC,UAAU,UAAU;AAClB,kCAAa,MAAM,CACjB,QAAO;GAAE,SAAS;GAAM,GAAG;GAAO;MAElC,QAAO;;CAGX,MAAM,UAAU;AACd,MAAI,SAAS,MAAM,IAAI,SAAS,KAAM,QAAO;AAS7C,SANE,OAAO,UAAU,YACjB,CAAC,MAAM,SAAS,MAAM,IACtB,CAAC,MAAM,SAAS,OAAO,IACvB,CAAC,MAAM,SAAS,OAAO,IACvB,CAAC,MAAM,SAAS,MAAM,gCAEM,MAAM,GAAG,GAAG,MAAM,OAAO;;CAEzD;CACA,QAAQ;CACR,WAAW;CACX,WAAW,UAAU;AACnB,kCAAa,MAAM,IAAI,SAAS,EAAG,SAAQ,GAAG,QAAQ,IAAI;AAE1D,SAAO;;CAET,UAAU;CACV;CACA;CACA;CACA,OAAO,eAAe,QAAQ;CAC9B,KAAK,UAAU;AACb,MAAI,SAAS,KAAM,QAAO;EAE1B,MAAM,EAAE,aAAa,gBAAgB,MAAM;AAE3C,SAAO,wCAAqB,MAAM,GAAG,GAAG,MAAM,MAAM;;CAEtD,UAAU,eAAe,WAAW;CACpC,OAAO;CACP;CACA,YAAY;CACZ,YAAY,UAAmB;AAC7B,MAAI,MACF,QAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;GACb;;CAGN"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-system.js","names":["tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n}","defaultSystem: System","bem","results: VariableTokens","colors","options: FlattenObjectOptions"],"sources":["../../../../src/core/system/create-system.ts"],"sourcesContent":["import type { Dict, FlattenObjectOptions } from \"../../utils\"\nimport type {\n DefineThemeValue,\n System,\n ThemeConfig,\n UsageTheme,\n} from \"./index.types\"\nimport { bem, flattenObject, isArray, isObject, isUndefined } from \"../../utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { createBreakpoints } from \"./breakpoint\"\nimport { createLayers } from \"./layer\"\nimport { createVars, mergeVars } from \"./var\"\n\nexport type VariableResponsiveValue = Dict<\n [DefineThemeValue, DefineThemeValue] | DefineThemeValue\n>\n\nexport type VariableColorModeValue = [\n DefineThemeValue | Dict<DefineThemeValue>,\n DefineThemeValue | Dict<DefineThemeValue>,\n]\n\nexport type VariableValue =\n | DefineThemeValue\n | VariableColorModeValue\n | VariableResponsiveValue\n\ninterface VariableToken {\n semantic: boolean\n value: VariableValue\n}\n\nexport interface VariableTokens {\n [key: string]: VariableToken\n}\n\ninterface TokenOptions {\n [key: string]: FlattenObjectOptions\n}\n\nconst primaryTokens = {\n aspectRatios: {},\n blurs: {},\n borders: {},\n colors: {},\n durations: {},\n easings: {},\n fonts: {},\n fontSizes: {},\n fontWeights: {},\n letterSpacings: {},\n lineHeights: {},\n radii: {},\n sizes: {},\n spaces: {},\n zIndices: {},\n} satisfies TokenOptions\n\ntype PrimaryToken = keyof typeof primaryTokens\n\nconst secondaryTokens = {\n gradients: {},\n keyframes: { maxDepth: 1 },\n shadows: {},\n} satisfies TokenOptions\n\ntype SecondaryToken = keyof typeof secondaryTokens\n\nconst tertiaryTokens = {\n animations: { shouldProcess: (obj) => !obj.keyframes },\n} satisfies TokenOptions\n\ntype TertiaryToken = keyof typeof tertiaryTokens\n\nconst tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n} = {\n primary: primaryTokens,\n secondary: secondaryTokens,\n tertiary: tertiaryTokens,\n}\n\nexport type ThemeToken =\n | \"breakpoints\"\n | PrimaryToken\n | SecondaryToken\n | TertiaryToken\n\nexport const defaultSystem: System = {\n breakpoints: createBreakpoints(),\n config: {},\n cssMap: {},\n cssVars: {},\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n): System {\n const prefix = config.css?.varPrefix ?? DEFAULT_VAR_PREFIX\n const breakpoints = createBreakpoints(theme.breakpoints, config.breakpoint)\n const layers = createLayers(config.css?.layers)\n const shouldProcess = config.theme?.responsive\n ? (obj: any) => !breakpoints.isResponsive(obj, true)\n : () => true\n\n const primaryTokens = {\n ...createTokens(theme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, undefined, shouldProcess),\n }\n const secondaryTokens = createTokens(theme, \"secondary\", shouldProcess)\n const tertiaryTokens = createTokens(theme, \"tertiary\", shouldProcess)\n\n const { cssMap, cssVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(primaryTokens),\n createVars(prefix, theme, breakpoints)(secondaryTokens),\n createVars(prefix, theme, breakpoints)(tertiaryTokens),\n )()\n\n const getClassName = (\n block?: string,\n element?: string,\n modifier?: string,\n ) => {\n if (!block) return \"\"\n\n const className = bem(block, element, modifier)\n\n return `${prefix}-${className}`\n }\n\n if (theme.themeSchemes) {\n const themeSchemeEntries = Object.entries<Dict>(theme.themeSchemes)\n\n for (const [themeScheme, nestedTheme] of themeSchemeEntries) {\n const themeCondition = `[data-theme=${themeScheme}] &:not([data-theme]), &[data-theme=${themeScheme}]`\n\n const nestedPrimaryTokens = {\n ...createTokens(nestedTheme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, nestedTheme, shouldProcess),\n }\n const nestedSecondaryTokens = createTokens(\n nestedTheme,\n \"secondary\",\n shouldProcess,\n )\n const nestedTertiaryTokens = createTokens(\n nestedTheme,\n \"tertiary\",\n shouldProcess,\n )\n\n const { cssVars: nestedCSSVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars[themeCondition] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n utils: { getClassName },\n }\n}\n\nfunction createColorSchemeTokens(\n theme: Dict,\n nestedTheme: Dict | undefined,\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"],\n) {\n const colors = { base: theme.colors ?? {}, nested: nestedTheme?.colors ?? {} }\n const semanticColors = {\n base: theme.semanticTokens?.colors ?? {},\n nested: nestedTheme?.semanticTokens?.colors ?? {},\n }\n const colorSchemeTokens = flattenObject(\n (nestedTheme ?? theme).semanticTokens?.colorSchemes ?? {},\n { shouldProcess },\n )\n\n const results: VariableTokens = {}\n\n function insertToken(\n primaryKey: string,\n secondaryKey: string | undefined,\n value: any,\n ) {\n if (isUndefined(value)) return\n\n if (!secondaryKey || secondaryKey === \"base\") {\n results[`colors.${primaryKey}`] = { semantic: true, value }\n } else {\n results[`colors.${primaryKey}.${secondaryKey}`] = {\n semantic: true,\n value,\n }\n }\n }\n\n function processValue(primaryKey: string, colors: any, keyOrValue: any) {\n const value = colors.nested[keyOrValue] ?? colors.base[keyOrValue]\n\n if (isObject(value)) {\n const tokens = flattenObject(value, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value =\n secondaryKey === \"base\" ? keyOrValue : `${keyOrValue}.${secondaryKey}`\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else {\n insertToken(primaryKey, undefined, keyOrValue)\n }\n }\n\n function processColorModeValue(\n primaryKey: string,\n colors: any,\n keyOrValue: any[],\n ) {\n const [lightValue, darkValue] = keyOrValue\n const lightColors = colors.nested[lightValue] ?? colors.base[lightValue]\n const darkColors = colors.nested[darkValue] ?? colors.base[darkValue]\n\n if (isObject(lightColors) && isObject(darkColors)) {\n const tokens = flattenObject(lightColors, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value = [\n secondaryKey === \"base\"\n ? lightValue\n : `${lightValue}.${secondaryKey}`,\n secondaryKey === \"base\" ? darkValue : `${darkValue}.${secondaryKey}`,\n ]\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else if (!isObject(lightValue) && !isObject(darkValue)) {\n insertToken(primaryKey, undefined, [lightValue, darkValue])\n }\n }\n\n Object.entries(colorSchemeTokens).forEach(([primaryKey, value]) => {\n if (isArray(value)) {\n processColorModeValue(primaryKey, colors, value)\n processColorModeValue(primaryKey, semanticColors, value)\n } else {\n processValue(primaryKey, colors, value)\n processValue(primaryKey, semanticColors, value)\n }\n })\n\n return results\n}\n\nfunction createTokens(\n theme: Dict,\n target: \"primary\" | \"secondary\" | \"tertiary\",\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"] = () => true,\n) {\n const results: VariableTokens = {}\n\n Object.entries(tokenMap[target]).forEach(\n ([primaryKey, { shouldProcess: shouldProcessProp, ...rest }]) => {\n const options: FlattenObjectOptions = {\n ...rest,\n shouldProcess: (obj) =>\n shouldProcess(obj) && (!shouldProcessProp || shouldProcessProp(obj)),\n }\n\n const tokens = flattenObject(theme[primaryKey] ?? {}, options)\n const semanticTokens = flattenObject(\n theme.semanticTokens?.[primaryKey] ?? {},\n options,\n )\n\n Object.entries(tokens).forEach(([secondaryKey, value]) => {\n const token = `${primaryKey}.${secondaryKey}`\n\n results[token] = { semantic: false, value }\n })\n\n Object.entries(semanticTokens).forEach(([secondaryKey, value]) => {\n let token = `${primaryKey}.${secondaryKey}`\n\n if (token.endsWith(\".base\")) token = token.replace(\".base\", \"\")\n\n results[token] = { semantic: true, value }\n })\n },\n )\n\n return results\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"create-system.js","names":["tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n}","defaultSystem: System","bem","results: VariableTokens","colors","options: FlattenObjectOptions"],"sources":["../../../../src/core/system/create-system.ts"],"sourcesContent":["import type { Dict, FlattenObjectOptions } from \"../../utils\"\nimport type { CSSAnimationObject, CSSModifierObject } from \"../css\"\nimport type {\n DefineThemeValue,\n System,\n ThemeConfig,\n UsageTheme,\n} from \"./index.types\"\nimport { bem, flattenObject, isArray, isObject, isUndefined } from \"../../utils\"\nimport { DEFAULT_VAR_PREFIX } from \"../constant\"\nimport { createBreakpoints } from \"./breakpoint\"\nimport { createLayers } from \"./layer\"\nimport { createVars, mergeVars } from \"./var\"\n\nexport type VariableResponsiveValue = Dict<\n [DefineThemeValue, DefineThemeValue] | DefineThemeValue\n>\n\nexport type VariableColorModeValue = [\n DefineThemeValue | Dict<DefineThemeValue>,\n DefineThemeValue | Dict<DefineThemeValue>,\n]\n\nexport type VariableKeyframeValue =\n | [\n CSSModifierObject | Dict<CSSModifierObject>,\n CSSModifierObject | Dict<CSSModifierObject>,\n ]\n | CSSModifierObject\n | Dict<CSSModifierObject>\n\nexport type VariableAnimationValue =\n | CSSAnimationObject\n | CSSAnimationObject[]\n | Dict<CSSAnimationObject>\n\nexport type VariableValue =\n | DefineThemeValue\n | VariableAnimationValue\n | VariableColorModeValue\n | VariableKeyframeValue\n | VariableResponsiveValue\n\ninterface VariableToken {\n semantic: boolean\n value: VariableValue\n}\n\nexport interface VariableTokens {\n [key: string]: VariableToken\n}\n\ninterface TokenOptions {\n [key: string]: FlattenObjectOptions\n}\n\nconst primaryTokens = {\n aspectRatios: {},\n blurs: {},\n borders: {},\n colors: {},\n durations: {},\n easings: {},\n fonts: {},\n fontSizes: {},\n fontWeights: {},\n letterSpacings: {},\n lineHeights: {},\n radii: {},\n sizes: {},\n spaces: {},\n zIndices: {},\n} satisfies TokenOptions\n\ntype PrimaryToken = keyof typeof primaryTokens\n\nconst secondaryTokens = {\n gradients: {},\n keyframes: { maxDepth: 1 },\n shadows: {},\n} satisfies TokenOptions\n\ntype SecondaryToken = keyof typeof secondaryTokens\n\nconst tertiaryTokens = {\n animations: { shouldProcess: (obj) => !obj.keyframes },\n} satisfies TokenOptions\n\ntype TertiaryToken = keyof typeof tertiaryTokens\n\nconst tokenMap: {\n [key in \"primary\" | \"secondary\" | \"tertiary\"]: TokenOptions\n} = {\n primary: primaryTokens,\n secondary: secondaryTokens,\n tertiary: tertiaryTokens,\n}\n\nexport type ThemeToken =\n | \"breakpoints\"\n | PrimaryToken\n | SecondaryToken\n | TertiaryToken\n\nexport const defaultSystem: System = {\n breakpoints: createBreakpoints(),\n config: {},\n cssMap: {},\n cssVars: {},\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n): System {\n const prefix = config.css?.varPrefix ?? DEFAULT_VAR_PREFIX\n const breakpoints = createBreakpoints(theme.breakpoints, config.breakpoint)\n const layers = createLayers(config.css?.layers)\n const shouldProcess = config.theme?.responsive\n ? (obj: any) => !breakpoints.isResponsive(obj, true)\n : () => true\n\n const primaryTokens = {\n ...createTokens(theme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, undefined, shouldProcess),\n }\n const secondaryTokens = createTokens(theme, \"secondary\", shouldProcess)\n const tertiaryTokens = createTokens(theme, \"tertiary\", shouldProcess)\n\n const { cssMap, cssVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(primaryTokens),\n createVars(prefix, theme, breakpoints)(secondaryTokens),\n createVars(prefix, theme, breakpoints)(tertiaryTokens),\n )()\n\n const getClassName = (\n block?: string,\n element?: string,\n modifier?: string,\n ) => {\n if (!block) return \"\"\n\n const className = bem(block, element, modifier)\n\n return `${prefix}-${className}`\n }\n\n if (theme.themeSchemes) {\n const themeSchemeEntries = Object.entries<Dict>(theme.themeSchemes)\n\n for (const [themeScheme, nestedTheme] of themeSchemeEntries) {\n const themeCondition = `[data-theme=${themeScheme}] &:not([data-theme]), &[data-theme=${themeScheme}]`\n\n const nestedPrimaryTokens = {\n ...createTokens(nestedTheme, \"primary\", shouldProcess),\n ...createColorSchemeTokens(theme, nestedTheme, shouldProcess),\n }\n const nestedSecondaryTokens = createTokens(\n nestedTheme,\n \"secondary\",\n shouldProcess,\n )\n const nestedTertiaryTokens = createTokens(\n nestedTheme,\n \"tertiary\",\n shouldProcess,\n )\n\n const { cssVars: nestedCSSVars } = mergeVars(\n createVars(prefix, theme, breakpoints)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars[themeCondition] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n utils: { getClassName },\n }\n}\n\nfunction createColorSchemeTokens(\n theme: Dict,\n nestedTheme: Dict | undefined,\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"],\n) {\n const colors = { base: theme.colors ?? {}, nested: nestedTheme?.colors ?? {} }\n const semanticColors = {\n base: theme.semanticTokens?.colors ?? {},\n nested: nestedTheme?.semanticTokens?.colors ?? {},\n }\n const colorSchemeTokens = flattenObject(\n (nestedTheme ?? theme).semanticTokens?.colorSchemes ?? {},\n { shouldProcess },\n )\n\n const results: VariableTokens = {}\n\n function insertToken(\n primaryKey: string,\n secondaryKey: string | undefined,\n value: any,\n ) {\n if (isUndefined(value)) return\n\n if (!secondaryKey || secondaryKey === \"base\") {\n results[`colors.${primaryKey}`] = { semantic: true, value }\n } else {\n results[`colors.${primaryKey}.${secondaryKey}`] = {\n semantic: true,\n value,\n }\n }\n }\n\n function processValue(primaryKey: string, colors: any, keyOrValue: any) {\n const value = colors.nested[keyOrValue] ?? colors.base[keyOrValue]\n\n if (isObject(value)) {\n const tokens = flattenObject(value, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value =\n secondaryKey === \"base\" ? keyOrValue : `${keyOrValue}.${secondaryKey}`\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else {\n insertToken(primaryKey, undefined, keyOrValue)\n }\n }\n\n function processColorModeValue(\n primaryKey: string,\n colors: any,\n keyOrValue: any[],\n ) {\n const [lightValue, darkValue] = keyOrValue\n const lightColors = colors.nested[lightValue] ?? colors.base[lightValue]\n const darkColors = colors.nested[darkValue] ?? colors.base[darkValue]\n\n if (isObject(lightColors) && isObject(darkColors)) {\n const tokens = flattenObject(lightColors, { shouldProcess })\n\n Object.keys(tokens).forEach((secondaryKey) => {\n const value = [\n secondaryKey === \"base\"\n ? lightValue\n : `${lightValue}.${secondaryKey}`,\n secondaryKey === \"base\" ? darkValue : `${darkValue}.${secondaryKey}`,\n ]\n\n insertToken(primaryKey, secondaryKey, value)\n })\n } else if (!isObject(lightValue) && !isObject(darkValue)) {\n insertToken(primaryKey, undefined, [lightValue, darkValue])\n }\n }\n\n Object.entries(colorSchemeTokens).forEach(([primaryKey, value]) => {\n if (isArray(value)) {\n processColorModeValue(primaryKey, colors, value)\n processColorModeValue(primaryKey, semanticColors, value)\n } else {\n processValue(primaryKey, colors, value)\n processValue(primaryKey, semanticColors, value)\n }\n })\n\n return results\n}\n\nfunction createTokens(\n theme: Dict,\n target: \"primary\" | \"secondary\" | \"tertiary\",\n shouldProcess: FlattenObjectOptions[\"shouldProcess\"] = () => true,\n) {\n const results: VariableTokens = {}\n\n Object.entries(tokenMap[target]).forEach(\n ([primaryKey, { shouldProcess: shouldProcessProp, ...rest }]) => {\n const options: FlattenObjectOptions = {\n ...rest,\n shouldProcess: (obj) =>\n shouldProcess(obj) && (!shouldProcessProp || shouldProcessProp(obj)),\n }\n\n const tokens = flattenObject(theme[primaryKey] ?? {}, options)\n const semanticTokens = flattenObject(\n theme.semanticTokens?.[primaryKey] ?? {},\n options,\n )\n\n Object.entries(tokens).forEach(([secondaryKey, value]) => {\n const token = `${primaryKey}.${secondaryKey}`\n\n results[token] = { semantic: false, value }\n })\n\n Object.entries(semanticTokens).forEach(([secondaryKey, value]) => {\n let token = `${primaryKey}.${secondaryKey}`\n\n if (token.endsWith(\".base\")) token = token.replace(\".base\", \"\")\n\n results[token] = { semantic: true, value }\n })\n },\n )\n\n return results\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage-manager.js","names":[],"sources":["../../../../src/core/system/storage-manager.ts"],"sourcesContent":["\"use client\"\n\nexport type Storage = \"cookie\" | \"localStorage\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nfunction parseCookie<Y extends string>(\n cookie: string,\n key: string,\n): undefined | Y {\n const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n return match?.[2] as undefined | Y\n}\n\nexport interface StorageManager<Y extends string, M extends Y> {\n default(value: M): M\n get(value?: Y): Y\n set(value: Y): void\n}\n\nexport function createStorageManager<Y extends string, M extends Y>(\n storage: Storage,\n storageKey: string,\n defaultValue: Y,\n cookie?: string,\n): StorageManager<Y, M> {\n return {\n default(value) {\n const defaultStorageKey = `default-${storageKey}`\n\n if (cookie) return parseCookie(cookie, defaultStorageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(defaultStorageKey) as M | null) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, defaultStorageKey) || value\n }\n },\n get(value = defaultValue) {\n if (cookie) return parseCookie(cookie, storageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(storageKey) as null | Y) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, storageKey) || value\n }\n },\n set(value: Y) {\n if (storage === \"localStorage\") {\n localStorage.setItem(storageKey, value)\n } else {\n document.cookie = `${storageKey}=${value}; max-age=31536000; path=/`\n }\n },\n }\n}\n"],"mappings":";;;AAIA,MAAM,aAAa,CAAC,CAAE,WAAW;AAEjC,SAAS,YACP,QACA,KACe;AAGf,QAFc,OAAO,sBAAM,IAAI,OAAO,QAAQ,IAAI,UAAU,CAAC,GAE9C;;AASjB,SAAgB,qBACd,SACA,YACA,cACA,QACsB;AACtB,QAAO;EACL,QAAQ,OAAO;GACb,MAAM,oBAAoB,WAAW;AAErC,OAAI,OAAQ,QAAO,YAAY,QAAQ,kBAAkB,IAAI;AAE7D,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,kBAAkB,IAAiB;WAC1D;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,kBAAkB,IAAI;;;EAG9D,IAAI,QAAQ,cAAc;AACxB,OAAI,OAAQ,QAAO,YAAY,QAAQ,WAAW,IAAI;AAEtD,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,WAAW,IAAiB;WACnD;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,WAAW,IAAI;;;EAGvD,IAAI,OAAU;AACZ,OAAI,YAAY,eACd,cAAa,QAAQ,YAAY,MAAM;OAEvC,UAAS,SAAS,GAAG,WAAW,GAAG,MAAM;;EAG9C"}
1
+ {"version":3,"file":"storage-manager.js","names":[],"sources":["../../../../src/core/system/storage-manager.ts"],"sourcesContent":["\"use client\"\n\nexport type Storage = \"cookie\" | \"localStorage\"\n\nconst hasSupport = !!(globalThis.document as Document | undefined)\n\nfunction parseCookie<Y extends string>(\n cookie: string,\n key: string,\n): undefined | Y {\n const match = cookie.match(new RegExp(`(^| )${key}=([^;]+)`))\n\n return match?.[2] as undefined | Y\n}\n\nexport interface StorageManager<Y extends string, M extends Y = Y> {\n default(value: M): M\n get(value?: Y): Y\n set(value: Y): void\n}\n\nexport function createStorageManager<Y extends string, M extends Y = Y>(\n storage: Storage,\n storageKey: string,\n defaultValue: Y,\n cookie?: string,\n): StorageManager<Y, M> {\n return {\n default(value) {\n const defaultStorageKey = `default-${storageKey}`\n\n if (cookie) return parseCookie(cookie, defaultStorageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(defaultStorageKey) as M | null) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, defaultStorageKey) || value\n }\n },\n get(value = defaultValue) {\n if (cookie) return parseCookie(cookie, storageKey) || value\n\n if (storage === \"localStorage\") {\n try {\n return (localStorage.getItem(storageKey) as null | Y) || value\n } catch {\n return value\n }\n } else {\n if (!hasSupport) return value\n\n return parseCookie(document.cookie, storageKey) || value\n }\n },\n set(value: Y) {\n if (storage === \"localStorage\") {\n localStorage.setItem(storageKey, value)\n } else {\n document.cookie = `${storageKey}=${value}; max-age=31536000; path=/`\n }\n },\n }\n}\n"],"mappings":";;;AAIA,MAAM,aAAa,CAAC,CAAE,WAAW;AAEjC,SAAS,YACP,QACA,KACe;AAGf,QAFc,OAAO,sBAAM,IAAI,OAAO,QAAQ,IAAI,UAAU,CAAC,GAE9C;;AASjB,SAAgB,qBACd,SACA,YACA,cACA,QACsB;AACtB,QAAO;EACL,QAAQ,OAAO;GACb,MAAM,oBAAoB,WAAW;AAErC,OAAI,OAAQ,QAAO,YAAY,QAAQ,kBAAkB,IAAI;AAE7D,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,kBAAkB,IAAiB;WAC1D;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,kBAAkB,IAAI;;;EAG9D,IAAI,QAAQ,cAAc;AACxB,OAAI,OAAQ,QAAO,YAAY,QAAQ,WAAW,IAAI;AAEtD,OAAI,YAAY,eACd,KAAI;AACF,WAAQ,aAAa,QAAQ,WAAW,IAAiB;WACnD;AACN,WAAO;;QAEJ;AACL,QAAI,CAAC,WAAY,QAAO;AAExB,WAAO,YAAY,SAAS,QAAQ,WAAW,IAAI;;;EAGvD,IAAI,OAAU;AACZ,OAAI,YAAY,eACd,cAAa,QAAQ,YAAY,MAAM;OAEvC,UAAS,SAAS,GAAG,WAAW,GAAG,MAAM;;EAG9C"}
@@ -3,11 +3,13 @@ import { ThemeProps } from "../../core/system/index.types.js";
3
3
  import { Component, HTMLStyledProps } from "../../core/components/index.types.js";
4
4
  import "../../core/index.js";
5
5
  import { WithTransitionProps } from "../motion/index.types.js";
6
+ import "../motion/index.js";
6
7
  import { CollapseProps } from "../collapse/collapse.js";
8
+ import "../collapse/index.js";
7
9
  import "../../index.js";
8
10
  import { AccordionStyle } from "./accordion.style.js";
9
11
  import { UseAccordionItemProps, UseAccordionProps } from "./use-accordion.js";
10
- import * as react61 from "react";
12
+ import * as react74 from "react";
11
13
 
12
14
  //#region src/components/accordion/accordion.d.ts
13
15
  interface AccordionCallBackProps {
@@ -31,7 +33,7 @@ interface AccordionRootProps extends Omit<HTMLStyledProps, "onChange">, ThemePro
31
33
  */
32
34
  items?: AccordionItem[];
33
35
  }
34
- declare const AccordionPropsContext: react61.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
36
+ declare const AccordionPropsContext: react74.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
35
37
  /**
36
38
  * `Accordion` is a component for a list that displays information in an expandable or collapsible manner.
37
39
  *
@@ -3,7 +3,7 @@ import { CSSModifierObject, CSSPropObject, CSSSlotObject } from "../../core/css/
3
3
  import "../../index.js";
4
4
 
5
5
  //#region src/components/accordion/accordion.style.d.ts
6
- declare const accordionStyle: ComponentSlotStyle<"button" | "panel" | "icon" | "root" | "item", CSSPropObject<CSSSlotObject<"button" | "panel" | "icon" | "root" | "item">>, CSSModifierObject<CSSSlotObject<"button" | "panel" | "icon" | "root" | "item">>, {
6
+ declare const accordionStyle: ComponentSlotStyle<"button" | "panel" | "icon" | "item" | "root", CSSPropObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, CSSModifierObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, {
7
7
  panel: {
8
8
  button: {
9
9
  rounded: "l2";
@@ -2,10 +2,10 @@ import { HTMLProps, PropGetter } from "../../core/components/index.types.js";
2
2
  import "../../core/index.js";
3
3
  import { Descendant } from "../../hooks/use-descendants/index.js";
4
4
  import "../../index.js";
5
- import * as react49 from "react";
5
+ import * as react62 from "react";
6
6
 
7
7
  //#region src/components/accordion/use-accordion.d.ts
8
- declare const AccordionDescendantsContext: react49.Context<{
8
+ declare const AccordionDescendantsContext: react62.Context<{
9
9
  active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
10
10
  count: () => number;
11
11
  destroy: () => void;
@@ -24,7 +24,7 @@ declare const AccordionDescendantsContext: react49.Context<{
24
24
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean) => Descendant<HTMLButtonElement, {}> | undefined;
25
25
  register: (props?: {
26
26
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
27
- } | undefined) => react49.RefCallback<HTMLButtonElement>;
27
+ } | undefined) => react62.RefCallback<HTMLButtonElement>;
28
28
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
29
29
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
30
30
  values: () => Descendant<HTMLButtonElement, {}>[];
@@ -50,12 +50,12 @@ declare const AccordionDescendantsContext: react49.Context<{
50
50
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean) => Descendant<HTMLButtonElement, {}> | undefined;
51
51
  register: (props?: {
52
52
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
53
- } | undefined) => react49.RefCallback<HTMLButtonElement>;
53
+ } | undefined) => react62.RefCallback<HTMLButtonElement>;
54
54
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
55
55
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
56
56
  values: () => Descendant<HTMLButtonElement, {}>[];
57
57
  };
58
- register: react49.RefCallback<HTMLButtonElement>;
58
+ register: react62.RefCallback<HTMLButtonElement>;
59
59
  }, useAccordionDescendants: () => {
60
60
  active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
61
61
  count: () => number;
@@ -75,15 +75,15 @@ declare const AccordionDescendantsContext: react49.Context<{
75
75
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean) => Descendant<HTMLButtonElement, {}> | undefined;
76
76
  register: (props?: {
77
77
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
78
- } | undefined) => react49.RefCallback<HTMLButtonElement>;
78
+ } | undefined) => react62.RefCallback<HTMLButtonElement>;
79
79
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
80
80
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
81
81
  values: () => Descendant<HTMLButtonElement, {}>[];
82
82
  };
83
83
  interface AccordionContext extends Omit<UseAccordionReturn, "descendants" | "getRootProps"> {}
84
- declare const AccordionContext: react49.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
84
+ declare const AccordionContext: react62.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
85
85
  interface AccordionItemContext extends Omit<UseAccordionItemReturn, "getItemProps"> {}
86
- declare const AccordionItemContext: react49.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
86
+ declare const AccordionItemContext: react62.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
87
87
  interface UseAccordionProps extends Omit<HTMLProps, "onChange"> {
88
88
  /**
89
89
  * The initial index(es) of the accordion item to expand.
@@ -137,7 +137,7 @@ declare const useAccordion: ({
137
137
  prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean) => Descendant<HTMLButtonElement, {}> | undefined;
138
138
  register: (props?: {
139
139
  disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
140
- } | undefined) => react49.RefCallback<HTMLButtonElement>;
140
+ } | undefined) => react62.RefCallback<HTMLButtonElement>;
141
141
  unregister: (node?: HTMLButtonElement | null | undefined) => void;
142
142
  value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
143
143
  values: () => Descendant<HTMLButtonElement, {}>[];
@@ -145,8 +145,8 @@ declare const useAccordion: ({
145
145
  focusedIndex: number;
146
146
  index: number | number[];
147
147
  multiple: boolean | undefined;
148
- setFocusedIndex: react49.Dispatch<react49.SetStateAction<number>>;
149
- setIndex: react49.Dispatch<react49.SetStateAction<number | number[]>>;
148
+ setFocusedIndex: react62.Dispatch<react62.SetStateAction<number>>;
149
+ setIndex: react62.Dispatch<react62.SetStateAction<number | number[]>>;
150
150
  toggle: boolean | undefined;
151
151
  getRootProps: PropGetter<"div", undefined, undefined>;
152
152
  };
@@ -3,8 +3,9 @@ import { Component } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import { AiryStyle } from "./airy.style.js";
5
5
  import { HTMLMotionProps } from "../motion/index.types.js";
6
+ import "../motion/index.js";
6
7
  import "../../index.js";
7
- import * as react62 from "react";
8
+ import * as react60 from "react";
8
9
  import { ReactNode } from "react";
9
10
 
10
11
  //#region src/components/airy/airy.d.ts
@@ -56,7 +57,7 @@ interface AiryProps extends Omit<HTMLMotionProps<"button">, "onChange">, ThemePr
56
57
  */
57
58
  onChange?: (value: KeyframeIdent) => void;
58
59
  }
59
- declare const AiryPropsContext: react62.Context<Partial<AiryProps> | undefined>, useAiryPropsContext: () => Partial<AiryProps> | undefined;
60
+ declare const AiryPropsContext: react60.Context<Partial<AiryProps> | undefined>, useAiryPropsContext: () => Partial<AiryProps> | undefined;
60
61
  /**
61
62
  * `Airy` is a component that creates an airy animation, switching between two elements when one is clicked.
62
63
  *
@@ -3,10 +3,13 @@ import { Component, HTMLStyledProps } from "../../core/components/index.types.js
3
3
  import "../../core/index.js";
4
4
  import { AlertStyle } from "./alert.style.js";
5
5
  import { IconProps } from "../icon/icon.js";
6
+ import "../icon/index.js";
6
7
  import { LoadingProps } from "../loading/loading.js";
8
+ import "../loading/index.js";
7
9
  import { StatusScheme } from "../status/status.js";
10
+ import "../status/index.js";
8
11
  import "../../index.js";
9
- import * as react38 from "react";
12
+ import * as react61 from "react";
10
13
 
11
14
  //#region src/components/alert/alert.d.ts
12
15
  interface AlertRootProps extends HTMLStyledProps, ThemeProps<AlertStyle> {
@@ -17,7 +20,7 @@ interface AlertRootProps extends HTMLStyledProps, ThemeProps<AlertStyle> {
17
20
  */
18
21
  status?: StatusScheme;
19
22
  }
20
- declare const AlertPropsContext: react38.Context<Partial<AlertRootProps> | undefined>, useAlertPropsContext: () => Partial<AlertRootProps> | undefined;
23
+ declare const AlertPropsContext: react61.Context<Partial<AlertRootProps> | undefined>, useAlertPropsContext: () => Partial<AlertRootProps> | undefined;
21
24
  /**
22
25
  * `Alert` is a component that conveys information to the user.
23
26
  *
@@ -3,7 +3,7 @@ import { CSSModifierObject, CSSPropObject, CSSSlotObject } from "../../core/css/
3
3
  import "../../index.js";
4
4
 
5
5
  //#region src/components/alert/alert.style.d.ts
6
- declare const alertStyle: ComponentSlotStyle<"title" | "icon" | "loading" | "description" | "root", CSSPropObject<CSSSlotObject<"title" | "icon" | "loading" | "description" | "root">>, CSSModifierObject<CSSSlotObject<"title" | "icon" | "loading" | "description" | "root">>, {
6
+ declare const alertStyle: ComponentSlotStyle<"loading" | "title" | "icon" | "root" | "description", CSSPropObject<CSSSlotObject<"loading" | "title" | "icon" | "root" | "description">>, CSSModifierObject<CSSSlotObject<"loading" | "title" | "icon" | "root" | "description">>, {
7
7
  island: {
8
8
  description: {
9
9
  color: "fg.muted";
@@ -3,8 +3,9 @@ import { Component } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import { AlphaSliderStyle } from "./alpha-slider.style.js";
5
5
  import { HueSliderOverlayProps, HueSliderRootProps, HueSliderThumbProps, HueSliderTrackProps } from "../hue-slider/hue-slider.js";
6
+ import "../hue-slider/index.js";
6
7
  import "../../index.js";
7
- import * as react48 from "react";
8
+ import * as react59 from "react";
8
9
 
9
10
  //#region src/components/alpha-slider/alpha-slider.d.ts
10
11
  interface AlphaSliderRootProps extends WithoutThemeProps<Omit<HueSliderRootProps, "color" | "max" | "step" | "thumbProps" | "trackProps">, AlphaSliderStyle> {
@@ -37,7 +38,7 @@ interface AlphaSliderRootProps extends WithoutThemeProps<Omit<HueSliderRootProps
37
38
  */
38
39
  trackProps?: AlphaSliderTrackProps;
39
40
  }
40
- declare const AlphaSliderPropsContext: react48.Context<Partial<AlphaSliderRootProps> | undefined>, useAlphaSliderPropsContext: () => Partial<AlphaSliderRootProps> | undefined;
41
+ declare const AlphaSliderPropsContext: react59.Context<Partial<AlphaSliderRootProps> | undefined>, useAlphaSliderPropsContext: () => Partial<AlphaSliderRootProps> | undefined;
41
42
  /**
42
43
  * `AlphaSlider` is a component used to allow the user to select color transparency.
43
44
  *
@@ -2,7 +2,7 @@ import { StyleValue } from "../../core/css/index.types.js";
2
2
  import { Component, HTMLStyledProps } from "../../core/components/index.types.js";
3
3
  import "../../core/index.js";
4
4
  import "../../index.js";
5
- import * as react26 from "react";
5
+ import * as react79 from "react";
6
6
 
7
7
  //#region src/components/aspect-ratio/aspect-ratio.d.ts
8
8
  interface AspectRatioProps extends HTMLStyledProps {
@@ -13,7 +13,7 @@ interface AspectRatioProps extends HTMLStyledProps {
13
13
  */
14
14
  ratio?: StyleValue<number>;
15
15
  }
16
- declare const AspectRatioPropsContext: react26.Context<Partial<AspectRatioProps> | undefined>, useAspectRatioPropsContext: () => Partial<AspectRatioProps> | undefined;
16
+ declare const AspectRatioPropsContext: react79.Context<Partial<AspectRatioProps> | undefined>, useAspectRatioPropsContext: () => Partial<AspectRatioProps> | undefined;
17
17
  /**
18
18
  * `AspectRatio` is a component for embedding things like videos and maps while maintaining the aspect ratio.
19
19
  *
@@ -3,13 +3,15 @@ import { Component, GenericsComponent, HTMLStyledProps } from "../../core/compon
3
3
  import "../../core/index.js";
4
4
  import { AutocompleteStyle } from "./autocomplete.style.js";
5
5
  import { PopoverContentProps, PopupAnimationProps } from "../popover/popover.js";
6
+ import "../popover/index.js";
6
7
  import { UseComboboxGroupProps } from "../../hooks/use-combobox/index.js";
7
8
  import { UseInputBorderProps } from "../input/use-input-border.js";
8
9
  import { InputElementProps } from "../input/input-element.js";
9
10
  import { InputGroupRootProps } from "../input/input-group.js";
11
+ import "../input/index.js";
10
12
  import { UseAutocompleteOptionProps, UseAutocompleteProps } from "./use-autocomplete.js";
11
13
  import "../../index.js";
12
- import * as react27 from "react";
14
+ import * as react53 from "react";
13
15
  import { ReactElement, ReactNode } from "react";
14
16
 
15
17
  //#region src/components/autocomplete/autocomplete.d.ts
@@ -65,7 +67,7 @@ interface AutocompleteRootProps<Multiple extends boolean = false> extends Omit<H
65
67
  */
66
68
  rootProps?: InputGroupRootProps;
67
69
  }
68
- declare const AutocompletePropsContext: react27.Context<Partial<AutocompleteRootProps<false>> | undefined>, useAutocompletePropsContext: () => Partial<AutocompleteRootProps<false>> | undefined;
70
+ declare const AutocompletePropsContext: react53.Context<Partial<AutocompleteRootProps<false>> | undefined>, useAutocompletePropsContext: () => Partial<AutocompleteRootProps<false>> | undefined;
69
71
  /**
70
72
  * `Autocomplete` is a component used to display suggestions in response to user text input.
71
73
  *
@@ -3,7 +3,7 @@ import { CSSPropObject, CSSSlotObject } from "../../core/css/index.types.js";
3
3
  import "../../index.js";
4
4
 
5
5
  //#region src/components/autocomplete/autocomplete.style.d.ts
6
- declare const autocompleteStyle: ComponentSlotStyle<"input" | "label" | "option" | "content" | "icon" | "separator" | "group" | "empty" | "indicator" | "field" | "root" | "valueText", CSSPropObject<CSSSlotObject<"input" | "label" | "option" | "content" | "icon" | "separator" | "group" | "empty" | "indicator" | "field" | "root" | "valueText">>, {
6
+ declare const autocompleteStyle: ComponentSlotStyle<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "indicator" | "root" | "field" | "valueText" | "empty", CSSPropObject<CSSSlotObject<"input" | "label" | "option" | "content" | "group" | "separator" | "icon" | "indicator" | "root" | "field" | "valueText" | "empty">>, {
7
7
  xs: {
8
8
  empty: {
9
9
  gap: "1.5";
@@ -1,11 +1,13 @@
1
1
  import { HTMLProps, HTMLRefAttributes, PropGetter } from "../../core/components/index.types.js";
2
2
  import "../../core/index.js";
3
3
  import { FieldProps } from "../field/field.js";
4
+ import "../field/index.js";
4
5
  import { Descendant, DescendantProps } from "../../hooks/use-descendants/index.js";
5
6
  import { UsePopoverProps } from "../popover/use-popover.js";
7
+ import "../popover/index.js";
6
8
  import { ComboboxDescendant, ComboboxDescendantProps, ComboboxItem, ComboboxItemWithValue, UseComboboxItemProps, UseComboboxProps } from "../../hooks/use-combobox/index.js";
7
9
  import "../../index.js";
8
- import * as react28 from "react";
10
+ import * as react47 from "react";
9
11
  import { ChangeEvent, ReactNode } from "react";
10
12
 
11
13
  //#region src/components/autocomplete/use-autocomplete.d.ts
@@ -27,7 +29,7 @@ interface AutocompleteMatcher {
27
29
  (input: string, target?: string): boolean;
28
30
  }
29
31
  interface AutocompleteContext extends Pick<UseAutocompleteReturn, "max" | "value"> {}
30
- declare const AutocompleteContext: react28.Context<AutocompleteContext>, useAutocompleteContext: () => AutocompleteContext;
32
+ declare const AutocompleteContext: react47.Context<AutocompleteContext>, useAutocompleteContext: () => AutocompleteContext;
31
33
  interface UseAutocompleteProps<Multiple extends boolean = false> extends Omit<HTMLProps, "defaultValue" | "onChange" | "ref" | "value">, Omit<UseComboboxProps, "defaultValue" | "initialFocusValue" | "onChange" | "ref" | "value">, HTMLRefAttributes<"input">, FieldProps {
32
34
  /**
33
35
  * If `true`, the autocomplete will allow custom value.
@@ -155,7 +157,7 @@ declare const useAutocomplete: <Multiple extends boolean = false>(props?: UseAut
155
157
  lastValue: () => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
156
158
  nextValue: (indexOrNode: number | HTMLDivElement | Descendant<HTMLDivElement, ComboboxDescendantProps> | null, loop?: boolean) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
157
159
  prevValue: (indexOrNode: number | HTMLDivElement | Descendant<HTMLDivElement, ComboboxDescendantProps> | null, loop?: boolean) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
158
- register: (props?: DescendantProps<HTMLDivElement, ComboboxDescendantProps> | undefined) => react28.RefCallback<HTMLDivElement>;
160
+ register: (props?: DescendantProps<HTMLDivElement, ComboboxDescendantProps> | undefined) => react47.RefCallback<HTMLDivElement>;
159
161
  unregister: (node?: HTMLDivElement | null | undefined) => void;
160
162
  value: (indexOrNode: number | HTMLDivElement | null) => Descendant<HTMLDivElement, ComboboxDescendantProps> | undefined;
161
163
  values: () => Descendant<HTMLDivElement, ComboboxDescendantProps>[];
@@ -165,8 +167,8 @@ declare const useAutocomplete: <Multiple extends boolean = false>(props?: UseAut
165
167
  items: ComboboxItem[];
166
168
  max: number | undefined;
167
169
  open: boolean;
168
- setInputValue: react28.Dispatch<react28.SetStateAction<string>>;
169
- setValue: react28.Dispatch<react28.SetStateAction<Multiple extends true ? string[] : string>>;
170
+ setInputValue: react47.Dispatch<react47.SetStateAction<string>>;
171
+ setValue: react47.Dispatch<react47.SetStateAction<Multiple extends true ? string[] : string>>;
170
172
  value: Multiple extends true ? string[] : string;
171
173
  valueMap: {
172
174
  [key: string]: ComboboxItemWithValue;