@yamada-ui/react 2.2.6 → 2.2.7-dev-20260804111744

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 (811) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -1
  2. package/dist/cjs/components/accordion/accordion.cjs +4 -2
  3. package/dist/cjs/components/accordion/accordion.cjs.map +1 -1
  4. package/dist/cjs/components/accordion/use-accordion.cjs +1 -0
  5. package/dist/cjs/components/accordion/use-accordion.cjs.map +1 -1
  6. package/dist/cjs/components/action-bar/action-bar.cjs +1 -0
  7. package/dist/cjs/components/action-bar/action-bar.cjs.map +1 -1
  8. package/dist/cjs/components/action-bar/use-action-bar.cjs +1 -0
  9. package/dist/cjs/components/action-bar/use-action-bar.cjs.map +1 -1
  10. package/dist/cjs/components/airy/airy.cjs +1 -0
  11. package/dist/cjs/components/airy/airy.cjs.map +1 -1
  12. package/dist/cjs/components/alert/alert.cjs +5 -2
  13. package/dist/cjs/components/alert/alert.cjs.map +1 -1
  14. package/dist/cjs/components/alpha-slider/alpha-slider.cjs +1 -0
  15. package/dist/cjs/components/alpha-slider/alpha-slider.cjs.map +1 -1
  16. package/dist/cjs/components/aspect-ratio/aspect-ratio.cjs +1 -0
  17. package/dist/cjs/components/aspect-ratio/aspect-ratio.cjs.map +1 -1
  18. package/dist/cjs/components/autocomplete/autocomplete.cjs +14 -10
  19. package/dist/cjs/components/autocomplete/autocomplete.cjs.map +1 -1
  20. package/dist/cjs/components/autocomplete/use-autocomplete.cjs +1 -0
  21. package/dist/cjs/components/autocomplete/use-autocomplete.cjs.map +1 -1
  22. package/dist/cjs/components/avatar/avatar-group.cjs +13 -11
  23. package/dist/cjs/components/avatar/avatar-group.cjs.map +1 -1
  24. package/dist/cjs/components/avatar/use-avatar-group.cjs +1 -0
  25. package/dist/cjs/components/avatar/use-avatar-group.cjs.map +1 -1
  26. package/dist/cjs/components/avatar/use-avatar.cjs +1 -0
  27. package/dist/cjs/components/avatar/use-avatar.cjs.map +1 -1
  28. package/dist/cjs/components/blockquote/blockquote.cjs +1 -0
  29. package/dist/cjs/components/blockquote/blockquote.cjs.map +1 -1
  30. package/dist/cjs/components/breadcrumb/breadcrumb.cjs +1 -0
  31. package/dist/cjs/components/breadcrumb/breadcrumb.cjs.map +1 -1
  32. package/dist/cjs/components/breadcrumb/use-breadcrumb.cjs +1 -0
  33. package/dist/cjs/components/breadcrumb/use-breadcrumb.cjs.map +1 -1
  34. package/dist/cjs/components/button/button-group.cjs +1 -0
  35. package/dist/cjs/components/button/button-group.cjs.map +1 -1
  36. package/dist/cjs/components/button/button.cjs +9 -5
  37. package/dist/cjs/components/button/button.cjs.map +1 -1
  38. package/dist/cjs/components/calendar/calendar.cjs +1 -0
  39. package/dist/cjs/components/calendar/calendar.cjs.map +1 -1
  40. package/dist/cjs/components/calendar/use-calendar.cjs.map +1 -1
  41. package/dist/cjs/components/carousel/carousel.cjs +27 -25
  42. package/dist/cjs/components/carousel/carousel.cjs.map +1 -1
  43. package/dist/cjs/components/carousel/use-carousel.cjs.map +1 -1
  44. package/dist/cjs/components/chart/area-chart.cjs +6 -4
  45. package/dist/cjs/components/chart/area-chart.cjs.map +1 -1
  46. package/dist/cjs/components/chart/bar-chart.cjs +6 -4
  47. package/dist/cjs/components/chart/bar-chart.cjs.map +1 -1
  48. package/dist/cjs/components/chart/cartesian-chart.cjs +146 -139
  49. package/dist/cjs/components/chart/cartesian-chart.cjs.map +1 -1
  50. package/dist/cjs/components/chart/chart.cjs +3 -1
  51. package/dist/cjs/components/chart/chart.cjs.map +1 -1
  52. package/dist/cjs/components/chart/composed-chart.cjs +16 -14
  53. package/dist/cjs/components/chart/composed-chart.cjs.map +1 -1
  54. package/dist/cjs/components/chart/donut-chart.cjs +8 -5
  55. package/dist/cjs/components/chart/donut-chart.cjs.map +1 -1
  56. package/dist/cjs/components/chart/line-chart.cjs +6 -4
  57. package/dist/cjs/components/chart/line-chart.cjs.map +1 -1
  58. package/dist/cjs/components/chart/pie-chart.cjs +8 -5
  59. package/dist/cjs/components/chart/pie-chart.cjs.map +1 -1
  60. package/dist/cjs/components/chart/polar-chart.cjs +119 -111
  61. package/dist/cjs/components/chart/polar-chart.cjs.map +1 -1
  62. package/dist/cjs/components/chart/radar-chart.cjs +6 -4
  63. package/dist/cjs/components/chart/radar-chart.cjs.map +1 -1
  64. package/dist/cjs/components/chart/radial-chart.cjs +1 -0
  65. package/dist/cjs/components/chart/radial-chart.cjs.map +1 -1
  66. package/dist/cjs/components/chart/use-cartesian-chart.cjs +1 -0
  67. package/dist/cjs/components/chart/use-cartesian-chart.cjs.map +1 -1
  68. package/dist/cjs/components/chart/use-chart.cjs +1 -0
  69. package/dist/cjs/components/chart/use-chart.cjs.map +1 -1
  70. package/dist/cjs/components/chart/use-polar-chart.cjs +1 -0
  71. package/dist/cjs/components/chart/use-polar-chart.cjs.map +1 -1
  72. package/dist/cjs/components/checkbox/checkbox-group.cjs +39 -36
  73. package/dist/cjs/components/checkbox/checkbox-group.cjs.map +1 -1
  74. package/dist/cjs/components/checkbox/checkbox.cjs +1 -0
  75. package/dist/cjs/components/checkbox/checkbox.cjs.map +1 -1
  76. package/dist/cjs/components/checkbox/use-checkbox-group.cjs +1 -0
  77. package/dist/cjs/components/checkbox/use-checkbox-group.cjs.map +1 -1
  78. package/dist/cjs/components/checkbox/use-checkbox.cjs +3 -1
  79. package/dist/cjs/components/checkbox/use-checkbox.cjs.map +1 -1
  80. package/dist/cjs/components/checkbox-card/checkbox-card-group.cjs +43 -40
  81. package/dist/cjs/components/checkbox-card/checkbox-card-group.cjs.map +1 -1
  82. package/dist/cjs/components/checkbox-card/checkbox-card.cjs +1 -0
  83. package/dist/cjs/components/checkbox-card/checkbox-card.cjs.map +1 -1
  84. package/dist/cjs/components/circle-progress/circle-progress.cjs.map +1 -1
  85. package/dist/cjs/components/client-only/client-only.cjs +2 -1
  86. package/dist/cjs/components/client-only/client-only.cjs.map +1 -1
  87. package/dist/cjs/components/collapse/collapse.cjs +1 -0
  88. package/dist/cjs/components/collapse/collapse.cjs.map +1 -1
  89. package/dist/cjs/components/color-picker/color-picker.cjs +3 -1
  90. package/dist/cjs/components/color-picker/color-picker.cjs.map +1 -1
  91. package/dist/cjs/components/color-picker/use-color-picker.cjs +1 -0
  92. package/dist/cjs/components/color-picker/use-color-picker.cjs.map +1 -1
  93. package/dist/cjs/components/color-selector/color-selector.cjs +3 -1
  94. package/dist/cjs/components/color-selector/color-selector.cjs.map +1 -1
  95. package/dist/cjs/components/color-selector/use-color-selector.cjs +1 -0
  96. package/dist/cjs/components/color-selector/use-color-selector.cjs.map +1 -1
  97. package/dist/cjs/components/color-swatch/color-swatch.cjs.map +1 -1
  98. package/dist/cjs/components/data-list/data-list.cjs +9 -5
  99. package/dist/cjs/components/data-list/data-list.cjs.map +1 -1
  100. package/dist/cjs/components/date-picker/date-picker.cjs +3 -1
  101. package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
  102. package/dist/cjs/components/date-picker/use-date-picker.cjs.map +1 -1
  103. package/dist/cjs/components/drawer/drawer.cjs +1 -0
  104. package/dist/cjs/components/drawer/drawer.cjs.map +1 -1
  105. package/dist/cjs/components/drawer/use-drawer.cjs +2 -3
  106. package/dist/cjs/components/drawer/use-drawer.cjs.map +1 -1
  107. package/dist/cjs/components/dropzone/dropzone.cjs +3 -1
  108. package/dist/cjs/components/dropzone/dropzone.cjs.map +1 -1
  109. package/dist/cjs/components/dropzone/use-dropzone.cjs +1 -0
  110. package/dist/cjs/components/dropzone/use-dropzone.cjs.map +1 -1
  111. package/dist/cjs/components/editable/editable.cjs.map +1 -1
  112. package/dist/cjs/components/editable/use-editable.cjs +1 -0
  113. package/dist/cjs/components/editable/use-editable.cjs.map +1 -1
  114. package/dist/cjs/components/fade/fade.cjs +1 -0
  115. package/dist/cjs/components/fade/fade.cjs.map +1 -1
  116. package/dist/cjs/components/fade-scale/fade-scale.cjs +1 -0
  117. package/dist/cjs/components/fade-scale/fade-scale.cjs.map +1 -1
  118. package/dist/cjs/components/field/field.cjs +1 -0
  119. package/dist/cjs/components/field/field.cjs.map +1 -1
  120. package/dist/cjs/components/field/use-field-props.cjs +1 -0
  121. package/dist/cjs/components/field/use-field-props.cjs.map +1 -1
  122. package/dist/cjs/components/fieldset/fieldset.cjs +1 -0
  123. package/dist/cjs/components/fieldset/fieldset.cjs.map +1 -1
  124. package/dist/cjs/components/file-button/use-file-button.cjs +1 -0
  125. package/dist/cjs/components/file-button/use-file-button.cjs.map +1 -1
  126. package/dist/cjs/components/file-input/file-input.cjs +3 -1
  127. package/dist/cjs/components/file-input/file-input.cjs.map +1 -1
  128. package/dist/cjs/components/file-input/use-file-input.cjs +1 -0
  129. package/dist/cjs/components/file-input/use-file-input.cjs.map +1 -1
  130. package/dist/cjs/components/flip/flip.cjs +1 -0
  131. package/dist/cjs/components/flip/flip.cjs.map +1 -1
  132. package/dist/cjs/components/float/float.cjs.map +1 -1
  133. package/dist/cjs/components/focus-lock/focus-lock.cjs.map +1 -1
  134. package/dist/cjs/components/for/for.cjs.map +1 -1
  135. package/dist/cjs/components/form/form.cjs +1 -0
  136. package/dist/cjs/components/form/form.cjs.map +1 -1
  137. package/dist/cjs/components/format/use-format-byte.cjs +1 -0
  138. package/dist/cjs/components/format/use-format-byte.cjs.map +1 -1
  139. package/dist/cjs/components/format/use-format-date-time.cjs +1 -0
  140. package/dist/cjs/components/format/use-format-date-time.cjs.map +1 -1
  141. package/dist/cjs/components/format/use-format-number.cjs +1 -0
  142. package/dist/cjs/components/format/use-format-number.cjs.map +1 -1
  143. package/dist/cjs/components/grid/grid-item.cjs.map +1 -1
  144. package/dist/cjs/components/group/group.cjs.map +1 -1
  145. package/dist/cjs/components/group/use-group.cjs +1 -0
  146. package/dist/cjs/components/group/use-group.cjs.map +1 -1
  147. package/dist/cjs/components/highlight/highlight.cjs +1 -0
  148. package/dist/cjs/components/highlight/highlight.cjs.map +1 -1
  149. package/dist/cjs/components/highlight/use-highlight.cjs +1 -0
  150. package/dist/cjs/components/highlight/use-highlight.cjs.map +1 -1
  151. package/dist/cjs/components/hue-slider/hue-slider.cjs +1 -0
  152. package/dist/cjs/components/hue-slider/hue-slider.cjs.map +1 -1
  153. package/dist/cjs/components/icon/icons/index.cjs +30 -6
  154. package/dist/cjs/components/icon/icons/index.cjs.map +1 -1
  155. package/dist/cjs/components/icon/icons/layout-freeform-icon.cjs +14 -0
  156. package/dist/cjs/components/icon/icons/layout-freeform-icon.cjs.map +1 -0
  157. package/dist/cjs/components/icon/icons/mic-audio-lines-icon.cjs +14 -0
  158. package/dist/cjs/components/icon/icons/mic-audio-lines-icon.cjs.map +1 -0
  159. package/dist/cjs/components/icon/icons/mic-signal-icon.cjs +14 -0
  160. package/dist/cjs/components/icon/icons/mic-signal-icon.cjs.map +1 -0
  161. package/dist/cjs/components/icon/icons/mosque-icon.cjs +14 -0
  162. package/dist/cjs/components/icon/icons/mosque-icon.cjs.map +1 -0
  163. package/dist/cjs/components/icon/icons/rotate-ccw-clock-icon.cjs +14 -0
  164. package/dist/cjs/components/icon/icons/rotate-ccw-clock-icon.cjs.map +1 -0
  165. package/dist/cjs/components/icon/icons/rotate-cw-fading-clock-icon.cjs +14 -0
  166. package/dist/cjs/components/icon/icons/rotate-cw-fading-clock-icon.cjs.map +1 -0
  167. package/dist/cjs/components/icon/icons/scan-square-icon.cjs +14 -0
  168. package/dist/cjs/components/icon/icons/scan-square-icon.cjs.map +1 -0
  169. package/dist/cjs/components/icon/icons/shield-keyhole-icon.cjs +14 -0
  170. package/dist/cjs/components/icon/icons/shield-keyhole-icon.cjs.map +1 -0
  171. package/dist/cjs/components/icon/icons/square-off-icon.cjs +14 -0
  172. package/dist/cjs/components/icon/icons/square-off-icon.cjs.map +1 -0
  173. package/dist/cjs/components/icon/icons/user-shield-icon.cjs +14 -0
  174. package/dist/cjs/components/icon/icons/user-shield-icon.cjs.map +1 -0
  175. package/dist/cjs/components/icon/index.cjs +20 -4
  176. package/dist/cjs/components/indicator/indicator.cjs +1 -0
  177. package/dist/cjs/components/indicator/indicator.cjs.map +1 -1
  178. package/dist/cjs/components/infinite-scroll-area/infinite-scroll-area.cjs +3 -1
  179. package/dist/cjs/components/infinite-scroll-area/infinite-scroll-area.cjs.map +1 -1
  180. package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs +1 -0
  181. package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs.map +1 -1
  182. package/dist/cjs/components/input/input-group.cjs +14 -12
  183. package/dist/cjs/components/input/input-group.cjs.map +1 -1
  184. package/dist/cjs/components/input/input.style.cjs.map +1 -1
  185. package/dist/cjs/components/input/use-input-border.cjs +1 -0
  186. package/dist/cjs/components/input/use-input-border.cjs.map +1 -1
  187. package/dist/cjs/components/link-box/link-box.cjs.map +1 -1
  188. package/dist/cjs/components/list/list.cjs +1 -0
  189. package/dist/cjs/components/list/list.cjs.map +1 -1
  190. package/dist/cjs/components/loading/audio.cjs.map +1 -1
  191. package/dist/cjs/components/loading/background.cjs +1 -0
  192. package/dist/cjs/components/loading/background.cjs.map +1 -1
  193. package/dist/cjs/components/loading/circles.cjs.map +1 -1
  194. package/dist/cjs/components/loading/dots.cjs.map +1 -1
  195. package/dist/cjs/components/loading/grid.cjs.map +1 -1
  196. package/dist/cjs/components/loading/loading-provider.cjs +1 -0
  197. package/dist/cjs/components/loading/loading-provider.cjs.map +1 -1
  198. package/dist/cjs/components/loading/oval.cjs.map +1 -1
  199. package/dist/cjs/components/loading/page.cjs +1 -0
  200. package/dist/cjs/components/loading/page.cjs.map +1 -1
  201. package/dist/cjs/components/loading/puff.cjs.map +1 -1
  202. package/dist/cjs/components/loading/rings.cjs.map +1 -1
  203. package/dist/cjs/components/loading/screen.cjs +1 -0
  204. package/dist/cjs/components/loading/screen.cjs.map +1 -1
  205. package/dist/cjs/components/loading/suspense.cjs +1 -0
  206. package/dist/cjs/components/loading/suspense.cjs.map +1 -1
  207. package/dist/cjs/components/loading/use-loading-component.cjs +1 -0
  208. package/dist/cjs/components/loading/use-loading-component.cjs.map +1 -1
  209. package/dist/cjs/components/menu/menu.cjs +13 -10
  210. package/dist/cjs/components/menu/menu.cjs.map +1 -1
  211. package/dist/cjs/components/menu/use-menu.cjs +1 -0
  212. package/dist/cjs/components/menu/use-menu.cjs.map +1 -1
  213. package/dist/cjs/components/modal/modal.cjs +1 -0
  214. package/dist/cjs/components/modal/modal.cjs.map +1 -1
  215. package/dist/cjs/components/modal/use-modal.cjs +1 -0
  216. package/dist/cjs/components/modal/use-modal.cjs.map +1 -1
  217. package/dist/cjs/components/motion/motion.cjs +1 -0
  218. package/dist/cjs/components/motion/motion.cjs.map +1 -1
  219. package/dist/cjs/components/motion/transition.cjs.map +1 -1
  220. package/dist/cjs/components/native-accordion/native-accordion.cjs +1 -0
  221. package/dist/cjs/components/native-accordion/native-accordion.cjs.map +1 -1
  222. package/dist/cjs/components/native-accordion/use-native-accordion.cjs +1 -0
  223. package/dist/cjs/components/native-accordion/use-native-accordion.cjs.map +1 -1
  224. package/dist/cjs/components/native-popover/native-popover.cjs +1 -0
  225. package/dist/cjs/components/native-popover/native-popover.cjs.map +1 -1
  226. package/dist/cjs/components/native-popover/use-native-popover.cjs +1 -0
  227. package/dist/cjs/components/native-popover/use-native-popover.cjs.map +1 -1
  228. package/dist/cjs/components/native-select/native-select.cjs +2 -1
  229. package/dist/cjs/components/native-select/native-select.cjs.map +1 -1
  230. package/dist/cjs/components/native-select/use-native-select.cjs +1 -0
  231. package/dist/cjs/components/native-select/use-native-select.cjs.map +1 -1
  232. package/dist/cjs/components/notice/notice-provider.cjs +1 -0
  233. package/dist/cjs/components/notice/notice-provider.cjs.map +1 -1
  234. package/dist/cjs/components/notice/notice.cjs +1 -0
  235. package/dist/cjs/components/notice/notice.cjs.map +1 -1
  236. package/dist/cjs/components/notice/use-notice.cjs +1 -0
  237. package/dist/cjs/components/notice/use-notice.cjs.map +1 -1
  238. package/dist/cjs/components/number-input/number-input.cjs +2 -1
  239. package/dist/cjs/components/number-input/number-input.cjs.map +1 -1
  240. package/dist/cjs/components/number-input/use-number-counter.cjs +1 -0
  241. package/dist/cjs/components/number-input/use-number-counter.cjs.map +1 -1
  242. package/dist/cjs/components/number-input/use-number-input.cjs +1 -0
  243. package/dist/cjs/components/number-input/use-number-input.cjs.map +1 -1
  244. package/dist/cjs/components/number-input/use-spinner.cjs +1 -0
  245. package/dist/cjs/components/number-input/use-spinner.cjs.map +1 -1
  246. package/dist/cjs/components/pagination/pagination.cjs +1 -0
  247. package/dist/cjs/components/pagination/pagination.cjs.map +1 -1
  248. package/dist/cjs/components/pagination/use-pagination.cjs +1 -0
  249. package/dist/cjs/components/pagination/use-pagination.cjs.map +1 -1
  250. package/dist/cjs/components/password-input/password-input.cjs +2 -1
  251. package/dist/cjs/components/password-input/password-input.cjs.map +1 -1
  252. package/dist/cjs/components/password-input/use-password-input.cjs +1 -0
  253. package/dist/cjs/components/password-input/use-password-input.cjs.map +1 -1
  254. package/dist/cjs/components/password-input/use-strength-meter.cjs +1 -0
  255. package/dist/cjs/components/password-input/use-strength-meter.cjs.map +1 -1
  256. package/dist/cjs/components/picture/picture.cjs +1 -0
  257. package/dist/cjs/components/picture/picture.cjs.map +1 -1
  258. package/dist/cjs/components/pin-input/pin-input.cjs +1 -0
  259. package/dist/cjs/components/pin-input/pin-input.cjs.map +1 -1
  260. package/dist/cjs/components/pin-input/use-pin-input.cjs +1 -0
  261. package/dist/cjs/components/pin-input/use-pin-input.cjs.map +1 -1
  262. package/dist/cjs/components/popover/popover.cjs +1 -0
  263. package/dist/cjs/components/popover/popover.cjs.map +1 -1
  264. package/dist/cjs/components/popover/use-popover.cjs +1 -0
  265. package/dist/cjs/components/popover/use-popover.cjs.map +1 -1
  266. package/dist/cjs/components/portal/portal.cjs +1 -0
  267. package/dist/cjs/components/portal/portal.cjs.map +1 -1
  268. package/dist/cjs/components/progress/progress.cjs.map +1 -1
  269. package/dist/cjs/components/progress/use-progress.cjs +1 -0
  270. package/dist/cjs/components/progress/use-progress.cjs.map +1 -1
  271. package/dist/cjs/components/qr-code/qr-code.cjs +1 -0
  272. package/dist/cjs/components/qr-code/qr-code.cjs.map +1 -1
  273. package/dist/cjs/components/qr-code/use-qr-code.cjs +1 -0
  274. package/dist/cjs/components/qr-code/use-qr-code.cjs.map +1 -1
  275. package/dist/cjs/components/radio/radio-group.cjs +37 -34
  276. package/dist/cjs/components/radio/radio-group.cjs.map +1 -1
  277. package/dist/cjs/components/radio/radio.cjs +1 -0
  278. package/dist/cjs/components/radio/radio.cjs.map +1 -1
  279. package/dist/cjs/components/radio/use-radio-group.cjs +1 -0
  280. package/dist/cjs/components/radio/use-radio-group.cjs.map +1 -1
  281. package/dist/cjs/components/radio/use-radio.cjs +3 -1
  282. package/dist/cjs/components/radio/use-radio.cjs.map +1 -1
  283. package/dist/cjs/components/radio-card/radio-card-group.cjs +41 -38
  284. package/dist/cjs/components/radio-card/radio-card-group.cjs.map +1 -1
  285. package/dist/cjs/components/radio-card/radio-card.cjs +1 -0
  286. package/dist/cjs/components/radio-card/radio-card.cjs.map +1 -1
  287. package/dist/cjs/components/rating/rating.cjs +1 -0
  288. package/dist/cjs/components/rating/rating.cjs.map +1 -1
  289. package/dist/cjs/components/rating/use-rating.cjs +1 -0
  290. package/dist/cjs/components/rating/use-rating.cjs.map +1 -1
  291. package/dist/cjs/components/reorder/use-reorder.cjs +1 -0
  292. package/dist/cjs/components/reorder/use-reorder.cjs.map +1 -1
  293. package/dist/cjs/components/resizable/resizable.cjs +13 -10
  294. package/dist/cjs/components/resizable/resizable.cjs.map +1 -1
  295. package/dist/cjs/components/resizable/use-resizable.cjs +1 -0
  296. package/dist/cjs/components/resizable/use-resizable.cjs.map +1 -1
  297. package/dist/cjs/components/ripple/ripple.cjs.map +1 -1
  298. package/dist/cjs/components/ripple/use-ripple.cjs +1 -0
  299. package/dist/cjs/components/ripple/use-ripple.cjs.map +1 -1
  300. package/dist/cjs/components/rotate/rotate.cjs +1 -0
  301. package/dist/cjs/components/rotate/rotate.cjs.map +1 -1
  302. package/dist/cjs/components/saturation-slider/saturation-slider.cjs +1 -0
  303. package/dist/cjs/components/saturation-slider/saturation-slider.cjs.map +1 -1
  304. package/dist/cjs/components/saturation-slider/use-saturation-slider.cjs +1 -0
  305. package/dist/cjs/components/saturation-slider/use-saturation-slider.cjs.map +1 -1
  306. package/dist/cjs/components/scroll-area/use-scroll-area.cjs +1 -0
  307. package/dist/cjs/components/scroll-area/use-scroll-area.cjs.map +1 -1
  308. package/dist/cjs/components/segmented-control/segmented-control.cjs +3 -1
  309. package/dist/cjs/components/segmented-control/segmented-control.cjs.map +1 -1
  310. package/dist/cjs/components/segmented-control/use-segmented-control.cjs +1 -0
  311. package/dist/cjs/components/segmented-control/use-segmented-control.cjs.map +1 -1
  312. package/dist/cjs/components/select/select.cjs +14 -10
  313. package/dist/cjs/components/select/select.cjs.map +1 -1
  314. package/dist/cjs/components/select/use-select.cjs +1 -0
  315. package/dist/cjs/components/select/use-select.cjs.map +1 -1
  316. package/dist/cjs/components/show/show.cjs +1 -0
  317. package/dist/cjs/components/show/show.cjs.map +1 -1
  318. package/dist/cjs/components/sidebar/sidebar.cjs +6 -3
  319. package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -1
  320. package/dist/cjs/components/sidebar/use-sidebar.cjs +1 -0
  321. package/dist/cjs/components/sidebar/use-sidebar.cjs.map +1 -1
  322. package/dist/cjs/components/simple-grid/simple-grid.cjs +1 -0
  323. package/dist/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
  324. package/dist/cjs/components/skeleton/skeleton.cjs.map +1 -1
  325. package/dist/cjs/components/slide/slide.cjs +1 -0
  326. package/dist/cjs/components/slide/slide.cjs.map +1 -1
  327. package/dist/cjs/components/slide-fade/slide-fade.cjs +1 -0
  328. package/dist/cjs/components/slide-fade/slide-fade.cjs.map +1 -1
  329. package/dist/cjs/components/slider/slider.cjs +3 -1
  330. package/dist/cjs/components/slider/slider.cjs.map +1 -1
  331. package/dist/cjs/components/slider/use-slider.cjs +3 -1
  332. package/dist/cjs/components/slider/use-slider.cjs.map +1 -1
  333. package/dist/cjs/components/slot/slot.cjs +1 -0
  334. package/dist/cjs/components/slot/slot.cjs.map +1 -1
  335. package/dist/cjs/components/snacks/snacks.cjs +1 -0
  336. package/dist/cjs/components/snacks/snacks.cjs.map +1 -1
  337. package/dist/cjs/components/snacks/use-snacks.cjs +1 -0
  338. package/dist/cjs/components/snacks/use-snacks.cjs.map +1 -1
  339. package/dist/cjs/components/stack/stack.cjs +1 -0
  340. package/dist/cjs/components/stack/stack.cjs.map +1 -1
  341. package/dist/cjs/components/stack/z-stack.cjs +5 -2
  342. package/dist/cjs/components/stack/z-stack.cjs.map +1 -1
  343. package/dist/cjs/components/steps/steps.cjs +51 -47
  344. package/dist/cjs/components/steps/steps.cjs.map +1 -1
  345. package/dist/cjs/components/steps/use-steps.cjs +1 -0
  346. package/dist/cjs/components/steps/use-steps.cjs.map +1 -1
  347. package/dist/cjs/components/switch/switch.cjs.map +1 -1
  348. package/dist/cjs/components/switch/use-switch.cjs +1 -0
  349. package/dist/cjs/components/switch/use-switch.cjs.map +1 -1
  350. package/dist/cjs/components/table/table.cjs +51 -49
  351. package/dist/cjs/components/table/table.cjs.map +1 -1
  352. package/dist/cjs/components/tabs/tabs.cjs +23 -20
  353. package/dist/cjs/components/tabs/tabs.cjs.map +1 -1
  354. package/dist/cjs/components/tabs/use-tabs.cjs +1 -0
  355. package/dist/cjs/components/tabs/use-tabs.cjs.map +1 -1
  356. package/dist/cjs/components/tag/tag.cjs +1 -0
  357. package/dist/cjs/components/tag/tag.cjs.map +1 -1
  358. package/dist/cjs/components/textarea/use-autosize.cjs +1 -0
  359. package/dist/cjs/components/textarea/use-autosize.cjs.map +1 -1
  360. package/dist/cjs/components/textarea/use-textarea.cjs +1 -0
  361. package/dist/cjs/components/textarea/use-textarea.cjs.map +1 -1
  362. package/dist/cjs/components/timeline/timeline.cjs +1 -0
  363. package/dist/cjs/components/timeline/timeline.cjs.map +1 -1
  364. package/dist/cjs/components/tip/tip.cjs.map +1 -1
  365. package/dist/cjs/components/toggle/toggle-group.cjs +27 -24
  366. package/dist/cjs/components/toggle/toggle-group.cjs.map +1 -1
  367. package/dist/cjs/components/toggle/use-toggle-group.cjs +1 -0
  368. package/dist/cjs/components/toggle/use-toggle-group.cjs.map +1 -1
  369. package/dist/cjs/components/toggle/use-toggle.cjs +1 -0
  370. package/dist/cjs/components/toggle/use-toggle.cjs.map +1 -1
  371. package/dist/cjs/components/tooltip/tooltip.cjs.map +1 -1
  372. package/dist/cjs/components/tooltip/use-tooltip.cjs +1 -0
  373. package/dist/cjs/components/tooltip/use-tooltip.cjs.map +1 -1
  374. package/dist/cjs/components/tree/tree.cjs +1 -0
  375. package/dist/cjs/components/tree/tree.cjs.map +1 -1
  376. package/dist/cjs/components/tree/use-tree.cjs +1 -0
  377. package/dist/cjs/components/tree/use-tree.cjs.map +1 -1
  378. package/dist/cjs/core/components/create-component.cjs +5 -2
  379. package/dist/cjs/core/components/create-component.cjs.map +1 -1
  380. package/dist/cjs/core/components/props.cjs.map +1 -1
  381. package/dist/cjs/core/components/use-component-style.cjs +11 -6
  382. package/dist/cjs/core/components/use-component-style.cjs.map +1 -1
  383. package/dist/cjs/core/components/utils.cjs.map +1 -1
  384. package/dist/cjs/core/css/animation.cjs.map +1 -1
  385. package/dist/cjs/core/css/at-rule.cjs.map +1 -1
  386. package/dist/cjs/core/css/calc.cjs.map +1 -1
  387. package/dist/cjs/core/css/color-mix.cjs.map +1 -1
  388. package/dist/cjs/core/css/color-scheme.cjs.map +1 -1
  389. package/dist/cjs/core/css/config.cjs.map +1 -1
  390. package/dist/cjs/core/css/css.cjs +5 -3
  391. package/dist/cjs/core/css/css.cjs.map +1 -1
  392. package/dist/cjs/core/css/gradient.cjs.map +1 -1
  393. package/dist/cjs/core/css/merge-css.cjs.map +1 -1
  394. package/dist/cjs/core/css/style.cjs.map +1 -1
  395. package/dist/cjs/core/css/use-css.cjs +1 -0
  396. package/dist/cjs/core/css/use-css.cjs.map +1 -1
  397. package/dist/cjs/core/css/use-inject-vars.cjs +1 -0
  398. package/dist/cjs/core/css/use-inject-vars.cjs.map +1 -1
  399. package/dist/cjs/core/css/utils.cjs.map +1 -1
  400. package/dist/cjs/core/system/breakpoint.cjs.map +1 -1
  401. package/dist/cjs/core/system/color-mode-provider.cjs +1 -0
  402. package/dist/cjs/core/system/color-mode-provider.cjs.map +1 -1
  403. package/dist/cjs/core/system/create-system.cjs.map +1 -1
  404. package/dist/cjs/core/system/environment-provider.cjs +1 -0
  405. package/dist/cjs/core/system/environment-provider.cjs.map +1 -1
  406. package/dist/cjs/core/system/layer.cjs.map +1 -1
  407. package/dist/cjs/core/system/storage-script.cjs.map +1 -1
  408. package/dist/cjs/core/system/styled.cjs.map +1 -1
  409. package/dist/cjs/core/system/system-provider.cjs +1 -0
  410. package/dist/cjs/core/system/system-provider.cjs.map +1 -1
  411. package/dist/cjs/core/system/theme-provider.cjs +5 -3
  412. package/dist/cjs/core/system/theme-provider.cjs.map +1 -1
  413. package/dist/cjs/core/system/use-system-color-mode.cjs +1 -0
  414. package/dist/cjs/core/system/use-system-color-mode.cjs.map +1 -1
  415. package/dist/cjs/core/system/var.cjs +2 -1
  416. package/dist/cjs/core/system/var.cjs.map +1 -1
  417. package/dist/cjs/hooks/use-animation/index.cjs +4 -2
  418. package/dist/cjs/hooks/use-animation/index.cjs.map +1 -1
  419. package/dist/cjs/hooks/use-async/index.cjs +1 -0
  420. package/dist/cjs/hooks/use-async/index.cjs.map +1 -1
  421. package/dist/cjs/hooks/use-async-callback/index.cjs +1 -0
  422. package/dist/cjs/hooks/use-async-callback/index.cjs.map +1 -1
  423. package/dist/cjs/hooks/use-boolean/index.cjs +1 -0
  424. package/dist/cjs/hooks/use-boolean/index.cjs.map +1 -1
  425. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-effect.cjs +1 -0
  426. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-effect.cjs.map +1 -1
  427. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-state.cjs +3 -1
  428. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-state.cjs.map +1 -1
  429. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs +1 -0
  430. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs.map +1 -1
  431. package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs +1 -0
  432. package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs.map +1 -1
  433. package/dist/cjs/hooks/use-clickable/index.cjs +1 -0
  434. package/dist/cjs/hooks/use-clickable/index.cjs.map +1 -1
  435. package/dist/cjs/hooks/use-clipboard/index.cjs.map +1 -1
  436. package/dist/cjs/hooks/use-combobox/index.cjs.map +1 -1
  437. package/dist/cjs/hooks/use-controllable-state/index.cjs +1 -0
  438. package/dist/cjs/hooks/use-controllable-state/index.cjs.map +1 -1
  439. package/dist/cjs/hooks/use-counter/index.cjs +1 -0
  440. package/dist/cjs/hooks/use-counter/index.cjs.map +1 -1
  441. package/dist/cjs/hooks/use-descendants/index.cjs +1 -0
  442. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  443. package/dist/cjs/hooks/use-disclosure/use-disclosure.cjs +1 -0
  444. package/dist/cjs/hooks/use-disclosure/use-disclosure.cjs.map +1 -1
  445. package/dist/cjs/hooks/use-disclosure/use-promise-disclosure.cjs +1 -0
  446. package/dist/cjs/hooks/use-disclosure/use-promise-disclosure.cjs.map +1 -1
  447. package/dist/cjs/hooks/use-event-listener/index.cjs +1 -0
  448. package/dist/cjs/hooks/use-event-listener/index.cjs.map +1 -1
  449. package/dist/cjs/hooks/use-eye-dropper/index.cjs +1 -0
  450. package/dist/cjs/hooks/use-eye-dropper/index.cjs.map +1 -1
  451. package/dist/cjs/hooks/use-field-sizing/index.cjs +1 -0
  452. package/dist/cjs/hooks/use-field-sizing/index.cjs.map +1 -1
  453. package/dist/cjs/hooks/use-focus/index.cjs +3 -1
  454. package/dist/cjs/hooks/use-focus/index.cjs.map +1 -1
  455. package/dist/cjs/hooks/use-hover/index.cjs +1 -0
  456. package/dist/cjs/hooks/use-hover/index.cjs.map +1 -1
  457. package/dist/cjs/hooks/use-idle/index.cjs +1 -0
  458. package/dist/cjs/hooks/use-idle/index.cjs.map +1 -1
  459. package/dist/cjs/hooks/use-interval/index.cjs +1 -0
  460. package/dist/cjs/hooks/use-interval/index.cjs.map +1 -1
  461. package/dist/cjs/hooks/use-lazy-mount/index.cjs +1 -0
  462. package/dist/cjs/hooks/use-lazy-mount/index.cjs.map +1 -1
  463. package/dist/cjs/hooks/use-local-storage/index.cjs +1 -0
  464. package/dist/cjs/hooks/use-local-storage/index.cjs.map +1 -1
  465. package/dist/cjs/hooks/use-media-query/index.cjs +1 -0
  466. package/dist/cjs/hooks/use-media-query/index.cjs.map +1 -1
  467. package/dist/cjs/hooks/use-mounted/index.cjs +1 -0
  468. package/dist/cjs/hooks/use-mounted/index.cjs.map +1 -1
  469. package/dist/cjs/hooks/use-online/index.cjs +1 -0
  470. package/dist/cjs/hooks/use-online/index.cjs.map +1 -1
  471. package/dist/cjs/hooks/use-os/index.cjs.map +1 -1
  472. package/dist/cjs/hooks/use-outside-click/index.cjs +1 -0
  473. package/dist/cjs/hooks/use-outside-click/index.cjs.map +1 -1
  474. package/dist/cjs/hooks/use-pan-event/index.cjs +1 -0
  475. package/dist/cjs/hooks/use-pan-event/index.cjs.map +1 -1
  476. package/dist/cjs/hooks/use-popper/index.cjs +1 -0
  477. package/dist/cjs/hooks/use-popper/index.cjs.map +1 -1
  478. package/dist/cjs/hooks/use-previous/index.cjs +1 -0
  479. package/dist/cjs/hooks/use-previous/index.cjs.map +1 -1
  480. package/dist/cjs/hooks/use-processing/index.cjs +1 -0
  481. package/dist/cjs/hooks/use-processing/index.cjs.map +1 -1
  482. package/dist/cjs/hooks/use-resize-observer/index.cjs +1 -0
  483. package/dist/cjs/hooks/use-resize-observer/index.cjs.map +1 -1
  484. package/dist/cjs/hooks/use-timeout/index.cjs +1 -0
  485. package/dist/cjs/hooks/use-timeout/index.cjs.map +1 -1
  486. package/dist/cjs/hooks/use-value/index.cjs +1 -0
  487. package/dist/cjs/hooks/use-value/index.cjs.map +1 -1
  488. package/dist/cjs/hooks/use-window-event/index.cjs +1 -0
  489. package/dist/cjs/hooks/use-window-event/index.cjs.map +1 -1
  490. package/dist/cjs/index.cjs +30 -6
  491. package/dist/cjs/providers/i18n-provider/i18n-provider.cjs.map +1 -1
  492. package/dist/cjs/providers/ui-provider/ui-provider.cjs.map +1 -1
  493. package/dist/cjs/utils/children.cjs.map +1 -1
  494. package/dist/cjs/utils/context.cjs.map +1 -1
  495. package/dist/cjs/utils/dom.cjs.map +1 -1
  496. package/dist/cjs/utils/ref.cjs.map +1 -1
  497. package/dist/cjs/utils/ssr.cjs +1 -0
  498. package/dist/cjs/utils/ssr.cjs.map +1 -1
  499. package/dist/cjs/utils/store.cjs +1 -0
  500. package/dist/cjs/utils/store.cjs.map +1 -1
  501. package/dist/esm/components/accordion/accordion.js +3 -2
  502. package/dist/esm/components/accordion/accordion.js.map +1 -1
  503. package/dist/esm/components/accordion/use-accordion.js.map +1 -1
  504. package/dist/esm/components/action-bar/action-bar.js.map +1 -1
  505. package/dist/esm/components/action-bar/use-action-bar.js.map +1 -1
  506. package/dist/esm/components/airy/airy.js.map +1 -1
  507. package/dist/esm/components/alert/alert.js +4 -2
  508. package/dist/esm/components/alert/alert.js.map +1 -1
  509. package/dist/esm/components/alpha-slider/alpha-slider.js.map +1 -1
  510. package/dist/esm/components/aspect-ratio/aspect-ratio.js.map +1 -1
  511. package/dist/esm/components/autocomplete/autocomplete.js +13 -10
  512. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  513. package/dist/esm/components/autocomplete/use-autocomplete.js.map +1 -1
  514. package/dist/esm/components/avatar/avatar-group.js +12 -11
  515. package/dist/esm/components/avatar/avatar-group.js.map +1 -1
  516. package/dist/esm/components/avatar/use-avatar-group.js.map +1 -1
  517. package/dist/esm/components/avatar/use-avatar.js.map +1 -1
  518. package/dist/esm/components/breadcrumb/use-breadcrumb.js.map +1 -1
  519. package/dist/esm/components/button/button.js +8 -5
  520. package/dist/esm/components/button/button.js.map +1 -1
  521. package/dist/esm/components/calendar/calendar.js.map +1 -1
  522. package/dist/esm/components/calendar/use-calendar.js.map +1 -1
  523. package/dist/esm/components/carousel/carousel.js +26 -25
  524. package/dist/esm/components/carousel/carousel.js.map +1 -1
  525. package/dist/esm/components/carousel/use-carousel.js.map +1 -1
  526. package/dist/esm/components/chart/area-chart.js +5 -4
  527. package/dist/esm/components/chart/area-chart.js.map +1 -1
  528. package/dist/esm/components/chart/bar-chart.js +5 -4
  529. package/dist/esm/components/chart/bar-chart.js.map +1 -1
  530. package/dist/esm/components/chart/cartesian-chart.js +145 -139
  531. package/dist/esm/components/chart/cartesian-chart.js.map +1 -1
  532. package/dist/esm/components/chart/chart.js +2 -1
  533. package/dist/esm/components/chart/chart.js.map +1 -1
  534. package/dist/esm/components/chart/composed-chart.js +15 -14
  535. package/dist/esm/components/chart/composed-chart.js.map +1 -1
  536. package/dist/esm/components/chart/donut-chart.js +7 -5
  537. package/dist/esm/components/chart/donut-chart.js.map +1 -1
  538. package/dist/esm/components/chart/line-chart.js +5 -4
  539. package/dist/esm/components/chart/line-chart.js.map +1 -1
  540. package/dist/esm/components/chart/pie-chart.js +7 -5
  541. package/dist/esm/components/chart/pie-chart.js.map +1 -1
  542. package/dist/esm/components/chart/polar-chart.js +118 -111
  543. package/dist/esm/components/chart/polar-chart.js.map +1 -1
  544. package/dist/esm/components/chart/radar-chart.js +5 -4
  545. package/dist/esm/components/chart/radar-chart.js.map +1 -1
  546. package/dist/esm/components/chart/use-cartesian-chart.js.map +1 -1
  547. package/dist/esm/components/chart/use-chart.js.map +1 -1
  548. package/dist/esm/components/chart/use-polar-chart.js.map +1 -1
  549. package/dist/esm/components/checkbox/checkbox-group.js +38 -36
  550. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  551. package/dist/esm/components/checkbox/use-checkbox-group.js.map +1 -1
  552. package/dist/esm/components/checkbox/use-checkbox.js +2 -1
  553. package/dist/esm/components/checkbox/use-checkbox.js.map +1 -1
  554. package/dist/esm/components/checkbox-card/checkbox-card-group.js +42 -40
  555. package/dist/esm/components/checkbox-card/checkbox-card-group.js.map +1 -1
  556. package/dist/esm/components/circle-progress/circle-progress.js.map +1 -1
  557. package/dist/esm/components/client-only/client-only.js +2 -1
  558. package/dist/esm/components/client-only/client-only.js.map +1 -1
  559. package/dist/esm/components/collapse/collapse.js.map +1 -1
  560. package/dist/esm/components/color-picker/color-picker.js +2 -1
  561. package/dist/esm/components/color-picker/color-picker.js.map +1 -1
  562. package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
  563. package/dist/esm/components/color-selector/color-selector.js +2 -1
  564. package/dist/esm/components/color-selector/color-selector.js.map +1 -1
  565. package/dist/esm/components/color-selector/use-color-selector.js.map +1 -1
  566. package/dist/esm/components/color-swatch/color-swatch.js.map +1 -1
  567. package/dist/esm/components/data-list/data-list.js +8 -5
  568. package/dist/esm/components/data-list/data-list.js.map +1 -1
  569. package/dist/esm/components/date-picker/date-picker.js +2 -1
  570. package/dist/esm/components/date-picker/date-picker.js.map +1 -1
  571. package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
  572. package/dist/esm/components/drawer/drawer.js.map +1 -1
  573. package/dist/esm/components/drawer/use-drawer.js +1 -3
  574. package/dist/esm/components/drawer/use-drawer.js.map +1 -1
  575. package/dist/esm/components/dropzone/dropzone.js +2 -1
  576. package/dist/esm/components/dropzone/dropzone.js.map +1 -1
  577. package/dist/esm/components/dropzone/use-dropzone.js.map +1 -1
  578. package/dist/esm/components/editable/editable.js.map +1 -1
  579. package/dist/esm/components/editable/use-editable.js.map +1 -1
  580. package/dist/esm/components/field/field.js.map +1 -1
  581. package/dist/esm/components/field/use-field-props.js.map +1 -1
  582. package/dist/esm/components/fieldset/fieldset.js.map +1 -1
  583. package/dist/esm/components/file-input/file-input.js +2 -1
  584. package/dist/esm/components/file-input/file-input.js.map +1 -1
  585. package/dist/esm/components/file-input/use-file-input.js.map +1 -1
  586. package/dist/esm/components/flip/flip.js.map +1 -1
  587. package/dist/esm/components/float/float.js.map +1 -1
  588. package/dist/esm/components/focus-lock/focus-lock.js.map +1 -1
  589. package/dist/esm/components/for/for.js.map +1 -1
  590. package/dist/esm/components/form/form.js.map +1 -1
  591. package/dist/esm/components/grid/grid-item.js.map +1 -1
  592. package/dist/esm/components/group/group.js.map +1 -1
  593. package/dist/esm/components/group/use-group.js.map +1 -1
  594. package/dist/esm/components/highlight/use-highlight.js.map +1 -1
  595. package/dist/esm/components/icon/icons/index.js +21 -5
  596. package/dist/esm/components/icon/icons/index.js.map +1 -1
  597. package/dist/esm/components/icon/icons/layout-freeform-icon.js +14 -0
  598. package/dist/esm/components/icon/icons/layout-freeform-icon.js.map +1 -0
  599. package/dist/esm/components/icon/icons/mic-audio-lines-icon.js +14 -0
  600. package/dist/esm/components/icon/icons/mic-audio-lines-icon.js.map +1 -0
  601. package/dist/esm/components/icon/icons/mic-signal-icon.js +14 -0
  602. package/dist/esm/components/icon/icons/mic-signal-icon.js.map +1 -0
  603. package/dist/esm/components/icon/icons/mosque-icon.js +14 -0
  604. package/dist/esm/components/icon/icons/mosque-icon.js.map +1 -0
  605. package/dist/esm/components/icon/icons/rotate-ccw-clock-icon.js +14 -0
  606. package/dist/esm/components/icon/icons/rotate-ccw-clock-icon.js.map +1 -0
  607. package/dist/esm/components/icon/icons/rotate-cw-fading-clock-icon.js +14 -0
  608. package/dist/esm/components/icon/icons/rotate-cw-fading-clock-icon.js.map +1 -0
  609. package/dist/esm/components/icon/icons/scan-square-icon.js +14 -0
  610. package/dist/esm/components/icon/icons/scan-square-icon.js.map +1 -0
  611. package/dist/esm/components/icon/icons/shield-keyhole-icon.js +14 -0
  612. package/dist/esm/components/icon/icons/shield-keyhole-icon.js.map +1 -0
  613. package/dist/esm/components/icon/icons/square-off-icon.js +14 -0
  614. package/dist/esm/components/icon/icons/square-off-icon.js.map +1 -0
  615. package/dist/esm/components/icon/icons/user-shield-icon.js +14 -0
  616. package/dist/esm/components/icon/icons/user-shield-icon.js.map +1 -0
  617. package/dist/esm/components/icon/index.js +11 -3
  618. package/dist/esm/components/indicator/indicator.js.map +1 -1
  619. package/dist/esm/components/infinite-scroll-area/infinite-scroll-area.js +2 -1
  620. package/dist/esm/components/infinite-scroll-area/infinite-scroll-area.js.map +1 -1
  621. package/dist/esm/components/input/input-group.js +13 -12
  622. package/dist/esm/components/input/input-group.js.map +1 -1
  623. package/dist/esm/components/input/input.style.js.map +1 -1
  624. package/dist/esm/components/link-box/link-box.js.map +1 -1
  625. package/dist/esm/components/loading/audio.js.map +1 -1
  626. package/dist/esm/components/loading/circles.js.map +1 -1
  627. package/dist/esm/components/loading/dots.js.map +1 -1
  628. package/dist/esm/components/loading/grid.js.map +1 -1
  629. package/dist/esm/components/loading/loading-provider.js.map +1 -1
  630. package/dist/esm/components/loading/oval.js.map +1 -1
  631. package/dist/esm/components/loading/puff.js.map +1 -1
  632. package/dist/esm/components/loading/rings.js.map +1 -1
  633. package/dist/esm/components/loading/use-loading-component.js.map +1 -1
  634. package/dist/esm/components/menu/menu.js +12 -10
  635. package/dist/esm/components/menu/menu.js.map +1 -1
  636. package/dist/esm/components/menu/use-menu.js.map +1 -1
  637. package/dist/esm/components/modal/modal.js.map +1 -1
  638. package/dist/esm/components/modal/use-modal.js.map +1 -1
  639. package/dist/esm/components/motion/motion.js.map +1 -1
  640. package/dist/esm/components/motion/transition.js.map +1 -1
  641. package/dist/esm/components/native-accordion/use-native-accordion.js.map +1 -1
  642. package/dist/esm/components/native-popover/native-popover.js.map +1 -1
  643. package/dist/esm/components/native-popover/use-native-popover.js.map +1 -1
  644. package/dist/esm/components/native-select/native-select.js +2 -1
  645. package/dist/esm/components/native-select/native-select.js.map +1 -1
  646. package/dist/esm/components/native-select/use-native-select.js.map +1 -1
  647. package/dist/esm/components/notice/notice.js.map +1 -1
  648. package/dist/esm/components/notice/use-notice.js.map +1 -1
  649. package/dist/esm/components/number-input/number-input.js +2 -1
  650. package/dist/esm/components/number-input/number-input.js.map +1 -1
  651. package/dist/esm/components/number-input/use-number-counter.js.map +1 -1
  652. package/dist/esm/components/number-input/use-number-input.js.map +1 -1
  653. package/dist/esm/components/pagination/pagination.js.map +1 -1
  654. package/dist/esm/components/pagination/use-pagination.js.map +1 -1
  655. package/dist/esm/components/password-input/password-input.js +2 -1
  656. package/dist/esm/components/password-input/password-input.js.map +1 -1
  657. package/dist/esm/components/password-input/use-password-input.js.map +1 -1
  658. package/dist/esm/components/password-input/use-strength-meter.js.map +1 -1
  659. package/dist/esm/components/picture/picture.js.map +1 -1
  660. package/dist/esm/components/pin-input/use-pin-input.js.map +1 -1
  661. package/dist/esm/components/popover/popover.js.map +1 -1
  662. package/dist/esm/components/popover/use-popover.js.map +1 -1
  663. package/dist/esm/components/portal/portal.js.map +1 -1
  664. package/dist/esm/components/progress/progress.js.map +1 -1
  665. package/dist/esm/components/progress/use-progress.js.map +1 -1
  666. package/dist/esm/components/radio/radio-group.js +36 -34
  667. package/dist/esm/components/radio/radio-group.js.map +1 -1
  668. package/dist/esm/components/radio/use-radio-group.js.map +1 -1
  669. package/dist/esm/components/radio/use-radio.js +2 -1
  670. package/dist/esm/components/radio/use-radio.js.map +1 -1
  671. package/dist/esm/components/radio-card/radio-card-group.js +40 -38
  672. package/dist/esm/components/radio-card/radio-card-group.js.map +1 -1
  673. package/dist/esm/components/rating/rating.js.map +1 -1
  674. package/dist/esm/components/rating/use-rating.js.map +1 -1
  675. package/dist/esm/components/reorder/use-reorder.js.map +1 -1
  676. package/dist/esm/components/resizable/resizable.js +12 -10
  677. package/dist/esm/components/resizable/resizable.js.map +1 -1
  678. package/dist/esm/components/resizable/use-resizable.js.map +1 -1
  679. package/dist/esm/components/ripple/ripple.js.map +1 -1
  680. package/dist/esm/components/ripple/use-ripple.js.map +1 -1
  681. package/dist/esm/components/rotate/rotate.js.map +1 -1
  682. package/dist/esm/components/saturation-slider/use-saturation-slider.js.map +1 -1
  683. package/dist/esm/components/scroll-area/use-scroll-area.js.map +1 -1
  684. package/dist/esm/components/segmented-control/segmented-control.js +2 -1
  685. package/dist/esm/components/segmented-control/segmented-control.js.map +1 -1
  686. package/dist/esm/components/segmented-control/use-segmented-control.js.map +1 -1
  687. package/dist/esm/components/select/select.js +13 -10
  688. package/dist/esm/components/select/select.js.map +1 -1
  689. package/dist/esm/components/select/use-select.js.map +1 -1
  690. package/dist/esm/components/show/show.js.map +1 -1
  691. package/dist/esm/components/sidebar/sidebar.js +5 -3
  692. package/dist/esm/components/sidebar/sidebar.js.map +1 -1
  693. package/dist/esm/components/sidebar/use-sidebar.js.map +1 -1
  694. package/dist/esm/components/simple-grid/simple-grid.js.map +1 -1
  695. package/dist/esm/components/skeleton/skeleton.js.map +1 -1
  696. package/dist/esm/components/slider/slider.js +2 -1
  697. package/dist/esm/components/slider/slider.js.map +1 -1
  698. package/dist/esm/components/slider/use-slider.js +2 -1
  699. package/dist/esm/components/slider/use-slider.js.map +1 -1
  700. package/dist/esm/components/snacks/snacks.js.map +1 -1
  701. package/dist/esm/components/stack/stack.js.map +1 -1
  702. package/dist/esm/components/stack/z-stack.js +4 -2
  703. package/dist/esm/components/stack/z-stack.js.map +1 -1
  704. package/dist/esm/components/steps/steps.js +50 -47
  705. package/dist/esm/components/steps/steps.js.map +1 -1
  706. package/dist/esm/components/steps/use-steps.js.map +1 -1
  707. package/dist/esm/components/switch/switch.js.map +1 -1
  708. package/dist/esm/components/switch/use-switch.js.map +1 -1
  709. package/dist/esm/components/table/table.js +50 -49
  710. package/dist/esm/components/table/table.js.map +1 -1
  711. package/dist/esm/components/tabs/tabs.js +22 -20
  712. package/dist/esm/components/tabs/tabs.js.map +1 -1
  713. package/dist/esm/components/tabs/use-tabs.js.map +1 -1
  714. package/dist/esm/components/tag/tag.js.map +1 -1
  715. package/dist/esm/components/textarea/use-autosize.js.map +1 -1
  716. package/dist/esm/components/timeline/timeline.js.map +1 -1
  717. package/dist/esm/components/tip/tip.js.map +1 -1
  718. package/dist/esm/components/toggle/toggle-group.js +26 -24
  719. package/dist/esm/components/toggle/toggle-group.js.map +1 -1
  720. package/dist/esm/components/toggle/use-toggle-group.js.map +1 -1
  721. package/dist/esm/components/toggle/use-toggle.js.map +1 -1
  722. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  723. package/dist/esm/components/tooltip/use-tooltip.js.map +1 -1
  724. package/dist/esm/components/tree/tree.js.map +1 -1
  725. package/dist/esm/components/tree/use-tree.js.map +1 -1
  726. package/dist/esm/core/components/create-component.js +4 -2
  727. package/dist/esm/core/components/create-component.js.map +1 -1
  728. package/dist/esm/core/components/props.js.map +1 -1
  729. package/dist/esm/core/components/use-component-style.js +10 -6
  730. package/dist/esm/core/components/use-component-style.js.map +1 -1
  731. package/dist/esm/core/components/utils.js.map +1 -1
  732. package/dist/esm/core/css/animation.js.map +1 -1
  733. package/dist/esm/core/css/at-rule.js.map +1 -1
  734. package/dist/esm/core/css/calc.js.map +1 -1
  735. package/dist/esm/core/css/color-mix.js.map +1 -1
  736. package/dist/esm/core/css/color-scheme.js.map +1 -1
  737. package/dist/esm/core/css/config.js.map +1 -1
  738. package/dist/esm/core/css/css.js +5 -3
  739. package/dist/esm/core/css/css.js.map +1 -1
  740. package/dist/esm/core/css/gradient.js.map +1 -1
  741. package/dist/esm/core/css/merge-css.js.map +1 -1
  742. package/dist/esm/core/css/style.js.map +1 -1
  743. package/dist/esm/core/css/use-css.js.map +1 -1
  744. package/dist/esm/core/css/utils.js.map +1 -1
  745. package/dist/esm/core/system/breakpoint.js.map +1 -1
  746. package/dist/esm/core/system/color-mode-provider.js.map +1 -1
  747. package/dist/esm/core/system/create-system.js.map +1 -1
  748. package/dist/esm/core/system/environment-provider.js.map +1 -1
  749. package/dist/esm/core/system/layer.js.map +1 -1
  750. package/dist/esm/core/system/storage-script.js.map +1 -1
  751. package/dist/esm/core/system/styled.js.map +1 -1
  752. package/dist/esm/core/system/theme-provider.js +4 -3
  753. package/dist/esm/core/system/theme-provider.js.map +1 -1
  754. package/dist/esm/core/system/use-system-color-mode.js.map +1 -1
  755. package/dist/esm/core/system/var.js +2 -1
  756. package/dist/esm/core/system/var.js.map +1 -1
  757. package/dist/esm/hooks/use-animation/index.js +3 -2
  758. package/dist/esm/hooks/use-animation/index.js.map +1 -1
  759. package/dist/esm/hooks/use-breakpoint/use-breakpoint-state.js +2 -1
  760. package/dist/esm/hooks/use-breakpoint/use-breakpoint-state.js.map +1 -1
  761. package/dist/esm/hooks/use-breakpoint/use-breakpoint.js.map +1 -1
  762. package/dist/esm/hooks/use-clickable/index.js.map +1 -1
  763. package/dist/esm/hooks/use-clipboard/index.js.map +1 -1
  764. package/dist/esm/hooks/use-combobox/index.js.map +1 -1
  765. package/dist/esm/hooks/use-controllable-state/index.js.map +1 -1
  766. package/dist/esm/hooks/use-counter/index.js.map +1 -1
  767. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  768. package/dist/esm/hooks/use-event-listener/index.js.map +1 -1
  769. package/dist/esm/hooks/use-focus/index.js +2 -1
  770. package/dist/esm/hooks/use-focus/index.js.map +1 -1
  771. package/dist/esm/hooks/use-local-storage/index.js.map +1 -1
  772. package/dist/esm/hooks/use-os/index.js.map +1 -1
  773. package/dist/esm/hooks/use-outside-click/index.js.map +1 -1
  774. package/dist/esm/hooks/use-pan-event/index.js.map +1 -1
  775. package/dist/esm/hooks/use-resize-observer/index.js.map +1 -1
  776. package/dist/esm/hooks/use-value/index.js.map +1 -1
  777. package/dist/esm/index.js +21 -5
  778. package/dist/esm/providers/i18n-provider/i18n-provider.js.map +1 -1
  779. package/dist/esm/providers/ui-provider/ui-provider.js.map +1 -1
  780. package/dist/types/components/chart/polar-chart.style.d.ts +1 -1
  781. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  782. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  783. package/dist/types/components/drawer/drawer.style.d.ts +2 -2
  784. package/dist/types/components/file-input/file-input.style.d.ts +1 -1
  785. package/dist/types/components/icon/icons/index.d.ts +12 -4
  786. package/dist/types/components/icon/icons/index.types.d.ts +1 -1
  787. package/dist/types/components/icon/icons/layout-freeform-icon.d.ts +13 -0
  788. package/dist/types/components/icon/icons/mic-audio-lines-icon.d.ts +13 -0
  789. package/dist/types/components/icon/icons/mic-signal-icon.d.ts +13 -0
  790. package/dist/types/components/icon/icons/mosque-icon.d.ts +13 -0
  791. package/dist/types/components/icon/icons/rotate-ccw-clock-icon.d.ts +13 -0
  792. package/dist/types/components/icon/icons/rotate-cw-fading-clock-icon.d.ts +13 -0
  793. package/dist/types/components/icon/icons/scan-square-icon.d.ts +13 -0
  794. package/dist/types/components/icon/icons/shield-keyhole-icon.d.ts +13 -0
  795. package/dist/types/components/icon/icons/{history-icon.d.ts → square-off-icon.d.ts} +5 -5
  796. package/dist/types/components/icon/icons/user-shield-icon.d.ts +13 -0
  797. package/dist/types/components/icon/index.d.ts +11 -3
  798. package/dist/types/components/modal/modal.style.d.ts +2 -2
  799. package/dist/types/components/notice/notice.style.d.ts +1 -1
  800. package/dist/types/components/tag/tag.style.d.ts +1 -1
  801. package/dist/types/index.d.ts +12 -4
  802. package/package.json +9 -9
  803. package/dist/cjs/components/icon/icons/history-icon.cjs +0 -14
  804. package/dist/cjs/components/icon/icons/history-icon.cjs.map +0 -1
  805. package/dist/cjs/components/icon/icons/podcast-icon.cjs +0 -14
  806. package/dist/cjs/components/icon/icons/podcast-icon.cjs.map +0 -1
  807. package/dist/esm/components/icon/icons/history-icon.js +0 -14
  808. package/dist/esm/components/icon/icons/history-icon.js.map +0 -1
  809. package/dist/esm/components/icon/icons/podcast-icon.js +0 -14
  810. package/dist/esm/components/icon/icons/podcast-icon.js.map +0 -1
  811. package/dist/types/components/icon/icons/podcast-icon.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"calc.js","names":[],"sources":["../../../../src/core/css/calc.ts"],"sourcesContent":["import type { ThemeToken } from \"../system\"\nimport type { Transform } from \"./utils\"\nimport { isNumeric } from \"../../utils\"\nimport {\n getCSSFunction,\n globalValues,\n isCSSFunction,\n isCSSToken,\n splitValues,\n} from \"./utils\"\n\nconst OPERATORS = [\"+\", \"-\", \"*\", \"/\"]\n\nfunction getValue(value: string | undefined, fallbackValue = \"\"): Transform {\n return function (token, { system, ...rest }) {\n if (!value) return fallbackValue\n\n const prevent = isCSSFunction(value)\n\n if (prevent) {\n return generateCalc(token)(value, { system, ...rest })\n } else {\n if (isNumeric(value)) return value\n\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken))\n return system.cssMap[resolvedToken]!.ref\n else return value\n }\n }\n}\n\nfunction isOperator(value: string) {\n return new RegExp(`\\\\s[${OPERATORS.join(\"\\\\\")}]\\\\s`).test(value)\n}\n\nexport function generateCalc(token: ThemeToken): Transform {\n return function (value, options) {\n if (value == null || globalValues.has(value)) return value\n\n const prevent = isCSSFunction(value)\n\n if (!prevent) return value\n\n let { type, values } = getCSSFunction(value)\n\n if (!type || !values) return value\n\n switch (type) {\n case \"calc\": {\n const computedValues = splitValues(\n values,\n (char, prev, next) => isOperator(`${prev}${char}${next}`),\n true,\n ).map((value) => {\n if (value && OPERATORS.includes(value)) return value\n\n return getValue(value)(token, options)\n })\n\n return `calc(${computedValues.join(\" \")})`\n }\n\n case \"min\":\n case \"max\": {\n let [firstValue, secondValue, ...otherValues] = splitValues(values)\n\n firstValue = getValue(firstValue, \"100%\")(token, options)\n secondValue = getValue(secondValue, \"100%\")(token, options)\n otherValues = otherValues.map((value) =>\n getValue(value)(token, options),\n )\n\n return (\n `${type}(` +\n `${firstValue}, ${secondValue}` +\n (otherValues.length ? `, ${otherValues.join(\", \")}` : \"\") +\n \")\"\n )\n }\n\n case \"clamp\": {\n let [min, preferred, max] = splitValues(values)\n\n if (!max) {\n max = preferred\n preferred = \"\"\n }\n\n min = getValue(min)(token, options)\n preferred = getValue(preferred, \"100%\")(token, options)\n max = getValue(max)(token, options)\n\n return `clamp(${min}, ${preferred}, ${max})`\n }\n\n case \"minmax\": {\n let [min, max] = splitValues(values)\n\n min = getValue(min)(token, options)\n max = getValue(max)(token, options)\n\n return `minmax(${min}, ${max})`\n }\n\n case \"fit-content\": {\n let [value] = splitValues(values)\n\n value = getValue(value)(token, options)\n\n return `fit-content(${value})`\n }\n\n default:\n return value\n }\n }\n}\n"],"mappings":";;;AAWA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAK;AAAG;AAErC,SAAS,SAAS,OAA2B,gBAAgB,IAAe;CAC1E,OAAO,SAAU,OAAO,EAAE,QAAQ,GAAG,QAAQ;EAC3C,IAAI,CAAC,OAAO,OAAO;EAInB,IAFgB,cAAc,KAEpB,GACR,OAAO,aAAa,KAAK,CAAC,CAAC,OAAO;GAAE;GAAQ,GAAG;EAAK,CAAC;OAChD;GACL,KAAA,GAAA,cAAA,UAAA,CAAc,KAAK,GAAG,OAAO;GAE7B,MAAM,gBAAgB,GAAG,MAAM,GAAG;GAElC,IAAI,WAAW,MAAM,CAAC,CAAC,aAAa,GAClC,OAAO,OAAO,OAAO,cAAc,CAAE;QAClC,OAAO;EACd;CACF;AACF;AAEA,SAAS,WAAW,OAAe;CACjC,OAAO,IAAI,OAAO,OAAO,UAAU,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK;AACjE;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,SAAU,OAAO,SAAS;EAC/B,IAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,GAAG,OAAO;EAIrD,IAAI,CAFY,cAAc,KAEnB,GAAG,OAAO;EAErB,IAAI,EAAE,MAAM,WAAW,eAAe,KAAK;EAE3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,OAAO;EAE7B,QAAQ,MAAR;GACE,KAAK,QAWH,OAAO,QAVgB,YACrB,SACC,MAAM,MAAM,SAAS,WAAW,GAAG,OAAO,OAAO,MAAM,GACxD,IACF,CAAC,CAAC,KAAK,UAAU;IACf,IAAI,SAAS,UAAU,SAAS,KAAK,GAAG,OAAO;IAE/C,OAAO,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO;GACvC,CAE4B,CAAC,CAAC,KAAK,GAAG,EAAE;GAG1C,KAAK;GACL,KAAK,OAAO;IACV,IAAI,CAAC,YAAY,aAAa,GAAG,eAAe,YAAY,MAAM;IAElE,aAAa,SAAS,YAAY,MAAM,CAAC,CAAC,OAAO,OAAO;IACxD,cAAc,SAAS,aAAa,MAAM,CAAC,CAAC,OAAO,OAAO;IAC1D,cAAc,YAAY,KAAK,UAC7B,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO,CAChC;IAEA,OACE,GAAG,KAAK,GACL,WAAW,IAAI,iBACjB,YAAY,SAAS,KAAK,YAAY,KAAK,IAAI,MAAM,MACtD;GAEJ;GAEA,KAAK,SAAS;IACZ,IAAI,CAAC,KAAK,WAAW,OAAO,YAAY,MAAM;IAE9C,IAAI,CAAC,KAAK;KACR,MAAM;KACN,YAAY;IACd;IAEA,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAClC,YAAY,SAAS,WAAW,MAAM,CAAC,CAAC,OAAO,OAAO;IACtD,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAElC,OAAO,SAAS,IAAI,IAAI,UAAU,IAAI,IAAI;GAC5C;GAEA,KAAK,UAAU;IACb,IAAI,CAAC,KAAK,OAAO,YAAY,MAAM;IAEnC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAElC,OAAO,UAAU,IAAI,IAAI,IAAI;GAC/B;GAEA,KAAK,eAAe;IAClB,IAAI,CAAC,SAAS,YAAY,MAAM;IAEhC,QAAQ,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO;IAEtC,OAAO,eAAe,MAAM;GAC9B;GAEA,SACE,OAAO;EACX;CACF;AACF"}
1
+ {"version":3,"file":"calc.js","names":["isNumeric"],"sources":["../../../../src/core/css/calc.ts"],"sourcesContent":["import type { ThemeToken } from \"../system\"\nimport type { Transform } from \"./utils\"\nimport { isNumeric } from \"../../utils\"\nimport {\n getCSSFunction,\n globalValues,\n isCSSFunction,\n isCSSToken,\n splitValues,\n} from \"./utils\"\n\nconst OPERATORS = [\"+\", \"-\", \"*\", \"/\"]\n\nfunction getValue(value: string | undefined, fallbackValue = \"\"): Transform {\n return function (token, { system, ...rest }) {\n if (!value) return fallbackValue\n\n const prevent = isCSSFunction(value)\n\n if (prevent) {\n return generateCalc(token)(value, { system, ...rest })\n } else {\n if (isNumeric(value)) return value\n\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken))\n return system.cssMap[resolvedToken]!.ref\n else return value\n }\n }\n}\n\nfunction isOperator(value: string) {\n return new RegExp(`\\\\s[${OPERATORS.join(\"\\\\\")}]\\\\s`).test(value)\n}\n\nexport function generateCalc(token: ThemeToken): Transform {\n return function (value, options) {\n if (value == null || globalValues.has(value)) return value\n\n const prevent = isCSSFunction(value)\n\n if (!prevent) return value\n\n let { type, values } = getCSSFunction(value)\n\n if (!type || !values) return value\n\n switch (type) {\n case \"calc\": {\n const computedValues = splitValues(\n values,\n (char, prev, next) => isOperator(`${prev}${char}${next}`),\n true,\n ).map((value) => {\n if (value && OPERATORS.includes(value)) return value\n\n return getValue(value)(token, options)\n })\n\n return `calc(${computedValues.join(\" \")})`\n }\n\n case \"min\":\n case \"max\": {\n let [firstValue, secondValue, ...otherValues] = splitValues(values)\n\n firstValue = getValue(firstValue, \"100%\")(token, options)\n secondValue = getValue(secondValue, \"100%\")(token, options)\n otherValues = otherValues.map((value) =>\n getValue(value)(token, options),\n )\n\n return (\n `${type}(` +\n `${firstValue}, ${secondValue}` +\n (otherValues.length ? `, ${otherValues.join(\", \")}` : \"\") +\n \")\"\n )\n }\n\n case \"clamp\": {\n let [min, preferred, max] = splitValues(values)\n\n if (!max) {\n max = preferred\n preferred = \"\"\n }\n\n min = getValue(min)(token, options)\n preferred = getValue(preferred, \"100%\")(token, options)\n max = getValue(max)(token, options)\n\n return `clamp(${min}, ${preferred}, ${max})`\n }\n\n case \"minmax\": {\n let [min, max] = splitValues(values)\n\n min = getValue(min)(token, options)\n max = getValue(max)(token, options)\n\n return `minmax(${min}, ${max})`\n }\n\n case \"fit-content\": {\n let [value] = splitValues(values)\n\n value = getValue(value)(token, options)\n\n return `fit-content(${value})`\n }\n\n default:\n return value\n }\n }\n}\n"],"mappings":";;;AAWA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAK;AAAG;AAErC,SAAS,SAAS,OAA2B,gBAAgB,IAAe;CAC1E,OAAO,SAAU,OAAO,EAAE,QAAQ,GAAG,QAAQ;EAC3C,IAAI,CAAC,OAAO,OAAO;EAInB,IAFgB,cAAc,KAEpB,GACR,OAAO,aAAa,KAAK,CAAC,CAAC,OAAO;GAAE;GAAQ,GAAG;EAAK,CAAC;OAChD;GACL,KAAA,GAAIA,cAAAA,UAAAA,CAAU,KAAK,GAAG,OAAO;GAE7B,MAAM,gBAAgB,GAAG,MAAM,GAAG;GAElC,IAAI,WAAW,MAAM,CAAC,CAAC,aAAa,GAClC,OAAO,OAAO,OAAO,cAAc,CAAE;QAClC,OAAO;EACd;CACF;AACF;AAEA,SAAS,WAAW,OAAe;CACjC,OAAO,IAAI,OAAO,OAAO,UAAU,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK;AACjE;AAEA,SAAgB,aAAa,OAA8B;CACzD,OAAO,SAAU,OAAO,SAAS;EAC/B,IAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,GAAG,OAAO;EAIrD,IAAI,CAFY,cAAc,KAEnB,GAAG,OAAO;EAErB,IAAI,EAAE,MAAM,WAAW,eAAe,KAAK;EAE3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,OAAO;EAE7B,QAAQ,MAAR;GACE,KAAK,QAWH,OAAO,QAVgB,YACrB,SACC,MAAM,MAAM,SAAS,WAAW,GAAG,OAAO,OAAO,MAAM,GACxD,IACF,CAAC,CAAC,KAAK,UAAU;IACf,IAAI,SAAS,UAAU,SAAS,KAAK,GAAG,OAAO;IAE/C,OAAO,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO;GACvC,CAE4B,CAAC,CAAC,KAAK,GAAG,EAAE;GAG1C,KAAK;GACL,KAAK,OAAO;IACV,IAAI,CAAC,YAAY,aAAa,GAAG,eAAe,YAAY,MAAM;IAElE,aAAa,SAAS,YAAY,MAAM,CAAC,CAAC,OAAO,OAAO;IACxD,cAAc,SAAS,aAAa,MAAM,CAAC,CAAC,OAAO,OAAO;IAC1D,cAAc,YAAY,KAAK,UAC7B,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO,CAChC;IAEA,OACE,GAAG,KAAK,GACL,WAAW,IAAI,iBACjB,YAAY,SAAS,KAAK,YAAY,KAAK,IAAI,MAAM,MACtD;GAEJ;GAEA,KAAK,SAAS;IACZ,IAAI,CAAC,KAAK,WAAW,OAAO,YAAY,MAAM;IAE9C,IAAI,CAAC,KAAK;KACR,MAAM;KACN,YAAY;IACd;IAEA,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAClC,YAAY,SAAS,WAAW,MAAM,CAAC,CAAC,OAAO,OAAO;IACtD,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAElC,OAAO,SAAS,IAAI,IAAI,UAAU,IAAI,IAAI;GAC5C;GAEA,KAAK,UAAU;IACb,IAAI,CAAC,KAAK,OAAO,YAAY,MAAM;IAEnC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,OAAO;IAElC,OAAO,UAAU,IAAI,IAAI,IAAI;GAC/B;GAEA,KAAK,eAAe;IAClB,IAAI,CAAC,SAAS,YAAY,MAAM;IAEhC,QAAQ,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO;IAEtC,OAAO,eAAe,MAAM;GAC9B;GAEA,SACE,OAAO;EACX;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-mix.js","names":[],"sources":["../../../../src/core/css/color-mix.ts"],"sourcesContent":["import type { System } from \"../system\"\nimport type { TransformOptions } from \"./utils\"\nimport { isArray, isString } from \"../../utils\"\nimport { getColorSchemeVar, isColorScheme } from \"../system\"\nimport { getCSSFunction, globalValues, splitValues, tokenToVar } from \"./utils\"\n\nconst DEFAULT_METHOD = \"in srgb\"\n\nconst methods: { [key: string]: string } = {\n \"a98-rgb\": \"in a98-rgb\",\n \"display-p3\": \"in display-p3\",\n lab: \"in lab\",\n oklab: \"in oklab\",\n \"prophoto-rgb\": \"in prophoto-rgb\",\n rec2020: \"in rec2020\",\n srgb: \"in srgb\",\n \"srgb-linear\": \"in srgb-linear\",\n xyz: \"in xyz\",\n \"xyz-d50\": \"in xyz-d50\",\n \"xyz-d65\": \"in xyz-d65\",\n}\n\nfunction getColor(system: System) {\n return function (value: string | undefined, fallbackColor?: string) {\n if (!isString(value) || !value) return \"\"\n\n let [color, percent, ...rest] = value.split(\" \").filter(Boolean)\n\n if (rest.length) return value\n\n if (color?.startsWith(\"colors.\")) color = color.replace(\"colors.\", \"\")\n\n if (isColorScheme(color)) color = getColorSchemeVar(system)(color)\n else color = tokenToVar(system)(\"colors\", color, fallbackColor)\n\n if (percent && !percent.startsWith(\"var\") && !percent.endsWith(\"%\"))\n percent = `${percent}%`\n\n return !percent ? color : `${color} ${percent}`\n }\n}\n\nfunction omitPercent(value?: string) {\n if (!value) return value\n\n if (value.endsWith(\"%\")) return value.replace(/\\d{1,3}%$/, \"\").trim()\n\n const values = value.trim().match(/[a-z-]+\\([^)]*\\)|[^\\s]+/gi) ?? []\n\n if (values.length > 1) return values[0]\n\n return value\n}\n\nfunction createVariable(\n value: string,\n fallbackValue?: string,\n properties?: string[],\n) {\n if (!properties) return value\n\n const key =\n \"--mix-\" + (isArray(properties) ? properties.join(\"-\") : properties)\n\n const result = { [key]: value }\n\n properties.forEach((property) => {\n result[property] = fallbackValue\n ? `var(${key}, ${fallbackValue})`\n : `var(${key})`\n })\n\n return result\n}\n\nexport function colorMix(\n value: any,\n { fallback, properties, system }: TransformOptions,\n) {\n if (value == null || globalValues.has(value)) return value\n\n if (isString(value) && value.includes(\"/\")) {\n const [color, percent] = value.split(\"/\")\n\n value = `transparentize(${color}, ${percent})`\n }\n\n const { type, values } = getCSSFunction(value)\n\n if (!values) return getColor(system)(value, fallback)\n\n switch (type) {\n case \"mix\":\n case \"color-mix\": {\n let [color2, color1, method] = splitValues(values).reverse()\n\n if (method) method = method in methods ? methods[method] : method\n else method = DEFAULT_METHOD\n\n color1 = getColor(system)(color1, fallback)\n color2 = getColor(system)(color2, fallback)\n\n return createVariable(\n `color-mix(${method}` +\n (color1 ? `, ${color1}` : \"\") +\n (color2 ? `, ${color2}` : \"\") +\n \")\",\n omitPercent(color1),\n properties,\n )\n }\n\n case \"tint\":\n case \"shade\":\n case \"transparentize\": {\n const [color, percent] = splitValues(values)\n\n const color1 = getColor(system)(\n percent ? `${color} ${percent}` : color,\n fallback,\n )\n const color2 =\n type === \"transparentize\"\n ? \"transparent\"\n : type === \"tint\"\n ? \"#fff\"\n : \"#000\"\n\n return createVariable(\n `color-mix(${DEFAULT_METHOD}, ${color1}, ${color2})`,\n omitPercent(color1),\n properties,\n )\n }\n\n case \"tone\": {\n const [color, tone] = splitValues(values)\n\n const color1 = getColor(system)(color, fallback)\n\n if (!tone) return color1\n\n let ratio = parseInt(tone) || 500\n\n if (ratio < 50 || 950 < ratio) ratio = 500\n if (ratio === 500) return color1\n\n const color2 = ratio < 500 ? \"#fff\" : \"#000\"\n const percent = `${100 - (Math.abs(ratio - 500) * 2) / 10}%`\n\n return createVariable(\n `color-mix(${DEFAULT_METHOD}, ${color1} ${percent}, ${color2})`,\n omitPercent(color1),\n properties,\n )\n }\n\n default: {\n return value\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"color-mix.js","names":["isString","isArray"],"sources":["../../../../src/core/css/color-mix.ts"],"sourcesContent":["import type { System } from \"../system\"\nimport type { TransformOptions } from \"./utils\"\nimport { isArray, isString } from \"../../utils\"\nimport { getColorSchemeVar, isColorScheme } from \"../system\"\nimport { getCSSFunction, globalValues, splitValues, tokenToVar } from \"./utils\"\n\nconst DEFAULT_METHOD = \"in srgb\"\n\nconst methods: { [key: string]: string } = {\n \"a98-rgb\": \"in a98-rgb\",\n \"display-p3\": \"in display-p3\",\n lab: \"in lab\",\n oklab: \"in oklab\",\n \"prophoto-rgb\": \"in prophoto-rgb\",\n rec2020: \"in rec2020\",\n srgb: \"in srgb\",\n \"srgb-linear\": \"in srgb-linear\",\n xyz: \"in xyz\",\n \"xyz-d50\": \"in xyz-d50\",\n \"xyz-d65\": \"in xyz-d65\",\n}\n\nfunction getColor(system: System) {\n return function (value: string | undefined, fallbackColor?: string) {\n if (!isString(value) || !value) return \"\"\n\n let [color, percent, ...rest] = value.split(\" \").filter(Boolean)\n\n if (rest.length) return value\n\n if (color?.startsWith(\"colors.\")) color = color.replace(\"colors.\", \"\")\n\n if (isColorScheme(color)) color = getColorSchemeVar(system)(color)\n else color = tokenToVar(system)(\"colors\", color, fallbackColor)\n\n if (percent && !percent.startsWith(\"var\") && !percent.endsWith(\"%\"))\n percent = `${percent}%`\n\n return !percent ? color : `${color} ${percent}`\n }\n}\n\nfunction omitPercent(value?: string) {\n if (!value) return value\n\n if (value.endsWith(\"%\")) return value.replace(/\\d{1,3}%$/, \"\").trim()\n\n const values = value.trim().match(/[a-z-]+\\([^)]*\\)|[^\\s]+/gi) ?? []\n\n if (values.length > 1) return values[0]\n\n return value\n}\n\nfunction createVariable(\n value: string,\n fallbackValue?: string,\n properties?: string[],\n) {\n if (!properties) return value\n\n const key =\n \"--mix-\" + (isArray(properties) ? properties.join(\"-\") : properties)\n\n const result = { [key]: value }\n\n properties.forEach((property) => {\n result[property] = fallbackValue\n ? `var(${key}, ${fallbackValue})`\n : `var(${key})`\n })\n\n return result\n}\n\nexport function colorMix(\n value: any,\n { fallback, properties, system }: TransformOptions,\n) {\n if (value == null || globalValues.has(value)) return value\n\n if (isString(value) && value.includes(\"/\")) {\n const [color, percent] = value.split(\"/\")\n\n value = `transparentize(${color}, ${percent})`\n }\n\n const { type, values } = getCSSFunction(value)\n\n if (!values) return getColor(system)(value, fallback)\n\n switch (type) {\n case \"mix\":\n case \"color-mix\": {\n let [color2, color1, method] = splitValues(values).reverse()\n\n if (method) method = method in methods ? methods[method] : method\n else method = DEFAULT_METHOD\n\n color1 = getColor(system)(color1, fallback)\n color2 = getColor(system)(color2, fallback)\n\n return createVariable(\n `color-mix(${method}` +\n (color1 ? `, ${color1}` : \"\") +\n (color2 ? `, ${color2}` : \"\") +\n \")\",\n omitPercent(color1),\n properties,\n )\n }\n\n case \"tint\":\n case \"shade\":\n case \"transparentize\": {\n const [color, percent] = splitValues(values)\n\n const color1 = getColor(system)(\n percent ? `${color} ${percent}` : color,\n fallback,\n )\n const color2 =\n type === \"transparentize\"\n ? \"transparent\"\n : type === \"tint\"\n ? \"#fff\"\n : \"#000\"\n\n return createVariable(\n `color-mix(${DEFAULT_METHOD}, ${color1}, ${color2})`,\n omitPercent(color1),\n properties,\n )\n }\n\n case \"tone\": {\n const [color, tone] = splitValues(values)\n\n const color1 = getColor(system)(color, fallback)\n\n if (!tone) return color1\n\n let ratio = parseInt(tone) || 500\n\n if (ratio < 50 || 950 < ratio) ratio = 500\n if (ratio === 500) return color1\n\n const color2 = ratio < 500 ? \"#fff\" : \"#000\"\n const percent = `${100 - (Math.abs(ratio - 500) * 2) / 10}%`\n\n return createVariable(\n `color-mix(${DEFAULT_METHOD}, ${color1} ${percent}, ${color2})`,\n omitPercent(color1),\n properties,\n )\n }\n\n default: {\n return value\n }\n }\n}\n"],"mappings":";;;;AAMA,MAAM,iBAAiB;AAEvB,MAAM,UAAqC;CACzC,WAAW;CACX,cAAc;CACd,KAAK;CACL,OAAO;CACP,gBAAgB;CAChB,SAAS;CACT,MAAM;CACN,eAAe;CACf,KAAK;CACL,WAAW;CACX,WAAW;AACb;AAEA,SAAS,SAAS,QAAgB;CAChC,OAAO,SAAU,OAA2B,eAAwB;EAClE,IAAI,EAAA,GAACA,cAAAA,SAAAA,CAAS,KAAK,KAAK,CAAC,OAAO,OAAO;EAEvC,IAAI,CAAC,OAAO,SAAS,GAAG,QAAQ,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,OAAO;EAE/D,IAAI,KAAK,QAAQ,OAAO;EAExB,IAAI,OAAO,WAAW,SAAS,GAAG,QAAQ,MAAM,QAAQ,WAAW,EAAE;EAErE,IAAI,cAAc,KAAK,GAAG,QAAQ,kBAAkB,MAAM,CAAC,CAAC,KAAK;OAC5D,QAAQ,WAAW,MAAM,CAAC,CAAC,UAAU,OAAO,aAAa;EAE9D,IAAI,WAAW,CAAC,QAAQ,WAAW,KAAK,KAAK,CAAC,QAAQ,SAAS,GAAG,GAChE,UAAU,GAAG,QAAQ;EAEvB,OAAO,CAAC,UAAU,QAAQ,GAAG,MAAM,GAAG;CACxC;AACF;AAEA,SAAS,YAAY,OAAgB;CACnC,IAAI,CAAC,OAAO,OAAO;CAEnB,IAAI,MAAM,SAAS,GAAG,GAAG,OAAO,MAAM,QAAQ,aAAa,EAAE,CAAC,CAAC,KAAK;CAEpE,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,MAAM,2BAA2B,KAAK,CAAC;CAEnE,IAAI,OAAO,SAAS,GAAG,OAAO,OAAO;CAErC,OAAO;AACT;AAEA,SAAS,eACP,OACA,eACA,YACA;CACA,IAAI,CAAC,YAAY,OAAO;CAExB,MAAM,MACJ,aAAA,GAAYC,cAAAA,QAAAA,CAAQ,UAAU,IAAI,WAAW,KAAK,GAAG,IAAI;CAE3D,MAAM,SAAS,GAAG,MAAM,MAAM;CAE9B,WAAW,SAAS,aAAa;EAC/B,OAAO,YAAY,gBACf,OAAO,IAAI,IAAI,cAAc,KAC7B,OAAO,IAAI;CACjB,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,SACd,OACA,EAAE,UAAU,YAAY,UACxB;CACA,IAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,GAAG,OAAO;CAErD,KAAA,GAAID,cAAAA,SAAAA,CAAS,KAAK,KAAK,MAAM,SAAS,GAAG,GAAG;EAC1C,MAAM,CAAC,OAAO,WAAW,MAAM,MAAM,GAAG;EAExC,QAAQ,kBAAkB,MAAM,IAAI,QAAQ;CAC9C;CAEA,MAAM,EAAE,MAAM,WAAW,eAAe,KAAK;CAE7C,IAAI,CAAC,QAAQ,OAAO,SAAS,MAAM,CAAC,CAAC,OAAO,QAAQ;CAEpD,QAAQ,MAAR;EACE,KAAK;EACL,KAAK,aAAa;GAChB,IAAI,CAAC,QAAQ,QAAQ,UAAU,YAAY,MAAM,CAAC,CAAC,QAAQ;GAE3D,IAAI,QAAQ,SAAS,UAAU,UAAU,QAAQ,UAAU;QACtD,SAAS;GAEd,SAAS,SAAS,MAAM,CAAC,CAAC,QAAQ,QAAQ;GAC1C,SAAS,SAAS,MAAM,CAAC,CAAC,QAAQ,QAAQ;GAE1C,OAAO,eACL,aAAa,YACV,SAAS,KAAK,WAAW,OACzB,SAAS,KAAK,WAAW,MAC1B,KACF,YAAY,MAAM,GAClB,UACF;EACF;EAEA,KAAK;EACL,KAAK;EACL,KAAK,kBAAkB;GACrB,MAAM,CAAC,OAAO,WAAW,YAAY,MAAM;GAE3C,MAAM,SAAS,SAAS,MAAM,CAAC,CAC7B,UAAU,GAAG,MAAM,GAAG,YAAY,OAClC,QACF;GAQA,OAAO,eACL,aAAa,eAAe,IAAI,OAAO,IAPvC,SAAS,mBACL,gBACA,SAAS,SACP,SACA,OAG4C,IAClD,YAAY,MAAM,GAClB,UACF;EACF;EAEA,KAAK,QAAQ;GACX,MAAM,CAAC,OAAO,QAAQ,YAAY,MAAM;GAExC,MAAM,SAAS,SAAS,MAAM,CAAC,CAAC,OAAO,QAAQ;GAE/C,IAAI,CAAC,MAAM,OAAO;GAElB,IAAI,QAAQ,SAAS,IAAI,KAAK;GAE9B,IAAI,QAAQ,MAAM,MAAM,OAAO,QAAQ;GACvC,IAAI,UAAU,KAAK,OAAO;GAE1B,MAAM,SAAS,QAAQ,MAAM,SAAS;GACtC,MAAM,UAAU,GAAG,MAAO,KAAK,IAAI,QAAQ,GAAG,IAAI,IAAK,GAAG;GAE1D,OAAO,eACL,aAAa,eAAe,IAAI,OAAO,GAAG,QAAQ,IAAI,OAAO,IAC7D,YAAY,MAAM,GAClB,UACF;EACF;EAEA,SACE,OAAO;CAEX;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-scheme.js","names":["TONES"],"sources":["../../../../src/core/css/color-scheme.ts"],"sourcesContent":["import type { ColorScheme } from \"../system\"\nimport type { TransformOptions } from \"./utils\"\nimport { isArray, TONES } from \"../../utils\"\nimport { getVarName } from \"../system\"\nimport { conditions } from \"./conditions\"\nimport { tokenToVar } from \"./utils\"\n\nfunction createColorSchemeVariables(value: Exclude<ColorScheme, Array<any>>) {\n return function ({ system }: TransformOptions) {\n return {\n ...Object.fromEntries(\n TONES.map((tone) => [\n getVarName(system)(`colorScheme-${tone}`),\n tokenToVar(system)(\"colors\", `${value}.${tone}`),\n ]),\n ),\n ...Object.fromEntries(\n [\n \"contrast\",\n \"fg\",\n \"subtle\",\n \"muted\",\n \"emphasized\",\n \"bg\",\n \"ghost\",\n \"solid\",\n \"outline\",\n ].map((token) => [\n getVarName(system)(`colorScheme-${token}`),\n tokenToVar(system)(\"colors\", `${value}.${token}`),\n ]),\n ),\n }\n }\n}\n\nexport function colorScheme(value: any, options: TransformOptions) {\n if (isArray(value)) {\n const [lightValue, darkValue] = value\n\n return {\n ...createColorSchemeVariables(lightValue)(options),\n [conditions._dark]: createColorSchemeVariables(darkValue)(options),\n }\n } else {\n return createColorSchemeVariables(value)(options)\n }\n}\n"],"mappings":";;;;;AAOA,SAAS,2BAA2B,OAAyC;CAC3E,OAAO,SAAU,EAAE,UAA4B;EAC7C,OAAO;GACL,GAAG,OAAO,YACRA,cAAAA,MAAM,KAAK,SAAS,CAClB,WAAW,MAAM,CAAC,CAAC,eAAe,MAAM,GACxC,WAAW,MAAM,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CACjD,CAAC,CACH;GACA,GAAG,OAAO,YACR;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF,CAAC,CAAC,KAAK,UAAU,CACf,WAAW,MAAM,CAAC,CAAC,eAAe,OAAO,GACzC,WAAW,MAAM,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAClD,CAAC,CACH;EACF;CACF;AACF;AAEA,SAAgB,YAAY,OAAY,SAA2B;CACjE,KAAA,GAAA,cAAA,QAAA,CAAY,KAAK,GAAG;EAClB,MAAM,CAAC,YAAY,aAAa;EAEhC,OAAO;GACL,GAAG,2BAA2B,UAAU,CAAC,CAAC,OAAO;IAChD,WAAW,QAAQ,2BAA2B,SAAS,CAAC,CAAC,OAAO;EACnE;CACF,OACE,OAAO,2BAA2B,KAAK,CAAC,CAAC,OAAO;AAEpD"}
1
+ {"version":3,"file":"color-scheme.js","names":["TONES","isArray"],"sources":["../../../../src/core/css/color-scheme.ts"],"sourcesContent":["import type { ColorScheme } from \"../system\"\nimport type { TransformOptions } from \"./utils\"\nimport { isArray, TONES } from \"../../utils\"\nimport { getVarName } from \"../system\"\nimport { conditions } from \"./conditions\"\nimport { tokenToVar } from \"./utils\"\n\nfunction createColorSchemeVariables(value: Exclude<ColorScheme, Array<any>>) {\n return function ({ system }: TransformOptions) {\n return {\n ...Object.fromEntries(\n TONES.map((tone) => [\n getVarName(system)(`colorScheme-${tone}`),\n tokenToVar(system)(\"colors\", `${value}.${tone}`),\n ]),\n ),\n ...Object.fromEntries(\n [\n \"contrast\",\n \"fg\",\n \"subtle\",\n \"muted\",\n \"emphasized\",\n \"bg\",\n \"ghost\",\n \"solid\",\n \"outline\",\n ].map((token) => [\n getVarName(system)(`colorScheme-${token}`),\n tokenToVar(system)(\"colors\", `${value}.${token}`),\n ]),\n ),\n }\n }\n}\n\nexport function colorScheme(value: any, options: TransformOptions) {\n if (isArray(value)) {\n const [lightValue, darkValue] = value\n\n return {\n ...createColorSchemeVariables(lightValue)(options),\n [conditions._dark]: createColorSchemeVariables(darkValue)(options),\n }\n } else {\n return createColorSchemeVariables(value)(options)\n }\n}\n"],"mappings":";;;;;AAOA,SAAS,2BAA2B,OAAyC;CAC3E,OAAO,SAAU,EAAE,UAA4B;EAC7C,OAAO;GACL,GAAG,OAAO,YACRA,cAAAA,MAAM,KAAK,SAAS,CAClB,WAAW,MAAM,CAAC,CAAC,eAAe,MAAM,GACxC,WAAW,MAAM,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CACjD,CAAC,CACH;GACA,GAAG,OAAO,YACR;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF,CAAC,CAAC,KAAK,UAAU,CACf,WAAW,MAAM,CAAC,CAAC,eAAe,OAAO,GACzC,WAAW,MAAM,CAAC,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAClD,CAAC,CACH;EACF;CACF;AACF;AAEA,SAAgB,YAAY,OAAY,SAA2B;CACjE,KAAA,GAAIC,cAAAA,QAAAA,CAAQ,KAAK,GAAG;EAClB,MAAM,CAAC,YAAY,aAAa;EAEhC,OAAO;GACL,GAAG,2BAA2B,UAAU,CAAC,CAAC,OAAO;IAChD,WAAW,QAAQ,2BAA2B,SAAS,CAAC,CAAC,OAAO;EACnE;CACF,OACE,OAAO,2BAA2B,KAAK,CAAC,CAAC,OAAO;AAEpD"}
@@ -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)) return { content: \"''\", ...value }\n else return value\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} 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;EAC3B,IAAI,UAAU,QAAQ;GACpB,SAAS,CAAC;GACV,KAAK,UAAU;GAEf,OAAO;EACT,OACE,OAAO;CAEX;CACA,MAAM;CACN;CACA,WAAW,eAAe,WAAW;CACrC,UAAU,UAAU;EAClB,KAAA,GAAA,cAAA,SAAA,CAAa,KAAK,GAAG,OAAO;GAAE,SAAS;GAAM,GAAG;EAAM;OACjD,OAAO;CACd;CACA,MAAM,UAAU;EACd,IAAI,SAAS,KAAK,KAAK,SAAS,MAAM,OAAO;EAS7C,OANE,OAAO,UAAU,YACjB,CAAC,MAAM,SAAS,KAAK,KACrB,CAAC,MAAM,SAAS,MAAM,KACtB,CAAC,MAAM,SAAS,MAAM,KACtB,CAAC,MAAM,SAAS,KAAK,MAAA,GAAA,cAAA,SAAA,CAEO,KAAK,IAAI,GAAG,MAAM,OAAO;CACzD;CACA;CACA,QAAQ;CACR,WAAW;CACX,WAAW,UAAU;EACnB,KAAA,GAAA,cAAA,SAAA,CAAa,KAAK,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,IAAI;EAE1D,OAAO;CACT;CACA,UAAU;CACV;CACA;CACA;CACA,OAAO,eAAe,OAAO;CAC7B,KAAK,UAAU;EACb,IAAI,SAAS,MAAM,OAAO;EAE1B,MAAM,EAAE,aAAa,gBAAgB,KAAK;EAE1C,OAAO,aAAA,GAAA,cAAA,SAAA,CAAqB,KAAK,IAAI,GAAG,MAAM,MAAM;CACtD;CACA,UAAU,eAAe,UAAU;CACnC,OAAO;CACP;CACA,YAAY;CACZ,YAAY,UAAmB;EAC7B,IAAI,OACF,OAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;EACd;CACJ;AACF"}
1
+ {"version":3,"file":"config.js","names":["isObject","isNumber"],"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)) return { content: \"''\", ...value }\n else return value\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} 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;EAC3B,IAAI,UAAU,QAAQ;GACpB,SAAS,CAAC;GACV,KAAK,UAAU;GAEf,OAAO;EACT,OACE,OAAO;CAEX;CACA,MAAM;CACN;CACA,WAAW,eAAe,WAAW;CACrC,UAAU,UAAU;EAClB,KAAA,GAAIA,cAAAA,SAAAA,CAAS,KAAK,GAAG,OAAO;GAAE,SAAS;GAAM,GAAG;EAAM;OACjD,OAAO;CACd;CACA,MAAM,UAAU;EACd,IAAI,SAAS,KAAK,KAAK,SAAS,MAAM,OAAO;EAS7C,OANE,OAAO,UAAU,YACjB,CAAC,MAAM,SAAS,KAAK,KACrB,CAAC,MAAM,SAAS,MAAM,KACtB,CAAC,MAAM,SAAS,MAAM,KACtB,CAAC,MAAM,SAAS,KAAK,MAAA,GAEFC,cAAAA,SAAAA,CAAS,KAAK,IAAI,GAAG,MAAM,OAAO;CACzD;CACA;CACA,QAAQ;CACR,WAAW;CACX,WAAW,UAAU;EACnB,KAAA,GAAIA,cAAAA,SAAAA,CAAS,KAAK,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,IAAI;EAE1D,OAAO;CACT;CACA,UAAU;CACV;CACA;CACA;CACA,OAAO,eAAe,OAAO;CAC7B,KAAK,UAAU;EACb,IAAI,SAAS,MAAM,OAAO;EAE1B,MAAM,EAAE,aAAa,gBAAgB,KAAK;EAE1C,OAAO,aAAA,GAAYA,cAAAA,SAAAA,CAAS,KAAK,IAAI,GAAG,MAAM,MAAM;CACtD;CACA,UAAU,eAAe,UAAU;CACnC,OAAO;CACP;CACA,YAAY;CACZ,YAAY,UAAmB;EAC7B,IAAI,OACF,OAAO;GACL,UAAU;GACV,cAAc;GACd,YAAY;EACd;CACJ;AACF"}
@@ -32,7 +32,7 @@ function transformColorModeArray(breakpoints) {
32
32
  function transformConditionalObject(breakpoints) {
33
33
  return function(key, value) {
34
34
  const conditionalKeys = Object.keys(value).filter((key) => !breakpoints.isResponsiveKey(key));
35
- return (0, utils_exports.merge)(breakpoints.queries.reduce((prev, { breakpoint, query }) => {
35
+ const breakpointObj = breakpoints.queries.reduce((prev, { breakpoint, query }) => {
36
36
  const breakpointValue = value[breakpoint];
37
37
  if (!(0, utils_exports.isUndefined)(breakpointValue)) if ((0, utils_exports.isArray)(breakpointValue)) {
38
38
  const colorModeValue = transformColorModeArray(breakpoints)(key, breakpointValue);
@@ -42,11 +42,13 @@ function transformConditionalObject(breakpoints) {
42
42
  prev = (0, utils_exports.merge)(prev, query ? { [query]: conditionalValue } : conditionalValue);
43
43
  } else prev = (0, utils_exports.merge)(prev, query ? { [query]: { [key]: breakpointValue } } : { [key]: breakpointValue });
44
44
  return prev;
45
- }, {}), conditionalKeys.reduce((prev, conditionalKey) => {
45
+ }, {});
46
+ const additionalObj = conditionalKeys.reduce((prev, conditionalKey) => {
46
47
  const query = getCondition(conditionalKey);
47
48
  prev[query] = { [key]: value[conditionalKey] };
48
49
  return prev;
49
- }, {}));
50
+ }, {});
51
+ return (0, utils_exports.merge)(breakpointObj, additionalObj);
50
52
  };
51
53
  }
52
54
  function transformConditionalValue({ breakpoints }) {
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["../../../../src/core/css/css.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Breakpoints, System, UsageTheme } from \"../system\"\nimport type { StyleConfig } from \"./config\"\nimport type { CSSObjectOrFunction } from \"./index.types\"\nimport type { StyleProperty, VariableLengthProperty } from \"./styles\"\nimport type { TransformOptions } from \"./utils\"\nimport {\n isArray,\n isObject,\n isString,\n isUndefined,\n merge,\n runIfFn,\n} from \"../../utils\"\nimport { getColorSchemeVar, getVar, transformInterpolation } from \"../system\"\nimport { colorMix } from \"./color-mix\"\nimport { conditions, getCondition } from \"./conditions\"\nimport { styles, variableLengthProperties } from \"./styles\"\nimport {\n insertImportant,\n isCSSToken,\n isImportant,\n omitImportant,\n} from \"./utils\"\n\nfunction isVariableLength(key: string): boolean {\n return variableLengthProperties.includes(key as VariableLengthProperty)\n}\n\nfunction isConditionalObject(breakpoints: Breakpoints) {\n return function (value: any): boolean {\n if (!isObject(value)) return false\n\n const keys = Object.keys(value)\n\n if (!keys.length) return false\n\n if (!keys.includes(\"base\")) return false\n\n return keys.every((key) => {\n return (\n breakpoints.isResponsiveKey(key) ||\n key.startsWith(\"@\") ||\n key.startsWith(\"_\")\n )\n })\n }\n}\n\nfunction transformColorModeArray(breakpoints: Breakpoints) {\n return function (key: string, [lightValue, darkValue]: any[]): Dict {\n let computedCSS: Dict = {}\n\n if (isConditionalObject(breakpoints)(lightValue))\n computedCSS = transformConditionalObject(breakpoints)(key, lightValue)\n else computedCSS[key] = lightValue\n\n if (isConditionalObject(breakpoints)(darkValue))\n computedCSS[conditions._dark] = transformConditionalObject(breakpoints)(\n key,\n darkValue,\n )\n else computedCSS[conditions._dark] = { [key]: darkValue }\n\n return computedCSS\n }\n}\n\nfunction transformConditionalObject(breakpoints: Breakpoints) {\n return function (key: string, value: Dict) {\n const conditionalKeys = Object.keys(value).filter(\n (key) => !breakpoints.isResponsiveKey(key),\n )\n\n const breakpointObj = breakpoints.queries.reduce<Dict>(\n (prev, { breakpoint, query }) => {\n const breakpointValue = value[breakpoint]\n\n if (!isUndefined(breakpointValue))\n if (isArray(breakpointValue)) {\n const colorModeValue = transformColorModeArray(breakpoints)(\n key,\n breakpointValue,\n )\n\n prev = merge(\n prev,\n query ? { [query]: colorModeValue } : colorModeValue,\n )\n } else if (isConditionalObject(breakpoints)(breakpointValue)) {\n const conditionalValue = transformConditionalObject(breakpoints)(\n key,\n breakpointValue,\n )\n\n prev = merge(\n prev,\n query ? { [query]: conditionalValue } : conditionalValue,\n )\n } else {\n prev = merge(\n prev,\n query\n ? { [query]: { [key]: breakpointValue } }\n : { [key]: breakpointValue },\n )\n }\n\n return prev\n },\n {},\n )\n\n const additionalObj = conditionalKeys.reduce<Dict>(\n (prev, conditionalKey) => {\n const query = getCondition(conditionalKey)\n\n prev[query] = { [key]: value[conditionalKey] }\n\n return prev\n },\n {},\n )\n\n return merge(breakpointObj, additionalObj)\n }\n}\n\nexport function transformConditionalValue({ breakpoints }: System) {\n return function (key: string, value: any) {\n if (isArray(value)) return transformColorModeArray(breakpoints)(key, value)\n else if (isConditionalObject(breakpoints)(value))\n return transformConditionalObject(breakpoints)(key, value)\n else return { [key]: value }\n }\n}\n\nfunction expandCSS(system: System) {\n return function (css: Dict): Dict {\n let computedCSS: Dict = {}\n\n for (let [key, value] of Object.entries(css)) {\n if (value == null) continue\n\n if (!isVariableLength(key))\n computedCSS = merge(\n computedCSS,\n transformConditionalValue(system)(key, value),\n )\n else computedCSS = merge(computedCSS, { [key]: value })\n }\n\n return computedCSS\n }\n}\n\nfunction valueToVar(system: System) {\n return function (prop: string, value: any) {\n const result = transformInterpolation(\n value,\n function (value: string, fallbackValue?: string) {\n if (value.includes(\"colorScheme.\")) {\n return getColorSchemeVar(system)(value)\n } else if (value.includes(\"colors.\")) {\n return colorMix(value, { fallback: fallbackValue, system })\n } else if (isCSSToken(system)(value)) {\n return system.cssMap[value]!.ref\n } else if (fallbackValue) {\n fallbackValue = isCSSToken(system)(fallbackValue)\n ? system.cssMap[fallbackValue]!.ref\n : fallbackValue\n\n return getVar(value, fallbackValue)\n } else {\n return getVar(value)\n }\n },\n )\n\n if (prop.startsWith(\"--\") && isString(result))\n if (result.includes(\"colorScheme.\"))\n return getColorSchemeVar(system)(result)\n else if (result.includes(\"colors.\")) return colorMix(result, { system })\n else if (isCSSToken(system)(result)) return system.cssMap[result]!.ref\n else return result\n else return result\n }\n}\n\nfunction mergeCSS(prev: Dict, value: any, prop: string, properties?: string[]) {\n if (properties) {\n for (const property of properties) {\n prev[property] = prev[property] ?? {}\n prev[property] = merge(prev[property], value)\n }\n } else {\n prev[prop] = prev[prop] ?? {}\n prev[prop] = merge(prev[prop], value)\n }\n\n return prev\n}\n\nfunction insertCSS(\n prev: Dict,\n value: any,\n prop: string,\n properties?: string[],\n) {\n if (properties) for (const property of properties) prev[property] = value\n else prev[prop] = value\n\n return prev\n}\n\nexport function getStyle(prop: string) {\n const style = styles[prop as StyleProperty] as StyleConfig | true | undefined\n\n return style === true ? { properties: [prop] } : style\n}\n\nexport function css(system: System, theme: UsageTheme = {}) {\n return function (cssOrFn: CSSObjectOrFunction) {\n function createCSS(cssOrFn: CSSObjectOrFunction): Dict {\n const cssObj = runIfFn(cssOrFn, system)\n const computedCSS = expandCSS(system)(cssObj)\n\n let prev: Dict = {}\n\n for (let [prop, value] of Object.entries(computedCSS)) {\n value = valueToVar(system)(prop, value)\n\n if (value == null) continue\n\n prop = getCondition(prop)\n\n const style = getStyle(prop)\n const options: TransformOptions = {\n css,\n prev,\n properties: style?.properties,\n system,\n theme,\n }\n\n if (isObject(value)) {\n value = style?.transform?.(value, options) ?? value\n\n if (isObject(value))\n prev = mergeCSS(prev, createCSS(value), prop, style?.properties)\n else prev = insertCSS(prev, value, prop, style?.properties)\n\n continue\n }\n\n const important = isImportant(value)\n\n value = omitImportant(value)\n value = style?.transform?.(value, options) ?? value\n\n if (important) value = insertImportant(value, style)\n\n if (style?.static) prev = merge(prev, style.static)\n\n if (isObject(value)) {\n prev = merge(prev, createCSS(value))\n\n continue\n }\n\n prev = insertCSS(prev, value, prop, style?.properties)\n }\n\n return prev\n }\n\n return createCSS(cssOrFn)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"css.js","names":["isObject","isUndefined","isArray","merge","isString","runIfFn"],"sources":["../../../../src/core/css/css.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { Breakpoints, System, UsageTheme } from \"../system\"\nimport type { StyleConfig } from \"./config\"\nimport type { CSSObjectOrFunction } from \"./index.types\"\nimport type { StyleProperty, VariableLengthProperty } from \"./styles\"\nimport type { TransformOptions } from \"./utils\"\nimport {\n isArray,\n isObject,\n isString,\n isUndefined,\n merge,\n runIfFn,\n} from \"../../utils\"\nimport { getColorSchemeVar, getVar, transformInterpolation } from \"../system\"\nimport { colorMix } from \"./color-mix\"\nimport { conditions, getCondition } from \"./conditions\"\nimport { styles, variableLengthProperties } from \"./styles\"\nimport {\n insertImportant,\n isCSSToken,\n isImportant,\n omitImportant,\n} from \"./utils\"\n\nfunction isVariableLength(key: string): boolean {\n return variableLengthProperties.includes(key as VariableLengthProperty)\n}\n\nfunction isConditionalObject(breakpoints: Breakpoints) {\n return function (value: any): boolean {\n if (!isObject(value)) return false\n\n const keys = Object.keys(value)\n\n if (!keys.length) return false\n\n if (!keys.includes(\"base\")) return false\n\n return keys.every((key) => {\n return (\n breakpoints.isResponsiveKey(key) ||\n key.startsWith(\"@\") ||\n key.startsWith(\"_\")\n )\n })\n }\n}\n\nfunction transformColorModeArray(breakpoints: Breakpoints) {\n return function (key: string, [lightValue, darkValue]: any[]): Dict {\n let computedCSS: Dict = {}\n\n if (isConditionalObject(breakpoints)(lightValue))\n computedCSS = transformConditionalObject(breakpoints)(key, lightValue)\n else computedCSS[key] = lightValue\n\n if (isConditionalObject(breakpoints)(darkValue))\n computedCSS[conditions._dark] = transformConditionalObject(breakpoints)(\n key,\n darkValue,\n )\n else computedCSS[conditions._dark] = { [key]: darkValue }\n\n return computedCSS\n }\n}\n\nfunction transformConditionalObject(breakpoints: Breakpoints) {\n return function (key: string, value: Dict) {\n const conditionalKeys = Object.keys(value).filter(\n (key) => !breakpoints.isResponsiveKey(key),\n )\n\n const breakpointObj = breakpoints.queries.reduce<Dict>(\n (prev, { breakpoint, query }) => {\n const breakpointValue = value[breakpoint]\n\n if (!isUndefined(breakpointValue))\n if (isArray(breakpointValue)) {\n const colorModeValue = transformColorModeArray(breakpoints)(\n key,\n breakpointValue,\n )\n\n prev = merge(\n prev,\n query ? { [query]: colorModeValue } : colorModeValue,\n )\n } else if (isConditionalObject(breakpoints)(breakpointValue)) {\n const conditionalValue = transformConditionalObject(breakpoints)(\n key,\n breakpointValue,\n )\n\n prev = merge(\n prev,\n query ? { [query]: conditionalValue } : conditionalValue,\n )\n } else {\n prev = merge(\n prev,\n query\n ? { [query]: { [key]: breakpointValue } }\n : { [key]: breakpointValue },\n )\n }\n\n return prev\n },\n {},\n )\n\n const additionalObj = conditionalKeys.reduce<Dict>(\n (prev, conditionalKey) => {\n const query = getCondition(conditionalKey)\n\n prev[query] = { [key]: value[conditionalKey] }\n\n return prev\n },\n {},\n )\n\n return merge(breakpointObj, additionalObj)\n }\n}\n\nexport function transformConditionalValue({ breakpoints }: System) {\n return function (key: string, value: any) {\n if (isArray(value)) return transformColorModeArray(breakpoints)(key, value)\n else if (isConditionalObject(breakpoints)(value))\n return transformConditionalObject(breakpoints)(key, value)\n else return { [key]: value }\n }\n}\n\nfunction expandCSS(system: System) {\n return function (css: Dict): Dict {\n let computedCSS: Dict = {}\n\n for (let [key, value] of Object.entries(css)) {\n if (value == null) continue\n\n if (!isVariableLength(key))\n computedCSS = merge(\n computedCSS,\n transformConditionalValue(system)(key, value),\n )\n else computedCSS = merge(computedCSS, { [key]: value })\n }\n\n return computedCSS\n }\n}\n\nfunction valueToVar(system: System) {\n return function (prop: string, value: any) {\n const result = transformInterpolation(\n value,\n function (value: string, fallbackValue?: string) {\n if (value.includes(\"colorScheme.\")) {\n return getColorSchemeVar(system)(value)\n } else if (value.includes(\"colors.\")) {\n return colorMix(value, { fallback: fallbackValue, system })\n } else if (isCSSToken(system)(value)) {\n return system.cssMap[value]!.ref\n } else if (fallbackValue) {\n fallbackValue = isCSSToken(system)(fallbackValue)\n ? system.cssMap[fallbackValue]!.ref\n : fallbackValue\n\n return getVar(value, fallbackValue)\n } else {\n return getVar(value)\n }\n },\n )\n\n if (prop.startsWith(\"--\") && isString(result))\n if (result.includes(\"colorScheme.\"))\n return getColorSchemeVar(system)(result)\n else if (result.includes(\"colors.\")) return colorMix(result, { system })\n else if (isCSSToken(system)(result)) return system.cssMap[result]!.ref\n else return result\n else return result\n }\n}\n\nfunction mergeCSS(prev: Dict, value: any, prop: string, properties?: string[]) {\n if (properties) {\n for (const property of properties) {\n prev[property] = prev[property] ?? {}\n prev[property] = merge(prev[property], value)\n }\n } else {\n prev[prop] = prev[prop] ?? {}\n prev[prop] = merge(prev[prop], value)\n }\n\n return prev\n}\n\nfunction insertCSS(\n prev: Dict,\n value: any,\n prop: string,\n properties?: string[],\n) {\n if (properties) for (const property of properties) prev[property] = value\n else prev[prop] = value\n\n return prev\n}\n\nexport function getStyle(prop: string) {\n const style = styles[prop as StyleProperty] as StyleConfig | true | undefined\n\n return style === true ? { properties: [prop] } : style\n}\n\nexport function css(system: System, theme: UsageTheme = {}) {\n return function (cssOrFn: CSSObjectOrFunction) {\n function createCSS(cssOrFn: CSSObjectOrFunction): Dict {\n const cssObj = runIfFn(cssOrFn, system)\n const computedCSS = expandCSS(system)(cssObj)\n\n let prev: Dict = {}\n\n for (let [prop, value] of Object.entries(computedCSS)) {\n value = valueToVar(system)(prop, value)\n\n if (value == null) continue\n\n prop = getCondition(prop)\n\n const style = getStyle(prop)\n const options: TransformOptions = {\n css,\n prev,\n properties: style?.properties,\n system,\n theme,\n }\n\n if (isObject(value)) {\n value = style?.transform?.(value, options) ?? value\n\n if (isObject(value))\n prev = mergeCSS(prev, createCSS(value), prop, style?.properties)\n else prev = insertCSS(prev, value, prop, style?.properties)\n\n continue\n }\n\n const important = isImportant(value)\n\n value = omitImportant(value)\n value = style?.transform?.(value, options) ?? value\n\n if (important) value = insertImportant(value, style)\n\n if (style?.static) prev = merge(prev, style.static)\n\n if (isObject(value)) {\n prev = merge(prev, createCSS(value))\n\n continue\n }\n\n prev = insertCSS(prev, value, prop, style?.properties)\n }\n\n return prev\n }\n\n return createCSS(cssOrFn)\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gradient.js","names":[],"sources":["../../../../src/core/css/gradient.ts"],"sourcesContent":["import type { TransformOptions } from \"./utils\"\nimport { isArray, isUndefined } from \"../../utils\"\nimport {\n getCSSFunction,\n globalValues,\n isCSSFunction,\n isCSSToken,\n splitValues,\n} from \"./utils\"\n\nconst directions: { [key: string]: string } = {\n \"to-b\": \"to bottom\",\n \"to-bl\": \"to bottom left\",\n \"to-br\": \"to bottom right\",\n \"to-l\": \"to left\",\n \"to-r\": \"to right\",\n \"to-t\": \"to top\",\n \"to-tl\": \"to top left\",\n \"to-tr\": \"to top right\",\n}\n\nconst directionValues = new Set(Object.values(directions))\n\nexport function gradient(value: any, { system }: TransformOptions) {\n if (value == null || globalValues.has(value)) return value\n\n const prevent = isCSSFunction(value)\n\n if (!prevent) return `url('${value}')`\n\n return splitValues(value)\n .map((value) => {\n let { type, values } = getCSSFunction(value)\n\n if (!type || !values) return value\n\n type = type.includes(\"-gradient\") ? type : `${type}-gradient`\n\n const [maybeDirection, ...colors] = splitValues(values)\n\n if (!colors.length) return value\n\n const direction =\n maybeDirection && maybeDirection in directions\n ? directions[maybeDirection]\n : maybeDirection\n\n if (!isUndefined(direction)) colors.unshift(direction)\n\n const computedValues = colors.map((_color) => {\n if (isUndefined(_color)) return _color\n\n if (directionValues.has(_color)) return _color\n\n const i = _color.indexOf(\" \")\n\n let [color, _ratio] =\n i !== -1 ? [_color.slice(0, i), _color.slice(i + 1)] : [_color]\n\n const ratio = isCSSFunction(_ratio) ? _ratio : _ratio?.split(\" \")\n\n const token = `colors.${color}`\n\n color = isCSSToken(system)(token) ? system.cssMap[token]!.ref : color\n\n if (ratio)\n return [color, ...(isArray(ratio) ? ratio : [ratio])].join(\" \")\n else return color\n })\n\n return `${type}(${computedValues.join(\", \")})`\n })\n .join(\", \")\n}\n"],"mappings":";;;AAUA,MAAM,aAAwC;CAC5C,QAAQ;CACR,SAAS;CACT,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,SAAS;AACX;AAEA,MAAM,kBAAkB,IAAI,IAAI,OAAO,OAAO,UAAU,CAAC;AAEzD,SAAgB,SAAS,OAAY,EAAE,UAA4B;CACjE,IAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,GAAG,OAAO;CAIrD,IAAI,CAFY,cAAc,KAEnB,GAAG,OAAO,QAAQ,MAAM;CAEnC,OAAO,YAAY,KAAK,CAAC,CACtB,KAAK,UAAU;EACd,IAAI,EAAE,MAAM,WAAW,eAAe,KAAK;EAE3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,OAAO;EAE7B,OAAO,KAAK,SAAS,WAAW,IAAI,OAAO,GAAG,KAAK;EAEnD,MAAM,CAAC,gBAAgB,GAAG,UAAU,YAAY,MAAM;EAEtD,IAAI,CAAC,OAAO,QAAQ,OAAO;EAE3B,MAAM,YACJ,kBAAkB,kBAAkB,aAChC,WAAW,kBACX;EAEN,IAAI,EAAA,GAAA,cAAA,YAAA,CAAa,SAAS,GAAG,OAAO,QAAQ,SAAS;EAErD,MAAM,iBAAiB,OAAO,KAAK,WAAW;GAC5C,KAAA,GAAA,cAAA,YAAA,CAAgB,MAAM,GAAG,OAAO;GAEhC,IAAI,gBAAgB,IAAI,MAAM,GAAG,OAAO;GAExC,MAAM,IAAI,OAAO,QAAQ,GAAG;GAE5B,IAAI,CAAC,OAAO,UACV,MAAM,KAAK,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;GAEhE,MAAM,QAAQ,cAAc,MAAM,IAAI,SAAS,QAAQ,MAAM,GAAG;GAEhE,MAAM,QAAQ,UAAU;GAExB,QAAQ,WAAW,MAAM,CAAC,CAAC,KAAK,IAAI,OAAO,OAAO,MAAM,CAAE,MAAM;GAEhE,IAAI,OACF,OAAO,CAAC,OAAO,IAAA,GAAA,cAAA,QAAA,CAAY,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAE,CAAC,CAAC,KAAK,GAAG;QAC3D,OAAO;EACd,CAAC;EAED,OAAO,GAAG,KAAK,GAAG,eAAe,KAAK,IAAI,EAAE;CAC9C,CAAC,CAAC,CACD,KAAK,IAAI;AACd"}
1
+ {"version":3,"file":"gradient.js","names":["isUndefined","isArray"],"sources":["../../../../src/core/css/gradient.ts"],"sourcesContent":["import type { TransformOptions } from \"./utils\"\nimport { isArray, isUndefined } from \"../../utils\"\nimport {\n getCSSFunction,\n globalValues,\n isCSSFunction,\n isCSSToken,\n splitValues,\n} from \"./utils\"\n\nconst directions: { [key: string]: string } = {\n \"to-b\": \"to bottom\",\n \"to-bl\": \"to bottom left\",\n \"to-br\": \"to bottom right\",\n \"to-l\": \"to left\",\n \"to-r\": \"to right\",\n \"to-t\": \"to top\",\n \"to-tl\": \"to top left\",\n \"to-tr\": \"to top right\",\n}\n\nconst directionValues = new Set(Object.values(directions))\n\nexport function gradient(value: any, { system }: TransformOptions) {\n if (value == null || globalValues.has(value)) return value\n\n const prevent = isCSSFunction(value)\n\n if (!prevent) return `url('${value}')`\n\n return splitValues(value)\n .map((value) => {\n let { type, values } = getCSSFunction(value)\n\n if (!type || !values) return value\n\n type = type.includes(\"-gradient\") ? type : `${type}-gradient`\n\n const [maybeDirection, ...colors] = splitValues(values)\n\n if (!colors.length) return value\n\n const direction =\n maybeDirection && maybeDirection in directions\n ? directions[maybeDirection]\n : maybeDirection\n\n if (!isUndefined(direction)) colors.unshift(direction)\n\n const computedValues = colors.map((_color) => {\n if (isUndefined(_color)) return _color\n\n if (directionValues.has(_color)) return _color\n\n const i = _color.indexOf(\" \")\n\n let [color, _ratio] =\n i !== -1 ? [_color.slice(0, i), _color.slice(i + 1)] : [_color]\n\n const ratio = isCSSFunction(_ratio) ? _ratio : _ratio?.split(\" \")\n\n const token = `colors.${color}`\n\n color = isCSSToken(system)(token) ? system.cssMap[token]!.ref : color\n\n if (ratio)\n return [color, ...(isArray(ratio) ? ratio : [ratio])].join(\" \")\n else return color\n })\n\n return `${type}(${computedValues.join(\", \")})`\n })\n .join(\", \")\n}\n"],"mappings":";;;AAUA,MAAM,aAAwC;CAC5C,QAAQ;CACR,SAAS;CACT,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,SAAS;AACX;AAEA,MAAM,kBAAkB,IAAI,IAAI,OAAO,OAAO,UAAU,CAAC;AAEzD,SAAgB,SAAS,OAAY,EAAE,UAA4B;CACjE,IAAI,SAAS,QAAQ,aAAa,IAAI,KAAK,GAAG,OAAO;CAIrD,IAAI,CAFY,cAAc,KAEnB,GAAG,OAAO,QAAQ,MAAM;CAEnC,OAAO,YAAY,KAAK,CAAC,CACtB,KAAK,UAAU;EACd,IAAI,EAAE,MAAM,WAAW,eAAe,KAAK;EAE3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,OAAO;EAE7B,OAAO,KAAK,SAAS,WAAW,IAAI,OAAO,GAAG,KAAK;EAEnD,MAAM,CAAC,gBAAgB,GAAG,UAAU,YAAY,MAAM;EAEtD,IAAI,CAAC,OAAO,QAAQ,OAAO;EAE3B,MAAM,YACJ,kBAAkB,kBAAkB,aAChC,WAAW,kBACX;EAEN,IAAI,EAAA,GAACA,cAAAA,YAAAA,CAAY,SAAS,GAAG,OAAO,QAAQ,SAAS;EAErD,MAAM,iBAAiB,OAAO,KAAK,WAAW;GAC5C,KAAA,GAAIA,cAAAA,YAAAA,CAAY,MAAM,GAAG,OAAO;GAEhC,IAAI,gBAAgB,IAAI,MAAM,GAAG,OAAO;GAExC,MAAM,IAAI,OAAO,QAAQ,GAAG;GAE5B,IAAI,CAAC,OAAO,UACV,MAAM,KAAK,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;GAEhE,MAAM,QAAQ,cAAc,MAAM,IAAI,SAAS,QAAQ,MAAM,GAAG;GAEhE,MAAM,QAAQ,UAAU;GAExB,QAAQ,WAAW,MAAM,CAAC,CAAC,KAAK,IAAI,OAAO,OAAO,MAAM,CAAE,MAAM;GAEhE,IAAI,OACF,OAAO,CAAC,OAAO,IAAA,GAAIC,cAAAA,QAAAA,CAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAE,CAAC,CAAC,KAAK,GAAG;QAC3D,OAAO;EACd,CAAC;EAED,OAAO,GAAG,KAAK,GAAG,eAAe,KAAK,IAAI,EAAE;CAC9C,CAAC,CAAC,CACD,KAAK,IAAI;AACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-css.js","names":[],"sources":["../../../../src/core/css/merge-css.ts"],"sourcesContent":["import type { CSSObject } from \"./index.types\"\nimport { filterEmpty } from \"../../utils\"\n\nexport const mergeCSS = (...css: (CSSObject | CSSObject[] | undefined)[]) => {\n return filterEmpty(css).flat()\n}\n"],"mappings":";;AAGA,MAAa,YAAY,GAAG,QAAiD;CAC3E,QAAA,GAAA,cAAA,YAAA,CAAmB,GAAG,CAAC,CAAC,KAAK;AAC/B"}
1
+ {"version":3,"file":"merge-css.js","names":["filterEmpty"],"sources":["../../../../src/core/css/merge-css.ts"],"sourcesContent":["import type { CSSObject } from \"./index.types\"\nimport { filterEmpty } from \"../../utils\"\n\nexport const mergeCSS = (...css: (CSSObject | CSSObject[] | undefined)[]) => {\n return filterEmpty(css).flat()\n}\n"],"mappings":";;AAGA,MAAa,YAAY,GAAG,QAAiD;CAC3E,QAAA,GAAOA,cAAAA,YAAAA,CAAY,GAAG,CAAC,CAAC,KAAK;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","names":[],"sources":["../../../../src/core/css/style.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { CSSObject } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isString } from \"../../utils\"\n\nexport function generateStyle(prefix?: string): Transform {\n return function (value, { prev = {}, theme }) {\n const result: Dict = {}\n\n let style: Dict = {}\n\n if (prefix) {\n style = theme?.styles?.[prefix]?.[value] ?? {}\n } else if (isString(value)) {\n const [key, ...rest] = value.split(\".\")\n\n if (key) style = theme?.styles?.[key]?.[rest.join(\".\")] ?? {}\n }\n\n for (const prop in style) {\n const done = prop in prev && prev[prop] != null\n\n if (!done) result[prop] = style[prop]\n }\n\n return result as CSSObject\n }\n}\n"],"mappings":";;AAKA,SAAgB,cAAc,QAA4B;CACxD,OAAO,SAAU,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;EAC5C,MAAM,SAAe,CAAC;EAEtB,IAAI,QAAc,CAAC;EAEnB,IAAI,QACF,QAAQ,OAAO,SAAS,OAAO,GAAG,UAAU,CAAC;OACxC,KAAA,GAAA,cAAA,SAAA,CAAa,KAAK,GAAG;GAC1B,MAAM,CAAC,KAAK,GAAG,QAAQ,MAAM,MAAM,GAAG;GAEtC,IAAI,KAAK,QAAQ,OAAO,SAAS,IAAI,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC;EAC9D;EAEA,KAAK,MAAM,QAAQ,OAGjB,IAAI,EAFS,QAAQ,QAAQ,KAAK,SAAS,OAEhC,OAAO,QAAQ,MAAM;EAGlC,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.js","names":["isString"],"sources":["../../../../src/core/css/style.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { CSSObject } from \"./index.types\"\nimport type { Transform } from \"./utils\"\nimport { isString } from \"../../utils\"\n\nexport function generateStyle(prefix?: string): Transform {\n return function (value, { prev = {}, theme }) {\n const result: Dict = {}\n\n let style: Dict = {}\n\n if (prefix) {\n style = theme?.styles?.[prefix]?.[value] ?? {}\n } else if (isString(value)) {\n const [key, ...rest] = value.split(\".\")\n\n if (key) style = theme?.styles?.[key]?.[rest.join(\".\")] ?? {}\n }\n\n for (const prop in style) {\n const done = prop in prev && prev[prop] != null\n\n if (!done) result[prop] = style[prop]\n }\n\n return result as CSSObject\n }\n}\n"],"mappings":";;AAKA,SAAgB,cAAc,QAA4B;CACxD,OAAO,SAAU,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;EAC5C,MAAM,SAAe,CAAC;EAEtB,IAAI,QAAc,CAAC;EAEnB,IAAI,QACF,QAAQ,OAAO,SAAS,OAAO,GAAG,UAAU,CAAC;OACxC,KAAA,GAAIA,cAAAA,SAAAA,CAAS,KAAK,GAAG;GAC1B,MAAM,CAAC,KAAK,GAAG,QAAQ,MAAM,MAAM,GAAG;GAEtC,IAAI,KAAK,QAAQ,OAAO,SAAS,IAAI,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC;EAC9D;EAEA,KAAK,MAAM,QAAQ,OAGjB,IAAI,EAFS,QAAQ,QAAQ,KAAK,SAAS,OAEhC,OAAO,QAAQ,MAAM;EAGlC,OAAO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-css.js","names":["emotionCSS","css"],"sources":["../../../../src/core/css/use-css.ts"],"sourcesContent":["import type { StyledTheme, System, UsageTheme } from \"../system\"\nimport type { CSSObject, CSSObjectOrFunction } from \"./index.types\"\nimport { css as emotionCSS } from \"@emotion/css\"\nimport { useMemo } from \"react\"\nimport { toArray } from \"../../utils\"\nimport { useSystem, useTheme } from \"../system\"\nimport { css } from \"./css\"\n\nexport const useCSS = (\n value: CSSObject | CSSObject[] | CSSObjectOrFunction = [],\n) => {\n const system = useSystem()\n const { theme } = useTheme<UsageTheme>()\n\n return useMemo(() => getCSS(system, theme)(value), [value, system, theme])\n}\n\nexport const getCSS =\n (system: System, theme: StyledTheme<UsageTheme>) =>\n (value: CSSObject | CSSObject[] | CSSObjectOrFunction = []) =>\n emotionCSS(...toArray(value).map(css(system, theme)))\n"],"mappings":";;;;;;;AAQA,MAAa,UACX,QAAuD,CAAC,MACrD;CACH,MAAM,SAAS,UAAU;CACzB,MAAM,EAAE,UAAU,SAAqB;CAEvC,OAAO,cAAc,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,GAAG;EAAC;EAAO;EAAQ;CAAK,CAAC;AAC3E;AAEA,MAAa,UACV,QAAgB,WAChB,QAAuD,CAAC,MACvDA,IAAW,IAAA,GAAA,cAAA,QAAA,CAAW,KAAK,CAAC,CAAC,IAAIC,MAAI,QAAQ,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"use-css.js","names":["emotionCSS","toArray","css"],"sources":["../../../../src/core/css/use-css.ts"],"sourcesContent":["import type { StyledTheme, System, UsageTheme } from \"../system\"\nimport type { CSSObject, CSSObjectOrFunction } from \"./index.types\"\nimport { css as emotionCSS } from \"@emotion/css\"\nimport { useMemo } from \"react\"\nimport { toArray } from \"../../utils\"\nimport { useSystem, useTheme } from \"../system\"\nimport { css } from \"./css\"\n\nexport const useCSS = (\n value: CSSObject | CSSObject[] | CSSObjectOrFunction = [],\n) => {\n const system = useSystem()\n const { theme } = useTheme<UsageTheme>()\n\n return useMemo(() => getCSS(system, theme)(value), [value, system, theme])\n}\n\nexport const getCSS =\n (system: System, theme: StyledTheme<UsageTheme>) =>\n (value: CSSObject | CSSObject[] | CSSObjectOrFunction = []) =>\n emotionCSS(...toArray(value).map(css(system, theme)))\n"],"mappings":";;;;;;;AAQA,MAAa,UACX,QAAuD,CAAC,MACrD;CACH,MAAM,SAAS,UAAU;CACzB,MAAM,EAAE,UAAU,SAAqB;CAEvC,OAAO,cAAc,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,GAAG;EAAC;EAAO;EAAQ;CAAK,CAAC;AAC3E;AAEA,MAAa,UACV,QAAgB,WAChB,QAAuD,CAAC,MACvDA,IAAW,IAAA,GAAGC,cAAAA,QAAAA,CAAQ,KAAK,CAAC,CAAC,IAAIC,MAAI,QAAQ,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/core/css/utils.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { ColorMode, System, ThemeToken, UsageTheme } from \"../system\"\nimport type { StyleConfig } from \"./config\"\nimport type { CSSFunction, CSSProperties } from \"./index.types\"\nimport { isObject, isString, isUndefined } from \"../../utils\"\nimport { getColorSchemeVar, isColorScheme } from \"../system\"\n\nexport interface TransformOptions {\n system: System\n css?: CSSFunction\n fallback?: any\n prev?: Dict\n properties?: CSSProperties[]\n theme?: UsageTheme\n}\n\nexport interface Transform {\n (value: any, options: TransformOptions): any\n}\n\nexport const globalValues = new Set([\n \"inherit\",\n \"initial\",\n \"none\",\n \"revert\",\n \"unset\",\n])\n\nexport function isCSSFunction(value: any) {\n return isString(value) && value.includes(\"(\") && value.includes(\")\")\n}\n\nexport function getCSSFunction(value: any) {\n const regex = /(^[a-z-A-Z]+)\\((.*)\\)/g\n const [, type, values] = regex.exec(value) ?? []\n\n return { type, values }\n}\n\nexport function splitValues(\n values: string,\n cb: (\n current: string,\n prev: string | undefined,\n next: string | undefined,\n ) => boolean = (current) => current === \",\",\n addSeparator = false,\n) {\n const result = []\n\n let value = \"\"\n let depth = 0\n\n for (let i = 0; i < values.length; i++) {\n const current = values[i]\n const prev = values[i - 1]\n const next = values[i + 1]\n\n if (current === \"(\") depth++\n if (current === \")\") depth--\n\n if (!isUndefined(current) && cb(current, prev, next) && depth === 0) {\n if (value) result.push(value.trim())\n\n if (addSeparator) result.push(current)\n\n value = \"\"\n } else {\n value += current\n }\n }\n\n if (value) result.push(value.trim())\n\n return result.filter(Boolean)\n}\n\nexport function isCSSVar(value: string) {\n return /^var\\(--.+\\)$/.test(value)\n}\n\nexport function isInterpolation(value: string) {\n return /\\{.+\\}/.test(value)\n}\n\nexport function isCSSToken({ cssMap }: System) {\n return function (value: any) {\n return isObject(cssMap) && value in cssMap && !!cssMap[value]?.ref\n }\n}\n\nexport function isImportant(value: any): boolean {\n return (\n isString(value) && (/\\s*!important$/.test(value) || /\\s*!$/.test(value))\n )\n}\n\nexport function omitImportant(value: any): string {\n return isString(value) ? value.replace(/(!important|!)$/, \"\").trim() : value\n}\n\nexport function insertImportant(value: any, style?: StyleConfig): any {\n if (isString(value)) return value + \" !important\"\n else if (isObject(value))\n if (style?.important) {\n return Object.fromEntries(\n Object.entries(value).map(([key, value]) => [\n key,\n value + \" !important\",\n ]),\n )\n } else {\n if (!style?.properties) return value\n\n for (const property of style.properties) value[property] += \" !important\"\n }\n\n return value\n}\n\nexport function analyzeCSSValue(value: any) {\n let n = parseFloat(value.toString())\n const unit = value.toString().replace(String(n), \"\")\n\n return { unit, unitless: !unit, value }\n}\n\nexport function tokenToVar(system: System) {\n return function (token: ThemeToken, value: any, fallbackValue?: any) {\n if (isColorScheme(value)) return getColorSchemeVar(system)(value)\n\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken))\n return system.cssMap[resolvedToken]!.ref\n else return fallbackValue || value\n }\n}\n\nexport function varToValue(system: System) {\n return function (variable: string): string {\n const value = system.cssVars.light[variable]\n\n if (isCSSVar(value))\n return varToValue(system)(value.replace(/^var\\(/, \"\").replace(/\\)$/, \"\"))\n else return value\n }\n}\n\nexport function tokenToValue(system: System) {\n return function (token: ThemeToken, value: any, fallbackValue?: any) {\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken)) {\n const variable = system.cssMap[resolvedToken]!.var\n\n return varToValue(system)(variable)\n } else {\n return fallbackValue || value\n }\n }\n}\n\nexport function mode<L, D>(light: L, dark: D) {\n return function (colorMode: ColorMode | undefined = \"light\"): D | L {\n return colorMode === \"light\" ? light : dark\n }\n}\n\nfunction combineFunctions(a: Transform, b: Transform): Transform {\n return function (value, ...args) {\n return b(a(value, ...args), ...args)\n }\n}\n\nexport function pipe(...transformers: Transform[]) {\n return transformers.reduce(combineFunctions)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["isString","isUndefined","isObject"],"sources":["../../../../src/core/css/utils.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { ColorMode, System, ThemeToken, UsageTheme } from \"../system\"\nimport type { StyleConfig } from \"./config\"\nimport type { CSSFunction, CSSProperties } from \"./index.types\"\nimport { isObject, isString, isUndefined } from \"../../utils\"\nimport { getColorSchemeVar, isColorScheme } from \"../system\"\n\nexport interface TransformOptions {\n system: System\n css?: CSSFunction\n fallback?: any\n prev?: Dict\n properties?: CSSProperties[]\n theme?: UsageTheme\n}\n\nexport interface Transform {\n (value: any, options: TransformOptions): any\n}\n\nexport const globalValues = new Set([\n \"inherit\",\n \"initial\",\n \"none\",\n \"revert\",\n \"unset\",\n])\n\nexport function isCSSFunction(value: any) {\n return isString(value) && value.includes(\"(\") && value.includes(\")\")\n}\n\nexport function getCSSFunction(value: any) {\n const regex = /(^[a-z-A-Z]+)\\((.*)\\)/g\n const [, type, values] = regex.exec(value) ?? []\n\n return { type, values }\n}\n\nexport function splitValues(\n values: string,\n cb: (\n current: string,\n prev: string | undefined,\n next: string | undefined,\n ) => boolean = (current) => current === \",\",\n addSeparator = false,\n) {\n const result = []\n\n let value = \"\"\n let depth = 0\n\n for (let i = 0; i < values.length; i++) {\n const current = values[i]\n const prev = values[i - 1]\n const next = values[i + 1]\n\n if (current === \"(\") depth++\n if (current === \")\") depth--\n\n if (!isUndefined(current) && cb(current, prev, next) && depth === 0) {\n if (value) result.push(value.trim())\n\n if (addSeparator) result.push(current)\n\n value = \"\"\n } else {\n value += current\n }\n }\n\n if (value) result.push(value.trim())\n\n return result.filter(Boolean)\n}\n\nexport function isCSSVar(value: string) {\n return /^var\\(--.+\\)$/.test(value)\n}\n\nexport function isInterpolation(value: string) {\n return /\\{.+\\}/.test(value)\n}\n\nexport function isCSSToken({ cssMap }: System) {\n return function (value: any) {\n return isObject(cssMap) && value in cssMap && !!cssMap[value]?.ref\n }\n}\n\nexport function isImportant(value: any): boolean {\n return (\n isString(value) && (/\\s*!important$/.test(value) || /\\s*!$/.test(value))\n )\n}\n\nexport function omitImportant(value: any): string {\n return isString(value) ? value.replace(/(!important|!)$/, \"\").trim() : value\n}\n\nexport function insertImportant(value: any, style?: StyleConfig): any {\n if (isString(value)) return value + \" !important\"\n else if (isObject(value))\n if (style?.important) {\n return Object.fromEntries(\n Object.entries(value).map(([key, value]) => [\n key,\n value + \" !important\",\n ]),\n )\n } else {\n if (!style?.properties) return value\n\n for (const property of style.properties) value[property] += \" !important\"\n }\n\n return value\n}\n\nexport function analyzeCSSValue(value: any) {\n let n = parseFloat(value.toString())\n const unit = value.toString().replace(String(n), \"\")\n\n return { unit, unitless: !unit, value }\n}\n\nexport function tokenToVar(system: System) {\n return function (token: ThemeToken, value: any, fallbackValue?: any) {\n if (isColorScheme(value)) return getColorSchemeVar(system)(value)\n\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken))\n return system.cssMap[resolvedToken]!.ref\n else return fallbackValue || value\n }\n}\n\nexport function varToValue(system: System) {\n return function (variable: string): string {\n const value = system.cssVars.light[variable]\n\n if (isCSSVar(value))\n return varToValue(system)(value.replace(/^var\\(/, \"\").replace(/\\)$/, \"\"))\n else return value\n }\n}\n\nexport function tokenToValue(system: System) {\n return function (token: ThemeToken, value: any, fallbackValue?: any) {\n const resolvedToken = `${token}.${value}`\n\n if (isCSSToken(system)(resolvedToken)) {\n const variable = system.cssMap[resolvedToken]!.var\n\n return varToValue(system)(variable)\n } else {\n return fallbackValue || value\n }\n }\n}\n\nexport function mode<L, D>(light: L, dark: D) {\n return function (colorMode: ColorMode | undefined = \"light\"): D | L {\n return colorMode === \"light\" ? light : dark\n }\n}\n\nfunction combineFunctions(a: Transform, b: Transform): Transform {\n return function (value, ...args) {\n return b(a(value, ...args), ...args)\n }\n}\n\nexport function pipe(...transformers: Transform[]) {\n return transformers.reduce(combineFunctions)\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoint.js","names":[],"sources":["../../../../src/core/system/breakpoint.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type {\n Breakpoint,\n BreakpointConfig,\n DefineThemeBreakpointTokens,\n} from \"./index.types\"\nimport { getPx, isObject } from \"../../utils\"\n\ninterface BreakpointQuery {\n breakpoint: Breakpoint\n maxW: number | undefined\n maxWQuery: string | undefined\n minMaxQuery: string | undefined\n minW: number | undefined\n minWQuery: string | undefined\n query: string | undefined\n}\n\nexport interface Breakpoints {\n keys: Breakpoint[]\n queries: BreakpointQuery[]\n queriesObj: { [key: string]: BreakpointQuery }\n getQuery: (key: string) => string | undefined\n isResponsive: (obj: any, strict?: boolean) => boolean\n isResponsiveKey: (key: string) => boolean\n}\n\nfunction createQuery(\n min: number | undefined,\n max: number | undefined,\n identifier = \"@media screen\",\n): string | undefined {\n const query = [identifier]\n\n if (min) query.push(\"and\", `(min-width: ${min}px)`)\n if (max) query.push(\"and\", `(max-width: ${max}px)`)\n\n return query.length > 1\n ? query.join(\" \").replace(/^@container(\\s+\\w*)?\\s+and/, `@container$1`)\n : undefined\n}\n\nfunction createQueries(breakpoints: Dict<number>, config: BreakpointConfig) {\n const { direction, identifier } = config\n const down = direction !== \"up\"\n\n const queryEntries = Object.entries(breakpoints)\n .map(([breakpoint, width], i, entry) => {\n const [, relatedWidth] = entry[i + 1] ?? []\n let minW = down ? relatedWidth : width\n let maxW = down ? width : relatedWidth\n\n if (breakpoint === \"base\")\n if (down) maxW = undefined\n else minW = undefined\n\n if (down) {\n if (minW) minW += 1\n } else {\n if (maxW) maxW -= 1\n }\n\n const maxWQuery = createQuery(undefined, maxW, identifier)\n const minWQuery = createQuery(minW, undefined, identifier)\n const minMaxQuery = createQuery(minW, maxW, identifier)\n const query = down ? maxWQuery : minWQuery\n\n return [\n breakpoint,\n {\n breakpoint: breakpoint as Breakpoint,\n maxW,\n maxWQuery,\n minMaxQuery,\n minW,\n minWQuery,\n query,\n },\n ] as const\n })\n .sort((a, b) =>\n down\n ? (b[1].maxW ?? Infinity) - (a[1].maxW ?? Infinity)\n : (a[1].minW ?? 0) - (b[1].minW ?? 0),\n )\n\n const queries = queryEntries.map(([_, query]) => query)\n const queriesObj = Object.fromEntries(queryEntries)\n\n return { queries, queriesObj }\n}\n\nfunction transformBreakpoints(\n breakpoints: Dict,\n config: BreakpointConfig,\n): Dict {\n return Object.fromEntries(\n Object.entries(breakpoints)\n .map(([name, value]) => [name, getPx(value)] as const)\n .sort((a, b) => {\n if (config.direction !== \"up\") return b[1] - a[1]\n else return a[1] - b[1]\n }),\n )\n}\n\nexport function createBreakpoints(\n breakpoints: DefineThemeBreakpointTokens = {},\n config: BreakpointConfig = {},\n): Breakpoints {\n config.base ??= \"9999px\"\n config.direction ??= \"down\"\n\n breakpoints.base = config.direction !== \"up\" ? config.base : \"0px\"\n\n const transformedBreakpoints = transformBreakpoints(breakpoints, config)\n const { queries, queriesObj } = createQueries(transformedBreakpoints, config)\n const keys = Object.keys(queriesObj) as Breakpoint[]\n\n function isResponsive(obj: any, strict = false) {\n if (!isObject(obj)) return false\n\n const providedKeys = Object.keys(obj) as Breakpoint[]\n\n if (!providedKeys.length) return false\n\n if (strict && !providedKeys.includes(\"base\")) return false\n\n return providedKeys.every((key) => keys.includes(key))\n }\n\n function isResponsiveKey(key: string) {\n return key in queriesObj\n }\n\n function getQuery(key: string) {\n return key in queriesObj ? queriesObj[key]?.query : undefined\n }\n\n return {\n getQuery,\n isResponsive,\n isResponsiveKey,\n keys,\n queries,\n queriesObj,\n }\n}\n"],"mappings":";;AA2BA,SAAS,YACP,KACA,KACA,aAAa,iBACO;CACpB,MAAM,QAAQ,CAAC,UAAU;CAEzB,IAAI,KAAK,MAAM,KAAK,OAAO,eAAe,IAAI,IAAI;CAClD,IAAI,KAAK,MAAM,KAAK,OAAO,eAAe,IAAI,IAAI;CAElD,OAAO,MAAM,SAAS,IAClB,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,8BAA8B,cAAc,IACpE,KAAA;AACN;AAEA,SAAS,cAAc,aAA2B,QAA0B;CAC1E,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OAAO,cAAc;CAE3B,MAAM,eAAe,OAAO,QAAQ,WAAW,CAAC,CAC7C,KAAK,CAAC,YAAY,QAAQ,GAAG,UAAU;EACtC,MAAM,GAAG,gBAAgB,MAAM,IAAI,MAAM,CAAC;EAC1C,IAAI,OAAO,OAAO,eAAe;EACjC,IAAI,OAAO,OAAO,QAAQ;EAE1B,IAAI,eAAe,QACjB,IAAI,MAAM,OAAO,KAAA;OACZ,OAAO,KAAA;EAEd,IAAI,MACE;OAAA,MAAM,QAAQ;EAAA,OAElB,IAAI,MAAM,QAAQ;EAGpB,MAAM,YAAY,YAAY,KAAA,GAAW,MAAM,UAAU;EACzD,MAAM,YAAY,YAAY,MAAM,KAAA,GAAW,UAAU;EACzD,MAAM,cAAc,YAAY,MAAM,MAAM,UAAU;EAGtD,OAAO,CACL,YACA;GACc;GACZ;GACA;GACA;GACA;GACA;GACA,OAXU,OAAO,YAAY;EAY/B,CACF;CACF,CAAC,CAAC,CACD,MAAM,GAAG,MACR,QACK,EAAE,EAAE,CAAC,QAAQ,aAAa,EAAE,EAAE,CAAC,QAAQ,aACvC,EAAE,EAAE,CAAC,QAAQ,MAAM,EAAE,EAAE,CAAC,QAAQ,EACvC;CAKF,OAAO;EAAE,SAHO,aAAa,KAAK,CAAC,GAAG,WAAW,KAGlC;EAAG,YAFC,OAAO,YAAY,YAEX;CAAE;AAC/B;AAEA,SAAS,qBACP,aACA,QACM;CACN,OAAO,OAAO,YACZ,OAAO,QAAQ,WAAW,CAAC,CACxB,KAAK,CAAC,MAAM,WAAW,CAAC,OAAA,GAAA,cAAA,MAAA,CAAY,KAAK,CAAC,CAAU,CAAC,CACrD,MAAM,GAAG,MAAM;EACd,IAAI,OAAO,cAAc,MAAM,OAAO,EAAE,KAAK,EAAE;OAC1C,OAAO,EAAE,KAAK,EAAE;CACvB,CAAC,CACL;AACF;AAEA,SAAgB,kBACd,cAA2C,CAAC,GAC5C,SAA2B,CAAC,GACf;CACb,OAAO,SAAS;CAChB,OAAO,cAAc;CAErB,YAAY,OAAO,OAAO,cAAc,OAAO,OAAO,OAAO;CAG7D,MAAM,EAAE,SAAS,eAAe,cADD,qBAAqB,aAAa,MACE,GAAG,MAAM;CAC5E,MAAM,OAAO,OAAO,KAAK,UAAU;CAEnC,SAAS,aAAa,KAAU,SAAS,OAAO;EAC9C,IAAI,EAAA,GAAA,cAAA,SAAA,CAAU,GAAG,GAAG,OAAO;EAE3B,MAAM,eAAe,OAAO,KAAK,GAAG;EAEpC,IAAI,CAAC,aAAa,QAAQ,OAAO;EAEjC,IAAI,UAAU,CAAC,aAAa,SAAS,MAAM,GAAG,OAAO;EAErD,OAAO,aAAa,OAAO,QAAQ,KAAK,SAAS,GAAG,CAAC;CACvD;CAEA,SAAS,gBAAgB,KAAa;EACpC,OAAO,OAAO;CAChB;CAEA,SAAS,SAAS,KAAa;EAC7B,OAAO,OAAO,aAAa,WAAW,IAAI,EAAE,QAAQ,KAAA;CACtD;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"breakpoint.js","names":["getPx","isObject"],"sources":["../../../../src/core/system/breakpoint.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type {\n Breakpoint,\n BreakpointConfig,\n DefineThemeBreakpointTokens,\n} from \"./index.types\"\nimport { getPx, isObject } from \"../../utils\"\n\ninterface BreakpointQuery {\n breakpoint: Breakpoint\n maxW: number | undefined\n maxWQuery: string | undefined\n minMaxQuery: string | undefined\n minW: number | undefined\n minWQuery: string | undefined\n query: string | undefined\n}\n\nexport interface Breakpoints {\n keys: Breakpoint[]\n queries: BreakpointQuery[]\n queriesObj: { [key: string]: BreakpointQuery }\n getQuery: (key: string) => string | undefined\n isResponsive: (obj: any, strict?: boolean) => boolean\n isResponsiveKey: (key: string) => boolean\n}\n\nfunction createQuery(\n min: number | undefined,\n max: number | undefined,\n identifier = \"@media screen\",\n): string | undefined {\n const query = [identifier]\n\n if (min) query.push(\"and\", `(min-width: ${min}px)`)\n if (max) query.push(\"and\", `(max-width: ${max}px)`)\n\n return query.length > 1\n ? query.join(\" \").replace(/^@container(\\s+\\w*)?\\s+and/, `@container$1`)\n : undefined\n}\n\nfunction createQueries(breakpoints: Dict<number>, config: BreakpointConfig) {\n const { direction, identifier } = config\n const down = direction !== \"up\"\n\n const queryEntries = Object.entries(breakpoints)\n .map(([breakpoint, width], i, entry) => {\n const [, relatedWidth] = entry[i + 1] ?? []\n let minW = down ? relatedWidth : width\n let maxW = down ? width : relatedWidth\n\n if (breakpoint === \"base\")\n if (down) maxW = undefined\n else minW = undefined\n\n if (down) {\n if (minW) minW += 1\n } else {\n if (maxW) maxW -= 1\n }\n\n const maxWQuery = createQuery(undefined, maxW, identifier)\n const minWQuery = createQuery(minW, undefined, identifier)\n const minMaxQuery = createQuery(minW, maxW, identifier)\n const query = down ? maxWQuery : minWQuery\n\n return [\n breakpoint,\n {\n breakpoint: breakpoint as Breakpoint,\n maxW,\n maxWQuery,\n minMaxQuery,\n minW,\n minWQuery,\n query,\n },\n ] as const\n })\n .sort((a, b) =>\n down\n ? (b[1].maxW ?? Infinity) - (a[1].maxW ?? Infinity)\n : (a[1].minW ?? 0) - (b[1].minW ?? 0),\n )\n\n const queries = queryEntries.map(([_, query]) => query)\n const queriesObj = Object.fromEntries(queryEntries)\n\n return { queries, queriesObj }\n}\n\nfunction transformBreakpoints(\n breakpoints: Dict,\n config: BreakpointConfig,\n): Dict {\n return Object.fromEntries(\n Object.entries(breakpoints)\n .map(([name, value]) => [name, getPx(value)] as const)\n .sort((a, b) => {\n if (config.direction !== \"up\") return b[1] - a[1]\n else return a[1] - b[1]\n }),\n )\n}\n\nexport function createBreakpoints(\n breakpoints: DefineThemeBreakpointTokens = {},\n config: BreakpointConfig = {},\n): Breakpoints {\n config.base ??= \"9999px\"\n config.direction ??= \"down\"\n\n breakpoints.base = config.direction !== \"up\" ? config.base : \"0px\"\n\n const transformedBreakpoints = transformBreakpoints(breakpoints, config)\n const { queries, queriesObj } = createQueries(transformedBreakpoints, config)\n const keys = Object.keys(queriesObj) as Breakpoint[]\n\n function isResponsive(obj: any, strict = false) {\n if (!isObject(obj)) return false\n\n const providedKeys = Object.keys(obj) as Breakpoint[]\n\n if (!providedKeys.length) return false\n\n if (strict && !providedKeys.includes(\"base\")) return false\n\n return providedKeys.every((key) => keys.includes(key))\n }\n\n function isResponsiveKey(key: string) {\n return key in queriesObj\n }\n\n function getQuery(key: string) {\n return key in queriesObj ? queriesObj[key]?.query : undefined\n }\n\n return {\n getQuery,\n isResponsive,\n isResponsiveKey,\n keys,\n queries,\n queriesObj,\n }\n}\n"],"mappings":";;AA2BA,SAAS,YACP,KACA,KACA,aAAa,iBACO;CACpB,MAAM,QAAQ,CAAC,UAAU;CAEzB,IAAI,KAAK,MAAM,KAAK,OAAO,eAAe,IAAI,IAAI;CAClD,IAAI,KAAK,MAAM,KAAK,OAAO,eAAe,IAAI,IAAI;CAElD,OAAO,MAAM,SAAS,IAClB,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,8BAA8B,cAAc,IACpE,KAAA;AACN;AAEA,SAAS,cAAc,aAA2B,QAA0B;CAC1E,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,OAAO,cAAc;CAE3B,MAAM,eAAe,OAAO,QAAQ,WAAW,CAAC,CAC7C,KAAK,CAAC,YAAY,QAAQ,GAAG,UAAU;EACtC,MAAM,GAAG,gBAAgB,MAAM,IAAI,MAAM,CAAC;EAC1C,IAAI,OAAO,OAAO,eAAe;EACjC,IAAI,OAAO,OAAO,QAAQ;EAE1B,IAAI,eAAe,QACjB,IAAI,MAAM,OAAO,KAAA;OACZ,OAAO,KAAA;EAEd,IAAI,MACE;OAAA,MAAM,QAAQ;EAAA,OAElB,IAAI,MAAM,QAAQ;EAGpB,MAAM,YAAY,YAAY,KAAA,GAAW,MAAM,UAAU;EACzD,MAAM,YAAY,YAAY,MAAM,KAAA,GAAW,UAAU;EACzD,MAAM,cAAc,YAAY,MAAM,MAAM,UAAU;EAGtD,OAAO,CACL,YACA;GACc;GACZ;GACA;GACA;GACA;GACA;GACA,OAXU,OAAO,YAAY;EAY/B,CACF;CACF,CAAC,CAAC,CACD,MAAM,GAAG,MACR,QACK,EAAE,EAAE,CAAC,QAAQ,aAAa,EAAE,EAAE,CAAC,QAAQ,aACvC,EAAE,EAAE,CAAC,QAAQ,MAAM,EAAE,EAAE,CAAC,QAAQ,EACvC;CAKF,OAAO;EAAE,SAHO,aAAa,KAAK,CAAC,GAAG,WAAW,KAGlC;EAAG,YAFC,OAAO,YAAY,YAEX;CAAE;AAC/B;AAEA,SAAS,qBACP,aACA,QACM;CACN,OAAO,OAAO,YACZ,OAAO,QAAQ,WAAW,CAAC,CACxB,KAAK,CAAC,MAAM,WAAW,CAAC,OAAA,GAAMA,cAAAA,MAAAA,CAAM,KAAK,CAAC,CAAU,CAAC,CACrD,MAAM,GAAG,MAAM;EACd,IAAI,OAAO,cAAc,MAAM,OAAO,EAAE,KAAK,EAAE;OAC1C,OAAO,EAAE,KAAK,EAAE;CACvB,CAAC,CACL;AACF;AAEA,SAAgB,kBACd,cAA2C,CAAC,GAC5C,SAA2B,CAAC,GACf;CACb,OAAO,SAAS;CAChB,OAAO,cAAc;CAErB,YAAY,OAAO,OAAO,cAAc,OAAO,OAAO,OAAO;CAG7D,MAAM,EAAE,SAAS,eAAe,cADD,qBAAqB,aAAa,MACE,GAAG,MAAM;CAC5E,MAAM,OAAO,OAAO,KAAK,UAAU;CAEnC,SAAS,aAAa,KAAU,SAAS,OAAO;EAC9C,IAAI,EAAA,GAACC,cAAAA,SAAAA,CAAS,GAAG,GAAG,OAAO;EAE3B,MAAM,eAAe,OAAO,KAAK,GAAG;EAEpC,IAAI,CAAC,aAAa,QAAQ,OAAO;EAEjC,IAAI,UAAU,CAAC,aAAa,SAAS,MAAM,GAAG,OAAO;EAErD,OAAO,aAAa,OAAO,QAAQ,KAAK,SAAS,GAAG,CAAC;CACvD;CAEA,SAAS,gBAAgB,KAAa;EACpC,OAAO,OAAO;CAChB;CAEA,SAAS,SAAS,KAAa;EAC7B,OAAO,OAAO,aAAa,WAAW,IAAI,EAAE,QAAQ,KAAA;CACtD;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-mode-provider.js","names":["noop"],"sources":["../../../../src/core/system/color-mode-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren } from \"react\"\nimport type { ColorMode, ColorModeWithSystem, ThemeConfig } from \"./index.types\"\nimport type { Storage } from \"./storage-manager\"\nimport {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\"\nimport { isDocument, isEmptyObject, noop } from \"../../utils\"\nimport { COLOR_MODE_STORAGE_KEY } from \"../constant\"\nimport { useEnvironment } from \"./environment-provider\"\nimport { createStorageManager } from \"./storage-manager\"\nimport { getPreventTransition } from \"./theme-provider\"\nimport { useSystemColorMode } from \"./use-system-color-mode\"\n\ninterface ColorModeContext {\n colorMode: ColorMode\n internalColorMode: ColorModeWithSystem\n changeColorMode: (colorMode: ColorModeWithSystem) => void\n toggleColorMode: () => void\n forced?: boolean\n}\n\nexport const ColorModeContext = createContext<ColorModeContext>({\n changeColorMode: noop,\n colorMode: \"light\",\n forced: false,\n internalColorMode: \"light\",\n toggleColorMode: noop,\n})\n\nexport interface ColorModeProviderProps extends PropsWithChildren {\n /**\n * The forced color mode.\n */\n colorMode?: ColorMode\n /**\n * The config of the yamada ui.\n */\n config?: ThemeConfig\n /**\n * If `storage` is `cookie`, the cookie to use.\n * If not provided, the cookie will be set to `document.cookie`.\n */\n cookie?: string\n /**\n * The storage to use.\n * If you are using a server-side rendering library, you should use `cookie`.\n *\n * @default 'localStorage'\n */\n storage?: Storage\n /**\n * The key of the value saved in storage.\n *\n * @default 'color-mode'\n */\n storageKey?: string\n}\n\nexport const ColorModeProvider: FC<ColorModeProviderProps> = ({\n children,\n colorMode: forcedColorMode,\n config: {\n defaultColorMode = \"light\" as ColorModeWithSystem,\n disableTransitionOnChange = true,\n } = {},\n cookie,\n storage = cookie ? \"cookie\" : \"localStorage\",\n storageKey = COLOR_MODE_STORAGE_KEY,\n}) => {\n const storageManager = useMemo(\n () =>\n createStorageManager<ColorModeWithSystem, ColorMode>(\n storage,\n storageKey,\n defaultColorMode,\n cookie,\n ),\n [cookie, defaultColorMode, storage, storageKey],\n )\n const environment = useEnvironment()\n const [internalColorMode, setInternalColorMode] =\n useState<ColorModeWithSystem>(storageManager.get())\n const { getSystemColorMode, systemColorMode } = useSystemColorMode({\n callback: (systemColorMode) => {\n if (internalColorMode !== \"system\") return\n\n setClassName(systemColorMode === \"dark\")\n setDataset(systemColorMode)\n },\n defaultColorMode: storageManager.default(\n defaultColorMode === \"dark\" ? \"dark\" : \"light\",\n ),\n })\n const colorMode =\n internalColorMode === \"system\" ? systemColorMode : internalColorMode\n\n const setDataset = useCallback(\n (colorMode: ColorMode) => {\n const root = environment.getRootElement()\n\n if (!root) return\n\n const cleanup = disableTransitionOnChange\n ? getPreventTransition(environment)\n : undefined\n\n root.dataset.mode = colorMode\n root.style.colorScheme = colorMode\n\n cleanup?.()\n },\n [disableTransitionOnChange, environment],\n )\n\n const setClassName = useCallback(\n (isDark: boolean) => {\n const doc = environment.getDocument()\n const rootNode = environment.getRootNode()\n const root = environment.getRootElement()\n\n if (!doc || !root) return\n\n const target = isDocument(rootNode) ? doc.body : root\n\n target.classList.add(isDark ? \"dark\" : \"light\")\n target.classList.remove(isDark ? \"light\" : \"dark\")\n },\n [environment],\n )\n\n const changeColorMode = useCallback(\n (internalColorMode: ColorModeWithSystem) => {\n const colorMode =\n internalColorMode === \"system\"\n ? getSystemColorMode()\n : internalColorMode\n\n setInternalColorMode(internalColorMode)\n setClassName(colorMode === \"dark\")\n setDataset(colorMode)\n\n storageManager.set(internalColorMode)\n },\n [storageManager, getSystemColorMode, setClassName, setDataset],\n )\n\n const toggleColorMode = useCallback(() => {\n changeColorMode(colorMode === \"dark\" ? \"light\" : \"dark\")\n }, [changeColorMode, colorMode])\n\n useEffect(() => {\n const internalColorMode = storageManager.get()\n\n changeColorMode(internalColorMode)\n }, [changeColorMode, storageManager])\n\n const context = useMemo(\n () => ({\n changeColorMode: forcedColorMode ? noop : changeColorMode,\n colorMode: forcedColorMode ?? colorMode,\n forced: forcedColorMode !== undefined,\n internalColorMode,\n toggleColorMode: forcedColorMode ? noop : toggleColorMode,\n }),\n [\n forcedColorMode,\n colorMode,\n internalColorMode,\n changeColorMode,\n toggleColorMode,\n ],\n )\n\n return <ColorModeContext value={context}>{children}</ColorModeContext>\n}\n\n/**\n * `useColorMode` is a custom hook that returns the current color mode.\n *\n * @see https://yamada-ui.com/docs/hooks/use-color-mode\n */\nexport const useColorMode = (): ColorModeContext => {\n const context = use(ColorModeContext)\n\n if (isEmptyObject(context))\n return {\n changeColorMode: noop,\n colorMode: \"light\",\n forced: false,\n internalColorMode: \"light\",\n toggleColorMode: noop,\n }\n else return context\n}\n"],"mappings":";;;;;;;;;;AA4BA,MAAa,mBAAmB,cAAgC;CAC9D,iBAAiBA,cAAAA;CACjB,WAAW;CACX,QAAQ;CACR,mBAAmB;CACnB,iBAAiBA,cAAAA;AACnB,CAAC;AA+BD,MAAa,qBAAiD,EAC5D,UACA,WAAW,iBACX,QAAQ,EACN,mBAAmB,SACnB,4BAA4B,SAC1B,CAAC,GACL,QACA,UAAU,SAAS,WAAW,gBAC9B,aAAa,6BACT;CACJ,MAAM,iBAAiB,cAEnB,qBACE,SACA,YACA,kBACA,MACF,GACF;EAAC;EAAQ;EAAkB;EAAS;CAAU,CAChD;CACA,MAAM,cAAc,eAAe;CACnC,MAAM,CAAC,mBAAmB,wBACxB,SAA8B,eAAe,IAAI,CAAC;CACpD,MAAM,EAAE,oBAAoB,oBAAoB,mBAAmB;EACjE,WAAW,oBAAoB;GAC7B,IAAI,sBAAsB,UAAU;GAEpC,aAAa,oBAAoB,MAAM;GACvC,WAAW,eAAe;EAC5B;EACA,kBAAkB,eAAe,QAC/B,qBAAqB,SAAS,SAAS,OACzC;CACF,CAAC;CACD,MAAM,YACJ,sBAAsB,WAAW,kBAAkB;CAErD,MAAM,aAAa,aAChB,cAAyB;EACxB,MAAM,OAAO,YAAY,eAAe;EAExC,IAAI,CAAC,MAAM;EAEX,MAAM,UAAU,4BACZ,qBAAqB,WAAW,IAChC,KAAA;EAEJ,KAAK,QAAQ,OAAO;EACpB,KAAK,MAAM,cAAc;EAEzB,UAAU;CACZ,GACA,CAAC,2BAA2B,WAAW,CACzC;CAEA,MAAM,eAAe,aAClB,WAAoB;EACnB,MAAM,MAAM,YAAY,YAAY;EACpC,MAAM,WAAW,YAAY,YAAY;EACzC,MAAM,OAAO,YAAY,eAAe;EAExC,IAAI,CAAC,OAAO,CAAC,MAAM;EAEnB,MAAM,UAAA,GAAA,cAAA,WAAA,CAAoB,QAAQ,IAAI,IAAI,OAAO;EAEjD,OAAO,UAAU,IAAI,SAAS,SAAS,OAAO;EAC9C,OAAO,UAAU,OAAO,SAAS,UAAU,MAAM;CACnD,GACA,CAAC,WAAW,CACd;CAEA,MAAM,kBAAkB,aACrB,sBAA2C;EAC1C,MAAM,YACJ,sBAAsB,WAClB,mBAAmB,IACnB;EAEN,qBAAqB,iBAAiB;EACtC,aAAa,cAAc,MAAM;EACjC,WAAW,SAAS;EAEpB,eAAe,IAAI,iBAAiB;CACtC,GACA;EAAC;EAAgB;EAAoB;EAAc;CAAU,CAC/D;CAEA,MAAM,kBAAkB,kBAAkB;EACxC,gBAAgB,cAAc,SAAS,UAAU,MAAM;CACzD,GAAG,CAAC,iBAAiB,SAAS,CAAC;CAE/B,gBAAgB;EACd,MAAM,oBAAoB,eAAe,IAAI;EAE7C,gBAAgB,iBAAiB;CACnC,GAAG,CAAC,iBAAiB,cAAc,CAAC;CAEpC,MAAM,UAAU,eACP;EACL,iBAAiB,kBAAkBA,cAAAA,OAAO;EAC1C,WAAW,mBAAmB;EAC9B,QAAQ,oBAAoB,KAAA;EAC5B;EACA,iBAAiB,kBAAkBA,cAAAA,OAAO;CAC5C,IACA;EACE;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OAAO,oBAAC,kBAAD;EAAkB,OAAO;EAAU;CAA2B,CAAA;AACvE;;;;;;AAOA,MAAa,qBAAuC;CAClD,MAAM,UAAU,IAAI,gBAAgB;CAEpC,KAAA,GAAA,cAAA,cAAA,CAAkB,OAAO,GACvB,OAAO;EACL,iBAAiBA,cAAAA;EACjB,WAAW;EACX,QAAQ;EACR,mBAAmB;EACnB,iBAAiBA,cAAAA;CACnB;MACG,OAAO;AACd"}
1
+ {"version":3,"file":"color-mode-provider.js","names":["noop","isDocument","isEmptyObject"],"sources":["../../../../src/core/system/color-mode-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren } from \"react\"\nimport type { ColorMode, ColorModeWithSystem, ThemeConfig } from \"./index.types\"\nimport type { Storage } from \"./storage-manager\"\nimport {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\"\nimport { isDocument, isEmptyObject, noop } from \"../../utils\"\nimport { COLOR_MODE_STORAGE_KEY } from \"../constant\"\nimport { useEnvironment } from \"./environment-provider\"\nimport { createStorageManager } from \"./storage-manager\"\nimport { getPreventTransition } from \"./theme-provider\"\nimport { useSystemColorMode } from \"./use-system-color-mode\"\n\ninterface ColorModeContext {\n colorMode: ColorMode\n internalColorMode: ColorModeWithSystem\n changeColorMode: (colorMode: ColorModeWithSystem) => void\n toggleColorMode: () => void\n forced?: boolean\n}\n\nexport const ColorModeContext = createContext<ColorModeContext>({\n changeColorMode: noop,\n colorMode: \"light\",\n forced: false,\n internalColorMode: \"light\",\n toggleColorMode: noop,\n})\n\nexport interface ColorModeProviderProps extends PropsWithChildren {\n /**\n * The forced color mode.\n */\n colorMode?: ColorMode\n /**\n * The config of the yamada ui.\n */\n config?: ThemeConfig\n /**\n * If `storage` is `cookie`, the cookie to use.\n * If not provided, the cookie will be set to `document.cookie`.\n */\n cookie?: string\n /**\n * The storage to use.\n * If you are using a server-side rendering library, you should use `cookie`.\n *\n * @default 'localStorage'\n */\n storage?: Storage\n /**\n * The key of the value saved in storage.\n *\n * @default 'color-mode'\n */\n storageKey?: string\n}\n\nexport const ColorModeProvider: FC<ColorModeProviderProps> = ({\n children,\n colorMode: forcedColorMode,\n config: {\n defaultColorMode = \"light\" as ColorModeWithSystem,\n disableTransitionOnChange = true,\n } = {},\n cookie,\n storage = cookie ? \"cookie\" : \"localStorage\",\n storageKey = COLOR_MODE_STORAGE_KEY,\n}) => {\n const storageManager = useMemo(\n () =>\n createStorageManager<ColorModeWithSystem, ColorMode>(\n storage,\n storageKey,\n defaultColorMode,\n cookie,\n ),\n [cookie, defaultColorMode, storage, storageKey],\n )\n const environment = useEnvironment()\n const [internalColorMode, setInternalColorMode] =\n useState<ColorModeWithSystem>(storageManager.get())\n const { getSystemColorMode, systemColorMode } = useSystemColorMode({\n callback: (systemColorMode) => {\n if (internalColorMode !== \"system\") return\n\n setClassName(systemColorMode === \"dark\")\n setDataset(systemColorMode)\n },\n defaultColorMode: storageManager.default(\n defaultColorMode === \"dark\" ? \"dark\" : \"light\",\n ),\n })\n const colorMode =\n internalColorMode === \"system\" ? systemColorMode : internalColorMode\n\n const setDataset = useCallback(\n (colorMode: ColorMode) => {\n const root = environment.getRootElement()\n\n if (!root) return\n\n const cleanup = disableTransitionOnChange\n ? getPreventTransition(environment)\n : undefined\n\n root.dataset.mode = colorMode\n root.style.colorScheme = colorMode\n\n cleanup?.()\n },\n [disableTransitionOnChange, environment],\n )\n\n const setClassName = useCallback(\n (isDark: boolean) => {\n const doc = environment.getDocument()\n const rootNode = environment.getRootNode()\n const root = environment.getRootElement()\n\n if (!doc || !root) return\n\n const target = isDocument(rootNode) ? doc.body : root\n\n target.classList.add(isDark ? \"dark\" : \"light\")\n target.classList.remove(isDark ? \"light\" : \"dark\")\n },\n [environment],\n )\n\n const changeColorMode = useCallback(\n (internalColorMode: ColorModeWithSystem) => {\n const colorMode =\n internalColorMode === \"system\"\n ? getSystemColorMode()\n : internalColorMode\n\n setInternalColorMode(internalColorMode)\n setClassName(colorMode === \"dark\")\n setDataset(colorMode)\n\n storageManager.set(internalColorMode)\n },\n [storageManager, getSystemColorMode, setClassName, setDataset],\n )\n\n const toggleColorMode = useCallback(() => {\n changeColorMode(colorMode === \"dark\" ? \"light\" : \"dark\")\n }, [changeColorMode, colorMode])\n\n useEffect(() => {\n const internalColorMode = storageManager.get()\n\n changeColorMode(internalColorMode)\n }, [changeColorMode, storageManager])\n\n const context = useMemo(\n () => ({\n changeColorMode: forcedColorMode ? noop : changeColorMode,\n colorMode: forcedColorMode ?? colorMode,\n forced: forcedColorMode !== undefined,\n internalColorMode,\n toggleColorMode: forcedColorMode ? noop : toggleColorMode,\n }),\n [\n forcedColorMode,\n colorMode,\n internalColorMode,\n changeColorMode,\n toggleColorMode,\n ],\n )\n\n return <ColorModeContext value={context}>{children}</ColorModeContext>\n}\n\n/**\n * `useColorMode` is a custom hook that returns the current color mode.\n *\n * @see https://yamada-ui.com/docs/hooks/use-color-mode\n */\nexport const useColorMode = (): ColorModeContext => {\n const context = use(ColorModeContext)\n\n if (isEmptyObject(context))\n return {\n changeColorMode: noop,\n colorMode: \"light\",\n forced: false,\n internalColorMode: \"light\",\n toggleColorMode: noop,\n }\n else return context\n}\n"],"mappings":";;;;;;;;;;AA4BA,MAAa,mBAAmB,cAAgC;CAC9D,iBAAiBA,cAAAA;CACjB,WAAW;CACX,QAAQ;CACR,mBAAmB;CACnB,iBAAiBA,cAAAA;AACnB,CAAC;AA+BD,MAAa,qBAAiD,EAC5D,UACA,WAAW,iBACX,QAAQ,EACN,mBAAmB,SACnB,4BAA4B,SAC1B,CAAC,GACL,QACA,UAAU,SAAS,WAAW,gBAC9B,aAAa,6BACT;CACJ,MAAM,iBAAiB,cAEnB,qBACE,SACA,YACA,kBACA,MACF,GACF;EAAC;EAAQ;EAAkB;EAAS;CAAU,CAChD;CACA,MAAM,cAAc,eAAe;CACnC,MAAM,CAAC,mBAAmB,wBACxB,SAA8B,eAAe,IAAI,CAAC;CACpD,MAAM,EAAE,oBAAoB,oBAAoB,mBAAmB;EACjE,WAAW,oBAAoB;GAC7B,IAAI,sBAAsB,UAAU;GAEpC,aAAa,oBAAoB,MAAM;GACvC,WAAW,eAAe;EAC5B;EACA,kBAAkB,eAAe,QAC/B,qBAAqB,SAAS,SAAS,OACzC;CACF,CAAC;CACD,MAAM,YACJ,sBAAsB,WAAW,kBAAkB;CAErD,MAAM,aAAa,aAChB,cAAyB;EACxB,MAAM,OAAO,YAAY,eAAe;EAExC,IAAI,CAAC,MAAM;EAEX,MAAM,UAAU,4BACZ,qBAAqB,WAAW,IAChC,KAAA;EAEJ,KAAK,QAAQ,OAAO;EACpB,KAAK,MAAM,cAAc;EAEzB,UAAU;CACZ,GACA,CAAC,2BAA2B,WAAW,CACzC;CAEA,MAAM,eAAe,aAClB,WAAoB;EACnB,MAAM,MAAM,YAAY,YAAY;EACpC,MAAM,WAAW,YAAY,YAAY;EACzC,MAAM,OAAO,YAAY,eAAe;EAExC,IAAI,CAAC,OAAO,CAAC,MAAM;EAEnB,MAAM,UAAA,GAASC,cAAAA,WAAAA,CAAW,QAAQ,IAAI,IAAI,OAAO;EAEjD,OAAO,UAAU,IAAI,SAAS,SAAS,OAAO;EAC9C,OAAO,UAAU,OAAO,SAAS,UAAU,MAAM;CACnD,GACA,CAAC,WAAW,CACd;CAEA,MAAM,kBAAkB,aACrB,sBAA2C;EAC1C,MAAM,YACJ,sBAAsB,WAClB,mBAAmB,IACnB;EAEN,qBAAqB,iBAAiB;EACtC,aAAa,cAAc,MAAM;EACjC,WAAW,SAAS;EAEpB,eAAe,IAAI,iBAAiB;CACtC,GACA;EAAC;EAAgB;EAAoB;EAAc;CAAU,CAC/D;CAEA,MAAM,kBAAkB,kBAAkB;EACxC,gBAAgB,cAAc,SAAS,UAAU,MAAM;CACzD,GAAG,CAAC,iBAAiB,SAAS,CAAC;CAE/B,gBAAgB;EACd,MAAM,oBAAoB,eAAe,IAAI;EAE7C,gBAAgB,iBAAiB;CACnC,GAAG,CAAC,iBAAiB,cAAc,CAAC;CAEpC,MAAM,UAAU,eACP;EACL,iBAAiB,kBAAkBD,cAAAA,OAAO;EAC1C,WAAW,mBAAmB;EAC9B,QAAQ,oBAAoB,KAAA;EAC5B;EACA,iBAAiB,kBAAkBA,cAAAA,OAAO;CAC5C,IACA;EACE;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OAAO,oBAAC,kBAAD;EAAkB,OAAO;EAAU;CAA2B,CAAA;AACvE;;;;;;AAOA,MAAa,qBAAuC;CAClD,MAAM,UAAU,IAAI,gBAAgB;CAEpC,KAAA,GAAIE,cAAAA,cAAAA,CAAc,OAAO,GACvB,OAAO;EACL,iBAAiBF,cAAAA;EACjB,WAAW;EACX,QAAQ;EACR,mBAAmB;EACnB,iBAAiBA,cAAAA;CACnB;MACG,OAAO;AACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-system.js","names":["bem"],"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: { light: {}, dark: {} },\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n rootNode?: Document | Node | ShadowRoot,\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, rootNode)(primaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(secondaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(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 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, rootNode)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars.themes ??= {}\n cssVars.themes[themeScheme] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n rootNode,\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 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":["bem","flattenObject","isUndefined","isObject","isArray"],"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: { light: {}, dark: {} },\n layers: createLayers(),\n utils: { getClassName: bem },\n}\n\nexport function createSystem(\n theme: UsageTheme,\n config: ThemeConfig = {},\n rootNode?: Document | Node | ShadowRoot,\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, rootNode)(primaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(secondaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(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 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, rootNode)(nestedPrimaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(nestedSecondaryTokens),\n createVars(prefix, theme, breakpoints, rootNode)(nestedTertiaryTokens),\n )({ ...primaryTokens, ...secondaryTokens, ...tertiaryTokens })\n\n cssVars.themes ??= {}\n cssVars.themes[themeScheme] = nestedCSSVars\n }\n }\n\n return {\n breakpoints,\n config,\n cssMap,\n cssVars,\n layers,\n rootNode,\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 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":"environment-provider.js","names":[],"sources":["../../../../src/core/system/environment-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren } from \"react\"\nimport { createContext, use, useCallback, useMemo, useRef } from \"react\"\nimport {\n createdDom,\n getDocument,\n getWindow,\n isHTMLElement,\n isShadowRoot,\n runIfFn,\n} from \"../../utils\"\n\nexport type RootNode = Document | Node | ShadowRoot\n\nexport interface Environment {\n getDocument: () => Document | undefined\n getRootElement: () => HTMLElement | undefined\n getRootNode: () => RootNode | undefined\n getWindow: () => undefined | Window\n}\n\nexport const defaultEnvironment: Environment = {\n getDocument: () => document,\n getRootElement: () => document.documentElement,\n getRootNode: () => document,\n getWindow: () => window,\n}\n\nconst EnvironmentContext = createContext<Environment>(defaultEnvironment)\n\nexport interface EnvironmentProviderProps extends PropsWithChildren {\n value?: (() => RootNode) | RootNode\n}\n\nexport const EnvironmentProvider: FC<EnvironmentProviderProps> = ({\n children,\n value,\n}) => {\n const ref = useRef<HTMLSpanElement>(null)\n\n const getRootNode = useCallback(() => {\n return runIfFn(value) ?? ref.current?.getRootNode() ?? document\n }, [value, ref])\n\n const getRootElement = useCallback(() => {\n const rootNode = getRootNode()\n\n if (isShadowRoot(rootNode) && isHTMLElement(rootNode.host))\n return rootNode.host\n if (isHTMLElement(rootNode)) return rootNode\n\n return getDocument(rootNode).documentElement\n }, [getRootNode])\n\n const context = useMemo<Environment>(() => {\n if (createdDom())\n return {\n getDocument: () => getDocument(getRootNode()),\n getRootElement,\n getRootNode,\n getWindow: () => getWindow(getRootNode()),\n }\n else\n return {\n getDocument: () => undefined,\n getRootElement: () => undefined,\n getRootNode: () => undefined,\n getWindow: () => undefined,\n }\n }, [getRootElement, getRootNode])\n\n return (\n <EnvironmentContext value={context}>\n {children}\n\n {!value ? <span ref={ref} hidden /> : null}\n </EnvironmentContext>\n )\n}\n\nexport const useEnvironment = () => {\n return use(EnvironmentContext)\n}\n"],"mappings":";;;;;AAsBA,MAAa,qBAAkC;CAC7C,mBAAmB;CACnB,sBAAsB,SAAS;CAC/B,mBAAmB;CACnB,iBAAiB;AACnB;AAEA,MAAM,qBAAqB,cAA2B,kBAAkB;AAMxE,MAAa,uBAAqD,EAChE,UACA,YACI;CACJ,MAAM,MAAM,OAAwB,IAAI;CAExC,MAAM,cAAc,kBAAkB;EACpC,QAAA,GAAA,cAAA,QAAA,CAAe,KAAK,KAAK,IAAI,SAAS,YAAY,KAAK;CACzD,GAAG,CAAC,OAAO,GAAG,CAAC;CAEf,MAAM,iBAAiB,kBAAkB;EACvC,MAAM,WAAW,YAAY;EAE7B,KAAA,GAAA,cAAA,aAAA,CAAiB,QAAQ,MAAA,GAAA,cAAA,cAAA,CAAmB,SAAS,IAAI,GACvD,OAAO,SAAS;EAClB,KAAA,GAAA,cAAA,cAAA,CAAkB,QAAQ,GAAG,OAAO;EAEpC,QAAA,GAAA,cAAA,YAAA,CAAmB,QAAQ,CAAC,CAAC;CAC/B,GAAG,CAAC,WAAW,CAAC;CAEhB,MAAM,UAAU,cAA2B;EACzC,KAAA,GAAA,cAAA,WAAA,CAAe,GACb,OAAO;GACL,oBAAA,GAAA,cAAA,YAAA,CAA+B,YAAY,CAAC;GAC5C;GACA;GACA,kBAAA,GAAA,cAAA,UAAA,CAA2B,YAAY,CAAC;EAC1C;OAEA,OAAO;GACL,mBAAmB,KAAA;GACnB,sBAAsB,KAAA;GACtB,mBAAmB,KAAA;GACnB,iBAAiB,KAAA;EACnB;CACJ,GAAG,CAAC,gBAAgB,WAAW,CAAC;CAEhC,OACE,qBAAC,oBAAD;EAAoB,OAAO;EAA3B,UAAA,CACG,UAEA,CAAC,QAAQ,oBAAC,QAAD;GAAW;GAAK,QAAA;EAAQ,CAAA,IAAI,IACpB;;AAExB;AAEA,MAAa,uBAAuB;CAClC,OAAO,IAAI,kBAAkB;AAC/B"}
1
+ {"version":3,"file":"environment-provider.js","names":["runIfFn","isShadowRoot","isHTMLElement","getDocument","createdDom","getWindow"],"sources":["../../../../src/core/system/environment-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren } from \"react\"\nimport { createContext, use, useCallback, useMemo, useRef } from \"react\"\nimport {\n createdDom,\n getDocument,\n getWindow,\n isHTMLElement,\n isShadowRoot,\n runIfFn,\n} from \"../../utils\"\n\nexport type RootNode = Document | Node | ShadowRoot\n\nexport interface Environment {\n getDocument: () => Document | undefined\n getRootElement: () => HTMLElement | undefined\n getRootNode: () => RootNode | undefined\n getWindow: () => undefined | Window\n}\n\nexport const defaultEnvironment: Environment = {\n getDocument: () => document,\n getRootElement: () => document.documentElement,\n getRootNode: () => document,\n getWindow: () => window,\n}\n\nconst EnvironmentContext = createContext<Environment>(defaultEnvironment)\n\nexport interface EnvironmentProviderProps extends PropsWithChildren {\n value?: (() => RootNode) | RootNode\n}\n\nexport const EnvironmentProvider: FC<EnvironmentProviderProps> = ({\n children,\n value,\n}) => {\n const ref = useRef<HTMLSpanElement>(null)\n\n const getRootNode = useCallback(() => {\n return runIfFn(value) ?? ref.current?.getRootNode() ?? document\n }, [value, ref])\n\n const getRootElement = useCallback(() => {\n const rootNode = getRootNode()\n\n if (isShadowRoot(rootNode) && isHTMLElement(rootNode.host))\n return rootNode.host\n if (isHTMLElement(rootNode)) return rootNode\n\n return getDocument(rootNode).documentElement\n }, [getRootNode])\n\n const context = useMemo<Environment>(() => {\n if (createdDom())\n return {\n getDocument: () => getDocument(getRootNode()),\n getRootElement,\n getRootNode,\n getWindow: () => getWindow(getRootNode()),\n }\n else\n return {\n getDocument: () => undefined,\n getRootElement: () => undefined,\n getRootNode: () => undefined,\n getWindow: () => undefined,\n }\n }, [getRootElement, getRootNode])\n\n return (\n <EnvironmentContext value={context}>\n {children}\n\n {!value ? <span ref={ref} hidden /> : null}\n </EnvironmentContext>\n )\n}\n\nexport const useEnvironment = () => {\n return use(EnvironmentContext)\n}\n"],"mappings":";;;;;AAsBA,MAAa,qBAAkC;CAC7C,mBAAmB;CACnB,sBAAsB,SAAS;CAC/B,mBAAmB;CACnB,iBAAiB;AACnB;AAEA,MAAM,qBAAqB,cAA2B,kBAAkB;AAMxE,MAAa,uBAAqD,EAChE,UACA,YACI;CACJ,MAAM,MAAM,OAAwB,IAAI;CAExC,MAAM,cAAc,kBAAkB;EACpC,QAAA,GAAOA,cAAAA,QAAAA,CAAQ,KAAK,KAAK,IAAI,SAAS,YAAY,KAAK;CACzD,GAAG,CAAC,OAAO,GAAG,CAAC;CAEf,MAAM,iBAAiB,kBAAkB;EACvC,MAAM,WAAW,YAAY;EAE7B,KAAA,GAAIC,cAAAA,aAAAA,CAAa,QAAQ,MAAA,GAAKC,cAAAA,cAAAA,CAAc,SAAS,IAAI,GACvD,OAAO,SAAS;EAClB,KAAA,GAAIA,cAAAA,cAAAA,CAAc,QAAQ,GAAG,OAAO;EAEpC,QAAA,GAAOC,cAAAA,YAAAA,CAAY,QAAQ,CAAC,CAAC;CAC/B,GAAG,CAAC,WAAW,CAAC;CAEhB,MAAM,UAAU,cAA2B;EACzC,KAAA,GAAIC,cAAAA,WAAAA,CAAW,GACb,OAAO;GACL,oBAAA,GAAmBD,cAAAA,YAAAA,CAAY,YAAY,CAAC;GAC5C;GACA;GACA,kBAAA,GAAiBE,cAAAA,UAAAA,CAAU,YAAY,CAAC;EAC1C;OAEA,OAAO;GACL,mBAAmB,KAAA;GACnB,sBAAsB,KAAA;GACtB,mBAAmB,KAAA;GACnB,iBAAiB,KAAA;EACnB;CACJ,GAAG,CAAC,gBAAgB,WAAW,CAAC;CAEhC,OACE,qBAAC,oBAAD;EAAoB,OAAO;EAA3B,UAAA,CACG,UAEA,CAAC,QAAQ,oBAAC,QAAD;GAAW;GAAK,QAAA;EAAQ,CAAA,IAAI,IACpB;;AAExB;AAEA,MAAa,uBAAuB;CAClC,OAAO,IAAI,kBAAkB;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"layer.js","names":[],"sources":["../../../../src/core/system/layer.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { LayerScheme, LayersConfig } from \"./index.types\"\nimport { runIfFn } from \"../../utils\"\nimport { DEFAULT_LAYERS } from \"../constant\"\n\nexport interface Layers {\n atRule: string | undefined\n names: string[]\n wrap: (name: LayerScheme, style?: (() => Dict) | Dict) => Dict\n getAtRule?: (name: LayerScheme) => string\n}\n\nexport const defaultLayers: Layers = {\n atRule: undefined,\n names: [] as string[],\n wrap: function (_: LayerScheme, style?: (() => Dict) | Dict) {\n return runIfFn(style) ?? {}\n },\n}\n\nexport function createLayers(\n layers: false | LayersConfig = DEFAULT_LAYERS,\n): Layers {\n if (!layers) return defaultLayers\n\n const names = Object.values(layers)\n .sort((a, b) => a.order - b.order)\n .map((layer) => layer.name)\n const atRule = `@layer ${names.join(\", \")};`\n\n const getAtRule = (name: LayerScheme) => `@layer ${layers[name].name}`\n\n const wrap = (name: LayerScheme, style?: (() => Dict) | Dict) => {\n const atRule = getAtRule(name)\n\n return { [atRule]: runIfFn(style) }\n }\n\n return {\n atRule,\n getAtRule,\n names,\n wrap,\n }\n}\n"],"mappings":";;;AAYA,MAAa,gBAAwB;CACnC,QAAQ,KAAA;CACR,OAAO,CAAC;CACR,MAAM,SAAU,GAAgB,OAA6B;EAC3D,QAAA,GAAA,cAAA,QAAA,CAAe,KAAK,KAAK,CAAC;CAC5B;AACF;AAEA,SAAgB,aACd,SAA+B,gBACvB;CACR,IAAI,CAAC,QAAQ,OAAO;CAEpB,MAAM,QAAQ,OAAO,OAAO,MAAM,CAAC,CAChC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CACjC,KAAK,UAAU,MAAM,IAAI;CAC5B,MAAM,SAAS,UAAU,MAAM,KAAK,IAAI,EAAE;CAE1C,MAAM,aAAa,SAAsB,UAAU,OAAO,KAAK,CAAC;CAEhE,MAAM,QAAQ,MAAmB,UAAgC;EAG/D,OAAO,GAFQ,UAAU,IAEV,KAAA,GAAA,cAAA,QAAA,CAAY,KAAK,EAAE;CACpC;CAEA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"layer.js","names":["runIfFn"],"sources":["../../../../src/core/system/layer.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { LayerScheme, LayersConfig } from \"./index.types\"\nimport { runIfFn } from \"../../utils\"\nimport { DEFAULT_LAYERS } from \"../constant\"\n\nexport interface Layers {\n atRule: string | undefined\n names: string[]\n wrap: (name: LayerScheme, style?: (() => Dict) | Dict) => Dict\n getAtRule?: (name: LayerScheme) => string\n}\n\nexport const defaultLayers: Layers = {\n atRule: undefined,\n names: [] as string[],\n wrap: function (_: LayerScheme, style?: (() => Dict) | Dict) {\n return runIfFn(style) ?? {}\n },\n}\n\nexport function createLayers(\n layers: false | LayersConfig = DEFAULT_LAYERS,\n): Layers {\n if (!layers) return defaultLayers\n\n const names = Object.values(layers)\n .sort((a, b) => a.order - b.order)\n .map((layer) => layer.name)\n const atRule = `@layer ${names.join(\", \")};`\n\n const getAtRule = (name: LayerScheme) => `@layer ${layers[name].name}`\n\n const wrap = (name: LayerScheme, style?: (() => Dict) | Dict) => {\n const atRule = getAtRule(name)\n\n return { [atRule]: runIfFn(style) }\n }\n\n return {\n atRule,\n getAtRule,\n names,\n wrap,\n }\n}\n"],"mappings":";;;AAYA,MAAa,gBAAwB;CACnC,QAAQ,KAAA;CACR,OAAO,CAAC;CACR,MAAM,SAAU,GAAgB,OAA6B;EAC3D,QAAA,GAAOA,cAAAA,QAAAA,CAAQ,KAAK,KAAK,CAAC;CAC5B;AACF;AAEA,SAAgB,aACd,SAA+B,gBACvB;CACR,IAAI,CAAC,QAAQ,OAAO;CAEpB,MAAM,QAAQ,OAAO,OAAO,MAAM,CAAC,CAChC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CACjC,KAAK,UAAU,MAAM,IAAI;CAC5B,MAAM,SAAS,UAAU,MAAM,KAAK,IAAI,EAAE;CAE1C,MAAM,aAAa,SAAsB,UAAU,OAAO,KAAK,CAAC;CAEhE,MAAM,QAAQ,MAAmB,UAAgC;EAG/D,OAAO,GAFQ,UAAU,IAEV,KAAA,GAAIA,cAAAA,QAAAA,CAAQ,KAAK,EAAE;CACpC;CAEA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage-script.js","names":[],"sources":["../../../../src/core/system/storage-script.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ColorModeWithSystem, ThemeScheme } from \"./index.types\"\nimport type { Storage } from \"./storage-manager\"\nimport { createdDom } from \"../../utils\"\nimport { COLOR_MODE_STORAGE_KEY, THEME_SCHEME_STORAGE_KEY } from \"../constant\"\n\nexport interface StorageScriptProps<Y extends string> {\n defaultValue?: Y\n key?: string\n nonce?: string\n type?: Storage\n}\n\nexport function getStorageScript<Y extends string>(\n type: \"colorMode\" | \"themeScheme\",\n defaultKey: string,\n) {\n return function ({\n key = defaultKey,\n type: storage = \"localStorage\",\n defaultValue,\n }: Omit<StorageScriptProps<Y>, \"nonce\"> = {}) {\n if (type === \"colorMode\")\n if (storage === \"localStorage\")\n return `!(function(){try{var a=function(c){var v=\"(prefers-color-scheme: dark)\",h=window.matchMedia(v).matches?\"dark\":\"light\",r=c===\"system\"?h:c,o=document.documentElement,s=document.body,l=\"light\",d=\"dark\",i=r===\"dark\";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.mode=r,r},m=\"${defaultValue}\",e=\"${key}\",t=localStorage.getItem(e);t?a(t):(localStorage.setItem(e,m),localStorage.setItem(\\`default-\\${e}\\`,a(m)))}catch{}})();`\n else\n return `!(function(){try{var a=function(o){var l=\"(prefers-color-scheme: dark)\",v=window.matchMedia(l).matches?\"dark\":\"light\",e=o===\"system\"?v:o,d=document.documentElement,m=document.body,i=\"light\",n=\"dark\",s=e===\"dark\";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.mode=e,e},h=\"${defaultValue}\",r=\"${key}\",t=document.cookie.match(new RegExp(\"(^| )\".concat(r,\"=([^;]+)\"))),c=t?t[2]:null;c?a(c):(document.cookie=\"\".concat(r,\"=\").concat(h,\"; max-age=31536000; path=/\"),document.cookie=\"\".concat(\\`default-\\${r}\\`,\"=\").concat(a(h),\"; max-age=31536000; path=/\"))}catch{}})();`\n else if (storage === \"localStorage\")\n return `!(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},m='${defaultValue}',e='${key}',t=localStorage.getItem(e);t?a(t):localStorage.setItem(e, a(m))}catch{}})();`\n else\n return `!(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},h='${defaultValue}',r='${key}',t=document.cookie.match(new RegExp('(^| )'.concat(r,'=([^;]+)'))),c=t?t[2]:null;c?a(c):(document.cookie=''.concat(r,'=').concat(a(h),'; max-age=31536000; path=/'))}catch{}})();`\n }\n}\n\nexport function ColorModeScript({\n nonce,\n ...rest\n}: StorageScriptProps<ColorModeWithSystem>) {\n const html = getStorageScript(\n \"colorMode\",\n COLOR_MODE_STORAGE_KEY,\n )({ defaultValue: \"light\", ...rest })\n\n if (createdDom()) return null\n\n return <script dangerouslySetInnerHTML={{ __html: html }} nonce={nonce} />\n}\n\nexport function ThemeSchemeScript({\n nonce,\n ...rest\n}: StorageScriptProps<ThemeScheme>) {\n const html = getStorageScript(\n \"themeScheme\",\n THEME_SCHEME_STORAGE_KEY,\n )({\n defaultValue: \"base\",\n ...rest,\n })\n\n if (createdDom()) return null\n\n return <script dangerouslySetInnerHTML={{ __html: html }} nonce={nonce} />\n}\n"],"mappings":";;;;;AAcA,SAAgB,iBACd,MACA,YACA;CACA,OAAO,SAAU,EACf,MAAM,YACN,MAAM,UAAU,gBAChB,iBACwC,CAAC,GAAG;EAC5C,IAAI,SAAS,aACX,IAAI,YAAY,gBACd,OAAO,4TAA4T,aAAa,OAAO,IAAI;OAE3V,OAAO,4TAA4T,aAAa,OAAO,IAAI;OAC1V,IAAI,YAAY,gBACnB,OAAO,oGAAoG,aAAa,OAAO,IAAI;OAEnI,OAAO,oGAAoG,aAAa,OAAO,IAAI;CACvI;AACF;AAEA,SAAgB,gBAAgB,EAC9B,OACA,GAAG,QACuC;CAC1C,MAAM,OAAO,iBACX,aACA,sBACF,CAAC,CAAC;EAAE,cAAc;EAAS,GAAG;CAAK,CAAC;CAEpC,KAAA,GAAA,cAAA,WAAA,CAAe,GAAG,OAAO;CAEzB,OAAO,oBAAC,UAAD;EAAQ,yBAAyB,EAAE,QAAQ,KAAK;EAAU;CAAQ,CAAA;AAC3E;AAEA,SAAgB,kBAAkB,EAChC,OACA,GAAG,QAC+B;CAClC,MAAM,OAAO,iBACX,eACA,wBACF,CAAC,CAAC;EACA,cAAc;EACd,GAAG;CACL,CAAC;CAED,KAAA,GAAA,cAAA,WAAA,CAAe,GAAG,OAAO;CAEzB,OAAO,oBAAC,UAAD;EAAQ,yBAAyB,EAAE,QAAQ,KAAK;EAAU;CAAQ,CAAA;AAC3E"}
1
+ {"version":3,"file":"storage-script.js","names":["createdDom"],"sources":["../../../../src/core/system/storage-script.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ColorModeWithSystem, ThemeScheme } from \"./index.types\"\nimport type { Storage } from \"./storage-manager\"\nimport { createdDom } from \"../../utils\"\nimport { COLOR_MODE_STORAGE_KEY, THEME_SCHEME_STORAGE_KEY } from \"../constant\"\n\nexport interface StorageScriptProps<Y extends string> {\n defaultValue?: Y\n key?: string\n nonce?: string\n type?: Storage\n}\n\nexport function getStorageScript<Y extends string>(\n type: \"colorMode\" | \"themeScheme\",\n defaultKey: string,\n) {\n return function ({\n key = defaultKey,\n type: storage = \"localStorage\",\n defaultValue,\n }: Omit<StorageScriptProps<Y>, \"nonce\"> = {}) {\n if (type === \"colorMode\")\n if (storage === \"localStorage\")\n return `!(function(){try{var a=function(c){var v=\"(prefers-color-scheme: dark)\",h=window.matchMedia(v).matches?\"dark\":\"light\",r=c===\"system\"?h:c,o=document.documentElement,s=document.body,l=\"light\",d=\"dark\",i=r===\"dark\";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.mode=r,r},m=\"${defaultValue}\",e=\"${key}\",t=localStorage.getItem(e);t?a(t):(localStorage.setItem(e,m),localStorage.setItem(\\`default-\\${e}\\`,a(m)))}catch{}})();`\n else\n return `!(function(){try{var a=function(o){var l=\"(prefers-color-scheme: dark)\",v=window.matchMedia(l).matches?\"dark\":\"light\",e=o===\"system\"?v:o,d=document.documentElement,m=document.body,i=\"light\",n=\"dark\",s=e===\"dark\";return m.classList.add(s?n:i),m.classList.remove(s?i:n),d.style.colorScheme=e,d.dataset.mode=e,e},h=\"${defaultValue}\",r=\"${key}\",t=document.cookie.match(new RegExp(\"(^| )\".concat(r,\"=([^;]+)\"))),c=t?t[2]:null;c?a(c):(document.cookie=\"\".concat(r,\"=\").concat(h,\"; max-age=31536000; path=/\"),document.cookie=\"\".concat(\\`default-\\${r}\\`,\"=\").concat(a(h),\"; max-age=31536000; path=/\"))}catch{}})();`\n else if (storage === \"localStorage\")\n return `!(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},m='${defaultValue}',e='${key}',t=localStorage.getItem(e);t?a(t):localStorage.setItem(e, a(m))}catch{}})();`\n else\n return `!(function(){try{var a=function(c){var o=document.documentElement;return o.dataset.theme=c,c},h='${defaultValue}',r='${key}',t=document.cookie.match(new RegExp('(^| )'.concat(r,'=([^;]+)'))),c=t?t[2]:null;c?a(c):(document.cookie=''.concat(r,'=').concat(a(h),'; max-age=31536000; path=/'))}catch{}})();`\n }\n}\n\nexport function ColorModeScript({\n nonce,\n ...rest\n}: StorageScriptProps<ColorModeWithSystem>) {\n const html = getStorageScript(\n \"colorMode\",\n COLOR_MODE_STORAGE_KEY,\n )({ defaultValue: \"light\", ...rest })\n\n if (createdDom()) return null\n\n return <script dangerouslySetInnerHTML={{ __html: html }} nonce={nonce} />\n}\n\nexport function ThemeSchemeScript({\n nonce,\n ...rest\n}: StorageScriptProps<ThemeScheme>) {\n const html = getStorageScript(\n \"themeScheme\",\n THEME_SCHEME_STORAGE_KEY,\n )({\n defaultValue: \"base\",\n ...rest,\n })\n\n if (createdDom()) return null\n\n return <script dangerouslySetInnerHTML={{ __html: html }} nonce={nonce} />\n}\n"],"mappings":";;;;;AAcA,SAAgB,iBACd,MACA,YACA;CACA,OAAO,SAAU,EACf,MAAM,YACN,MAAM,UAAU,gBAChB,iBACwC,CAAC,GAAG;EAC5C,IAAI,SAAS,aACX,IAAI,YAAY,gBACd,OAAO,4TAA4T,aAAa,OAAO,IAAI;OAE3V,OAAO,4TAA4T,aAAa,OAAO,IAAI;OAC1V,IAAI,YAAY,gBACnB,OAAO,oGAAoG,aAAa,OAAO,IAAI;OAEnI,OAAO,oGAAoG,aAAa,OAAO,IAAI;CACvI;AACF;AAEA,SAAgB,gBAAgB,EAC9B,OACA,GAAG,QACuC;CAC1C,MAAM,OAAO,iBACX,aACA,sBACF,CAAC,CAAC;EAAE,cAAc;EAAS,GAAG;CAAK,CAAC;CAEpC,KAAA,GAAIA,cAAAA,WAAAA,CAAW,GAAG,OAAO;CAEzB,OAAO,oBAAC,UAAD;EAAQ,yBAAyB,EAAE,QAAQ,KAAK;EAAU;CAAQ,CAAA;AAC3E;AAEA,SAAgB,kBAAkB,EAChC,OACA,GAAG,QAC+B;CAClC,MAAM,OAAO,iBACX,eACA,wBACF,CAAC,CAAC;EACA,cAAc;EACd,GAAG;CACL,CAAC;CAED,KAAA,GAAIA,cAAAA,WAAAA,CAAW,GAAG,OAAO;CAEzB,OAAO,oBAAC,UAAD;EAAQ,yBAAyB,EAAE,QAAQ,KAAK;EAAU;CAAQ,CAAA;AAC3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":["createContext"],"sources":["../../../../src/core/system/styled.tsx"],"sourcesContent":["\"use client\"\n\nimport type { EmotionCache, SerializedStyles } from \"@emotion/utils\"\nimport type { FC } from \"react\"\nimport type { Dict } from \"../../utils\"\nimport type { As, ShouldForwardProp, StyledComponent } from \"../components\"\nimport type { CSSModifierObject, CSSPropObject } from \"../css\"\nimport type {\n ColorScheme,\n ComponentStyle,\n System,\n UsageTheme,\n} from \"./index.types\"\nimport { withEmotionCache } from \"@emotion/react\"\nimport { serializeStyles } from \"@emotion/serialize\"\nimport { useInsertionEffectAlwaysWithSyncFallback } from \"@emotion/use-insertion-effect-with-fallbacks\"\nimport {\n getRegisteredStyles,\n insertStyles,\n registerStyles,\n} from \"@emotion/utils\"\nimport { useMemo, useRef } from \"react\"\nimport isEqual from \"react-fast-compare\"\nimport { Slot } from \"../../components/slot\"\nimport {\n createContext,\n createdDom,\n cx,\n filterEmpty,\n filterUndefined,\n isString,\n isUndefined,\n runIfFn,\n splitObject,\n toArray,\n toKebabCase,\n} from \"../../utils\"\nimport {\n createShouldForwardProp,\n getDisplayName,\n useComponentStyle,\n} from \"../components\"\nimport { css } from \"../css\"\nimport { useSystem } from \"./system-provider\"\nimport { useTheme } from \"./theme-provider\"\n\ninterface InsertionProps {\n cache: EmotionCache\n htmlTag: boolean\n serialized: SerializedStyles\n}\n\nconst Insertion: FC<InsertionProps> = ({ cache, htmlTag, serialized }) => {\n registerStyles(cache, serialized, htmlTag)\n\n const style = useInsertionEffectAlwaysWithSyncFallback(() =>\n insertStyles(cache, serialized, htmlTag),\n )\n\n if (!createdDom() && !isUndefined(style)) {\n let className = serialized.name\n let next = serialized.next\n\n while (next !== undefined) {\n className = cx(className, next.name) ?? \"\"\n next = next.next\n }\n\n return (\n <style\n data-emotion={cx(cache.key, className)}\n dangerouslySetInnerHTML={{ __html: style }}\n nonce={cache.sheet.nonce}\n />\n )\n } else {\n return null\n }\n}\n\nconst useSplitProps = <Y extends Dict, M extends Dict>(\n props: Dict,\n shouldForwardProp?: ShouldForwardProp,\n) => {\n const propsRef = useRef(props)\n\n if (!isEqual(propsRef.current, props)) propsRef.current = props\n\n const computedProps = propsRef.current\n\n return useMemo(\n () => splitObject<Y, M>(computedProps, shouldForwardProp),\n [computedProps, shouldForwardProp],\n )\n}\n\nexport const [ColorSchemeContext, useColorSchemeContext] =\n createContext<ColorScheme>({\n name: \"ColorSchemeContext\",\n strict: false,\n })\n\nexport interface StyledOptions<\n Y extends CSSPropObject = CSSPropObject,\n M extends CSSModifierObject = CSSModifierObject,\n D extends CSSModifierObject = CSSModifierObject,\n H extends number | string | symbol = string,\n> extends Omit<ComponentStyle<Y, M, D>, \"className\"> {\n className?: ((system: System) => string) | string\n displayName?: string\n forwardAsChild?: boolean\n name?: string\n shouldForwardProp?: boolean | ShouldForwardProp\n target?: string\n forwardProps?: string[]\n transferProps?: H[]\n}\n\nexport function createStyled<\n Y extends As,\n M extends object = {},\n D extends CSSPropObject = CSSPropObject,\n H extends CSSModifierObject = CSSModifierObject,\n R extends CSSModifierObject = CSSModifierObject,\n>(\n el: Y,\n {\n name,\n base,\n compounds,\n props,\n sizes,\n variants,\n defaultProps,\n transferProps,\n ...options\n }: StyledOptions<D, H, R, keyof M> = {},\n) {\n const displayName = options.displayName ?? getDisplayName(name, \"\")\n const shouldForwardProp = !options.shouldForwardProp\n ? createShouldForwardProp(options.forwardProps)\n : undefined\n const style = filterUndefined({\n base,\n compounds,\n props,\n sizes,\n variants,\n defaultProps,\n })\n\n const StyledComponent = withEmotionCache<Dict>(function (\n { as: Component = el, asChild, children, ...props },\n cache,\n ref,\n ) {\n let className: string | undefined = \"\"\n\n const system = useSystem()\n const { theme } = useTheme<UsageTheme>()\n const componentStyleOptions = {\n name,\n className: system.utils.getClassName(\n runIfFn(options.className, system) ?? toKebabCase(name ?? \"\"),\n ),\n style,\n transferProps,\n }\n const registered = useRef<string[]>([])\n const htmlTag = isString(Component)\n const forwardAsChild =\n options.forwardAsChild || options.forwardProps?.includes(\"asChild\")\n const [omittedProps, styleProps] = useSplitProps(props, shouldForwardProp)\n const [, rest] = useComponentStyle<any, {}>(\n omittedProps,\n componentStyleOptions,\n )\n const [cssArray, colorScheme, forwardProps] = useMemo(() => {\n const { css, colorScheme, ...forwardProps } = rest\n\n return [toArray(css), colorScheme, forwardProps]\n }, [rest])\n\n styleProps.colorScheme ??= colorScheme\n\n if (forwardProps.className)\n className = getRegisteredStyles(\n cache.registered,\n registered.current,\n forwardProps.className,\n ).trim()\n\n const interpolations = useMemo(\n () => [\n ...registered.current,\n ...filterEmpty([...cssArray, styleProps].map(css(system, theme))),\n ],\n [cssArray, system, styleProps, theme],\n )\n\n const serialized = useMemo(\n () => serializeStyles(interpolations, cache.registered),\n [interpolations, cache.registered],\n )\n\n className = cx(\n className,\n serialized.styles ? `${cache.key}-${serialized.name}` : undefined,\n )\n className = cx(className, options.target)\n\n if (!className) className = undefined\n\n const mergedProps = { ...forwardProps, className, children }\n\n return (\n <ColorSchemeContext value={styleProps.colorScheme}>\n <Insertion cache={cache} htmlTag={htmlTag} serialized={serialized} />\n\n {asChild && !forwardAsChild ? (\n <Slot ref={ref} {...mergedProps} />\n ) : (\n <Component ref={ref} {...mergedProps} />\n )}\n </ColorSchemeContext>\n )\n }) as StyledComponent<Y, M>\n\n StyledComponent.displayName = displayName || \"StyledComponent\"\n\n return StyledComponent\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"styled.js","names":["createdDom","isUndefined","cx","splitObject","createContext","filterUndefined","runIfFn","toKebabCase","isString","toArray","filterEmpty"],"sources":["../../../../src/core/system/styled.tsx"],"sourcesContent":["\"use client\"\n\nimport type { EmotionCache, SerializedStyles } from \"@emotion/utils\"\nimport type { FC } from \"react\"\nimport type { Dict } from \"../../utils\"\nimport type { As, ShouldForwardProp, StyledComponent } from \"../components\"\nimport type { CSSModifierObject, CSSPropObject } from \"../css\"\nimport type {\n ColorScheme,\n ComponentStyle,\n System,\n UsageTheme,\n} from \"./index.types\"\nimport { withEmotionCache } from \"@emotion/react\"\nimport { serializeStyles } from \"@emotion/serialize\"\nimport { useInsertionEffectAlwaysWithSyncFallback } from \"@emotion/use-insertion-effect-with-fallbacks\"\nimport {\n getRegisteredStyles,\n insertStyles,\n registerStyles,\n} from \"@emotion/utils\"\nimport { useMemo, useRef } from \"react\"\nimport isEqual from \"react-fast-compare\"\nimport { Slot } from \"../../components/slot\"\nimport {\n createContext,\n createdDom,\n cx,\n filterEmpty,\n filterUndefined,\n isString,\n isUndefined,\n runIfFn,\n splitObject,\n toArray,\n toKebabCase,\n} from \"../../utils\"\nimport {\n createShouldForwardProp,\n getDisplayName,\n useComponentStyle,\n} from \"../components\"\nimport { css } from \"../css\"\nimport { useSystem } from \"./system-provider\"\nimport { useTheme } from \"./theme-provider\"\n\ninterface InsertionProps {\n cache: EmotionCache\n htmlTag: boolean\n serialized: SerializedStyles\n}\n\nconst Insertion: FC<InsertionProps> = ({ cache, htmlTag, serialized }) => {\n registerStyles(cache, serialized, htmlTag)\n\n const style = useInsertionEffectAlwaysWithSyncFallback(() =>\n insertStyles(cache, serialized, htmlTag),\n )\n\n if (!createdDom() && !isUndefined(style)) {\n let className = serialized.name\n let next = serialized.next\n\n while (next !== undefined) {\n className = cx(className, next.name) ?? \"\"\n next = next.next\n }\n\n return (\n <style\n data-emotion={cx(cache.key, className)}\n dangerouslySetInnerHTML={{ __html: style }}\n nonce={cache.sheet.nonce}\n />\n )\n } else {\n return null\n }\n}\n\nconst useSplitProps = <Y extends Dict, M extends Dict>(\n props: Dict,\n shouldForwardProp?: ShouldForwardProp,\n) => {\n const propsRef = useRef(props)\n\n if (!isEqual(propsRef.current, props)) propsRef.current = props\n\n const computedProps = propsRef.current\n\n return useMemo(\n () => splitObject<Y, M>(computedProps, shouldForwardProp),\n [computedProps, shouldForwardProp],\n )\n}\n\nexport const [ColorSchemeContext, useColorSchemeContext] =\n createContext<ColorScheme>({\n name: \"ColorSchemeContext\",\n strict: false,\n })\n\nexport interface StyledOptions<\n Y extends CSSPropObject = CSSPropObject,\n M extends CSSModifierObject = CSSModifierObject,\n D extends CSSModifierObject = CSSModifierObject,\n H extends number | string | symbol = string,\n> extends Omit<ComponentStyle<Y, M, D>, \"className\"> {\n className?: ((system: System) => string) | string\n displayName?: string\n forwardAsChild?: boolean\n name?: string\n shouldForwardProp?: boolean | ShouldForwardProp\n target?: string\n forwardProps?: string[]\n transferProps?: H[]\n}\n\nexport function createStyled<\n Y extends As,\n M extends object = {},\n D extends CSSPropObject = CSSPropObject,\n H extends CSSModifierObject = CSSModifierObject,\n R extends CSSModifierObject = CSSModifierObject,\n>(\n el: Y,\n {\n name,\n base,\n compounds,\n props,\n sizes,\n variants,\n defaultProps,\n transferProps,\n ...options\n }: StyledOptions<D, H, R, keyof M> = {},\n) {\n const displayName = options.displayName ?? getDisplayName(name, \"\")\n const shouldForwardProp = !options.shouldForwardProp\n ? createShouldForwardProp(options.forwardProps)\n : undefined\n const style = filterUndefined({\n base,\n compounds,\n props,\n sizes,\n variants,\n defaultProps,\n })\n\n const StyledComponent = withEmotionCache<Dict>(function (\n { as: Component = el, asChild, children, ...props },\n cache,\n ref,\n ) {\n let className: string | undefined = \"\"\n\n const system = useSystem()\n const { theme } = useTheme<UsageTheme>()\n const componentStyleOptions = {\n name,\n className: system.utils.getClassName(\n runIfFn(options.className, system) ?? toKebabCase(name ?? \"\"),\n ),\n style,\n transferProps,\n }\n const registered = useRef<string[]>([])\n const htmlTag = isString(Component)\n const forwardAsChild =\n options.forwardAsChild || options.forwardProps?.includes(\"asChild\")\n const [omittedProps, styleProps] = useSplitProps(props, shouldForwardProp)\n const [, rest] = useComponentStyle<any, {}>(\n omittedProps,\n componentStyleOptions,\n )\n const [cssArray, colorScheme, forwardProps] = useMemo(() => {\n const { css, colorScheme, ...forwardProps } = rest\n\n return [toArray(css), colorScheme, forwardProps]\n }, [rest])\n\n styleProps.colorScheme ??= colorScheme\n\n if (forwardProps.className)\n className = getRegisteredStyles(\n cache.registered,\n registered.current,\n forwardProps.className,\n ).trim()\n\n const interpolations = useMemo(\n () => [\n ...registered.current,\n ...filterEmpty([...cssArray, styleProps].map(css(system, theme))),\n ],\n [cssArray, system, styleProps, theme],\n )\n\n const serialized = useMemo(\n () => serializeStyles(interpolations, cache.registered),\n [interpolations, cache.registered],\n )\n\n className = cx(\n className,\n serialized.styles ? `${cache.key}-${serialized.name}` : undefined,\n )\n className = cx(className, options.target)\n\n if (!className) className = undefined\n\n const mergedProps = { ...forwardProps, className, children }\n\n return (\n <ColorSchemeContext value={styleProps.colorScheme}>\n <Insertion cache={cache} htmlTag={htmlTag} serialized={serialized} />\n\n {asChild && !forwardAsChild ? (\n <Slot ref={ref} {...mergedProps} />\n ) : (\n <Component ref={ref} {...mergedProps} />\n )}\n </ColorSchemeContext>\n )\n }) as StyledComponent<Y, M>\n\n StyledComponent.displayName = displayName || \"StyledComponent\"\n\n return StyledComponent\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoDA,MAAM,aAAiC,EAAE,OAAO,SAAS,iBAAiB;CACxE,eAAe,OAAO,YAAY,OAAO;CAEzC,MAAM,QAAQ,+CACZ,aAAa,OAAO,YAAY,OAAO,CACzC;CAEA,IAAI,EAAA,GAACA,cAAAA,WAAAA,CAAW,KAAK,EAAA,GAACC,cAAAA,YAAAA,CAAY,KAAK,GAAG;EACxC,IAAI,YAAY,WAAW;EAC3B,IAAI,OAAO,WAAW;EAEtB,OAAO,SAAS,KAAA,GAAW;GACzB,aAAA,GAAYC,cAAAA,GAAAA,CAAG,WAAW,KAAK,IAAI,KAAK;GACxC,OAAO,KAAK;EACd;EAEA,OACE,oBAAC,SAAD;GACE,iBAAA,GAAcA,cAAAA,GAAAA,CAAG,MAAM,KAAK,SAAS;GACrC,yBAAyB,EAAE,QAAQ,MAAM;GACzC,OAAO,MAAM,MAAM;EACpB,CAAA;CAEL,OACE,OAAO;AAEX;AAEA,MAAM,iBACJ,OACA,sBACG;CACH,MAAM,WAAW,OAAO,KAAK;CAE7B,IAAI,CAAC,QAAQ,SAAS,SAAS,KAAK,GAAG,SAAS,UAAU;CAE1D,MAAM,gBAAgB,SAAS;CAE/B,OAAO,eAAA,GACCC,cAAAA,YAAAA,CAAkB,eAAe,iBAAiB,GACxD,CAAC,eAAe,iBAAiB,CACnC;AACF;AAEA,MAAa,CAAC,oBAAoB,yBAChCC,gBAA2B;CACzB,MAAM;CACN,QAAQ;AACV,CAAC;AAkBH,SAAgB,aAOd,IACA,EACE,MACA,MACA,WACA,OACA,OACA,UACA,cACA,eACA,GAAG,YACgC,CAAC,GACtC;CACA,MAAM,cAAc,QAAQ,eAAe,eAAe,MAAM,EAAE;CAClE,MAAM,oBAAoB,CAAC,QAAQ,oBAC/B,wBAAwB,QAAQ,YAAY,IAC5C,KAAA;CACJ,MAAM,SAAA,GAAQC,cAAAA,gBAAAA,CAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,kBAAkB,iBAAuB,SAC7C,EAAE,IAAI,YAAY,IAAI,SAAS,UAAU,GAAG,SAC5C,OACA,KACA;EACA,IAAI,YAAgC;EAEpC,MAAM,SAAS,UAAU;EACzB,MAAM,EAAE,UAAU,SAAqB;EACvC,MAAM,wBAAwB;GAC5B;GACA,WAAW,OAAO,MAAM,cAAA,GACtBC,cAAAA,QAAAA,CAAQ,QAAQ,WAAW,MAAM,MAAA,GAAKC,cAAAA,YAAAA,CAAY,QAAQ,EAAE,CAC9D;GACA;GACA;EACF;EACA,MAAM,aAAa,OAAiB,CAAC,CAAC;EACtC,MAAM,WAAA,GAAUC,cAAAA,SAAAA,CAAS,SAAS;EAClC,MAAM,iBACJ,QAAQ,kBAAkB,QAAQ,cAAc,SAAS,SAAS;EACpE,MAAM,CAAC,cAAc,cAAc,cAAc,OAAO,iBAAiB;EACzE,MAAM,GAAG,QAAQ,kBACf,cACA,qBACF;EACA,MAAM,CAAC,UAAU,aAAa,gBAAgB,cAAc;GAC1D,MAAM,EAAE,KAAK,aAAa,GAAG,iBAAiB;GAE9C,OAAO;KAACC,GAAAA,cAAAA,QAAAA,CAAQ,GAAG;IAAG;IAAa;GAAY;EACjD,GAAG,CAAC,IAAI,CAAC;EAET,WAAW,gBAAgB;EAE3B,IAAI,aAAa,WACf,YAAY,oBACV,MAAM,YACN,WAAW,SACX,aAAa,SACf,CAAC,CAAC,KAAK;EAET,MAAM,iBAAiB,cACf,CACJ,GAAG,WAAW,SACd,IAAA,GAAGC,cAAAA,YAAAA,CAAY,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,CAClE,GACA;GAAC;GAAU;GAAQ;GAAY;EAAK,CACtC;EAEA,MAAM,aAAa,cACX,gBAAgB,gBAAgB,MAAM,UAAU,GACtD,CAAC,gBAAgB,MAAM,UAAU,CACnC;EAEA,aAAA,GAAYR,cAAAA,GAAAA,CACV,WACA,WAAW,SAAS,GAAG,MAAM,IAAI,GAAG,WAAW,SAAS,KAAA,CAC1D;EACA,aAAA,GAAYA,cAAAA,GAAAA,CAAG,WAAW,QAAQ,MAAM;EAExC,IAAI,CAAC,WAAW,YAAY,KAAA;EAE5B,MAAM,cAAc;GAAE,GAAG;GAAc;GAAW;EAAS;EAE3D,OACE,qBAAC,oBAAD;GAAoB,OAAO,WAAW;GAAtC,UAAA,CACE,oBAAC,WAAD;IAAkB;IAAgB;IAAqB;GAAa,CAAA,GAEnE,WAAW,CAAC,iBACX,oBAAC,MAAD;IAAW;IAAK,GAAI;GAAc,CAAA,IAElC,oBAAC,WAAD;IAAgB;IAAK,GAAI;GAAc,CAAA,CAEvB;;CAExB,CAAC;CAED,gBAAgB,cAAc,eAAe;CAE7C,OAAO;AACT"}
@@ -82,11 +82,12 @@ const GlobalStyles = () => {
82
82
  if (!style || (0, utils_exports.isEmptyObject)(style)) return void 0;
83
83
  return css(system, theme)(style);
84
84
  }, [system, theme]);
85
+ const varRules = useMemo(() => {
86
+ return createVarRules(system.config.css?.varRoot ?? ":host, :root", system.cssVars);
87
+ }, [system]);
85
88
  return /* @__PURE__ */ jsx(Global, { styles: [
86
89
  atRule,
87
- wrap("tokens", useMemo(() => {
88
- return createVarRules(system.config.css?.varRoot ?? ":host, :root", system.cssVars);
89
- }, [system])),
90
+ wrap("tokens", varRules),
90
91
  wrap("reset", resetStyle),
91
92
  wrap("global", globalStyle)
92
93
  ] });