@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":"slider.cjs","names":["createSlotComponent","sliderStyle","useSlider","useValue","styled","varAttr"],"sources":["../../../../src/components/slider/slider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, ReactElement, ReactNode } from \"react\"\nimport type {\n CSSProps,\n GenericsComponent,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { SliderStyle } from \"./slider.style\"\nimport type { UseSliderProps, UseSliderReturn } from \"./use-slider\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { dataAttr, isNumber } from \"../../utils\"\nimport { sliderStyle } from \"./slider.style\"\nimport { useSlider } from \"./use-slider\"\n\ninterface ComponentContext extends Pick<\n UseSliderReturn,\n | \"getInputProps\"\n | \"getMarkProps\"\n | \"getRangeProps\"\n | \"getThumbProps\"\n | \"getTrackProps\"\n | \"range\"\n> {}\n\nexport interface SliderRootProps<Y extends [number, number] | number = number>\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"onChange\" | \"ref\">,\n Omit<UseSliderProps<Y>, \"orientation\">,\n ThemeProps<SliderStyle> {\n /**\n * The fill color of the indicator.\n */\n indicatorFill?: CSSProps[\"color\"]\n /**\n * The rounded of the indicator.\n */\n indicatorRounded?: CSSProps[\"rounded\"]\n /**\n * The marks to display on the slider.\n */\n marks?: SliderMarksProps[\"marks\"]\n /**\n * The fill color of the range.\n */\n rangeFill?: CSSProps[\"color\"]\n /**\n * The fill color of the thumb.\n */\n thumbFill?: CSSProps[\"color\"]\n /**\n * The rounded of the thumb.\n */\n thumbRounded?: CSSProps[\"rounded\"]\n /**\n * The size of the thumb.\n */\n thumbSize?: CSSProps[\"boxSize\"]\n /**\n * The stroke color of the thumb.\n */\n thumbStroke?: CSSProps[\"color\"]\n /**\n * The fill color of the track.\n */\n trackFill?: CSSProps[\"color\"]\n /**\n * The rounded of the track.\n */\n trackRounded?: CSSProps[\"rounded\"]\n /**\n * The size of the track.\n */\n trackSize?: CSSProps[\"boxSize\"]\n /**\n * Props for the input element.\n */\n inputProps?: SliderInputProps\n /**\n * Props for the marks element.\n */\n marksProps?: Partial<SliderMarksProps>\n /**\n * Props for the range element.\n */\n rangeProps?: SliderRangeProps\n /**\n * Props for the thumb element.\n */\n thumbProps?: SliderThumbProps\n /**\n * Props for the track element.\n */\n trackProps?: SliderTrackProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SliderPropsContext,\n useComponentContext,\n usePropsContext: useSliderPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SliderRootProps, SliderStyle, ComponentContext>(\n \"slider\",\n sliderStyle,\n)\n\nexport { SliderPropsContext, useSliderPropsContext }\n\n/**\n * `Slider` is a component used for allowing users to select a value from a range.\n *\n * @see https://yamada-ui.com/docs/components/slider\n */\nexport const SliderRoot = withProvider<\"input\", SliderRootProps, \"orientation\">(\n <Y extends [number, number] | number = number>({\n children,\n marks,\n orientation: orientationProp,\n inputProps,\n marksProps,\n rangeProps,\n thumbProps,\n trackProps,\n ...rest\n }: SliderRootProps<Y>) => {\n const orientation = useValue(orientationProp)\n const {\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n } = useSlider<Y>({ orientation, ...rest })\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <SliderTrack {...trackProps}>\n <SliderRange {...rangeProps} />\n\n {range ? (\n <SliderThumbs {...thumbProps} />\n ) : (\n <SliderThumb {...thumbProps} />\n )}\n </SliderTrack>\n\n {marks ? <SliderMarks marks={marks} {...marksProps} /> : null}\n </>\n )\n }, [children, marks, marksProps, range, rangeProps, thumbProps, trackProps])\n const context = useMemo(\n () => ({\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getThumbProps,\n getTrackProps,\n }),\n [\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getThumbProps,\n getTrackProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>\n <SliderInput {...inputProps} />\n\n {computedChildren}\n </styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"orientation\"] },\n)(\n undefined,\n ({\n indicatorFill,\n indicatorRounded,\n rangeFill,\n thumbFill,\n thumbRounded,\n thumbSize,\n thumbStroke,\n trackFill,\n trackRounded,\n trackSize,\n ...rest\n }) => ({\n \"--indicator-fill\": varAttr(indicatorFill, \"colors\"),\n \"--indicator-rounded\": varAttr(indicatorRounded, \"radii\"),\n \"--range-fill\": varAttr(rangeFill, \"colors\"),\n \"--thumb-fill\": varAttr(thumbFill, \"colors\"),\n \"--thumb-rounded\": varAttr(thumbRounded, \"radii\"),\n \"--thumb-size\": varAttr(thumbSize, \"sizes\"),\n \"--thumb-stroke\": varAttr(thumbStroke, \"colors\"),\n \"--track-fill\": varAttr(trackFill, \"colors\"),\n \"--track-rounded\": varAttr(trackRounded, \"radii\"),\n \"--track-size\": varAttr(trackSize, \"sizes\"),\n ...rest,\n }),\n) as GenericsComponent<{\n <Y extends [number, number] | number = number>(\n props: SliderRootProps<Y>,\n ): ReactElement\n}>\n\ninterface SliderInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst SliderInput: FC<SliderInputProps> = () => {\n const { range, getInputProps } = useComponentContext()\n\n return range ? (\n Array.from({ length: 2 }).map((_, index) => (\n <styled.input key={index} {...getInputProps({ index })} />\n ))\n ) : (\n <styled.input {...getInputProps()} />\n )\n}\n\nexport interface SliderTrackProps extends HTMLStyledProps {}\n\nexport const SliderTrack = withContext<\"div\", SliderTrackProps>(\"div\", \"track\")(\n undefined,\n (props) => {\n const { getTrackProps } = useComponentContext()\n\n return getTrackProps(props)\n },\n)\n\nexport interface SliderRangeProps extends HTMLStyledProps {}\n\nexport const SliderRange = withContext<\"div\", SliderRangeProps>(\"div\", \"range\")(\n undefined,\n (props) => {\n const { getRangeProps } = useComponentContext()\n\n return getRangeProps(props)\n },\n)\n\nexport interface SliderMarkProps extends HTMLStyledProps {\n /**\n * The value of the mark.\n */\n value: number\n /**\n * Whether the mark is an indicator.\n *\n * @default true\n */\n indicator?: boolean\n}\n\nexport const SliderMark = withContext<\"div\", SliderMarkProps>(\"div\", \"mark\")(\n undefined,\n ({ indicator = true, ...props }) => {\n const { getMarkProps } = useComponentContext()\n\n return getMarkProps({ \"data-indicator\": dataAttr(indicator), ...props })\n },\n)\n\nexport interface SliderMarksProps extends Omit<SliderMarkProps, \"value\"> {\n /**\n * The marks to display on the slider.\n */\n marks: (number | { label: ReactNode; value: number; indicator?: boolean })[]\n}\n\nexport const SliderMarks: FC<SliderMarksProps> = ({ marks, ...props }) => {\n return (\n <>\n {marks.map((mark, index) => {\n if (isNumber(mark)) {\n return <SliderMark key={index} value={mark} {...props} />\n } else {\n const { indicator, label, value } = mark\n\n return (\n <SliderMark key={index} indicator={indicator} value={value}>\n {label}\n </SliderMark>\n )\n }\n })}\n </>\n )\n}\n\nexport interface SliderThumbProps extends HTMLStyledProps {\n /**\n * The index of the thumb.\n */\n index?: number\n}\n\nexport const SliderThumb = withContext<\"div\", SliderThumbProps>(\"div\", \"thumb\")(\n undefined,\n (props) => {\n const { getThumbProps } = useComponentContext()\n\n return getThumbProps(props)\n },\n)\n\nexport interface SliderThumbsProps extends SliderThumbProps {}\n\nexport const SliderThumbs: FC<SliderThumbsProps> = (props) => {\n return (\n <>\n {Array.from({ length: 2 }).map((_, index) => (\n <SliderThumb key={index} index={index} {...props} />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;AAmGA,MAAM,EACJ,kBACA,cAAc,oBACd,qBACA,iBAAiB,uBACjB,aACA,iBACEA,yBAAAA,oBACF,UACAC,qBAAAA,WACF;;;;;;AASA,MAAa,aAAa,cACuB,EAC7C,UACA,OACA,aAAa,iBACb,YACA,YACA,YACA,YACA,YACA,GAAG,WACqB;CAExB,MAAM,EACJ,OACA,eACA,cACA,eACA,cACA,eACA,kBACEC,mBAAAA,UAAa;EAAE,aATCC,8BAAAA,SAAS,eASA;EAAG,GAAG;CAAK,CAAC;CACzC,MAAM,oBAAA,GAAA,MAAA,QAAA,OAAiC;EACrC,IAAI,UAAU,OAAO;EAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,aAAD;GAAa,GAAI;GAAjB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,EAAa,GAAI,WAAa,CAAA,GAE7B,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,EAAc,GAAI,WAAa,CAAA,IAE/B,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,EAAa,GAAI,WAAa,CAAA,CAErB;EAEZ,CAAA,GAAA,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;GAAoB;GAAO,GAAI;EAAa,CAAA,IAAI,IACzD,EAAA,CAAA;CAEN,GAAG;EAAC;EAAU;EAAO;EAAY;EAAO;EAAY;EAAY;CAAU,CAAC;CAC3E,MAAM,WAAA,GAAA,MAAA,QAAA,QACG;EACL;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,OAAO;EACvB,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,KAAR;GAAY,GAAI,aAAa;GAA7B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,EAAa,GAAI,WAAa,CAAA,GAE7B,gBACS;;CACI,CAAA;AAEtB,GACA,QACA,EAAE,eAAe,CAAC,aAAa,EAAE,CACnC,CAAC,CACC,KAAA,IACC,EACC,eACA,kBACA,WACA,WACA,cACA,WACA,aACA,WACA,cACA,WACA,GAAG,YACE;CACL,oBAAoBC,YAAAA,QAAQ,eAAe,QAAQ;CACnD,uBAAuBA,YAAAA,QAAQ,kBAAkB,OAAO;CACxD,gBAAgBA,YAAAA,QAAQ,WAAW,QAAQ;CAC3C,gBAAgBA,YAAAA,QAAQ,WAAW,QAAQ;CAC3C,mBAAmBA,YAAAA,QAAQ,cAAc,OAAO;CAChD,gBAAgBA,YAAAA,QAAQ,WAAW,OAAO;CAC1C,kBAAkBA,YAAAA,QAAQ,aAAa,QAAQ;CAC/C,gBAAgBA,YAAAA,QAAQ,WAAW,QAAQ;CAC3C,mBAAmBA,YAAAA,QAAQ,cAAc,OAAO;CAChD,gBAAgBA,YAAAA,QAAQ,WAAW,OAAO;CAC1C,GAAG;AACL,EACF;AAQA,MAAM,oBAA0C;CAC9C,MAAM,EAAE,OAAO,kBAAkB,oBAAoB;CAErD,OAAO,QACL,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAChC,iBAAA,GAAA,kBAAA,IAAA,CAACD,gBAAAA,OAAO,OAAR,EAA0B,GAAI,cAAc,EAAE,MAAM,CAAC,EAAI,GAAtC,KAAsC,CAC1D,IAED,iBAAA,GAAA,kBAAA,IAAA,CAACA,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,EAAI,CAAA;AAExC;AAIA,MAAa,cAAc,YAAqC,OAAO,OAAO,CAAC,CAC7E,KAAA,IACC,UAAU;CACT,MAAM,EAAE,kBAAkB,oBAAoB;CAE9C,OAAO,cAAc,KAAK;AAC5B,CACF;AAIA,MAAa,cAAc,YAAqC,OAAO,OAAO,CAAC,CAC7E,KAAA,IACC,UAAU;CACT,MAAM,EAAE,kBAAkB,oBAAoB;CAE9C,OAAO,cAAc,KAAK;AAC5B,CACF;AAeA,MAAa,aAAa,YAAoC,OAAO,MAAM,CAAC,CAC1E,KAAA,IACC,EAAE,YAAY,MAAM,GAAG,YAAY;CAClC,MAAM,EAAE,iBAAiB,oBAAoB;CAE7C,OAAO,aAAa;EAAE,mBAAA,GAAA,oBAAA,cAAA,SAAA,CAA2B,SAAS;EAAG,GAAG;CAAM,CAAC;AACzE,CACF;AASA,MAAa,eAAqC,EAAE,OAAO,GAAG,YAAY;CACxE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAA,UACG,MAAM,KAAK,MAAM,UAAU;EAC1B,KAAA,GAAA,oBAAA,cAAA,SAAA,CAAa,IAAI,GACf,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;GAAwB,OAAO;GAAM,GAAI;EAAQ,GAAhC,KAAgC;OACnD;GACL,MAAM,EAAE,WAAW,OAAO,UAAU;GAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;IAAmC;IAAkB;IAClD,UAAA;GACS,GAFK,KAEL;EAEhB;CACF,CAAC,EACD,CAAA;AAEN;AASA,MAAa,cAAc,YAAqC,OAAO,OAAO,CAAC,CAC7E,KAAA,IACC,UAAU;CACT,MAAM,EAAE,kBAAkB,oBAAoB;CAE9C,OAAO,cAAc,KAAK;AAC5B,CACF;AAIA,MAAa,gBAAuC,UAAU;CAC5D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAA,UACG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;EAAgC;EAAO,GAAI;CAAQ,GAAjC,KAAiC,CACpD,EACD,CAAA;AAEN"}
1
+ {"version":3,"file":"slider.cjs","names":["createSlotComponent","sliderStyle","useValue","useSlider","useMemo","styled","varAttr"],"sources":["../../../../src/components/slider/slider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, ReactElement, ReactNode } from \"react\"\nimport type {\n CSSProps,\n GenericsComponent,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { SliderStyle } from \"./slider.style\"\nimport type { UseSliderProps, UseSliderReturn } from \"./use-slider\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { dataAttr, isNumber } from \"../../utils\"\nimport { sliderStyle } from \"./slider.style\"\nimport { useSlider } from \"./use-slider\"\n\ninterface ComponentContext extends Pick<\n UseSliderReturn,\n | \"getInputProps\"\n | \"getMarkProps\"\n | \"getRangeProps\"\n | \"getThumbProps\"\n | \"getTrackProps\"\n | \"range\"\n> {}\n\nexport interface SliderRootProps<Y extends [number, number] | number = number>\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"onChange\" | \"ref\">,\n Omit<UseSliderProps<Y>, \"orientation\">,\n ThemeProps<SliderStyle> {\n /**\n * The fill color of the indicator.\n */\n indicatorFill?: CSSProps[\"color\"]\n /**\n * The rounded of the indicator.\n */\n indicatorRounded?: CSSProps[\"rounded\"]\n /**\n * The marks to display on the slider.\n */\n marks?: SliderMarksProps[\"marks\"]\n /**\n * The fill color of the range.\n */\n rangeFill?: CSSProps[\"color\"]\n /**\n * The fill color of the thumb.\n */\n thumbFill?: CSSProps[\"color\"]\n /**\n * The rounded of the thumb.\n */\n thumbRounded?: CSSProps[\"rounded\"]\n /**\n * The size of the thumb.\n */\n thumbSize?: CSSProps[\"boxSize\"]\n /**\n * The stroke color of the thumb.\n */\n thumbStroke?: CSSProps[\"color\"]\n /**\n * The fill color of the track.\n */\n trackFill?: CSSProps[\"color\"]\n /**\n * The rounded of the track.\n */\n trackRounded?: CSSProps[\"rounded\"]\n /**\n * The size of the track.\n */\n trackSize?: CSSProps[\"boxSize\"]\n /**\n * Props for the input element.\n */\n inputProps?: SliderInputProps\n /**\n * Props for the marks element.\n */\n marksProps?: Partial<SliderMarksProps>\n /**\n * Props for the range element.\n */\n rangeProps?: SliderRangeProps\n /**\n * Props for the thumb element.\n */\n thumbProps?: SliderThumbProps\n /**\n * Props for the track element.\n */\n trackProps?: SliderTrackProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SliderPropsContext,\n useComponentContext,\n usePropsContext: useSliderPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SliderRootProps, SliderStyle, ComponentContext>(\n \"slider\",\n sliderStyle,\n)\n\nexport { SliderPropsContext, useSliderPropsContext }\n\n/**\n * `Slider` is a component used for allowing users to select a value from a range.\n *\n * @see https://yamada-ui.com/docs/components/slider\n */\nexport const SliderRoot = withProvider<\"input\", SliderRootProps, \"orientation\">(\n <Y extends [number, number] | number = number>({\n children,\n marks,\n orientation: orientationProp,\n inputProps,\n marksProps,\n rangeProps,\n thumbProps,\n trackProps,\n ...rest\n }: SliderRootProps<Y>) => {\n const orientation = useValue(orientationProp)\n const {\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n } = useSlider<Y>({ orientation, ...rest })\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <SliderTrack {...trackProps}>\n <SliderRange {...rangeProps} />\n\n {range ? (\n <SliderThumbs {...thumbProps} />\n ) : (\n <SliderThumb {...thumbProps} />\n )}\n </SliderTrack>\n\n {marks ? <SliderMarks marks={marks} {...marksProps} /> : null}\n </>\n )\n }, [children, marks, marksProps, range, rangeProps, thumbProps, trackProps])\n const context = useMemo(\n () => ({\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getThumbProps,\n getTrackProps,\n }),\n [\n range,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getThumbProps,\n getTrackProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>\n <SliderInput {...inputProps} />\n\n {computedChildren}\n </styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"orientation\"] },\n)(\n undefined,\n ({\n indicatorFill,\n indicatorRounded,\n rangeFill,\n thumbFill,\n thumbRounded,\n thumbSize,\n thumbStroke,\n trackFill,\n trackRounded,\n trackSize,\n ...rest\n }) => ({\n \"--indicator-fill\": varAttr(indicatorFill, \"colors\"),\n \"--indicator-rounded\": varAttr(indicatorRounded, \"radii\"),\n \"--range-fill\": varAttr(rangeFill, \"colors\"),\n \"--thumb-fill\": varAttr(thumbFill, \"colors\"),\n \"--thumb-rounded\": varAttr(thumbRounded, \"radii\"),\n \"--thumb-size\": varAttr(thumbSize, \"sizes\"),\n \"--thumb-stroke\": varAttr(thumbStroke, \"colors\"),\n \"--track-fill\": varAttr(trackFill, \"colors\"),\n \"--track-rounded\": varAttr(trackRounded, \"radii\"),\n \"--track-size\": varAttr(trackSize, \"sizes\"),\n ...rest,\n }),\n) as GenericsComponent<{\n <Y extends [number, number] | number = number>(\n props: SliderRootProps<Y>,\n ): ReactElement\n}>\n\ninterface SliderInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst SliderInput: FC<SliderInputProps> = () => {\n const { range, getInputProps } = useComponentContext()\n\n return range ? (\n Array.from({ length: 2 }).map((_, index) => (\n <styled.input key={index} {...getInputProps({ index })} />\n ))\n ) : (\n <styled.input {...getInputProps()} />\n )\n}\n\nexport interface SliderTrackProps extends HTMLStyledProps {}\n\nexport const SliderTrack = withContext<\"div\", SliderTrackProps>(\"div\", \"track\")(\n undefined,\n (props) => {\n const { getTrackProps } = useComponentContext()\n\n return getTrackProps(props)\n },\n)\n\nexport interface SliderRangeProps extends HTMLStyledProps {}\n\nexport const SliderRange = withContext<\"div\", SliderRangeProps>(\"div\", \"range\")(\n undefined,\n (props) => {\n const { getRangeProps } = useComponentContext()\n\n return getRangeProps(props)\n },\n)\n\nexport interface SliderMarkProps extends HTMLStyledProps {\n /**\n * The value of the mark.\n */\n value: number\n /**\n * Whether the mark is an indicator.\n *\n * @default true\n */\n indicator?: boolean\n}\n\nexport const SliderMark = withContext<\"div\", SliderMarkProps>(\"div\", \"mark\")(\n undefined,\n ({ indicator = true, ...props }) => {\n const { getMarkProps } = useComponentContext()\n\n return getMarkProps({ \"data-indicator\": dataAttr(indicator), ...props })\n },\n)\n\nexport interface SliderMarksProps extends Omit<SliderMarkProps, \"value\"> {\n /**\n * The marks to display on the slider.\n */\n marks: (number | { label: ReactNode; value: number; indicator?: boolean })[]\n}\n\nexport const SliderMarks: FC<SliderMarksProps> = ({ marks, ...props }) => {\n return (\n <>\n {marks.map((mark, index) => {\n if (isNumber(mark)) {\n return <SliderMark key={index} value={mark} {...props} />\n } else {\n const { indicator, label, value } = mark\n\n return (\n <SliderMark key={index} indicator={indicator} value={value}>\n {label}\n </SliderMark>\n )\n }\n })}\n </>\n )\n}\n\nexport interface SliderThumbProps extends HTMLStyledProps {\n /**\n * The index of the thumb.\n */\n index?: number\n}\n\nexport const SliderThumb = withContext<\"div\", SliderThumbProps>(\"div\", \"thumb\")(\n undefined,\n (props) => {\n const { getThumbProps } = useComponentContext()\n\n return getThumbProps(props)\n },\n)\n\nexport interface SliderThumbsProps extends SliderThumbProps {}\n\nexport const SliderThumbs: FC<SliderThumbsProps> = (props) => {\n return (\n <>\n {Array.from({ length: 2 }).map((_, index) => (\n <SliderThumb key={index} index={index} {...props} />\n ))}\n </>\n )\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_dom = require("../../utils/dom.cjs");
3
4
  const require_ref = require("../../utils/ref.cjs");
4
5
  const require_utils_index = require("../../utils/index.cjs");
@@ -73,7 +74,8 @@ const useSlider = (props = {}) => {
73
74
  value
74
75
  ]);
75
76
  const getPanValue = (0, react.useCallback)(({ x, y }, { bottom, height, left, width }) => {
76
- let nextValue = (0, require_utils_index.utils_exports.percentToValue)((orientation === "horizontal" ? x - left : bottom - y) / (orientation === "horizontal" ? width : height), min, max);
77
+ const percent = (orientation === "horizontal" ? x - left : bottom - y) / (orientation === "horizontal" ? width : height);
78
+ let nextValue = (0, require_utils_index.utils_exports.percentToValue)(percent, min, max);
77
79
  nextValue = parseFloat((0, require_utils_index.utils_exports.roundNumberToStep)(nextValue, min, step));
78
80
  nextValue = (0, require_utils_index.utils_exports.clampNumber)(nextValue, min, max);
79
81
  return nextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"use-slider.cjs","names":["useFieldProps","useControllableState","useI18n","usePanEvent","mergeProps","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/slider/use-slider.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent } from \"react\"\nimport type {\n HTMLProps,\n HTMLRefAttributes,\n Orientation,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Point } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { usePanEvent } from \"../../hooks/use-pan-event\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n clampNumber,\n cx,\n dataAttr,\n handlerAll,\n isArray,\n isNumber,\n mergeRefs,\n percentToValue,\n roundNumberToStep,\n runKeyAction,\n valueToPercent,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSliderProps<Y extends [number, number] | number = number>\n extends\n Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * The minimum distance between slider thumbs.\n * Useful for preventing the thumbs from being too close together.\n *\n * @default 0\n */\n betweenThumbs?: number\n /**\n * The initial value of the slider.\n */\n defaultValue?: Y\n /**\n * The base `id` to use for the slider.\n */\n id?: string\n /**\n * The maximum allowed value of the slider. Cannot be less than min.\n *\n * @default 100\n */\n max?: number\n /**\n * The minimum allowed value of the slider. Cannot be greater than max.\n *\n * @default 0\n */\n min?: number\n /**\n * The name attribute of the hidden `input` field.\n * This is particularly useful in forms.\n */\n name?: string\n /**\n * The orientation of the slider.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The step in which increments or decrements have to be made.\n *\n * @default 1\n */\n step?: number\n /**\n * The value of the slider.\n */\n value?: Y\n /**\n * This is used to format the value so that screen readers\n * can speak out a more human-friendly value.\n *\n * It is used to set the `aria-valuetext` property of the input.\n */\n getAriaValueText?: (value: number, index: number) => string | undefined\n /**\n * Function called whenever the slider value changes.\n */\n onChange?: (value: Y) => void\n /**\n * Function called when the user is done selecting a new value.\n */\n onChangeEnd?: (value: Y) => void\n /**\n * Function called when the user starts selecting a new value.\n */\n onChangeStart?: (value: Y) => void\n}\n\nexport const useSlider = <Y extends [number, number] | number = number>(\n props: UseSliderProps<Y> = {},\n) => {\n const {\n props: {\n id,\n ref,\n name,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-valuetext\": ariaValueText,\n betweenThumbs = 0,\n defaultValue = 0 as Y,\n disabled,\n getAriaValueText,\n max = 100,\n min = 0,\n orientation = \"horizontal\",\n readOnly,\n required,\n step = 1,\n value: valueProp,\n onChange: onChangeProp,\n onChangeEnd,\n onChangeStart,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { t } = useI18n(\"slider\")\n const currentIndex = useRef(0)\n const interactive = !(disabled || readOnly)\n const [_, getPanEventProps] = usePanEvent<HTMLDivElement>({\n onEnd: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n if (range) {\n const start = currentIndex.current === 0\n const oppositeIndex = currentIndex.current === 0 ? 1 : 0\n const oppositeValue = value[oppositeIndex]\n\n onChangeEnd?.(\n (start ? [panValue, oppositeValue] : [oppositeValue, panValue]) as Y,\n )\n } else {\n onChangeEnd?.(panValue as Y)\n }\n },\n onMove: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n onChange(currentIndex.current, panValue)\n },\n onStart: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n if (range) {\n const distances = value.map((value) => Math.abs(value - panValue))\n const closest = Math.min(...distances)\n const index = distances.indexOf(closest)\n\n currentIndex.current = index\n\n const start = index === 0\n const oppositeIndex = index === 0 ? 1 : 0\n const oppositeValue = value[oppositeIndex]\n\n onChangeStart?.(\n (start ? [panValue, oppositeValue] : [oppositeValue, panValue]) as Y,\n )\n } else {\n currentIndex.current = 0\n\n onChangeStart?.(value)\n }\n\n onChange(currentIndex.current, panValue)\n },\n })\n const range = !isNumber(value)\n const percent = (\n range\n ? value.map((value) => valueToPercent(value, min, max))\n : valueToPercent(value, min, max)\n ) as Y extends number ? number : number[]\n const tenStep = (max - min) / 10\n const oneStep = step || (max - min) / 100\n\n if (max < min) console.warn(\"Do not assign a number less than 'min' to 'max'\")\n\n const getMinMax = useCallback(\n (index: number) => {\n const start = index === 0\n const oppositeIndex = index === 0 ? 1 : 0\n const oppositeValue = range ? value[oppositeIndex] : value\n\n return {\n max: range ? (start ? oppositeValue - betweenThumbs : max) : max,\n min: range ? (start ? min : oppositeValue + betweenThumbs) : min,\n }\n },\n [betweenThumbs, max, min, range, value],\n )\n\n const getPanValue = useCallback(\n ({ x, y }: Point, { bottom, height, left, width }: DOMRect) => {\n const diff = orientation === \"horizontal\" ? x - left : bottom - y\n const length = orientation === \"horizontal\" ? width : height\n const percent = diff / length\n\n let nextValue = percentToValue(percent, min, max)\n\n nextValue = parseFloat(roundNumberToStep(nextValue, min, step))\n nextValue = clampNumber(nextValue, min, max)\n\n return nextValue\n },\n [orientation, min, max, step],\n )\n\n const onChange = useCallback(\n (index: number, value: number) => {\n if (!interactive) return\n\n const { max, min } = getMinMax(index)\n\n value = parseFloat(roundNumberToStep(value, min, oneStep))\n value = clampNumber(value, min, max)\n\n setValue((prev) => {\n if (isArray(prev)) {\n const next = [...prev]\n\n next[index] = value\n\n return next as Y\n } else {\n return value as Y\n }\n })\n },\n [getMinMax, interactive, oneStep, setValue],\n )\n\n const stepUp = useCallback(\n (index: number, step = oneStep) =>\n range\n ? onChange(index, value[index]! + step)\n : onChange(index, value + step),\n [oneStep, range, onChange, value],\n )\n\n const stepDown = useCallback(\n (index: number, step = oneStep) =>\n range\n ? onChange(index, value[index]! - step)\n : onChange(index, value - step),\n [oneStep, range, onChange, value],\n )\n\n const onKeyDown = useCallback(\n (index: number) => (ev: KeyboardEvent<HTMLDivElement>) => {\n const { max, min } = getMinMax(index)\n\n runKeyAction(ev, {\n ArrowDown: () => stepDown(index),\n ArrowLeft: () => stepDown(index),\n ArrowRight: () => stepUp(index),\n ArrowUp: () => stepUp(index),\n End: () => onChange(index, max),\n Home: () => onChange(index, min),\n PageDown: () => stepDown(index, tenStep),\n PageUp: () => stepUp(index, tenStep),\n })\n },\n [getMinMax, onChange, stepDown, stepUp, tenStep],\n )\n\n const getRootProps: PropGetter = useCallback(\n (props = {}) => {\n const computedProps: HTMLProps = mergeProps(\n dataProps,\n { \"data-orientation\": orientation },\n rest,\n props,\n { onBlur: eventProps.onBlur, onFocus: eventProps.onFocus },\n )()\n\n computedProps.style ??= {}\n\n if (isArray(percent)) {\n computedProps.style[\"--range-start\"] = `${Math.abs(percent[0]!)}%`\n computedProps.style[\"--range-end\"] = `${Math.abs(percent[1]!)}%`\n } else {\n computedProps.style[\"--range-start\"] = \"0%\"\n computedProps.style[\"--range-end\"] = `${Math.abs(percent)}%`\n }\n\n return computedProps\n },\n [dataProps, eventProps, orientation, percent, rest],\n )\n\n const getInputProps: PropGetter<\"input\", { index?: number }> = useCallback(\n ({ index = 0, ...props } = {}) => ({\n ...visuallyHiddenAttributes,\n ...dataProps,\n ...ariaProps,\n id,\n type: \"hidden\",\n name,\n disabled,\n readOnly,\n required,\n value: range ? value[index]! : value,\n ...props,\n ref: index === 0 ? mergeRefs(props.ref, ref) : props.ref,\n }),\n [\n dataProps,\n ariaProps,\n id,\n name,\n disabled,\n readOnly,\n required,\n range,\n value,\n ref,\n ],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props) =>\n getPanEventProps({\n ...dataProps,\n \"data-orientation\": orientation,\n ...props,\n }),\n [dataProps, getPanEventProps, orientation],\n )\n\n const getRangeProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n \"data-orientation\": orientation,\n \"data-range\": dataAttr(range),\n ...props,\n }),\n [dataProps, orientation, range],\n )\n\n const getMarkProps: RequiredPropGetter<\"div\", { value: number }> =\n useCallback(\n ({ style, value: valueProp, ...props }) => {\n const between = range\n ? value[0] < valueProp && valueProp < value[1]\n : valueProp < value\n const percent = valueToPercent(valueProp, min, max)\n\n return {\n ...dataProps,\n \"aria-hidden\": true,\n \"data-between\": dataAttr(between),\n \"data-orientation\": orientation,\n role: \"presentation\",\n ...props,\n style: { ...style, \"--mark-position\": `${percent}%` },\n }\n },\n [dataProps, max, min, orientation, range, value],\n )\n\n const getThumbProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index = 0, ...rest } = {}) => {\n const { max, min } = getMinMax(index)\n\n const props: HTMLProps = {\n ...dataProps,\n ...ariaProps,\n \"aria-label\": t(\"Slider thumb\"),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": max,\n \"aria-valuemin\": min,\n role: \"slider\",\n tabIndex: interactive ? 0 : -1,\n ...rest,\n \"aria-labelledby\": cx(rest[\"aria-labelledby\"], ariaLabelledBy),\n onKeyDown: handlerAll(rest.onKeyDown, onKeyDown(index)),\n }\n\n if (range) {\n const currentValue = value[index]!\n\n props[\"data-start\"] = dataAttr(index === 0)\n props[\"data-end\"] = dataAttr(index === 1)\n props[\"aria-valuenow\"] = currentValue\n props[\"aria-valuetext\"] =\n ariaValueText ??\n getAriaValueText?.(currentValue, index) ??\n currentValue.toString()\n } else {\n props[\"data-end\"] = dataAttr(index === 0)\n props[\"aria-valuenow\"] = value\n props[\"aria-valuetext\"] =\n ariaValueText ?? getAriaValueText?.(value, index) ?? value.toString()\n }\n\n return props\n },\n [\n t,\n ariaLabelledBy,\n ariaProps,\n ariaValueText,\n dataProps,\n getAriaValueText,\n getMinMax,\n interactive,\n onKeyDown,\n orientation,\n range,\n value,\n ],\n )\n\n return {\n percent,\n range,\n setValue,\n stepDown,\n stepUp,\n value,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n onChange,\n }\n}\n\nexport type UseSliderReturn = ReturnType<typeof useSlider>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-slider.cjs","names":["useFieldProps","useControllableState","useI18n","useRef","usePanEvent","useCallback","mergeProps","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/slider/use-slider.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent } from \"react\"\nimport type {\n HTMLProps,\n HTMLRefAttributes,\n Orientation,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Point } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { usePanEvent } from \"../../hooks/use-pan-event\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n clampNumber,\n cx,\n dataAttr,\n handlerAll,\n isArray,\n isNumber,\n mergeRefs,\n percentToValue,\n roundNumberToStep,\n runKeyAction,\n valueToPercent,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseSliderProps<Y extends [number, number] | number = number>\n extends\n Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * The minimum distance between slider thumbs.\n * Useful for preventing the thumbs from being too close together.\n *\n * @default 0\n */\n betweenThumbs?: number\n /**\n * The initial value of the slider.\n */\n defaultValue?: Y\n /**\n * The base `id` to use for the slider.\n */\n id?: string\n /**\n * The maximum allowed value of the slider. Cannot be less than min.\n *\n * @default 100\n */\n max?: number\n /**\n * The minimum allowed value of the slider. Cannot be greater than max.\n *\n * @default 0\n */\n min?: number\n /**\n * The name attribute of the hidden `input` field.\n * This is particularly useful in forms.\n */\n name?: string\n /**\n * The orientation of the slider.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The step in which increments or decrements have to be made.\n *\n * @default 1\n */\n step?: number\n /**\n * The value of the slider.\n */\n value?: Y\n /**\n * This is used to format the value so that screen readers\n * can speak out a more human-friendly value.\n *\n * It is used to set the `aria-valuetext` property of the input.\n */\n getAriaValueText?: (value: number, index: number) => string | undefined\n /**\n * Function called whenever the slider value changes.\n */\n onChange?: (value: Y) => void\n /**\n * Function called when the user is done selecting a new value.\n */\n onChangeEnd?: (value: Y) => void\n /**\n * Function called when the user starts selecting a new value.\n */\n onChangeStart?: (value: Y) => void\n}\n\nexport const useSlider = <Y extends [number, number] | number = number>(\n props: UseSliderProps<Y> = {},\n) => {\n const {\n props: {\n id,\n ref,\n name,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-valuetext\": ariaValueText,\n betweenThumbs = 0,\n defaultValue = 0 as Y,\n disabled,\n getAriaValueText,\n max = 100,\n min = 0,\n orientation = \"horizontal\",\n readOnly,\n required,\n step = 1,\n value: valueProp,\n onChange: onChangeProp,\n onChangeEnd,\n onChangeStart,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { t } = useI18n(\"slider\")\n const currentIndex = useRef(0)\n const interactive = !(disabled || readOnly)\n const [_, getPanEventProps] = usePanEvent<HTMLDivElement>({\n onEnd: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n if (range) {\n const start = currentIndex.current === 0\n const oppositeIndex = currentIndex.current === 0 ? 1 : 0\n const oppositeValue = value[oppositeIndex]\n\n onChangeEnd?.(\n (start ? [panValue, oppositeValue] : [oppositeValue, panValue]) as Y,\n )\n } else {\n onChangeEnd?.(panValue as Y)\n }\n },\n onMove: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n onChange(currentIndex.current, panValue)\n },\n onStart: (_, point, rect) => {\n if (!interactive) return\n\n const panValue = getPanValue(point, rect)\n\n if (range) {\n const distances = value.map((value) => Math.abs(value - panValue))\n const closest = Math.min(...distances)\n const index = distances.indexOf(closest)\n\n currentIndex.current = index\n\n const start = index === 0\n const oppositeIndex = index === 0 ? 1 : 0\n const oppositeValue = value[oppositeIndex]\n\n onChangeStart?.(\n (start ? [panValue, oppositeValue] : [oppositeValue, panValue]) as Y,\n )\n } else {\n currentIndex.current = 0\n\n onChangeStart?.(value)\n }\n\n onChange(currentIndex.current, panValue)\n },\n })\n const range = !isNumber(value)\n const percent = (\n range\n ? value.map((value) => valueToPercent(value, min, max))\n : valueToPercent(value, min, max)\n ) as Y extends number ? number : number[]\n const tenStep = (max - min) / 10\n const oneStep = step || (max - min) / 100\n\n if (max < min) console.warn(\"Do not assign a number less than 'min' to 'max'\")\n\n const getMinMax = useCallback(\n (index: number) => {\n const start = index === 0\n const oppositeIndex = index === 0 ? 1 : 0\n const oppositeValue = range ? value[oppositeIndex] : value\n\n return {\n max: range ? (start ? oppositeValue - betweenThumbs : max) : max,\n min: range ? (start ? min : oppositeValue + betweenThumbs) : min,\n }\n },\n [betweenThumbs, max, min, range, value],\n )\n\n const getPanValue = useCallback(\n ({ x, y }: Point, { bottom, height, left, width }: DOMRect) => {\n const diff = orientation === \"horizontal\" ? x - left : bottom - y\n const length = orientation === \"horizontal\" ? width : height\n const percent = diff / length\n\n let nextValue = percentToValue(percent, min, max)\n\n nextValue = parseFloat(roundNumberToStep(nextValue, min, step))\n nextValue = clampNumber(nextValue, min, max)\n\n return nextValue\n },\n [orientation, min, max, step],\n )\n\n const onChange = useCallback(\n (index: number, value: number) => {\n if (!interactive) return\n\n const { max, min } = getMinMax(index)\n\n value = parseFloat(roundNumberToStep(value, min, oneStep))\n value = clampNumber(value, min, max)\n\n setValue((prev) => {\n if (isArray(prev)) {\n const next = [...prev]\n\n next[index] = value\n\n return next as Y\n } else {\n return value as Y\n }\n })\n },\n [getMinMax, interactive, oneStep, setValue],\n )\n\n const stepUp = useCallback(\n (index: number, step = oneStep) =>\n range\n ? onChange(index, value[index]! + step)\n : onChange(index, value + step),\n [oneStep, range, onChange, value],\n )\n\n const stepDown = useCallback(\n (index: number, step = oneStep) =>\n range\n ? onChange(index, value[index]! - step)\n : onChange(index, value - step),\n [oneStep, range, onChange, value],\n )\n\n const onKeyDown = useCallback(\n (index: number) => (ev: KeyboardEvent<HTMLDivElement>) => {\n const { max, min } = getMinMax(index)\n\n runKeyAction(ev, {\n ArrowDown: () => stepDown(index),\n ArrowLeft: () => stepDown(index),\n ArrowRight: () => stepUp(index),\n ArrowUp: () => stepUp(index),\n End: () => onChange(index, max),\n Home: () => onChange(index, min),\n PageDown: () => stepDown(index, tenStep),\n PageUp: () => stepUp(index, tenStep),\n })\n },\n [getMinMax, onChange, stepDown, stepUp, tenStep],\n )\n\n const getRootProps: PropGetter = useCallback(\n (props = {}) => {\n const computedProps: HTMLProps = mergeProps(\n dataProps,\n { \"data-orientation\": orientation },\n rest,\n props,\n { onBlur: eventProps.onBlur, onFocus: eventProps.onFocus },\n )()\n\n computedProps.style ??= {}\n\n if (isArray(percent)) {\n computedProps.style[\"--range-start\"] = `${Math.abs(percent[0]!)}%`\n computedProps.style[\"--range-end\"] = `${Math.abs(percent[1]!)}%`\n } else {\n computedProps.style[\"--range-start\"] = \"0%\"\n computedProps.style[\"--range-end\"] = `${Math.abs(percent)}%`\n }\n\n return computedProps\n },\n [dataProps, eventProps, orientation, percent, rest],\n )\n\n const getInputProps: PropGetter<\"input\", { index?: number }> = useCallback(\n ({ index = 0, ...props } = {}) => ({\n ...visuallyHiddenAttributes,\n ...dataProps,\n ...ariaProps,\n id,\n type: \"hidden\",\n name,\n disabled,\n readOnly,\n required,\n value: range ? value[index]! : value,\n ...props,\n ref: index === 0 ? mergeRefs(props.ref, ref) : props.ref,\n }),\n [\n dataProps,\n ariaProps,\n id,\n name,\n disabled,\n readOnly,\n required,\n range,\n value,\n ref,\n ],\n )\n\n const getTrackProps: PropGetter = useCallback(\n (props) =>\n getPanEventProps({\n ...dataProps,\n \"data-orientation\": orientation,\n ...props,\n }),\n [dataProps, getPanEventProps, orientation],\n )\n\n const getRangeProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n \"data-orientation\": orientation,\n \"data-range\": dataAttr(range),\n ...props,\n }),\n [dataProps, orientation, range],\n )\n\n const getMarkProps: RequiredPropGetter<\"div\", { value: number }> =\n useCallback(\n ({ style, value: valueProp, ...props }) => {\n const between = range\n ? value[0] < valueProp && valueProp < value[1]\n : valueProp < value\n const percent = valueToPercent(valueProp, min, max)\n\n return {\n ...dataProps,\n \"aria-hidden\": true,\n \"data-between\": dataAttr(between),\n \"data-orientation\": orientation,\n role: \"presentation\",\n ...props,\n style: { ...style, \"--mark-position\": `${percent}%` },\n }\n },\n [dataProps, max, min, orientation, range, value],\n )\n\n const getThumbProps: PropGetter<\"div\", { index?: number }> = useCallback(\n ({ index = 0, ...rest } = {}) => {\n const { max, min } = getMinMax(index)\n\n const props: HTMLProps = {\n ...dataProps,\n ...ariaProps,\n \"aria-label\": t(\"Slider thumb\"),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": max,\n \"aria-valuemin\": min,\n role: \"slider\",\n tabIndex: interactive ? 0 : -1,\n ...rest,\n \"aria-labelledby\": cx(rest[\"aria-labelledby\"], ariaLabelledBy),\n onKeyDown: handlerAll(rest.onKeyDown, onKeyDown(index)),\n }\n\n if (range) {\n const currentValue = value[index]!\n\n props[\"data-start\"] = dataAttr(index === 0)\n props[\"data-end\"] = dataAttr(index === 1)\n props[\"aria-valuenow\"] = currentValue\n props[\"aria-valuetext\"] =\n ariaValueText ??\n getAriaValueText?.(currentValue, index) ??\n currentValue.toString()\n } else {\n props[\"data-end\"] = dataAttr(index === 0)\n props[\"aria-valuenow\"] = value\n props[\"aria-valuetext\"] =\n ariaValueText ?? getAriaValueText?.(value, index) ?? value.toString()\n }\n\n return props\n },\n [\n t,\n ariaLabelledBy,\n ariaProps,\n ariaValueText,\n dataProps,\n getAriaValueText,\n getMinMax,\n interactive,\n onKeyDown,\n orientation,\n range,\n value,\n ],\n )\n\n return {\n percent,\n range,\n setValue,\n stepDown,\n stepUp,\n value,\n getInputProps,\n getMarkProps,\n getRangeProps,\n getRootProps,\n getThumbProps,\n getTrackProps,\n onChange,\n }\n}\n\nexport type UseSliderReturn = ReturnType<typeof useSlider>\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ require("../../_virtual/_rolldown/runtime.cjs");
1
2
  const require_children = require("../../utils/children.cjs");
2
3
  const require_props = require("../../core/components/props.cjs");
3
4
  let react = require("react");
@@ -1 +1 @@
1
- {"version":3,"file":"slot.cjs","names":["useValidChildren","useFindChild","Children","mergeProps"],"sources":["../../../../src/components/slot/slot.tsx"],"sourcesContent":["import type {\n FC,\n HTMLAttributes,\n PropsWithChildren,\n RefAttributes,\n} from \"react\"\nimport { Children, cloneElement, isValidElement } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useFindChild, useValidChildren } from \"../../utils\"\n\nexport interface SlotProps\n extends\n HTMLAttributes<HTMLElement>,\n RefAttributes<HTMLElement>,\n PropsWithChildren {}\n\n/**\n * `Slot` is a component that merges its props onto its immediate child.\n *\n * @see https://yamada-ui.com/docs/components/slot\n */\nexport const Slot: FC<SlotProps> = ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const slottable = useFindChild(validChildren, Slottable)\n\n if (slottable) {\n const newElement = slottable.props.children\n\n const newChildren = validChildren.map((child) => {\n if (child === slottable) {\n if (Children.count(newElement) > 1) return Children.only(null)\n return isValidElement<PropsWithChildren>(newElement)\n ? newElement.props.children\n : null\n } else {\n return child\n }\n })\n\n return (\n <SlotClone {...rest}>\n {isValidElement(newElement)\n ? cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n )\n }\n\n return <SlotClone {...rest}>{children}</SlotClone>\n}\n\ninterface SlotCloneProps\n extends RefAttributes<HTMLElement>, PropsWithChildren {}\n\nconst SlotClone: FC<SlotCloneProps> = ({ children, ...rest }) => {\n if (isValidElement<RefAttributes<HTMLElement>>(children))\n return cloneElement(children, mergeProps(rest, children.props)())\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}\n\nexport const Slottable: FC<PropsWithChildren> = ({ children }) => {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>\n}\n"],"mappings":";;;;;;;;;;AAqBA,MAAa,QAAuB,EAAE,UAAU,GAAG,WAAW;CAC5D,MAAM,gBAAgBA,iBAAAA,iBAAiB,QAAQ;CAC/C,MAAM,YAAYC,iBAAAA,aAAa,eAAe,SAAS;CAEvD,IAAI,WAAW;EACb,MAAM,aAAa,UAAU,MAAM;EAEnC,MAAM,cAAc,cAAc,KAAK,UAAU;GAC/C,IAAI,UAAU,WAAW;IACvB,IAAIC,MAAAA,SAAS,MAAM,UAAU,IAAI,GAAG,OAAOA,MAAAA,SAAS,KAAK,IAAI;IAC7D,QAAA,GAAA,MAAA,eAAA,CAAyC,UAAU,IAC/C,WAAW,MAAM,WACjB;GACN,OACE,OAAO;EAEX,CAAC;EAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;GAAW,GAAI;GACG,WAAA,GAAA,MAAA,eAAA,CAAA,UAAU,KAAA,GAAA,MAAA,aAAA,CACT,YAAY,KAAA,GAAW,WAAW,IAC/C;EACK,CAAA;CAEf;CAEA,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EAAW,GAAI;EAAO;CAAoB,CAAA;AACnD;AAKA,MAAM,aAAiC,EAAE,UAAU,GAAG,WAAW;CAC/D,KAAA,GAAA,MAAA,eAAA,CAA+C,QAAQ,GACrD,QAAA,GAAA,MAAA,aAAA,CAAoB,UAAUC,cAAAA,WAAW,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC;CAElE,OAAOD,MAAAA,SAAS,MAAM,QAAQ,IAAI,IAAIA,MAAAA,SAAS,KAAK,IAAI,IAAI;AAC9D;AAEA,MAAa,aAAoC,EAAE,eAAe;CAEhE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAG,SAAW,CAAA;AACvB"}
1
+ {"version":3,"file":"slot.cjs","names":["useValidChildren","useFindChild","Children","isValidElement","cloneElement","mergeProps"],"sources":["../../../../src/components/slot/slot.tsx"],"sourcesContent":["import type {\n FC,\n HTMLAttributes,\n PropsWithChildren,\n RefAttributes,\n} from \"react\"\nimport { Children, cloneElement, isValidElement } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useFindChild, useValidChildren } from \"../../utils\"\n\nexport interface SlotProps\n extends\n HTMLAttributes<HTMLElement>,\n RefAttributes<HTMLElement>,\n PropsWithChildren {}\n\n/**\n * `Slot` is a component that merges its props onto its immediate child.\n *\n * @see https://yamada-ui.com/docs/components/slot\n */\nexport const Slot: FC<SlotProps> = ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const slottable = useFindChild(validChildren, Slottable)\n\n if (slottable) {\n const newElement = slottable.props.children\n\n const newChildren = validChildren.map((child) => {\n if (child === slottable) {\n if (Children.count(newElement) > 1) return Children.only(null)\n return isValidElement<PropsWithChildren>(newElement)\n ? newElement.props.children\n : null\n } else {\n return child\n }\n })\n\n return (\n <SlotClone {...rest}>\n {isValidElement(newElement)\n ? cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n )\n }\n\n return <SlotClone {...rest}>{children}</SlotClone>\n}\n\ninterface SlotCloneProps\n extends RefAttributes<HTMLElement>, PropsWithChildren {}\n\nconst SlotClone: FC<SlotCloneProps> = ({ children, ...rest }) => {\n if (isValidElement<RefAttributes<HTMLElement>>(children))\n return cloneElement(children, mergeProps(rest, children.props)())\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}\n\nexport const Slottable: FC<PropsWithChildren> = ({ children }) => {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>\n}\n"],"mappings":";;;;;;;;;;;AAqBA,MAAa,QAAuB,EAAE,UAAU,GAAG,WAAW;CAC5D,MAAM,gBAAgBA,iBAAAA,iBAAiB,QAAQ;CAC/C,MAAM,YAAYC,iBAAAA,aAAa,eAAe,SAAS;CAEvD,IAAI,WAAW;EACb,MAAM,aAAa,UAAU,MAAM;EAEnC,MAAM,cAAc,cAAc,KAAK,UAAU;GAC/C,IAAI,UAAU,WAAW;IACvB,IAAIC,MAAAA,SAAS,MAAM,UAAU,IAAI,GAAG,OAAOA,MAAAA,SAAS,KAAK,IAAI;IAC7D,QAAA,GAAOC,MAAAA,eAAAA,CAAkC,UAAU,IAC/C,WAAW,MAAM,WACjB;GACN,OACE,OAAO;EAEX,CAAC;EAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;GAAW,GAAI;GACZA,WAAAA,GAAAA,MAAAA,eAAAA,CAAe,UAAU,KAAA,GACtBC,MAAAA,aAAAA,CAAa,YAAY,KAAA,GAAW,WAAW,IAC/C;EACK,CAAA;CAEf;CAEA,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EAAW,GAAI;EAAO;CAAoB,CAAA;AACnD;AAKA,MAAM,aAAiC,EAAE,UAAU,GAAG,WAAW;CAC/D,KAAA,GAAID,MAAAA,eAAAA,CAA2C,QAAQ,GACrD,QAAA,GAAOC,MAAAA,aAAAA,CAAa,UAAUC,cAAAA,WAAW,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC;CAElE,OAAOH,MAAAA,SAAS,MAAM,QAAQ,IAAI,IAAIA,MAAAA,SAAS,KAAK,IAAI,IAAI;AAC9D;AAEA,MAAa,aAAoC,EAAE,eAAe;CAEhE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAA,kBAAA,UAAA,EAAG,SAAW,CAAA;AACvB"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_effect = require("../../utils/effect.cjs");
3
4
  const require_utils_index = require("../../utils/index.cjs");
4
5
  const require_var = require("../../core/system/var.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"snacks.cjs","names":["createSlotComponent","snacksStyle","AnimatePresence","motion","varAttr","createTransition","CloseButton"],"sources":["../../../../src/components/snacks/snacks.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Dispatch, RefObject, SetStateAction } from \"react\"\nimport type { CSSProps, HTMLStyledProps, SimpleDirection } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { CloseButtonProps } from \"../close-button\"\nimport type { HTMLMotionProps } from \"../motion\"\nimport type { SnacksStyle } from \"./snacks.style\"\nimport type { Snack, UseSnacksReturn } from \"./use-snacks\"\nimport { AnimatePresence, useIsPresent } from \"motion/react\"\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport { createSlotComponent, varAttr } from \"../../core\"\nimport { useTimeout } from \"../../hooks/use-timeout\"\nimport { dataAttr, handlerAll, noop, useUpdateEffect } from \"../../utils\"\nimport { Alert } from \"../alert\"\nimport { CloseButton } from \"../close-button\"\nimport { createTransition, motion } from \"../motion\"\nimport { snacksStyle } from \"./snacks.style\"\n\ninterface ComponentContext {\n direction: SimpleDirection\n elMapRef: RefObject<Map<number, HTMLDivElement | null>>\n setExist: Dispatch<SetStateAction<boolean>>\n startIndex: number\n}\n\nexport interface SnacksProps extends HTMLMotionProps {\n /**\n * The snacks created by `useSnacks`.\n */\n snacks: UseSnacksReturn[\"snacks\"]\n /**\n * The CSS `gap` property.\n *\n * @default 'md'\n */\n gap?: CSSProps[\"gap\"]\n /**\n * A property that provides spacing between the top and bottom.\n *\n * @default [0, \"lg\"]\n */\n gutter?: [CSSProps[\"paddingTop\"], CSSProps[\"paddingBottom\"]]\n /**\n * If `true`, apply gutter value to negative margins\n *\n * @default true\n */\n negativeMargins?: boolean\n /**\n * Props for the snacks list element.\n */\n listProps?: HTMLMotionProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SnacksPropsContext,\n useComponentContext,\n usePropsContext: useSnacksPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SnacksProps, SnacksStyle, ComponentContext>(\n \"snacks\",\n snacksStyle,\n)\n\nexport { SnacksPropsContext, useSnacksPropsContext }\n\nexport const Snacks = withProvider<\"div\", SnacksProps>(\n ({\n snacks: { direction = \"start\", items, startIndex = 0 },\n listProps,\n ...rest\n }) => {\n const count = items.length\n const elMapRef = useRef<Map<number, HTMLDivElement | null>>(new Map())\n const [height, setHeight] = useState(0)\n const [exist, setExist] = useState(!!count)\n const show = !!count || exist\n const context = useMemo(\n () => ({ direction, elMapRef, setExist, startIndex }),\n [direction, startIndex],\n )\n\n const onExitComplete = useCallback(() => {\n if (!count) setExist(false)\n }, [count])\n\n useEffect(() => {\n let height = 0\n\n if (!count) return\n\n const els = [...elMapRef.current.values()].slice(0, count)\n\n for (const el of els) {\n if (!el) continue\n\n let { offsetHeight, offsetTop } = el\n\n offsetHeight += offsetTop\n\n if (offsetHeight > height) height = offsetHeight\n }\n\n setHeight(height)\n }, [count, direction])\n\n useUpdateEffect(() => {\n if (count) setExist(true)\n }, [count])\n\n return (\n <ComponentContext value={context}>\n <AnimatePresence initial={false}>\n {show ? (\n <motion.div {...rest}>\n <SnackList custom={{ height }} {...listProps}>\n <AnimatePresence onExitComplete={onExitComplete}>\n {items.map((props, index) => {\n return (\n <Snack\n key={props.id}\n index={index}\n lastIndex={count - index - 1}\n {...props}\n />\n )\n })}\n </AnimatePresence>\n </SnackList>\n </motion.div>\n ) : null}\n </AnimatePresence>\n </ComponentContext>\n )\n },\n \"root\",\n)(\n {\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n variants: {\n animate: {\n padding: \"var(--top) 0 var(--bottom)\",\n transition: { duration: 0.4 },\n },\n exit: { padding: 0 },\n initial: { padding: 0 },\n },\n },\n ({ gap, gutter = [0, \"lg\"], negativeMargins = true, ...rest }) => ({\n \"data-negative\": dataAttr(negativeMargins),\n \"--bottom\": varAttr(gutter[1], \"spaces\", \"0px\"),\n \"--gap\": varAttr(gap, \"spaces\"),\n \"--top\": varAttr(gutter[0], \"spaces\", \"0px\"),\n ...rest,\n }),\n)\n\ninterface SnackListProps extends HTMLMotionProps {}\n\nconst SnackList = withContext<\"div\", SnackListProps>(\n motion.div,\n \"list\",\n)({\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n role: \"list\",\n variants: {\n animate: ({ height }) => ({\n height,\n opacity: 1,\n transition: { duration: 0.4 },\n }),\n exit: { height: 0, opacity: 0 },\n initial: { height: 0, opacity: 1 },\n },\n})\n\ninterface SnackProps extends Merge<\n HTMLMotionProps,\n Merge<Alert.RootProps, Snack>\n> {\n index: number\n lastIndex: number\n}\n\nconst Snack = withContext<\"div\", SnackProps>(\n ({\n variant = \"plain\",\n closable = true,\n description,\n duration: durationProp = null,\n loadingScheme,\n status,\n title,\n withIcon = true,\n closeButtonProps,\n contentProps,\n descriptionProps,\n iconProps,\n loadingProps,\n titleProps,\n onClose: onCloseProp,\n onCloseComplete,\n ...rest\n }) => {\n const [duration, setDuration] = useState(durationProp)\n const present = useIsPresent()\n const onClose = present ? onCloseProp : noop\n\n const onMouseEnter = useCallback(() => {\n setDuration(null)\n }, [])\n\n const onMouseLeave = useCallback(() => {\n setDuration(durationProp)\n }, [durationProp])\n\n useUpdateEffect(() => {\n if (!present) onCloseComplete?.()\n }, [present])\n\n useUpdateEffect(() => {\n setDuration(durationProp)\n }, [durationProp])\n\n useTimeout(onClose, duration)\n\n return (\n <Alert.Root\n as={motion.div}\n variant={variant}\n status={status}\n {...rest}\n onMouseEnter={handlerAll(rest.onMouseEnter, onMouseEnter)}\n onMouseLeave={handlerAll(rest.onMouseLeave, onMouseLeave)}\n >\n {withIcon ? (\n loadingScheme ? (\n <Alert.Loading loadingScheme={loadingScheme} {...loadingProps} />\n ) : (\n <Alert.Icon {...iconProps} />\n )\n ) : null}\n\n <SnackContent data-close-button={dataAttr(closable)} {...contentProps}>\n {title ? (\n <Alert.Title me=\"0\" {...titleProps}>\n {title}\n </Alert.Title>\n ) : null}\n\n {description ? (\n <Alert.Description {...descriptionProps}>\n {description}\n </Alert.Description>\n ) : null}\n </SnackContent>\n\n {closable ? (\n <SnackCloseButton\n data-variant={variant}\n {...closeButtonProps}\n onClick={handlerAll(closeButtonProps?.onClick, onClose)}\n />\n ) : null}\n </Alert.Root>\n )\n },\n \"item\",\n)(\n {\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n layout: true,\n role: \"listitem\",\n variants: {\n animate: ({ index }) => ({\n opacity: 1,\n transition: createTransition.enter()(!index ? 0.2 : 0, 0.4),\n y: 0,\n }),\n exit: {\n opacity: 0,\n transition: createTransition.exit()(undefined, 0.2),\n },\n initial: ({ direction, index }) => ({\n opacity: 0,\n ...(index ? { y: (direction === \"start\" ? -1 : 1) * 16 } : {}),\n }),\n },\n },\n ({ index, lastIndex, ...rest }) => {\n const ref = useRef<HTMLDivElement>(null)\n const { direction, elMapRef, startIndex } = useComponentContext()\n\n useEffect(() => {\n const elMap = elMapRef.current\n\n elMap.set(index, ref.current)\n\n return () => {\n elMap.delete(index)\n }\n }, [elMapRef, index])\n\n return {\n ref,\n \"--index\": direction === \"start\" ? lastIndex : index,\n \"--z-index\": startIndex + index,\n custom: { direction, index },\n ...rest,\n }\n },\n)\n\nexport interface SnackContentProps extends HTMLStyledProps {}\n\nconst SnackContent = withContext<\"div\", SnackContentProps>(\"div\", \"content\")()\n\nexport interface SnackCloseButtonProps extends CloseButtonProps {}\n\nconst SnackCloseButton = withContext<\"button\", SnackCloseButtonProps>(\n CloseButton,\n \"closeButton\",\n)()\n"],"mappings":"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"}
1
+ {"version":3,"file":"snacks.cjs","names":["createSlotComponent","snacksStyle","useRef","useState","useMemo","useCallback","AnimatePresence","motion","varAttr","useIsPresent","createTransition","CloseButton"],"sources":["../../../../src/components/snacks/snacks.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Dispatch, RefObject, SetStateAction } from \"react\"\nimport type { CSSProps, HTMLStyledProps, SimpleDirection } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { CloseButtonProps } from \"../close-button\"\nimport type { HTMLMotionProps } from \"../motion\"\nimport type { SnacksStyle } from \"./snacks.style\"\nimport type { Snack, UseSnacksReturn } from \"./use-snacks\"\nimport { AnimatePresence, useIsPresent } from \"motion/react\"\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport { createSlotComponent, varAttr } from \"../../core\"\nimport { useTimeout } from \"../../hooks/use-timeout\"\nimport { dataAttr, handlerAll, noop, useUpdateEffect } from \"../../utils\"\nimport { Alert } from \"../alert\"\nimport { CloseButton } from \"../close-button\"\nimport { createTransition, motion } from \"../motion\"\nimport { snacksStyle } from \"./snacks.style\"\n\ninterface ComponentContext {\n direction: SimpleDirection\n elMapRef: RefObject<Map<number, HTMLDivElement | null>>\n setExist: Dispatch<SetStateAction<boolean>>\n startIndex: number\n}\n\nexport interface SnacksProps extends HTMLMotionProps {\n /**\n * The snacks created by `useSnacks`.\n */\n snacks: UseSnacksReturn[\"snacks\"]\n /**\n * The CSS `gap` property.\n *\n * @default 'md'\n */\n gap?: CSSProps[\"gap\"]\n /**\n * A property that provides spacing between the top and bottom.\n *\n * @default [0, \"lg\"]\n */\n gutter?: [CSSProps[\"paddingTop\"], CSSProps[\"paddingBottom\"]]\n /**\n * If `true`, apply gutter value to negative margins\n *\n * @default true\n */\n negativeMargins?: boolean\n /**\n * Props for the snacks list element.\n */\n listProps?: HTMLMotionProps\n}\n\nconst {\n ComponentContext,\n PropsContext: SnacksPropsContext,\n useComponentContext,\n usePropsContext: useSnacksPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SnacksProps, SnacksStyle, ComponentContext>(\n \"snacks\",\n snacksStyle,\n)\n\nexport { SnacksPropsContext, useSnacksPropsContext }\n\nexport const Snacks = withProvider<\"div\", SnacksProps>(\n ({\n snacks: { direction = \"start\", items, startIndex = 0 },\n listProps,\n ...rest\n }) => {\n const count = items.length\n const elMapRef = useRef<Map<number, HTMLDivElement | null>>(new Map())\n const [height, setHeight] = useState(0)\n const [exist, setExist] = useState(!!count)\n const show = !!count || exist\n const context = useMemo(\n () => ({ direction, elMapRef, setExist, startIndex }),\n [direction, startIndex],\n )\n\n const onExitComplete = useCallback(() => {\n if (!count) setExist(false)\n }, [count])\n\n useEffect(() => {\n let height = 0\n\n if (!count) return\n\n const els = [...elMapRef.current.values()].slice(0, count)\n\n for (const el of els) {\n if (!el) continue\n\n let { offsetHeight, offsetTop } = el\n\n offsetHeight += offsetTop\n\n if (offsetHeight > height) height = offsetHeight\n }\n\n setHeight(height)\n }, [count, direction])\n\n useUpdateEffect(() => {\n if (count) setExist(true)\n }, [count])\n\n return (\n <ComponentContext value={context}>\n <AnimatePresence initial={false}>\n {show ? (\n <motion.div {...rest}>\n <SnackList custom={{ height }} {...listProps}>\n <AnimatePresence onExitComplete={onExitComplete}>\n {items.map((props, index) => {\n return (\n <Snack\n key={props.id}\n index={index}\n lastIndex={count - index - 1}\n {...props}\n />\n )\n })}\n </AnimatePresence>\n </SnackList>\n </motion.div>\n ) : null}\n </AnimatePresence>\n </ComponentContext>\n )\n },\n \"root\",\n)(\n {\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n variants: {\n animate: {\n padding: \"var(--top) 0 var(--bottom)\",\n transition: { duration: 0.4 },\n },\n exit: { padding: 0 },\n initial: { padding: 0 },\n },\n },\n ({ gap, gutter = [0, \"lg\"], negativeMargins = true, ...rest }) => ({\n \"data-negative\": dataAttr(negativeMargins),\n \"--bottom\": varAttr(gutter[1], \"spaces\", \"0px\"),\n \"--gap\": varAttr(gap, \"spaces\"),\n \"--top\": varAttr(gutter[0], \"spaces\", \"0px\"),\n ...rest,\n }),\n)\n\ninterface SnackListProps extends HTMLMotionProps {}\n\nconst SnackList = withContext<\"div\", SnackListProps>(\n motion.div,\n \"list\",\n)({\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n role: \"list\",\n variants: {\n animate: ({ height }) => ({\n height,\n opacity: 1,\n transition: { duration: 0.4 },\n }),\n exit: { height: 0, opacity: 0 },\n initial: { height: 0, opacity: 1 },\n },\n})\n\ninterface SnackProps extends Merge<\n HTMLMotionProps,\n Merge<Alert.RootProps, Snack>\n> {\n index: number\n lastIndex: number\n}\n\nconst Snack = withContext<\"div\", SnackProps>(\n ({\n variant = \"plain\",\n closable = true,\n description,\n duration: durationProp = null,\n loadingScheme,\n status,\n title,\n withIcon = true,\n closeButtonProps,\n contentProps,\n descriptionProps,\n iconProps,\n loadingProps,\n titleProps,\n onClose: onCloseProp,\n onCloseComplete,\n ...rest\n }) => {\n const [duration, setDuration] = useState(durationProp)\n const present = useIsPresent()\n const onClose = present ? onCloseProp : noop\n\n const onMouseEnter = useCallback(() => {\n setDuration(null)\n }, [])\n\n const onMouseLeave = useCallback(() => {\n setDuration(durationProp)\n }, [durationProp])\n\n useUpdateEffect(() => {\n if (!present) onCloseComplete?.()\n }, [present])\n\n useUpdateEffect(() => {\n setDuration(durationProp)\n }, [durationProp])\n\n useTimeout(onClose, duration)\n\n return (\n <Alert.Root\n as={motion.div}\n variant={variant}\n status={status}\n {...rest}\n onMouseEnter={handlerAll(rest.onMouseEnter, onMouseEnter)}\n onMouseLeave={handlerAll(rest.onMouseLeave, onMouseLeave)}\n >\n {withIcon ? (\n loadingScheme ? (\n <Alert.Loading loadingScheme={loadingScheme} {...loadingProps} />\n ) : (\n <Alert.Icon {...iconProps} />\n )\n ) : null}\n\n <SnackContent data-close-button={dataAttr(closable)} {...contentProps}>\n {title ? (\n <Alert.Title me=\"0\" {...titleProps}>\n {title}\n </Alert.Title>\n ) : null}\n\n {description ? (\n <Alert.Description {...descriptionProps}>\n {description}\n </Alert.Description>\n ) : null}\n </SnackContent>\n\n {closable ? (\n <SnackCloseButton\n data-variant={variant}\n {...closeButtonProps}\n onClick={handlerAll(closeButtonProps?.onClick, onClose)}\n />\n ) : null}\n </Alert.Root>\n )\n },\n \"item\",\n)(\n {\n animate: \"animate\",\n exit: \"exit\",\n initial: \"initial\",\n layout: true,\n role: \"listitem\",\n variants: {\n animate: ({ index }) => ({\n opacity: 1,\n transition: createTransition.enter()(!index ? 0.2 : 0, 0.4),\n y: 0,\n }),\n exit: {\n opacity: 0,\n transition: createTransition.exit()(undefined, 0.2),\n },\n initial: ({ direction, index }) => ({\n opacity: 0,\n ...(index ? { y: (direction === \"start\" ? -1 : 1) * 16 } : {}),\n }),\n },\n },\n ({ index, lastIndex, ...rest }) => {\n const ref = useRef<HTMLDivElement>(null)\n const { direction, elMapRef, startIndex } = useComponentContext()\n\n useEffect(() => {\n const elMap = elMapRef.current\n\n elMap.set(index, ref.current)\n\n return () => {\n elMap.delete(index)\n }\n }, [elMapRef, index])\n\n return {\n ref,\n \"--index\": direction === \"start\" ? lastIndex : index,\n \"--z-index\": startIndex + index,\n custom: { direction, index },\n ...rest,\n }\n },\n)\n\nexport interface SnackContentProps extends HTMLStyledProps {}\n\nconst SnackContent = withContext<\"div\", SnackContentProps>(\"div\", \"content\")()\n\nexport interface SnackCloseButtonProps extends CloseButtonProps {}\n\nconst SnackCloseButton = withContext<\"button\", SnackCloseButtonProps>(\n CloseButton,\n \"closeButton\",\n)()\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_system_provider = require("../../core/system/system-provider.cjs");
3
4
  let react = require("react");
4
5
  //#region src/components/snacks/use-snacks.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"use-snacks.cjs","names":["useSystem"],"sources":["../../../../src/components/snacks/use-snacks.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { SnacksConfig } from \"../../core\"\nimport type { Alert } from \"../alert\"\nimport type { SnackCloseButtonProps, SnackContentProps } from \"./snacks\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { useSystem } from \"../../core\"\n\nexport interface Snack extends Omit<\n UseSnacksOptions,\n \"direction\" | \"limit\" | \"startIndex\"\n> {\n id: string\n onClose: () => void\n onCloseComplete?: () => void\n}\n\nlet counter = 0\n\ninterface SnackMethodsOptions extends Partial<Omit<Snack, \"onClose\">> {}\n\nexport interface UseSnacksOptions\n extends\n Omit<Alert.RootProps, \"direction\" | \"title\">,\n Pick<Alert.LoadingProps, \"loadingScheme\">,\n SnacksConfig {\n /**\n * The description of the snack.\n */\n description?: ReactNode\n /**\n * The title of the snack.\n */\n title?: ReactNode\n /**\n * If `true`, the snack will have an icon.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the snack close button.\n */\n closeButtonProps?: SnackCloseButtonProps\n /**\n * Props for the snack content component.\n */\n contentProps?: SnackContentProps\n /**\n * Props for the alert description component.\n */\n descriptionProps?: Alert.DescriptionProps\n /**\n * Props for the alert icon component.\n */\n iconProps?: Alert.IconProps\n /**\n * Props for the alert loading component.\n */\n loadingProps?: Alert.LoadingProps\n /**\n * Props for the alert title component.\n */\n titleProps?: Alert.TitleProps\n}\n\n/**\n * `useSnacks` is a custom hook for controlling notifications used in forms and the like.\n *\n * @see https://yamada-ui.com/docs/hooks/use-snacks\n */\nexport const useSnacks = (options: UseSnacksOptions = {}) => {\n const [items, setItems] = useState<Snack[]>([])\n const { config } = useSystem()\n\n const systemOptions = useMemo(() => config.snacks ?? {}, [config])\n const defaultOptions = useMemo(\n () => ({ ...systemOptions, ...options }),\n [options, systemOptions],\n )\n const { direction, limit = 3, startIndex } = defaultOptions\n\n const getOptions = useCallback(\n (options: SnackMethodsOptions) => ({ ...defaultOptions, ...options }),\n [defaultOptions],\n )\n\n const snack = useMemo(() => {\n const methods = (options: SnackMethodsOptions = {}) => {\n options = getOptions(options)\n // eslint-disable-next-line react-hooks/globals\n counter += 1\n\n const { id = counter.toString(), ...rest } = options\n const onClose = () =>\n setItems((prev) => prev.filter((prevOptions) => prevOptions.id !== id))\n\n const snack: Snack = { id, onClose, ...rest }\n\n setItems((prev) => [\n ...prev.splice(-1 * ((limit ?? Infinity) - 1)),\n snack,\n ])\n\n return id\n }\n\n methods.update = (\n id: number | string,\n options: Omit<SnackMethodsOptions, \"id\">,\n ) => {\n options = getOptions(options)\n\n setItems((prev) =>\n prev.map((prevOptions) =>\n prevOptions.id === id ? { ...prevOptions, ...options } : prevOptions,\n ),\n )\n }\n\n methods.closeAll = () => {\n setItems([])\n }\n\n methods.close = (id: number | string) => {\n setItems((prev) => prev.filter((prevOptions) => prevOptions.id !== id))\n }\n\n methods.isActive = (id: number | string) =>\n !!items.find((prevOptions) => prevOptions.id === id)\n\n return methods\n }, [items, limit, getOptions])\n\n const snacks = useMemo(\n () => ({ direction, items, startIndex }),\n [direction, startIndex, items],\n )\n\n return { snack, snacks }\n}\n\nexport type UseSnacksReturn = ReturnType<typeof useSnacks>\n"],"mappings":";;;;AAkBA,IAAI,UAAU;;;;;;AAsDd,MAAa,aAAa,UAA4B,CAAC,MAAM;CAC3D,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,SAAA,CAA8B,CAAC,CAAC;CAC9C,MAAM,EAAE,WAAWA,wBAAAA,UAAU;CAE7B,MAAM,iBAAA,GAAA,MAAA,QAAA,OAA8B,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;CACjE,MAAM,kBAAA,GAAA,MAAA,QAAA,QACG;EAAE,GAAG;EAAe,GAAG;CAAQ,IACtC,CAAC,SAAS,aAAa,CACzB;CACA,MAAM,EAAE,WAAW,QAAQ,GAAG,eAAe;CAE7C,MAAM,cAAA,GAAA,MAAA,YAAA,EACH,aAAkC;EAAE,GAAG;EAAgB,GAAG;CAAQ,IACnE,CAAC,cAAc,CACjB;CAsDA,OAAO;EAAE,QAAA,GAAA,MAAA,QAAA,OApDmB;GAC1B,MAAM,WAAW,UAA+B,CAAC,MAAM;IACrD,UAAU,WAAW,OAAO;IAE5B,WAAW;IAEX,MAAM,EAAE,KAAK,QAAQ,SAAS,GAAG,GAAG,SAAS;IAC7C,MAAM,gBACJ,UAAU,SAAS,KAAK,QAAQ,gBAAgB,YAAY,OAAO,EAAE,CAAC;IAExE,MAAM,QAAe;KAAE;KAAI;KAAS,GAAG;IAAK;IAE5C,UAAU,SAAS,CACjB,GAAG,KAAK,OAAO,OAAO,SAAS,YAAY,EAAE,GAC7C,KACF,CAAC;IAED,OAAO;GACT;GAEA,QAAQ,UACN,IACA,YACG;IACH,UAAU,WAAW,OAAO;IAE5B,UAAU,SACR,KAAK,KAAK,gBACR,YAAY,OAAO,KAAK;KAAE,GAAG;KAAa,GAAG;IAAQ,IAAI,WAC3D,CACF;GACF;GAEA,QAAQ,iBAAiB;IACvB,SAAS,CAAC,CAAC;GACb;GAEA,QAAQ,SAAS,OAAwB;IACvC,UAAU,SAAS,KAAK,QAAQ,gBAAgB,YAAY,OAAO,EAAE,CAAC;GACxE;GAEA,QAAQ,YAAY,OAClB,CAAC,CAAC,MAAM,MAAM,gBAAgB,YAAY,OAAO,EAAE;GAErD,OAAO;EACT,GAAG;GAAC;GAAO;GAAO;EAAU,CAOf;EAAG,SAAA,GAAA,MAAA,QAAA,QAJP;GAAE;GAAW;GAAO;EAAW,IACtC;GAAC;GAAW;GAAY;EAAK,CAGV;CAAE;AACzB"}
1
+ {"version":3,"file":"use-snacks.cjs","names":["useState","useSystem","useMemo","useCallback"],"sources":["../../../../src/components/snacks/use-snacks.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { SnacksConfig } from \"../../core\"\nimport type { Alert } from \"../alert\"\nimport type { SnackCloseButtonProps, SnackContentProps } from \"./snacks\"\nimport { useCallback, useMemo, useState } from \"react\"\nimport { useSystem } from \"../../core\"\n\nexport interface Snack extends Omit<\n UseSnacksOptions,\n \"direction\" | \"limit\" | \"startIndex\"\n> {\n id: string\n onClose: () => void\n onCloseComplete?: () => void\n}\n\nlet counter = 0\n\ninterface SnackMethodsOptions extends Partial<Omit<Snack, \"onClose\">> {}\n\nexport interface UseSnacksOptions\n extends\n Omit<Alert.RootProps, \"direction\" | \"title\">,\n Pick<Alert.LoadingProps, \"loadingScheme\">,\n SnacksConfig {\n /**\n * The description of the snack.\n */\n description?: ReactNode\n /**\n * The title of the snack.\n */\n title?: ReactNode\n /**\n * If `true`, the snack will have an icon.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the snack close button.\n */\n closeButtonProps?: SnackCloseButtonProps\n /**\n * Props for the snack content component.\n */\n contentProps?: SnackContentProps\n /**\n * Props for the alert description component.\n */\n descriptionProps?: Alert.DescriptionProps\n /**\n * Props for the alert icon component.\n */\n iconProps?: Alert.IconProps\n /**\n * Props for the alert loading component.\n */\n loadingProps?: Alert.LoadingProps\n /**\n * Props for the alert title component.\n */\n titleProps?: Alert.TitleProps\n}\n\n/**\n * `useSnacks` is a custom hook for controlling notifications used in forms and the like.\n *\n * @see https://yamada-ui.com/docs/hooks/use-snacks\n */\nexport const useSnacks = (options: UseSnacksOptions = {}) => {\n const [items, setItems] = useState<Snack[]>([])\n const { config } = useSystem()\n\n const systemOptions = useMemo(() => config.snacks ?? {}, [config])\n const defaultOptions = useMemo(\n () => ({ ...systemOptions, ...options }),\n [options, systemOptions],\n )\n const { direction, limit = 3, startIndex } = defaultOptions\n\n const getOptions = useCallback(\n (options: SnackMethodsOptions) => ({ ...defaultOptions, ...options }),\n [defaultOptions],\n )\n\n const snack = useMemo(() => {\n const methods = (options: SnackMethodsOptions = {}) => {\n options = getOptions(options)\n // eslint-disable-next-line react-hooks/globals\n counter += 1\n\n const { id = counter.toString(), ...rest } = options\n const onClose = () =>\n setItems((prev) => prev.filter((prevOptions) => prevOptions.id !== id))\n\n const snack: Snack = { id, onClose, ...rest }\n\n setItems((prev) => [\n ...prev.splice(-1 * ((limit ?? Infinity) - 1)),\n snack,\n ])\n\n return id\n }\n\n methods.update = (\n id: number | string,\n options: Omit<SnackMethodsOptions, \"id\">,\n ) => {\n options = getOptions(options)\n\n setItems((prev) =>\n prev.map((prevOptions) =>\n prevOptions.id === id ? { ...prevOptions, ...options } : prevOptions,\n ),\n )\n }\n\n methods.closeAll = () => {\n setItems([])\n }\n\n methods.close = (id: number | string) => {\n setItems((prev) => prev.filter((prevOptions) => prevOptions.id !== id))\n }\n\n methods.isActive = (id: number | string) =>\n !!items.find((prevOptions) => prevOptions.id === id)\n\n return methods\n }, [items, limit, getOptions])\n\n const snacks = useMemo(\n () => ({ direction, items, startIndex }),\n [direction, startIndex, items],\n )\n\n return { snack, snacks }\n}\n\nexport type UseSnacksReturn = ReturnType<typeof useSnacks>\n"],"mappings":";;;;;AAkBA,IAAI,UAAU;;;;;;AAsDd,MAAa,aAAa,UAA4B,CAAC,MAAM;CAC3D,MAAM,CAAC,OAAO,aAAA,GAAYA,MAAAA,SAAAA,CAAkB,CAAC,CAAC;CAC9C,MAAM,EAAE,WAAWC,wBAAAA,UAAU;CAE7B,MAAM,iBAAA,GAAgBC,MAAAA,QAAAA,OAAc,OAAO,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;CACjE,MAAM,kBAAA,GAAiBA,MAAAA,QAAAA,QACd;EAAE,GAAG;EAAe,GAAG;CAAQ,IACtC,CAAC,SAAS,aAAa,CACzB;CACA,MAAM,EAAE,WAAW,QAAQ,GAAG,eAAe;CAE7C,MAAM,cAAA,GAAaC,MAAAA,YAAAA,EAChB,aAAkC;EAAE,GAAG;EAAgB,GAAG;CAAQ,IACnE,CAAC,cAAc,CACjB;CAsDA,OAAO;EAAE,QAAA,GApDKD,MAAAA,QAAAA,OAAc;GAC1B,MAAM,WAAW,UAA+B,CAAC,MAAM;IACrD,UAAU,WAAW,OAAO;IAE5B,WAAW;IAEX,MAAM,EAAE,KAAK,QAAQ,SAAS,GAAG,GAAG,SAAS;IAC7C,MAAM,gBACJ,UAAU,SAAS,KAAK,QAAQ,gBAAgB,YAAY,OAAO,EAAE,CAAC;IAExE,MAAM,QAAe;KAAE;KAAI;KAAS,GAAG;IAAK;IAE5C,UAAU,SAAS,CACjB,GAAG,KAAK,OAAO,OAAO,SAAS,YAAY,EAAE,GAC7C,KACF,CAAC;IAED,OAAO;GACT;GAEA,QAAQ,UACN,IACA,YACG;IACH,UAAU,WAAW,OAAO;IAE5B,UAAU,SACR,KAAK,KAAK,gBACR,YAAY,OAAO,KAAK;KAAE,GAAG;KAAa,GAAG;IAAQ,IAAI,WAC3D,CACF;GACF;GAEA,QAAQ,iBAAiB;IACvB,SAAS,CAAC,CAAC;GACb;GAEA,QAAQ,SAAS,OAAwB;IACvC,UAAU,SAAS,KAAK,QAAQ,gBAAgB,YAAY,OAAO,EAAE,CAAC;GACxE;GAEA,QAAQ,YAAY,OAClB,CAAC,CAAC,MAAM,MAAM,gBAAgB,YAAY,OAAO,EAAE;GAErD,OAAO;EACT,GAAG;GAAC;GAAO;GAAO;EAAU,CAOf;EAAG,SAAA,GALDA,MAAAA,QAAAA,QACN;GAAE;GAAW;GAAO;EAAW,IACtC;GAAC;GAAW;GAAY;EAAK,CAGV;CAAE;AACzB"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_children = require("../../utils/children.cjs");
3
4
  const require_utils_index = require("../../utils/index.cjs");
4
5
  const require_factory = require("../../core/system/factory.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"stack.cjs","names":["createComponent","stackStyle","useValidChildren","Fragment","styled"],"sources":["../../../../src/components/stack/stack.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement } from \"react\"\nimport type { CSSProps, HTMLStyledProps } from \"../../core\"\nimport type { StackStyle } from \"./stack.style\"\nimport { cloneElement, Fragment, useMemo } from \"react\"\nimport { createComponent, styled } from \"../../core\"\nimport { replaceObject, useValidChildren } from \"../../utils\"\nimport { stackStyle } from \"./stack.style\"\n\nexport interface StackProps extends Omit<HTMLStyledProps, \"direction\"> {\n /**\n * The CSS `align-items` property.\n */\n align?: CSSProps[\"alignItems\"]\n /**\n * The CSS `flex-direction` property.\n */\n direction?: CSSProps[\"flexDirection\"]\n /**\n * The CSS `justify-content` property.\n */\n justify?: CSSProps[\"justifyContent\"]\n /**\n * If `true`, each stack item will show a separator.\n */\n separator?: ReactElement\n /**\n * The CSS `flex-wrap` property.\n */\n wrap?: CSSProps[\"flexWrap\"]\n}\n\nconst {\n PropsContext: StackPropsContext,\n usePropsContext: useStackPropsContext,\n withContext,\n} = createComponent<StackProps, StackStyle>(\"stack\", stackStyle)\n\nexport { StackPropsContext, useStackPropsContext }\n\n/**\n * `Stack` is a component that groups elements and provides space between child elements.\n *\n * @see https://yamada-ui.com/docs/components/stack\n */\nexport const Stack = withContext<\"div\", StackProps>(\n ({\n align: alignItems,\n children,\n direction: flexDirection = \"column\",\n justify: justifyContent,\n separator,\n wrap: flexWrap,\n ...rest\n }) => {\n const isColumn = (value: any) =>\n value === \"column\" || value === \"column-reverse\"\n\n const validChildren = useValidChildren(children)\n const cloneChildren = useMemo(\n () =>\n separator\n ? validChildren.map((child, index) => {\n const key = typeof child.key !== \"undefined\" ? child.key : index\n\n const cloneSeparator = cloneElement<any>(separator, {\n borderWidth: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"0 0 1px 0\" : \"0 0 0 1px\",\n ),\n h: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"fit-content\" : \"100%\",\n ),\n w: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"100%\" : \"fit-content\",\n ),\n })\n\n return (\n <Fragment key={key}>\n {index ? cloneSeparator : null}\n {child}\n </Fragment>\n )\n })\n : validChildren,\n [separator, flexDirection, validChildren],\n )\n\n return (\n <styled.div\n alignItems={alignItems}\n flexDirection={flexDirection}\n flexWrap={flexWrap}\n justifyContent={justifyContent}\n {...rest}\n >\n {cloneChildren}\n </styled.div>\n )\n },\n)()\n"],"mappings":";;;;;;;;;AAiCA,MAAM,EACJ,cAAc,mBACd,iBAAiB,sBACjB,gBACEA,yBAAAA,gBAAwC,SAASC,oBAAAA,UAAU;;;;;;AAS/D,MAAa,QAAQ,aAClB,EACC,OAAO,YACP,UACA,WAAW,gBAAgB,UAC3B,SAAS,gBACT,WACA,MAAM,UACN,GAAG,WACC;CACJ,MAAM,YAAY,UAChB,UAAU,YAAY,UAAU;CAElC,MAAM,gBAAgBC,iBAAAA,iBAAiB,QAAQ;CAC/C,MAAM,iBAAA,GAAA,MAAA,QAAA,OAEF,YACI,cAAc,KAAK,OAAO,UAAU;EAClC,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,MAAM,MAAM;EAE3D,MAAM,kBAAA,GAAA,MAAA,aAAA,CAAmC,WAAW;GAClD,cAAA,GAAA,oBAAA,cAAA,cAAA,CAA2B,gBAAgB,UACzC,SAAS,KAAK,IAAI,cAAc,WAClC;GACA,IAAA,GAAA,oBAAA,cAAA,cAAA,CAAiB,gBAAgB,UAC/B,SAAS,KAAK,IAAI,gBAAgB,MACpC;GACA,IAAA,GAAA,oBAAA,cAAA,cAAA,CAAiB,gBAAgB,UAC/B,SAAS,KAAK,IAAI,SAAS,aAC7B;EACF,CAAC;EAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,MAAAA,UAAD,EAAA,UAAA,CACG,QAAQ,iBAAiB,MACzB,KACO,EAAA,GAHK,GAGL;CAEd,CAAC,IACD,eACN;EAAC;EAAW;EAAe;CAAa,CAC1C;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;EACc;EACG;EACL;EACM;EAChB,GAAI;EAEH,UAAA;CACS,CAAA;AAEhB,CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"stack.cjs","names":["createComponent","stackStyle","useValidChildren","useMemo","cloneElement","Fragment","styled"],"sources":["../../../../src/components/stack/stack.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement } from \"react\"\nimport type { CSSProps, HTMLStyledProps } from \"../../core\"\nimport type { StackStyle } from \"./stack.style\"\nimport { cloneElement, Fragment, useMemo } from \"react\"\nimport { createComponent, styled } from \"../../core\"\nimport { replaceObject, useValidChildren } from \"../../utils\"\nimport { stackStyle } from \"./stack.style\"\n\nexport interface StackProps extends Omit<HTMLStyledProps, \"direction\"> {\n /**\n * The CSS `align-items` property.\n */\n align?: CSSProps[\"alignItems\"]\n /**\n * The CSS `flex-direction` property.\n */\n direction?: CSSProps[\"flexDirection\"]\n /**\n * The CSS `justify-content` property.\n */\n justify?: CSSProps[\"justifyContent\"]\n /**\n * If `true`, each stack item will show a separator.\n */\n separator?: ReactElement\n /**\n * The CSS `flex-wrap` property.\n */\n wrap?: CSSProps[\"flexWrap\"]\n}\n\nconst {\n PropsContext: StackPropsContext,\n usePropsContext: useStackPropsContext,\n withContext,\n} = createComponent<StackProps, StackStyle>(\"stack\", stackStyle)\n\nexport { StackPropsContext, useStackPropsContext }\n\n/**\n * `Stack` is a component that groups elements and provides space between child elements.\n *\n * @see https://yamada-ui.com/docs/components/stack\n */\nexport const Stack = withContext<\"div\", StackProps>(\n ({\n align: alignItems,\n children,\n direction: flexDirection = \"column\",\n justify: justifyContent,\n separator,\n wrap: flexWrap,\n ...rest\n }) => {\n const isColumn = (value: any) =>\n value === \"column\" || value === \"column-reverse\"\n\n const validChildren = useValidChildren(children)\n const cloneChildren = useMemo(\n () =>\n separator\n ? validChildren.map((child, index) => {\n const key = typeof child.key !== \"undefined\" ? child.key : index\n\n const cloneSeparator = cloneElement<any>(separator, {\n borderWidth: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"0 0 1px 0\" : \"0 0 0 1px\",\n ),\n h: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"fit-content\" : \"100%\",\n ),\n w: replaceObject(flexDirection, (value) =>\n isColumn(value) ? \"100%\" : \"fit-content\",\n ),\n })\n\n return (\n <Fragment key={key}>\n {index ? cloneSeparator : null}\n {child}\n </Fragment>\n )\n })\n : validChildren,\n [separator, flexDirection, validChildren],\n )\n\n return (\n <styled.div\n alignItems={alignItems}\n flexDirection={flexDirection}\n flexWrap={flexWrap}\n justifyContent={justifyContent}\n {...rest}\n >\n {cloneChildren}\n </styled.div>\n )\n },\n)()\n"],"mappings":";;;;;;;;;;AAiCA,MAAM,EACJ,cAAc,mBACd,iBAAiB,sBACjB,gBACEA,yBAAAA,gBAAwC,SAASC,oBAAAA,UAAU;;;;;;AAS/D,MAAa,QAAQ,aAClB,EACC,OAAO,YACP,UACA,WAAW,gBAAgB,UAC3B,SAAS,gBACT,WACA,MAAM,UACN,GAAG,WACC;CACJ,MAAM,YAAY,UAChB,UAAU,YAAY,UAAU;CAElC,MAAM,gBAAgBC,iBAAAA,iBAAiB,QAAQ;CAC/C,MAAM,iBAAA,GAAgBC,MAAAA,QAAAA,OAElB,YACI,cAAc,KAAK,OAAO,UAAU;EAClC,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,MAAM,MAAM;EAE3D,MAAM,kBAAA,GAAiBC,MAAAA,aAAAA,CAAkB,WAAW;GAClD,cAAA,GAAA,oBAAA,cAAa,cAAA,CAAc,gBAAgB,UACzC,SAAS,KAAK,IAAI,cAAc,WAClC;GACA,IAAA,GAAA,oBAAA,cAAG,cAAA,CAAc,gBAAgB,UAC/B,SAAS,KAAK,IAAI,gBAAgB,MACpC;GACA,IAAA,GAAA,oBAAA,cAAG,cAAA,CAAc,gBAAgB,UAC/B,SAAS,KAAK,IAAI,SAAS,aAC7B;EACF,CAAC;EAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,MAAAA,UAAD,EAAA,UAAA,CACG,QAAQ,iBAAiB,MACzB,KACO,EAAA,GAHK,GAGL;CAEd,CAAC,IACD,eACN;EAAC;EAAW;EAAe;CAAa,CAC1C;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;EACc;EACG;EACL;EACM;EAChB,GAAI;EAEH,UAAA;CACS,CAAA;AAEhB,CACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_children = require("../../utils/children.cjs");
3
4
  const require_ref = require("../../utils/ref.cjs");
4
5
  const require_factory = require("../../core/system/factory.cjs");
@@ -46,11 +47,13 @@ const ZStack = withContext(({ css, children, direction = "end", fit = true, reve
46
47
  ...vertical(space),
47
48
  ...horizontal(space)
48
49
  };
49
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: (0, react.cloneElement)(child, {
50
+ const props = {
50
51
  ...child.props,
51
52
  ref: require_ref.mergeRefs(child.props.ref, ref),
52
53
  css: require_merge_css.mergeCSS(child.props.css, css)
53
- }) }, key);
54
+ };
55
+ const clonedChild = (0, react.cloneElement)(child, props);
56
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: clonedChild }, key);
54
57
  });
55
58
  }, [
56
59
  children,
@@ -1 +1 @@
1
- {"version":3,"file":"z-stack.cjs","names":["createComponent","zStackStyle","getValidChildren","Fragment","mergeRefs","mergeCSS","styled","useInjectVarsIntoCss","useInjectVarsIntoProps"],"sources":["../../../../src/components/stack/z-stack.tsx"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type {\n CSSObject,\n Direction,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ZStackStyle } from \"./z-stack.style\"\nimport {\n cloneElement,\n createRef,\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport {\n createComponent,\n mergeCSS,\n styled,\n useInjectVarsIntoCss,\n useInjectVarsIntoProps,\n} from \"../../core\"\nimport { getValidChildren, mergeRefs } from \"../../utils\"\nimport { zStackStyle } from \"./z-stack.style\"\n\nexport interface ZStackProps\n extends Omit<HTMLStyledProps, \"direction\">, ThemeProps<ZStackStyle> {\n /**\n * Stack in the specified direction.\n *\n * @default 'end'\n */\n direction?: Direction\n /**\n * If `true`, calculate the `width` and `height` of the element and assign container.\n *\n * @default true\n */\n fit?: boolean\n /**\n * If `true`, reverse direction.\n *\n * @default false\n */\n reverse?: boolean\n /**\n * If set the stack will start from the given index.\n *\n * @default 0\n */\n startIndex?: number\n}\n\nconst {\n PropsContext: ZStackPropsContext,\n usePropsContext: useZStackPropsContext,\n withContext,\n} = createComponent<ZStackProps, ZStackStyle>(\"stack--depth\", zStackStyle)\n\nexport { useZStackPropsContext, ZStackPropsContext }\n\n/**\n * `ZStack` is a component that groups elements and provides space between child elements.\n *\n * @see https://yamada-ui.com/docs/components/stack\n */\nexport const ZStack = withContext<\"div\", ZStackProps>(\n ({\n css,\n children,\n direction = \"end\",\n fit = true,\n reverse = false,\n startIndex = 0,\n ...rest\n }) => {\n if (direction === \"start-center\") direction = \"start\"\n if (direction === \"end-center\") direction = \"end\"\n\n const refMap = useRef<Map<number, RefObject<HTMLDivElement | null>>>(\n new Map(),\n )\n const [rect, setRect] = useState<{ height: number; width: number }>({\n height: 0,\n width: 0,\n })\n\n const vertical = useCallback(\n (space: string) => {\n if (direction.startsWith(\"start\"))\n return { [!reverse ? \"bottom\" : \"top\"]: space }\n else if (direction.startsWith(\"end\"))\n return { [!reverse ? \"top\" : \"bottom\"]: space }\n else return { [!reverse ? \"top\" : \"bottom\"]: 0 }\n },\n [direction, reverse],\n )\n\n const horizontal = useCallback(\n (space: string) => {\n if (direction.endsWith(\"-start\"))\n return { [!reverse ? \"right\" : \"left\"]: space }\n else if (direction.endsWith(\"-end\"))\n return { [!reverse ? \"left\" : \"right\"]: space }\n else return { [!reverse ? \"left\" : \"right\"]: 0 }\n },\n [direction, reverse],\n )\n\n const cloneChildren = useMemo(() => {\n const validChildren = getValidChildren(children)\n\n const clonedChildren = validChildren.map((child, index) => {\n const ref = createRef<HTMLDivElement>()\n\n refMap.current.set(index, ref)\n\n const key = child.key ?? index\n\n const zIndex = startIndex + index\n const space = `calc({space} * ${index})`\n\n const css: CSSObject = {\n position: \"absolute\",\n zIndex,\n ...vertical(space),\n ...horizontal(space),\n }\n\n const props = {\n ...child.props,\n ref: mergeRefs(child.props.ref, ref),\n css: mergeCSS(child.props.css, css),\n }\n\n const clonedChild = cloneElement(child, props)\n\n return <Fragment key={key}>{clonedChild}</Fragment>\n })\n\n return clonedChildren\n }, [children, startIndex, vertical, horizontal])\n\n useEffect(() => {\n if (!fit) return\n\n let negativeLeft = direction.endsWith(\"-start\")\n let negativeTop = direction.startsWith(\"start\")\n let width = 0\n let height = 0\n\n if (reverse) {\n negativeLeft = !negativeLeft\n negativeTop = !negativeTop\n }\n\n for (const ref of refMap.current.values()) {\n if (!ref.current) continue\n\n let { offsetHeight, offsetLeft, offsetParent, offsetTop, offsetWidth } =\n ref.current\n\n if (!offsetParent && process.env.NODE_ENV !== \"test\") continue\n\n if (negativeLeft) {\n const offsetParentWidth =\n (offsetParent as HTMLDivElement | null)?.offsetWidth ?? 0\n\n offsetLeft = offsetParentWidth - offsetLeft - offsetWidth\n }\n\n if (negativeTop) {\n const offsetParentHeight =\n (offsetParent as HTMLDivElement | null)?.offsetHeight ?? 0\n\n offsetTop = offsetParentHeight - offsetTop - offsetHeight\n }\n\n offsetWidth += offsetLeft\n offsetHeight += offsetTop\n\n if (offsetWidth > width) width = offsetWidth\n if (offsetHeight > height) height = offsetHeight\n }\n\n setRect({ height, width })\n }, [cloneChildren, direction, reverse, fit])\n\n return (\n <styled.div\n css={css}\n minHeight={fit ? `${rect.height}px` : undefined}\n minWidth={fit ? `${rect.width}px` : undefined}\n {...rest}\n >\n {cloneChildren}\n </styled.div>\n )\n },\n)(undefined, (props) => {\n const css = useInjectVarsIntoCss(props.css, { gap: \"space\" })\n const rest = useInjectVarsIntoProps(props, { gap: \"space\" })\n\n return { ...rest, css }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"z-stack.cjs","names":["createComponent","zStackStyle","useRef","useState","useCallback","useMemo","getValidChildren","createRef","mergeRefs","mergeCSS","cloneElement","Fragment","styled","useInjectVarsIntoCss","useInjectVarsIntoProps"],"sources":["../../../../src/components/stack/z-stack.tsx"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type {\n CSSObject,\n Direction,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ZStackStyle } from \"./z-stack.style\"\nimport {\n cloneElement,\n createRef,\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport {\n createComponent,\n mergeCSS,\n styled,\n useInjectVarsIntoCss,\n useInjectVarsIntoProps,\n} from \"../../core\"\nimport { getValidChildren, mergeRefs } from \"../../utils\"\nimport { zStackStyle } from \"./z-stack.style\"\n\nexport interface ZStackProps\n extends Omit<HTMLStyledProps, \"direction\">, ThemeProps<ZStackStyle> {\n /**\n * Stack in the specified direction.\n *\n * @default 'end'\n */\n direction?: Direction\n /**\n * If `true`, calculate the `width` and `height` of the element and assign container.\n *\n * @default true\n */\n fit?: boolean\n /**\n * If `true`, reverse direction.\n *\n * @default false\n */\n reverse?: boolean\n /**\n * If set the stack will start from the given index.\n *\n * @default 0\n */\n startIndex?: number\n}\n\nconst {\n PropsContext: ZStackPropsContext,\n usePropsContext: useZStackPropsContext,\n withContext,\n} = createComponent<ZStackProps, ZStackStyle>(\"stack--depth\", zStackStyle)\n\nexport { useZStackPropsContext, ZStackPropsContext }\n\n/**\n * `ZStack` is a component that groups elements and provides space between child elements.\n *\n * @see https://yamada-ui.com/docs/components/stack\n */\nexport const ZStack = withContext<\"div\", ZStackProps>(\n ({\n css,\n children,\n direction = \"end\",\n fit = true,\n reverse = false,\n startIndex = 0,\n ...rest\n }) => {\n if (direction === \"start-center\") direction = \"start\"\n if (direction === \"end-center\") direction = \"end\"\n\n const refMap = useRef<Map<number, RefObject<HTMLDivElement | null>>>(\n new Map(),\n )\n const [rect, setRect] = useState<{ height: number; width: number }>({\n height: 0,\n width: 0,\n })\n\n const vertical = useCallback(\n (space: string) => {\n if (direction.startsWith(\"start\"))\n return { [!reverse ? \"bottom\" : \"top\"]: space }\n else if (direction.startsWith(\"end\"))\n return { [!reverse ? \"top\" : \"bottom\"]: space }\n else return { [!reverse ? \"top\" : \"bottom\"]: 0 }\n },\n [direction, reverse],\n )\n\n const horizontal = useCallback(\n (space: string) => {\n if (direction.endsWith(\"-start\"))\n return { [!reverse ? \"right\" : \"left\"]: space }\n else if (direction.endsWith(\"-end\"))\n return { [!reverse ? \"left\" : \"right\"]: space }\n else return { [!reverse ? \"left\" : \"right\"]: 0 }\n },\n [direction, reverse],\n )\n\n const cloneChildren = useMemo(() => {\n const validChildren = getValidChildren(children)\n\n const clonedChildren = validChildren.map((child, index) => {\n const ref = createRef<HTMLDivElement>()\n\n refMap.current.set(index, ref)\n\n const key = child.key ?? index\n\n const zIndex = startIndex + index\n const space = `calc({space} * ${index})`\n\n const css: CSSObject = {\n position: \"absolute\",\n zIndex,\n ...vertical(space),\n ...horizontal(space),\n }\n\n const props = {\n ...child.props,\n ref: mergeRefs(child.props.ref, ref),\n css: mergeCSS(child.props.css, css),\n }\n\n const clonedChild = cloneElement(child, props)\n\n return <Fragment key={key}>{clonedChild}</Fragment>\n })\n\n return clonedChildren\n }, [children, startIndex, vertical, horizontal])\n\n useEffect(() => {\n if (!fit) return\n\n let negativeLeft = direction.endsWith(\"-start\")\n let negativeTop = direction.startsWith(\"start\")\n let width = 0\n let height = 0\n\n if (reverse) {\n negativeLeft = !negativeLeft\n negativeTop = !negativeTop\n }\n\n for (const ref of refMap.current.values()) {\n if (!ref.current) continue\n\n let { offsetHeight, offsetLeft, offsetParent, offsetTop, offsetWidth } =\n ref.current\n\n if (!offsetParent && process.env.NODE_ENV !== \"test\") continue\n\n if (negativeLeft) {\n const offsetParentWidth =\n (offsetParent as HTMLDivElement | null)?.offsetWidth ?? 0\n\n offsetLeft = offsetParentWidth - offsetLeft - offsetWidth\n }\n\n if (negativeTop) {\n const offsetParentHeight =\n (offsetParent as HTMLDivElement | null)?.offsetHeight ?? 0\n\n offsetTop = offsetParentHeight - offsetTop - offsetHeight\n }\n\n offsetWidth += offsetLeft\n offsetHeight += offsetTop\n\n if (offsetWidth > width) width = offsetWidth\n if (offsetHeight > height) height = offsetHeight\n }\n\n setRect({ height, width })\n }, [cloneChildren, direction, reverse, fit])\n\n return (\n <styled.div\n css={css}\n minHeight={fit ? `${rect.height}px` : undefined}\n minWidth={fit ? `${rect.width}px` : undefined}\n {...rest}\n >\n {cloneChildren}\n </styled.div>\n )\n },\n)(undefined, (props) => {\n const css = useInjectVarsIntoCss(props.css, { gap: \"space\" })\n const rest = useInjectVarsIntoProps(props, { gap: \"space\" })\n\n return { ...rest, css }\n})\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_children = require("../../utils/children.cjs");
3
4
  const require_utils_index = require("../../utils/index.cjs");
4
5
  const require_factory = require("../../core/system/factory.cjs");
@@ -19,7 +20,8 @@ const { ComponentContext, PropsContext: StepsPropsContext, useComponentContext,
19
20
  */
20
21
  const StepsRoot = withProvider(({ children, items = [], lazy, lazyBehavior, orientation: orientationProp, ...rest }) => {
21
22
  const computedOrientation = require_hooks_use_value_index.useValue(orientationProp);
22
- const stepsList = require_children.useFindChild(require_children.useValidChildren(children), StepsList);
23
+ const validChildren = require_children.useValidChildren(children);
24
+ const stepsList = require_children.useFindChild(validChildren, StepsList);
23
25
  const { id, count, descendants, getStatus, index, orientation, setIndex, getContentProps, getListProps, getNextTriggerProps, getPrevTriggerProps, getRootProps, onNext, onPrev } = require_use_steps.useSteps({
24
26
  count: items.length || react.Children.count(stepsList?.props.children),
25
27
  orientation: computedOrientation,
@@ -34,36 +36,37 @@ const StepsRoot = withProvider(({ children, items = [], lazy, lazyBehavior, orie
34
36
  lazy,
35
37
  lazyBehavior
36
38
  ]);
39
+ const stepsContext = (0, react.useMemo)(() => ({
40
+ id,
41
+ count,
42
+ getStatus,
43
+ index,
44
+ orientation,
45
+ setIndex,
46
+ getContentProps,
47
+ getListProps,
48
+ getNextTriggerProps,
49
+ getPrevTriggerProps,
50
+ onNext,
51
+ onPrev
52
+ }), [
53
+ id,
54
+ count,
55
+ index,
56
+ orientation,
57
+ setIndex,
58
+ getStatus,
59
+ onNext,
60
+ onPrev,
61
+ getListProps,
62
+ getNextTriggerProps,
63
+ getPrevTriggerProps,
64
+ getContentProps
65
+ ]);
37
66
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_steps.StepsDescendantsContext, {
38
67
  value: descendants,
39
68
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_steps.StepsContext, {
40
- value: (0, react.useMemo)(() => ({
41
- id,
42
- count,
43
- getStatus,
44
- index,
45
- orientation,
46
- setIndex,
47
- getContentProps,
48
- getListProps,
49
- getNextTriggerProps,
50
- getPrevTriggerProps,
51
- onNext,
52
- onPrev
53
- }), [
54
- id,
55
- count,
56
- index,
57
- orientation,
58
- setIndex,
59
- getStatus,
60
- onNext,
61
- onPrev,
62
- getListProps,
63
- getNextTriggerProps,
64
- getPrevTriggerProps,
65
- getContentProps
66
- ]),
69
+ value: stepsContext,
67
70
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ComponentContext, {
68
71
  value: componentContext,
69
72
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.styled.div, {
@@ -108,26 +111,27 @@ const StepsList = withContext(({ children, ...rest }) => {
108
111
  }, "list")();
109
112
  const StepsItem = withContext((props) => {
110
113
  const { first, index, last, status, getDescriptionProps, getIndicatorProps, getRootProps, getSeparatorProps, getTitleProps } = require_use_steps.useStepsItem(props);
114
+ const context = (0, react.useMemo)(() => ({
115
+ first,
116
+ index,
117
+ last,
118
+ status,
119
+ getDescriptionProps,
120
+ getIndicatorProps,
121
+ getSeparatorProps,
122
+ getTitleProps
123
+ }), [
124
+ first,
125
+ index,
126
+ last,
127
+ status,
128
+ getTitleProps,
129
+ getDescriptionProps,
130
+ getSeparatorProps,
131
+ getIndicatorProps
132
+ ]);
111
133
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_steps.StepsItemContext, {
112
- value: (0, react.useMemo)(() => ({
113
- first,
114
- index,
115
- last,
116
- status,
117
- getDescriptionProps,
118
- getIndicatorProps,
119
- getSeparatorProps,
120
- getTitleProps
121
- }), [
122
- first,
123
- index,
124
- last,
125
- status,
126
- getTitleProps,
127
- getDescriptionProps,
128
- getSeparatorProps,
129
- getIndicatorProps
130
- ]),
134
+ value: context,
131
135
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.styled.li, { ...getRootProps() })
132
136
  });
133
137
  }, "item")();