@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,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_utils_index = require("../../utils/index.cjs");
3
4
  const require_factory = require("../../core/system/factory.cjs");
4
5
  const require_create_component = require("../../core/components/create-component.cjs");
@@ -16,8 +17,9 @@ const { ComponentContext, PropsContext: TabsPropsContext, useComponentContext, u
16
17
  * @see https://yamada-ui.com/docs/components/tabs
17
18
  */
18
19
  const TabsRoot = withProvider(({ children, items, lazy, lazyBehavior, orientation: orientationProp, ...rest }) => {
20
+ const computedOrientation = require_hooks_use_value_index.useValue(orientationProp);
19
21
  const { id, focusedIndex, index, manual, orientation, setFocusedIndex, setIndex, tabDescendants, tabPanelDescendants, getListProps, getRootProps } = require_use_tabs.useTabs({
20
- orientation: require_hooks_use_value_index.useValue(orientationProp),
22
+ orientation: computedOrientation,
21
23
  ...rest
22
24
  });
23
25
  const componentContext = (0, react.useMemo)(() => ({
@@ -29,30 +31,31 @@ const TabsRoot = withProvider(({ children, items, lazy, lazyBehavior, orientatio
29
31
  lazy,
30
32
  lazyBehavior
31
33
  ]);
34
+ const tabsContext = (0, react.useMemo)(() => ({
35
+ id,
36
+ focusedIndex,
37
+ index,
38
+ manual,
39
+ orientation,
40
+ setFocusedIndex,
41
+ setIndex,
42
+ getListProps
43
+ }), [
44
+ id,
45
+ manual,
46
+ focusedIndex,
47
+ index,
48
+ orientation,
49
+ setFocusedIndex,
50
+ setIndex,
51
+ getListProps
52
+ ]);
32
53
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tabs.TabDescendantsContext, {
33
54
  value: tabDescendants,
34
55
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tabs.TabPanelDescendantsContext, {
35
56
  value: tabPanelDescendants,
36
57
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tabs.TabsContext, {
37
- value: (0, react.useMemo)(() => ({
38
- id,
39
- focusedIndex,
40
- index,
41
- manual,
42
- orientation,
43
- setFocusedIndex,
44
- setIndex,
45
- getListProps
46
- }), [
47
- id,
48
- manual,
49
- focusedIndex,
50
- index,
51
- orientation,
52
- setFocusedIndex,
53
- setIndex,
54
- getListProps
55
- ]),
58
+ value: tabsContext,
56
59
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ComponentContext, {
57
60
  value: componentContext,
58
61
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.styled.div, {
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.cjs","names":["createSlotComponent","tabsStyle","useTabs","useValue","TabDescendantsContext","TabPanelDescendantsContext","TabsContext","styled","useTabsContext","useTab","useTabPanel","useLazyMount"],"sources":["../../../../src/components/tabs/tabs.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type { HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { UseLazyMountProps } from \"../../hooks/use-lazy-mount\"\nimport type { TabsStyle } from \"./tabs.style\"\nimport type { UseTabPanelProps, UseTabProps, UseTabsProps } from \"./use-tabs\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useLazyMount } from \"../../hooks/use-lazy-mount\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { isNull, isUndefined } from \"../../utils\"\nimport { tabsStyle } from \"./tabs.style\"\nimport {\n TabDescendantsContext,\n TabPanelDescendantsContext,\n TabsContext,\n useTab,\n useTabPanel,\n useTabs,\n useTabsContext,\n} from \"./use-tabs\"\n\ninterface ComponentContext extends Pick<\n TabsRootProps,\n \"items\" | \"lazy\" | \"lazyBehavior\"\n> {}\n\nexport interface TabsItem extends Omit<TabsTabProps, \"index\"> {\n /**\n * The content for panel element.\n */\n panel: ReactNode\n /**\n * The content for tab element.\n */\n tab: ReactNode\n /**\n * Props for panel element.\n */\n panelProps?: TabsPanelProps\n}\n\nexport interface TabsRootProps\n extends\n Omit<HTMLStyledProps, \"onChange\">,\n Omit<UseTabsProps, \"orientation\">,\n Pick<UseLazyMountProps, \"lazy\" | \"lazyBehavior\">,\n ThemeProps<TabsStyle> {\n /**\n * If provided, generate tab and panel components based on tabs.\n */\n items?: TabsItem[]\n}\n\nconst {\n ComponentContext,\n PropsContext: TabsPropsContext,\n useComponentContext,\n usePropsContext: useTabsPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TabsRootProps, TabsStyle, ComponentContext>(\n \"tabs\",\n tabsStyle,\n)\n\nexport { TabsPropsContext, useTabsPropsContext }\n\n/**\n * `Tabs` is a component for switching between different display areas.\n *\n * @see https://yamada-ui.com/docs/components/tabs\n */\nexport const TabsRoot = withProvider<\"div\", TabsRootProps, \"orientation\">(\n ({\n children,\n items,\n lazy,\n lazyBehavior,\n orientation: orientationProp,\n ...rest\n }) => {\n const computedOrientation = useValue(orientationProp)\n const {\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n tabDescendants,\n tabPanelDescendants,\n getListProps,\n getRootProps,\n } = useTabs({ orientation: computedOrientation, ...rest })\n const componentContext = useMemo(\n () => ({ items, lazy, lazyBehavior }),\n [items, lazy, lazyBehavior],\n )\n const tabsContext = useMemo(\n () => ({\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n getListProps,\n }),\n [\n id,\n manual,\n focusedIndex,\n index,\n orientation,\n setFocusedIndex,\n setIndex,\n getListProps,\n ],\n )\n\n return (\n <TabDescendantsContext value={tabDescendants}>\n <TabPanelDescendantsContext value={tabPanelDescendants}>\n <TabsContext value={tabsContext}>\n <ComponentContext value={componentContext}>\n <styled.div {...getRootProps()}>{children}</styled.div>\n </ComponentContext>\n </TabsContext>\n </TabPanelDescendantsContext>\n </TabDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"orientation\"] },\n)()\n\nexport interface TabsListProps extends HTMLStyledProps {}\n\nexport const TabsList = withContext<\"div\", TabsListProps>(\n ({ children, ...rest }) => {\n const { items } = useComponentContext()\n const { getListProps } = useTabsContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n else\n return items?.map(\n (\n { id, panel: _panel, tab, panelProps: _panelProps, ...rest },\n index,\n ) =>\n isUndefined(tab) || isNull(tab) ? null : (\n <TabsTab id={id} key={id ?? index} index={index} {...rest}>\n {tab}\n </TabsTab>\n ),\n )\n }, [children, items])\n\n return <styled.div {...getListProps(rest)}>{computedChildren}</styled.div>\n },\n \"list\",\n)()\n\nexport interface TabsTabProps extends HTMLStyledProps<\"button\">, UseTabProps {}\n\nexport const TabsTab = withContext<\"button\", TabsTabProps>(\"button\", \"tab\")(\n undefined,\n (props) => {\n const { getRootProps } = useTab(props)\n\n return getRootProps()\n },\n)\n\nexport interface TabsPanelsProps extends PropsWithChildren {}\n\nexport const TabsPanels: FC<TabsPanelsProps> = ({ children }) => {\n const { items } = useComponentContext()\n\n return useMemo(() => {\n if (children) return children\n else\n return items?.map(({ id, panel, panelProps }, index) =>\n isUndefined(panel) || isNull(panel) ? null : (\n <TabsPanel key={id ?? index} index={index} {...panelProps}>\n {panel}\n </TabsPanel>\n ),\n )\n }, [children, items])\n}\n\nexport interface TabsPanelProps extends HTMLStyledProps, UseTabPanelProps {}\n\nexport const TabsPanel = withContext<\"div\", TabsPanelProps>(\"div\", \"panel\")(\n undefined,\n (props) => {\n const { lazy, lazyBehavior } = useComponentContext()\n const { selected: mounted, getRootProps } = useTabPanel(props)\n const children = useLazyMount({ lazy, lazyBehavior, mounted, ...props })\n\n return { ...getRootProps(), children }\n },\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.cjs","names":["createSlotComponent","tabsStyle","useValue","useTabs","useMemo","TabDescendantsContext","TabPanelDescendantsContext","TabsContext","styled","useTabsContext","useTab","useTabPanel","useLazyMount"],"sources":["../../../../src/components/tabs/tabs.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type { HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { UseLazyMountProps } from \"../../hooks/use-lazy-mount\"\nimport type { TabsStyle } from \"./tabs.style\"\nimport type { UseTabPanelProps, UseTabProps, UseTabsProps } from \"./use-tabs\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useLazyMount } from \"../../hooks/use-lazy-mount\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { isNull, isUndefined } from \"../../utils\"\nimport { tabsStyle } from \"./tabs.style\"\nimport {\n TabDescendantsContext,\n TabPanelDescendantsContext,\n TabsContext,\n useTab,\n useTabPanel,\n useTabs,\n useTabsContext,\n} from \"./use-tabs\"\n\ninterface ComponentContext extends Pick<\n TabsRootProps,\n \"items\" | \"lazy\" | \"lazyBehavior\"\n> {}\n\nexport interface TabsItem extends Omit<TabsTabProps, \"index\"> {\n /**\n * The content for panel element.\n */\n panel: ReactNode\n /**\n * The content for tab element.\n */\n tab: ReactNode\n /**\n * Props for panel element.\n */\n panelProps?: TabsPanelProps\n}\n\nexport interface TabsRootProps\n extends\n Omit<HTMLStyledProps, \"onChange\">,\n Omit<UseTabsProps, \"orientation\">,\n Pick<UseLazyMountProps, \"lazy\" | \"lazyBehavior\">,\n ThemeProps<TabsStyle> {\n /**\n * If provided, generate tab and panel components based on tabs.\n */\n items?: TabsItem[]\n}\n\nconst {\n ComponentContext,\n PropsContext: TabsPropsContext,\n useComponentContext,\n usePropsContext: useTabsPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TabsRootProps, TabsStyle, ComponentContext>(\n \"tabs\",\n tabsStyle,\n)\n\nexport { TabsPropsContext, useTabsPropsContext }\n\n/**\n * `Tabs` is a component for switching between different display areas.\n *\n * @see https://yamada-ui.com/docs/components/tabs\n */\nexport const TabsRoot = withProvider<\"div\", TabsRootProps, \"orientation\">(\n ({\n children,\n items,\n lazy,\n lazyBehavior,\n orientation: orientationProp,\n ...rest\n }) => {\n const computedOrientation = useValue(orientationProp)\n const {\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n tabDescendants,\n tabPanelDescendants,\n getListProps,\n getRootProps,\n } = useTabs({ orientation: computedOrientation, ...rest })\n const componentContext = useMemo(\n () => ({ items, lazy, lazyBehavior }),\n [items, lazy, lazyBehavior],\n )\n const tabsContext = useMemo(\n () => ({\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n getListProps,\n }),\n [\n id,\n manual,\n focusedIndex,\n index,\n orientation,\n setFocusedIndex,\n setIndex,\n getListProps,\n ],\n )\n\n return (\n <TabDescendantsContext value={tabDescendants}>\n <TabPanelDescendantsContext value={tabPanelDescendants}>\n <TabsContext value={tabsContext}>\n <ComponentContext value={componentContext}>\n <styled.div {...getRootProps()}>{children}</styled.div>\n </ComponentContext>\n </TabsContext>\n </TabPanelDescendantsContext>\n </TabDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"orientation\"] },\n)()\n\nexport interface TabsListProps extends HTMLStyledProps {}\n\nexport const TabsList = withContext<\"div\", TabsListProps>(\n ({ children, ...rest }) => {\n const { items } = useComponentContext()\n const { getListProps } = useTabsContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n else\n return items?.map(\n (\n { id, panel: _panel, tab, panelProps: _panelProps, ...rest },\n index,\n ) =>\n isUndefined(tab) || isNull(tab) ? null : (\n <TabsTab id={id} key={id ?? index} index={index} {...rest}>\n {tab}\n </TabsTab>\n ),\n )\n }, [children, items])\n\n return <styled.div {...getListProps(rest)}>{computedChildren}</styled.div>\n },\n \"list\",\n)()\n\nexport interface TabsTabProps extends HTMLStyledProps<\"button\">, UseTabProps {}\n\nexport const TabsTab = withContext<\"button\", TabsTabProps>(\"button\", \"tab\")(\n undefined,\n (props) => {\n const { getRootProps } = useTab(props)\n\n return getRootProps()\n },\n)\n\nexport interface TabsPanelsProps extends PropsWithChildren {}\n\nexport const TabsPanels: FC<TabsPanelsProps> = ({ children }) => {\n const { items } = useComponentContext()\n\n return useMemo(() => {\n if (children) return children\n else\n return items?.map(({ id, panel, panelProps }, index) =>\n isUndefined(panel) || isNull(panel) ? null : (\n <TabsPanel key={id ?? index} index={index} {...panelProps}>\n {panel}\n </TabsPanel>\n ),\n )\n }, [children, items])\n}\n\nexport interface TabsPanelProps extends HTMLStyledProps, UseTabPanelProps {}\n\nexport const TabsPanel = withContext<\"div\", TabsPanelProps>(\"div\", \"panel\")(\n undefined,\n (props) => {\n const { lazy, lazyBehavior } = useComponentContext()\n const { selected: mounted, getRootProps } = useTabPanel(props)\n const children = useLazyMount({ lazy, lazyBehavior, mounted, ...props })\n\n return { ...getRootProps(), children }\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_context = require("../../utils/context.cjs");
3
4
  const require_dom = require("../../utils/dom.cjs");
4
5
  const require_effect = require("../../utils/effect.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"use-tabs.cjs","names":["createDescendants","createContext","useControllableState","mergeProps","mergeRefs"],"sources":["../../../../src/components/tabs/use-tabs.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent } from \"react\"\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId, useState } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n handlerAll,\n isUndefined,\n mergeRefs,\n runKeyAction,\n useUpdateEffect,\n} from \"../../utils\"\n\nconst {\n DescendantsContext: TabDescendantsContext,\n useDescendant: useTabDescendant,\n useDescendants: useTabDescendants,\n} = createDescendants<HTMLButtonElement>()\n\nexport { TabDescendantsContext, useTabDescendant, useTabDescendants }\n\nconst {\n DescendantsContext: TabPanelDescendantsContext,\n useDescendant: useTabPanelDescendant,\n useDescendants: useTabPanelDescendants,\n} = createDescendants<HTMLDivElement>()\n\nexport {\n TabPanelDescendantsContext,\n useTabPanelDescendant,\n useTabPanelDescendants,\n}\n\ninterface TabsContext extends Omit<\n UseTabsReturn,\n \"getRootProps\" | \"tabDescendants\" | \"tabPanelDescendants\"\n> {}\n\nconst [TabsContext, useTabsContext] = createContext<TabsContext>({\n name: \"TabsContext\",\n})\n\nexport { TabsContext, useTabsContext }\n\nexport interface UseTabsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The index of the selected tab.\n */\n defaultIndex?: number\n /**\n * The index of the selected tab.\n */\n index?: number\n /**\n * If `true`, the tabs will be manually activated and display its panel by pressing Space or Enter.\n *\n * If `false`, the tabs will be automatically activated and their panel is displayed when they receive focus.\n *\n * @default false\n */\n manual?: boolean\n /**\n * The orientation of the tabs.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback invoked when the index changes.\n */\n onChange?: (index: number) => void\n}\n\nexport const useTabs = ({\n id,\n defaultIndex = 0,\n index: indexProp,\n manual = false,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseTabsProps = {}) => {\n const uuid = useId()\n const tabDescendants = useTabDescendants()\n const tabPanelDescendants = useTabPanelDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const [focusedIndex, setFocusedIndex] = useState<number>(index)\n const horizontal = orientation === \"horizontal\"\n\n id ??= uuid\n\n const onFocusFirstTab = useCallback(() => {\n const first = tabDescendants.enabledFirstValue()\n\n if (first) first.node.focus()\n }, [tabDescendants])\n\n const onFocusLastTab = useCallback(() => {\n const last = tabDescendants.enabledLastValue()\n\n if (last) last.node.focus()\n }, [tabDescendants])\n\n const onFocusNextTab = useCallback(() => {\n const next = tabDescendants.enabledNextValue(focusedIndex)\n\n if (next) next.node.focus()\n }, [tabDescendants, focusedIndex])\n\n const onFocusPrevTab = useCallback(() => {\n const prev = tabDescendants.enabledPrevValue(focusedIndex)\n\n if (prev) prev.node.focus()\n }, [tabDescendants, focusedIndex])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n runKeyAction(ev, {\n ArrowDown: !horizontal ? onFocusNextTab : undefined,\n ArrowLeft: horizontal ? onFocusPrevTab : undefined,\n ArrowRight: horizontal ? onFocusNextTab : undefined,\n ArrowUp: !horizontal ? onFocusPrevTab : undefined,\n End: onFocusLastTab,\n Home: onFocusFirstTab,\n })\n },\n [\n horizontal,\n onFocusNextTab,\n onFocusPrevTab,\n onFocusLastTab,\n onFocusFirstTab,\n ],\n )\n\n useUpdateEffect(() => {\n if (isUndefined(indexProp)) return\n\n setIndex(indexProp)\n setFocusedIndex(indexProp)\n }, [indexProp])\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n mergeProps({ \"data-orientation\": orientation }, rest, props, { ref })(),\n [orientation, rest],\n )\n\n const getListProps: PropGetter = useCallback(\n (props = {}) => ({\n \"aria-orientation\": orientation,\n role: \"tablist\",\n ...props,\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [orientation, onKeyDown],\n )\n\n return {\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n tabDescendants,\n tabPanelDescendants,\n getListProps,\n getRootProps,\n }\n}\n\nexport type UseTabsReturn = ReturnType<typeof useTabs>\n\nexport interface UseTabProps extends HTMLProps<\"button\"> {\n /**\n * The index of the tab.\n */\n index: number\n}\n\nexport const useTab = ({ id, disabled, index, ...rest }: UseTabProps) => {\n const {\n id: rootId,\n index: selectedIndex,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n } = useTabsContext()\n const { register } = useTabDescendant({ disabled })\n const tabPanelId = `${rootId}-panel-${index}`\n const selected = index === selectedIndex\n\n id ??= `${rootId}-tab-${index}`\n\n const onClick = useCallback(() => {\n if (!disabled) setIndex(index)\n }, [index, setIndex, disabled])\n\n const onFocus = useCallback(() => {\n if (disabled) return\n\n setFocusedIndex(index)\n\n if (!manual) setIndex(index)\n }, [setFocusedIndex, index, manual, disabled, setIndex])\n\n const getRootProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) =>\n mergeProps(\n {\n id,\n type: \"button\",\n \"aria-controls\": tabPanelId,\n \"aria-selected\": selected,\n \"data-orientation\": orientation,\n disabled,\n role: \"tab\",\n tabIndex: selected ? 0 : -1,\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n {\n onClick: handlerAll(props.onClick, rest.onClick, onClick),\n onFocus: handlerAll(props.onFocus, rest.onFocus, onFocus),\n },\n )({ mergeEvent: false }),\n [\n disabled,\n id,\n onClick,\n onFocus,\n orientation,\n register,\n rest,\n selected,\n tabPanelId,\n ],\n )\n\n return { index, selected, getRootProps }\n}\n\nexport type UseTabReturn = ReturnType<typeof useTab>\n\nexport interface UseTabPanelProps extends HTMLProps {\n /**\n * The index of the tab panel.\n */\n index: number\n}\n\nexport const useTabPanel = ({\n id,\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseTabPanelProps) => {\n const { id: rootId, index: selectedIndex, orientation } = useTabsContext()\n const { register } = useTabPanelDescendant()\n const tabId = `${rootId}-tab-${index}`\n const selected = index === selectedIndex\n\n id ??= `${rootId}-panel-${index}`\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n id,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby, tabId),\n \"data-orientation\": orientation,\n hidden: !selected,\n role: \"tabpanel\",\n tabIndex: selected ? 0 : -1,\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n )(),\n [id, ariaLabelledbyProp, orientation, register, rest, selected, tabId],\n )\n\n return { index, selected, getRootProps }\n}\n\nexport type UseTabPanelReturn = ReturnType<typeof useTabPanel>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-tabs.cjs","names":["createDescendants","createContext","useId","useControllableState","useState","useCallback","mergeProps","mergeRefs"],"sources":["../../../../src/components/tabs/use-tabs.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent } from \"react\"\nimport type { HTMLProps, Orientation, PropGetter } from \"../../core\"\nimport { useCallback, useId, useState } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport {\n createContext,\n cx,\n handlerAll,\n isUndefined,\n mergeRefs,\n runKeyAction,\n useUpdateEffect,\n} from \"../../utils\"\n\nconst {\n DescendantsContext: TabDescendantsContext,\n useDescendant: useTabDescendant,\n useDescendants: useTabDescendants,\n} = createDescendants<HTMLButtonElement>()\n\nexport { TabDescendantsContext, useTabDescendant, useTabDescendants }\n\nconst {\n DescendantsContext: TabPanelDescendantsContext,\n useDescendant: useTabPanelDescendant,\n useDescendants: useTabPanelDescendants,\n} = createDescendants<HTMLDivElement>()\n\nexport {\n TabPanelDescendantsContext,\n useTabPanelDescendant,\n useTabPanelDescendants,\n}\n\ninterface TabsContext extends Omit<\n UseTabsReturn,\n \"getRootProps\" | \"tabDescendants\" | \"tabPanelDescendants\"\n> {}\n\nconst [TabsContext, useTabsContext] = createContext<TabsContext>({\n name: \"TabsContext\",\n})\n\nexport { TabsContext, useTabsContext }\n\nexport interface UseTabsProps extends Omit<HTMLProps, \"onChange\"> {\n /**\n * The index of the selected tab.\n */\n defaultIndex?: number\n /**\n * The index of the selected tab.\n */\n index?: number\n /**\n * If `true`, the tabs will be manually activated and display its panel by pressing Space or Enter.\n *\n * If `false`, the tabs will be automatically activated and their panel is displayed when they receive focus.\n *\n * @default false\n */\n manual?: boolean\n /**\n * The orientation of the tabs.\n *\n * @default 'horizontal'\n */\n orientation?: Orientation\n /**\n * The callback invoked when the index changes.\n */\n onChange?: (index: number) => void\n}\n\nexport const useTabs = ({\n id,\n defaultIndex = 0,\n index: indexProp,\n manual = false,\n orientation = \"horizontal\",\n onChange,\n ...rest\n}: UseTabsProps = {}) => {\n const uuid = useId()\n const tabDescendants = useTabDescendants()\n const tabPanelDescendants = useTabPanelDescendants()\n const [index, setIndex] = useControllableState({\n defaultValue: defaultIndex,\n value: indexProp,\n onChange,\n })\n const [focusedIndex, setFocusedIndex] = useState<number>(index)\n const horizontal = orientation === \"horizontal\"\n\n id ??= uuid\n\n const onFocusFirstTab = useCallback(() => {\n const first = tabDescendants.enabledFirstValue()\n\n if (first) first.node.focus()\n }, [tabDescendants])\n\n const onFocusLastTab = useCallback(() => {\n const last = tabDescendants.enabledLastValue()\n\n if (last) last.node.focus()\n }, [tabDescendants])\n\n const onFocusNextTab = useCallback(() => {\n const next = tabDescendants.enabledNextValue(focusedIndex)\n\n if (next) next.node.focus()\n }, [tabDescendants, focusedIndex])\n\n const onFocusPrevTab = useCallback(() => {\n const prev = tabDescendants.enabledPrevValue(focusedIndex)\n\n if (prev) prev.node.focus()\n }, [tabDescendants, focusedIndex])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n runKeyAction(ev, {\n ArrowDown: !horizontal ? onFocusNextTab : undefined,\n ArrowLeft: horizontal ? onFocusPrevTab : undefined,\n ArrowRight: horizontal ? onFocusNextTab : undefined,\n ArrowUp: !horizontal ? onFocusPrevTab : undefined,\n End: onFocusLastTab,\n Home: onFocusFirstTab,\n })\n },\n [\n horizontal,\n onFocusNextTab,\n onFocusPrevTab,\n onFocusLastTab,\n onFocusFirstTab,\n ],\n )\n\n useUpdateEffect(() => {\n if (isUndefined(indexProp)) return\n\n setIndex(indexProp)\n setFocusedIndex(indexProp)\n }, [indexProp])\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n mergeProps({ \"data-orientation\": orientation }, rest, props, { ref })(),\n [orientation, rest],\n )\n\n const getListProps: PropGetter = useCallback(\n (props = {}) => ({\n \"aria-orientation\": orientation,\n role: \"tablist\",\n ...props,\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [orientation, onKeyDown],\n )\n\n return {\n id,\n focusedIndex,\n index,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n tabDescendants,\n tabPanelDescendants,\n getListProps,\n getRootProps,\n }\n}\n\nexport type UseTabsReturn = ReturnType<typeof useTabs>\n\nexport interface UseTabProps extends HTMLProps<\"button\"> {\n /**\n * The index of the tab.\n */\n index: number\n}\n\nexport const useTab = ({ id, disabled, index, ...rest }: UseTabProps) => {\n const {\n id: rootId,\n index: selectedIndex,\n manual,\n orientation,\n setFocusedIndex,\n setIndex,\n } = useTabsContext()\n const { register } = useTabDescendant({ disabled })\n const tabPanelId = `${rootId}-panel-${index}`\n const selected = index === selectedIndex\n\n id ??= `${rootId}-tab-${index}`\n\n const onClick = useCallback(() => {\n if (!disabled) setIndex(index)\n }, [index, setIndex, disabled])\n\n const onFocus = useCallback(() => {\n if (disabled) return\n\n setFocusedIndex(index)\n\n if (!manual) setIndex(index)\n }, [setFocusedIndex, index, manual, disabled, setIndex])\n\n const getRootProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) =>\n mergeProps(\n {\n id,\n type: \"button\",\n \"aria-controls\": tabPanelId,\n \"aria-selected\": selected,\n \"data-orientation\": orientation,\n disabled,\n role: \"tab\",\n tabIndex: selected ? 0 : -1,\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n {\n onClick: handlerAll(props.onClick, rest.onClick, onClick),\n onFocus: handlerAll(props.onFocus, rest.onFocus, onFocus),\n },\n )({ mergeEvent: false }),\n [\n disabled,\n id,\n onClick,\n onFocus,\n orientation,\n register,\n rest,\n selected,\n tabPanelId,\n ],\n )\n\n return { index, selected, getRootProps }\n}\n\nexport type UseTabReturn = ReturnType<typeof useTab>\n\nexport interface UseTabPanelProps extends HTMLProps {\n /**\n * The index of the tab panel.\n */\n index: number\n}\n\nexport const useTabPanel = ({\n id,\n \"aria-labelledby\": ariaLabelledbyProp,\n index,\n ...rest\n}: UseTabPanelProps) => {\n const { id: rootId, index: selectedIndex, orientation } = useTabsContext()\n const { register } = useTabPanelDescendant()\n const tabId = `${rootId}-tab-${index}`\n const selected = index === selectedIndex\n\n id ??= `${rootId}-panel-${index}`\n\n const getRootProps: PropGetter = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n id,\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby, tabId),\n \"data-orientation\": orientation,\n hidden: !selected,\n role: \"tabpanel\",\n tabIndex: selected ? 0 : -1,\n },\n rest,\n props,\n { ref: mergeRefs(ref, register) },\n )(),\n [id, ariaLabelledbyProp, orientation, register, rest, selected, tabId],\n )\n\n return { index, selected, getRootProps }\n}\n\nexport type UseTabPanelReturn = ReturnType<typeof useTabPanel>\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_utils_index = require("../../utils/index.cjs");
3
4
  const require_factory = require("../../core/system/factory.cjs");
4
5
  const require_create_component = require("../../core/components/create-component.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"tag.cjs","names":["createSlotComponent","tagStyle","styled","useClickable","useI18n","XIcon"],"sources":["../../../../src/components/tag/tag.tsx"],"sourcesContent":["\"use client\"\n\nimport type { MouseEventHandler, ReactNode } from \"react\"\nimport type { HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { TagStyle } from \"./tag.style\"\nimport { useMemo, useRef } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useClickable } from \"../../hooks/use-clickable\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { dataAttr } from \"../../utils\"\nimport { XIcon } from \"../icon\"\nimport { tagStyle } from \"./tag.style\"\n\ninterface ComponentContext extends Pick<TagProps, \"disabled\"> {}\n\nexport interface TagProps\n extends HTMLStyledProps<\"span\">, ThemeProps<TagStyle> {\n /**\n * If `true`, the tag is disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * Icon to be displayed to the end of the tag.\n */\n endIcon?: ReactNode\n /**\n * Icon to be displayed to the start of the tag.\n */\n startIcon?: ReactNode\n /**\n * Props for tag close button element.\n */\n closeButtonProps?: TagCloseButtonProps\n /**\n * Props for content element.\n */\n contentProps?: TagContentProps\n /**\n * Props for icon element.\n */\n iconProps?: HTMLStyledProps<\"span\">\n /**\n * Function to be executed when the close button is clicked.\n */\n onClose?: MouseEventHandler<HTMLElement>\n}\n\nconst {\n ComponentContext,\n PropsContext: TagPropsContext,\n useComponentContext,\n usePropsContext: useTagPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TagProps, TagStyle, ComponentContext>(\"tag\", tagStyle)\n\nexport { TagPropsContext, useTagPropsContext }\n\n/**\n * `Tag` is a component used to categorize or organize items using keywords that describe them.\n *\n * @see https://yamada-ui.com/docs/components/tag\n */\nexport const Tag = withProvider<\"span\", TagProps, \"disabled\">(\n ({\n children,\n disabled,\n endIcon,\n startIcon,\n closeButtonProps,\n contentProps,\n iconProps,\n onClose,\n ...rest\n }) => {\n const context = useMemo(() => ({ disabled }), [disabled])\n\n return (\n <ComponentContext value={context}>\n <styled.span data-disabled={dataAttr(disabled)} {...rest}>\n {startIcon ? (\n <TagStartIcon {...iconProps}>{startIcon}</TagStartIcon>\n ) : null}\n\n {children ? (\n <TagContent {...contentProps}>{children}</TagContent>\n ) : null}\n\n {endIcon ? <TagEndIcon {...iconProps}>{endIcon}</TagEndIcon> : null}\n\n {onClose ? (\n <TagCloseButton onClick={onClose} {...closeButtonProps} />\n ) : null}\n </styled.span>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"disabled\"] },\n)()\n\ninterface TagContentProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagContent = withContext<\"span\", TagContentProps>(\"span\", \"content\")(\n undefined,\n (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n },\n)\n\ninterface TagStartIconProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagStartIcon = withContext<\"span\", TagStartIconProps>(\"span\", [\n \"icon\",\n \"start\",\n])(undefined, (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n})\n\ninterface TagEndIconProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagEndIcon = withContext<\"span\", TagEndIconProps>(\"span\", [\n \"icon\",\n \"end\",\n])(undefined, (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n})\n\ninterface TagCloseButtonProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagCloseButton = withContext<\"span\", TagCloseButtonProps>(\"span\", [\n \"icon\",\n \"closeButton\",\n])(undefined, ({ children, ...props }) => {\n const ref = useRef<HTMLSpanElement>(null)\n const { disabled } = useComponentContext()\n const rest = useClickable<HTMLSpanElement>({ ref, disabled, ...props })\n const { t } = useI18n(\"tag\")\n\n return {\n \"aria-label\": t(\"Close tag\"),\n \"data-disabled\": dataAttr(disabled),\n children: children || <XIcon />,\n ...rest,\n }\n})\n"],"mappings":";;;;;;;;;;;AAiDA,MAAM,EACJ,kBACA,cAAc,iBACd,qBACA,iBAAiB,oBACjB,aACA,iBACEA,yBAAAA,oBAA0D,OAAOC,kBAAAA,QAAQ;;;;;;AAS7E,MAAa,MAAM,cAChB,EACC,UACA,UACA,SACA,WACA,kBACA,cACA,WACA,SACA,GAAG,WACC;CACJ,MAAM,WAAA,GAAA,MAAA,QAAA,QAAyB,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC;CAExD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,OAAO;EACvB,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,MAAR;GAAa,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAAwB,QAAQ;GAAG,GAAI;GAApD,UAAA;IACG,YACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD;KAAc,GAAI;KAAY,UAAA;IAAwB,CAAA,IACpD;IAEH,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;KAAY,GAAI;KAAe;IAAqB,CAAA,IAClD;IAEH,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;KAAY,GAAI;KAAY,UAAA;IAAoB,CAAA,IAAI;IAE9D,UACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;KAAgB,SAAS;KAAS,GAAI;IAAmB,CAAA,IACvD;GACO;;CACG,CAAA;AAEtB,GACA,QACA,EAAE,eAAe,CAAC,UAAU,EAAE,CAChC,CAAC,CAAC;AAIF,MAAM,aAAa,YAAqC,QAAQ,SAAS,CAAC,CACxE,KAAA,IACC,UAAU;CACT,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;EAAG,GAAG;CAAM;AACzD,CACF;AAIA,MAAM,eAAe,YAAuC,QAAQ,CAClE,QACA,OACF,CAAC,CAAC,CAAC,KAAA,IAAY,UAAU;CACvB,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;EAAG,GAAG;CAAM;AACzD,CAAC;AAID,MAAM,aAAa,YAAqC,QAAQ,CAC9D,QACA,KACF,CAAC,CAAC,CAAC,KAAA,IAAY,UAAU;CACvB,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;EAAG,GAAG;CAAM;AACzD,CAAC;AAID,MAAM,iBAAiB,YAAyC,QAAQ,CACtE,QACA,aACF,CAAC,CAAC,CAAC,KAAA,IAAY,EAAE,UAAU,GAAG,YAAY;CACxC,MAAM,OAAA,GAAA,MAAA,OAAA,CAA8B,IAAI;CACxC,MAAM,EAAE,aAAa,oBAAoB;CACzC,MAAM,OAAOC,kCAAAA,aAA8B;EAAE;EAAK;EAAU,GAAG;CAAM,CAAC;CACtE,MAAM,EAAE,MAAMC,sBAAAA,QAAQ,KAAK;CAE3B,OAAO;EACL,cAAc,EAAE,WAAW;EAC3B,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;EAClC,UAAU,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,OAAD,CAAQ,CAAA;EAC9B,GAAG;CACL;AACF,CAAC"}
1
+ {"version":3,"file":"tag.cjs","names":["createSlotComponent","tagStyle","useMemo","styled","useRef","useClickable","useI18n","XIcon"],"sources":["../../../../src/components/tag/tag.tsx"],"sourcesContent":["\"use client\"\n\nimport type { MouseEventHandler, ReactNode } from \"react\"\nimport type { HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { TagStyle } from \"./tag.style\"\nimport { useMemo, useRef } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useClickable } from \"../../hooks/use-clickable\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { dataAttr } from \"../../utils\"\nimport { XIcon } from \"../icon\"\nimport { tagStyle } from \"./tag.style\"\n\ninterface ComponentContext extends Pick<TagProps, \"disabled\"> {}\n\nexport interface TagProps\n extends HTMLStyledProps<\"span\">, ThemeProps<TagStyle> {\n /**\n * If `true`, the tag is disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * Icon to be displayed to the end of the tag.\n */\n endIcon?: ReactNode\n /**\n * Icon to be displayed to the start of the tag.\n */\n startIcon?: ReactNode\n /**\n * Props for tag close button element.\n */\n closeButtonProps?: TagCloseButtonProps\n /**\n * Props for content element.\n */\n contentProps?: TagContentProps\n /**\n * Props for icon element.\n */\n iconProps?: HTMLStyledProps<\"span\">\n /**\n * Function to be executed when the close button is clicked.\n */\n onClose?: MouseEventHandler<HTMLElement>\n}\n\nconst {\n ComponentContext,\n PropsContext: TagPropsContext,\n useComponentContext,\n usePropsContext: useTagPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TagProps, TagStyle, ComponentContext>(\"tag\", tagStyle)\n\nexport { TagPropsContext, useTagPropsContext }\n\n/**\n * `Tag` is a component used to categorize or organize items using keywords that describe them.\n *\n * @see https://yamada-ui.com/docs/components/tag\n */\nexport const Tag = withProvider<\"span\", TagProps, \"disabled\">(\n ({\n children,\n disabled,\n endIcon,\n startIcon,\n closeButtonProps,\n contentProps,\n iconProps,\n onClose,\n ...rest\n }) => {\n const context = useMemo(() => ({ disabled }), [disabled])\n\n return (\n <ComponentContext value={context}>\n <styled.span data-disabled={dataAttr(disabled)} {...rest}>\n {startIcon ? (\n <TagStartIcon {...iconProps}>{startIcon}</TagStartIcon>\n ) : null}\n\n {children ? (\n <TagContent {...contentProps}>{children}</TagContent>\n ) : null}\n\n {endIcon ? <TagEndIcon {...iconProps}>{endIcon}</TagEndIcon> : null}\n\n {onClose ? (\n <TagCloseButton onClick={onClose} {...closeButtonProps} />\n ) : null}\n </styled.span>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"disabled\"] },\n)()\n\ninterface TagContentProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagContent = withContext<\"span\", TagContentProps>(\"span\", \"content\")(\n undefined,\n (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n },\n)\n\ninterface TagStartIconProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagStartIcon = withContext<\"span\", TagStartIconProps>(\"span\", [\n \"icon\",\n \"start\",\n])(undefined, (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n})\n\ninterface TagEndIconProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagEndIcon = withContext<\"span\", TagEndIconProps>(\"span\", [\n \"icon\",\n \"end\",\n])(undefined, (props) => {\n const { disabled } = useComponentContext()\n\n return { \"data-disabled\": dataAttr(disabled), ...props }\n})\n\ninterface TagCloseButtonProps extends HTMLStyledProps<\"span\"> {}\n\nconst TagCloseButton = withContext<\"span\", TagCloseButtonProps>(\"span\", [\n \"icon\",\n \"closeButton\",\n])(undefined, ({ children, ...props }) => {\n const ref = useRef<HTMLSpanElement>(null)\n const { disabled } = useComponentContext()\n const rest = useClickable<HTMLSpanElement>({ ref, disabled, ...props })\n const { t } = useI18n(\"tag\")\n\n return {\n \"aria-label\": t(\"Close tag\"),\n \"data-disabled\": dataAttr(disabled),\n children: children || <XIcon />,\n ...rest,\n }\n})\n"],"mappings":";;;;;;;;;;;;AAiDA,MAAM,EACJ,kBACA,cAAc,iBACd,qBACA,iBAAiB,oBACjB,aACA,iBACEA,yBAAAA,oBAA0D,OAAOC,kBAAAA,QAAQ;;;;;;AAS7E,MAAa,MAAM,cAChB,EACC,UACA,UACA,SACA,WACA,kBACA,cACA,WACA,SACA,GAAG,WACC;CACJ,MAAM,WAAA,GAAUC,MAAAA,QAAAA,QAAe,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC;CAExD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,OAAO;EACvB,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,MAAR;GAAa,kBAAA,GAAA,oBAAA,cAAe,SAAA,CAAS,QAAQ;GAAG,GAAI;GAApD,UAAA;IACG,YACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD;KAAc,GAAI;KAAY,UAAA;IAAwB,CAAA,IACpD;IAEH,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;KAAY,GAAI;KAAe;IAAqB,CAAA,IAClD;IAEH,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;KAAY,GAAI;KAAY,UAAA;IAAoB,CAAA,IAAI;IAE9D,UACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;KAAgB,SAAS;KAAS,GAAI;IAAmB,CAAA,IACvD;GACO;;CACG,CAAA;AAEtB,GACA,QACA,EAAE,eAAe,CAAC,UAAU,EAAE,CAChC,CAAC,CAAC;AAIF,MAAM,aAAa,YAAqC,QAAQ,SAAS,CAAC,CACxE,KAAA,IACC,UAAU;CACT,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;EAAG,GAAG;CAAM;AACzD,CACF;AAIA,MAAM,eAAe,YAAuC,QAAQ,CAClE,QACA,OACF,CAAC,CAAC,CAAC,KAAA,IAAY,UAAU;CACvB,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;EAAG,GAAG;CAAM;AACzD,CAAC;AAID,MAAM,aAAa,YAAqC,QAAQ,CAC9D,QACA,KACF,CAAC,CAAC,CAAC,KAAA,IAAY,UAAU;CACvB,MAAM,EAAE,aAAa,oBAAoB;CAEzC,OAAO;EAAE,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;EAAG,GAAG;CAAM;AACzD,CAAC;AAID,MAAM,iBAAiB,YAAyC,QAAQ,CACtE,QACA,aACF,CAAC,CAAC,CAAC,KAAA,IAAY,EAAE,UAAU,GAAG,YAAY;CACxC,MAAM,OAAA,GAAMC,MAAAA,OAAAA,CAAwB,IAAI;CACxC,MAAM,EAAE,aAAa,oBAAoB;CACzC,MAAM,OAAOC,kCAAAA,aAA8B;EAAE;EAAK;EAAU,GAAG;CAAM,CAAC;CACtE,MAAM,EAAE,MAAMC,sBAAAA,QAAQ,KAAK;CAE3B,OAAO;EACL,cAAc,EAAE,WAAW;EAC3B,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;EAClC,UAAU,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,OAAD,CAAQ,CAAA;EAC9B,GAAG;CACL;AACF,CAAC"}
@@ -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_ref = require("../../utils/ref.cjs");
4
5
  const require_utils_index = require("../../utils/index.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"use-autosize.cjs","names":["mergeRefs"],"sources":["../../../../src/components/textarea/use-autosize.ts"],"sourcesContent":["\"use client\"\n\nimport type { PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport {\n addDomEvent,\n createdDom,\n handlerAll,\n isShadowRoot,\n mergeRefs,\n noop,\n pickObject,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"../../utils\"\n\nconst SIZING_STYLE_PROPERTIES = [\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\",\n \"borderTopWidth\",\n \"boxSizing\",\n \"fontFamily\",\n \"fontSize\",\n \"fontStyle\",\n \"fontWeight\",\n \"letterSpacing\",\n \"lineHeight\",\n \"paddingBottom\",\n \"paddingLeft\",\n \"paddingRight\",\n \"paddingTop\",\n // non-standard\n \"tabSize\",\n \"textIndent\",\n // non-standard\n \"textRendering\",\n \"textTransform\",\n \"width\",\n \"wordBreak\",\n] as const\n\nconst HIDDEN_STYLE = {\n height: \"0\",\n \"max-height\": \"none\",\n \"min-height\": \"0\",\n overflow: \"hidden\",\n position: \"absolute\",\n right: \"0\",\n top: \"0\",\n visibility: \"hidden\",\n \"z-index\": \"-1000\",\n} as const\n\ntype SizingProperties = Extract<\n (typeof SIZING_STYLE_PROPERTIES)[number],\n keyof CSSStyleDeclaration\n>\n\ninterface SizingStyle {\n border: number\n padding: number\n rowHeight: number\n style: Pick<CSSStyleDeclaration, SizingProperties>\n}\n\nconst getSizingStyle = (el: HTMLElement): null | SizingStyle => {\n const style = window.getComputedStyle(el) as CSSStyleDeclaration | undefined\n\n if (style == null) return null\n\n const computedStyle = pickObject(style, SIZING_STYLE_PROPERTIES)\n\n if (computedStyle.boxSizing === \"\") return null\n\n const padding =\n parseFloat(computedStyle.paddingBottom) +\n parseFloat(computedStyle.paddingTop)\n\n const border =\n parseFloat(computedStyle.borderBottomWidth) +\n parseFloat(computedStyle.borderTopWidth)\n\n const rowHeight = parseFloat(computedStyle.lineHeight)\n\n return {\n style: computedStyle,\n border,\n padding,\n rowHeight,\n }\n}\n\nconst setHiddenStyle = (el: HTMLElement) => {\n Object.keys(HIDDEN_STYLE).forEach((key) => {\n el.style.setProperty(\n key,\n HIDDEN_STYLE[key as keyof typeof HIDDEN_STYLE],\n \"important\",\n )\n })\n}\n\nconst calcRows = (\n el: HTMLTextAreaElement,\n sizingStyle: SizingStyle,\n value: string,\n maxRows: number,\n minRows: number,\n) => {\n const cloneEl = el.cloneNode() as HTMLTextAreaElement\n\n Object.assign(cloneEl.style, sizingStyle.style)\n\n setHiddenStyle(cloneEl)\n\n cloneEl.value = value\n\n const rootNode = el.getRootNode()\n const container = isShadowRoot(rootNode) ? rootNode : el.ownerDocument.body\n\n container.appendChild(cloneEl)\n\n let rows: number\n\n if (cloneEl.scrollHeight) {\n const rowHeight = sizingStyle.rowHeight\n\n rows = Math.min(\n maxRows,\n Math.max(minRows, Math.floor(cloneEl.scrollHeight / rowHeight)),\n )\n } else {\n const lineBreaks = (value.match(/\\n/g) || []).length\n\n rows = Math.min(maxRows, Math.max(minRows, lineBreaks + 1))\n }\n\n container.removeChild(cloneEl)\n\n return rows\n}\n\nexport interface UseAutosizeProps {\n /**\n * If `true`, the Textarea height will not be adjusted.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * Autosize up to maxRows rows.\n *\n * @default Infinity\n */\n maxRows?: number\n /**\n * Autosize up to minRows rows.\n *\n * @default 2\n */\n minRows?: number\n}\n\nexport const useAutosize = ({\n disabled = false,\n maxRows = Infinity,\n minRows = 2,\n}: UseAutosizeProps = {}) => {\n const ref = useRef<HTMLTextAreaElement>(null)\n const beforeValueRef = useRef<string>(null)\n const value = ref.current?.value ?? \"\"\n\n const onResizeTextarea = useCallback(() => {\n const el = ref.current\n\n if (!el) return\n\n let { placeholder, value } = el\n\n if (value === beforeValueRef.current) return\n\n beforeValueRef.current = value\n\n value ||= placeholder || \"x\"\n\n const sizingStyle = getSizingStyle(el)\n\n if (!sizingStyle) return\n\n const rows = calcRows(el, sizingStyle, value, maxRows, minRows)\n\n el.rows = rows\n }, [ref, maxRows, minRows])\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n (props = {}) => ({\n ...props,\n ref: mergeRefs(props.ref, ref),\n style: { resize: !disabled ? \"none\" : undefined, ...props.style },\n onChange: handlerAll(props.onChange, !disabled ? onResizeTextarea : noop),\n }),\n [ref, onResizeTextarea, disabled],\n )\n\n useSafeLayoutEffect(() => {\n if (!createdDom() || disabled) return\n\n onResizeTextarea()\n\n const unsubscribeResize = addDomEvent(window, \"resize\", onResizeTextarea)\n const unsubscribeLoadingdone = addDomEvent(\n document.fonts,\n \"loadingdone\",\n onResizeTextarea,\n )\n\n return () => {\n unsubscribeResize()\n unsubscribeLoadingdone()\n }\n }, [])\n\n useUpdateEffect(() => {\n if (disabled) return\n\n onResizeTextarea()\n }, [value])\n\n return { ref, getTextareaProps, onResizeTextarea }\n}\n\nexport type UseAutosizeReturn = ReturnType<typeof useAutosize>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-autosize.cjs","names":["useRef","useCallback","mergeRefs"],"sources":["../../../../src/components/textarea/use-autosize.ts"],"sourcesContent":["\"use client\"\n\nimport type { PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport {\n addDomEvent,\n createdDom,\n handlerAll,\n isShadowRoot,\n mergeRefs,\n noop,\n pickObject,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"../../utils\"\n\nconst SIZING_STYLE_PROPERTIES = [\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\",\n \"borderTopWidth\",\n \"boxSizing\",\n \"fontFamily\",\n \"fontSize\",\n \"fontStyle\",\n \"fontWeight\",\n \"letterSpacing\",\n \"lineHeight\",\n \"paddingBottom\",\n \"paddingLeft\",\n \"paddingRight\",\n \"paddingTop\",\n // non-standard\n \"tabSize\",\n \"textIndent\",\n // non-standard\n \"textRendering\",\n \"textTransform\",\n \"width\",\n \"wordBreak\",\n] as const\n\nconst HIDDEN_STYLE = {\n height: \"0\",\n \"max-height\": \"none\",\n \"min-height\": \"0\",\n overflow: \"hidden\",\n position: \"absolute\",\n right: \"0\",\n top: \"0\",\n visibility: \"hidden\",\n \"z-index\": \"-1000\",\n} as const\n\ntype SizingProperties = Extract<\n (typeof SIZING_STYLE_PROPERTIES)[number],\n keyof CSSStyleDeclaration\n>\n\ninterface SizingStyle {\n border: number\n padding: number\n rowHeight: number\n style: Pick<CSSStyleDeclaration, SizingProperties>\n}\n\nconst getSizingStyle = (el: HTMLElement): null | SizingStyle => {\n const style = window.getComputedStyle(el) as CSSStyleDeclaration | undefined\n\n if (style == null) return null\n\n const computedStyle = pickObject(style, SIZING_STYLE_PROPERTIES)\n\n if (computedStyle.boxSizing === \"\") return null\n\n const padding =\n parseFloat(computedStyle.paddingBottom) +\n parseFloat(computedStyle.paddingTop)\n\n const border =\n parseFloat(computedStyle.borderBottomWidth) +\n parseFloat(computedStyle.borderTopWidth)\n\n const rowHeight = parseFloat(computedStyle.lineHeight)\n\n return {\n style: computedStyle,\n border,\n padding,\n rowHeight,\n }\n}\n\nconst setHiddenStyle = (el: HTMLElement) => {\n Object.keys(HIDDEN_STYLE).forEach((key) => {\n el.style.setProperty(\n key,\n HIDDEN_STYLE[key as keyof typeof HIDDEN_STYLE],\n \"important\",\n )\n })\n}\n\nconst calcRows = (\n el: HTMLTextAreaElement,\n sizingStyle: SizingStyle,\n value: string,\n maxRows: number,\n minRows: number,\n) => {\n const cloneEl = el.cloneNode() as HTMLTextAreaElement\n\n Object.assign(cloneEl.style, sizingStyle.style)\n\n setHiddenStyle(cloneEl)\n\n cloneEl.value = value\n\n const rootNode = el.getRootNode()\n const container = isShadowRoot(rootNode) ? rootNode : el.ownerDocument.body\n\n container.appendChild(cloneEl)\n\n let rows: number\n\n if (cloneEl.scrollHeight) {\n const rowHeight = sizingStyle.rowHeight\n\n rows = Math.min(\n maxRows,\n Math.max(minRows, Math.floor(cloneEl.scrollHeight / rowHeight)),\n )\n } else {\n const lineBreaks = (value.match(/\\n/g) || []).length\n\n rows = Math.min(maxRows, Math.max(minRows, lineBreaks + 1))\n }\n\n container.removeChild(cloneEl)\n\n return rows\n}\n\nexport interface UseAutosizeProps {\n /**\n * If `true`, the Textarea height will not be adjusted.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * Autosize up to maxRows rows.\n *\n * @default Infinity\n */\n maxRows?: number\n /**\n * Autosize up to minRows rows.\n *\n * @default 2\n */\n minRows?: number\n}\n\nexport const useAutosize = ({\n disabled = false,\n maxRows = Infinity,\n minRows = 2,\n}: UseAutosizeProps = {}) => {\n const ref = useRef<HTMLTextAreaElement>(null)\n const beforeValueRef = useRef<string>(null)\n const value = ref.current?.value ?? \"\"\n\n const onResizeTextarea = useCallback(() => {\n const el = ref.current\n\n if (!el) return\n\n let { placeholder, value } = el\n\n if (value === beforeValueRef.current) return\n\n beforeValueRef.current = value\n\n value ||= placeholder || \"x\"\n\n const sizingStyle = getSizingStyle(el)\n\n if (!sizingStyle) return\n\n const rows = calcRows(el, sizingStyle, value, maxRows, minRows)\n\n el.rows = rows\n }, [ref, maxRows, minRows])\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n (props = {}) => ({\n ...props,\n ref: mergeRefs(props.ref, ref),\n style: { resize: !disabled ? \"none\" : undefined, ...props.style },\n onChange: handlerAll(props.onChange, !disabled ? onResizeTextarea : noop),\n }),\n [ref, onResizeTextarea, disabled],\n )\n\n useSafeLayoutEffect(() => {\n if (!createdDom() || disabled) return\n\n onResizeTextarea()\n\n const unsubscribeResize = addDomEvent(window, \"resize\", onResizeTextarea)\n const unsubscribeLoadingdone = addDomEvent(\n document.fonts,\n \"loadingdone\",\n onResizeTextarea,\n )\n\n return () => {\n unsubscribeResize()\n unsubscribeLoadingdone()\n }\n }, [])\n\n useUpdateEffect(() => {\n if (disabled) return\n\n onResizeTextarea()\n }, [value])\n\n return { ref, getTextareaProps, onResizeTextarea }\n}\n\nexport type UseAutosizeReturn = ReturnType<typeof useAutosize>\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_ref = require("../../utils/ref.cjs");
3
4
  const require_props = require("../../core/components/props.cjs");
4
5
  const require_use_autosize = require("./use-autosize.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"use-textarea.cjs","names":["useAutosize","mergeProps","mergeRefs"],"sources":["../../../../src/components/textarea/use-textarea.ts"],"sourcesContent":["\"use client\"\n\nimport type { ForwardedRef } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { UseAutosizeProps } from \"./use-autosize\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { assignRef, mergeRefs } from \"../../utils\"\nimport { useAutosize } from \"./use-autosize\"\n\nexport interface UseTextareaProps\n extends HTMLProps<\"textarea\">, Omit<UseAutosizeProps, \"disabled\" | \"ref\"> {\n /**\n * If `true`, the Textarea height auto-adjusts to text height.\n */\n autosize?: boolean\n /**\n * Ref to a resize function.\n */\n resizeRef?: ForwardedRef<() => void>\n}\n\nexport const useTextarea = ({\n autosize,\n maxRows,\n minRows,\n resizeRef,\n ...rest\n}: UseTextareaProps = {}) => {\n const { ref, onResizeTextarea } = useAutosize({\n disabled: !autosize,\n maxRows,\n minRows,\n })\n\n assignRef(resizeRef, onResizeTextarea)\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n (props = {}) => {\n const textareaProps = mergeProps(rest, props, {\n ref: mergeRefs(ref),\n ...(autosize\n ? {\n style: { resize: \"none\" as const },\n onChange: onResizeTextarea,\n }\n : {}),\n })()\n\n return textareaProps\n },\n [autosize, onResizeTextarea, rest, ref],\n )\n\n return {\n getTextareaProps,\n onResizeTextarea,\n }\n}\n\nexport type UseTextareaReturn = ReturnType<typeof useTextarea>\n"],"mappings":";;;;;;AAsBA,MAAa,eAAe,EAC1B,UACA,SACA,SACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,EAAE,KAAK,qBAAqBA,qBAAAA,YAAY;EAC5C,UAAU,CAAC;EACX;EACA;CACF,CAAC;CAED,YAAA,UAAU,WAAW,gBAAgB;CAmBrC,OAAO;EACL,mBAAA,GAAA,MAAA,YAAA,EAjBC,QAAQ,CAAC,MAAM;GAWd,OAVsBC,cAAAA,WAAW,MAAM,OAAO;IAC5C,KAAKC,YAAAA,UAAU,GAAG;IAClB,GAAI,WACA;KACE,OAAO,EAAE,QAAQ,OAAgB;KACjC,UAAU;IACZ,IACA,CAAC;GACP,CAAC,CAAC,CAEiB;EACrB,GACA;GAAC;GAAU;GAAkB;GAAM;EAAG,CAIvB;EACf;CACF;AACF"}
1
+ {"version":3,"file":"use-textarea.cjs","names":["useAutosize","useCallback","mergeProps","mergeRefs"],"sources":["../../../../src/components/textarea/use-textarea.ts"],"sourcesContent":["\"use client\"\n\nimport type { ForwardedRef } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { UseAutosizeProps } from \"./use-autosize\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { assignRef, mergeRefs } from \"../../utils\"\nimport { useAutosize } from \"./use-autosize\"\n\nexport interface UseTextareaProps\n extends HTMLProps<\"textarea\">, Omit<UseAutosizeProps, \"disabled\" | \"ref\"> {\n /**\n * If `true`, the Textarea height auto-adjusts to text height.\n */\n autosize?: boolean\n /**\n * Ref to a resize function.\n */\n resizeRef?: ForwardedRef<() => void>\n}\n\nexport const useTextarea = ({\n autosize,\n maxRows,\n minRows,\n resizeRef,\n ...rest\n}: UseTextareaProps = {}) => {\n const { ref, onResizeTextarea } = useAutosize({\n disabled: !autosize,\n maxRows,\n minRows,\n })\n\n assignRef(resizeRef, onResizeTextarea)\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n (props = {}) => {\n const textareaProps = mergeProps(rest, props, {\n ref: mergeRefs(ref),\n ...(autosize\n ? {\n style: { resize: \"none\" as const },\n onChange: onResizeTextarea,\n }\n : {}),\n })()\n\n return textareaProps\n },\n [autosize, onResizeTextarea, rest, ref],\n )\n\n return {\n getTextareaProps,\n onResizeTextarea,\n }\n}\n\nexport type UseTextareaReturn = ReturnType<typeof useTextarea>\n"],"mappings":";;;;;;;AAsBA,MAAa,eAAe,EAC1B,UACA,SACA,SACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,EAAE,KAAK,qBAAqBA,qBAAAA,YAAY;EAC5C,UAAU,CAAC;EACX;EACA;CACF,CAAC;CAED,YAAA,UAAU,WAAW,gBAAgB;CAmBrC,OAAO;EACL,mBAAA,GAlB+CC,MAAAA,YAAAA,EAC9C,QAAQ,CAAC,MAAM;GAWd,OAVsBC,cAAAA,WAAW,MAAM,OAAO;IAC5C,KAAKC,YAAAA,UAAU,GAAG;IAClB,GAAI,WACA;KACE,OAAO,EAAE,QAAQ,OAAgB;KACjC,UAAU;IACZ,IACA,CAAC;GACP,CAAC,CAAC,CAEiB;EACrB,GACA;GAAC;GAAU;GAAkB;GAAM;EAAG,CAIvB;EACf;CACF;AACF"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_utils_index = require("../../utils/index.cjs");
3
4
  const require_var = require("../../core/system/var.cjs");
4
5
  const require_factory = require("../../core/system/factory.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.cjs","names":["createSlotComponent","timelineStyle","useValue","styled","varAttr"],"sources":["../../../../src/components/timeline/timeline.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { CSSProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { TimelineStyle } from \"./timeline.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { dataAttr, isUndefined } from \"../../utils\"\nimport { timelineStyle } from \"./timeline.style\"\n\nexport interface TimelineItem extends Omit<\n TimelineItemProps,\n \"content\" | \"title\"\n> {\n align?: \"end\" | \"start\"\n content?: ReactNode\n description?: ReactNode\n indicator?: ReactNode\n title?: ReactNode\n connectorProps?: TimelineConnectorProps\n contentProps?: TimelineContentProps\n descriptionProps?: TimelineDescriptionProps\n indicatorProps?: TimelineIndicatorProps\n titleProps?: TimelineTitleProps\n}\n\ninterface ComponentContext extends Pick<TimelineRootProps, \"index\"> {}\n\nexport interface TimelineRootProps\n extends HTMLStyledProps<\"ul\">, ThemeProps<TimelineStyle> {\n /**\n * The index of the active timeline item.\n */\n index?: number\n /**\n * The fill color of the indicator.\n */\n indicatorFill?: CSSProps[\"bg\"]\n /**\n * The size of the indicator.\n */\n indicatorSize?: CSSProps[\"boxSize\"]\n /**\n * The stroke color of the indicator.\n */\n indicatorStroke?: CSSProps[\"color\"]\n /**\n * If provided, generate timeline components based on items.\n */\n items?: TimelineItem[]\n /**\n * The color of the separator.\n */\n separatorColor?: CSSProps[\"color\"]\n /**\n * The gap of the separator.\n */\n separatorGap?: CSSProps[\"gap\"]\n /**\n * The style of the separator.\n */\n separatorStyle?: CSSProps[\"borderStyle\"]\n /**\n * The width of the separator.\n */\n separatorWidth?: CSSProps[\"width\"]\n}\n\nconst {\n ComponentContext,\n PropsContext: TimelinePropsContext,\n useComponentContext,\n usePropsContext: useTimelinePropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TimelineRootProps, TimelineStyle, ComponentContext>(\n \"timeline\",\n timelineStyle,\n)\n\nexport { TimelinePropsContext, useTimelinePropsContext }\n\n/**\n * `Timeline` is a component that is used to display a list of events in chronological order.\n *\n * @see https://yamada-ui.com/docs/components/timeline\n */\nexport const TimelineRoot = withProvider(\n ({ variant: variantProp, children, index = -1, items = [], ...rest }) => {\n const context = useMemo(() => ({ index }), [index])\n const variant = useValue(variantProp)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items.map(\n (\n {\n align = \"start\",\n content,\n description,\n indicator,\n title,\n connectorProps,\n contentProps,\n descriptionProps,\n indicatorProps,\n titleProps,\n ...rest\n },\n index,\n ) => {\n const children = {\n connector: (\n <TimelineConnector {...connectorProps}>\n <TimelineIndicator {...indicatorProps}>\n {indicator ?? (variant === \"number\" ? index + 1 : undefined)}\n </TimelineIndicator>\n </TimelineConnector>\n ),\n content: (\n <TimelineContent {...contentProps}>\n {content ?? (\n <>\n <TimelineTitle {...titleProps}>{title}</TimelineTitle>\n <TimelineDescription {...descriptionProps}>\n {description}\n </TimelineDescription>\n </>\n )}\n </TimelineContent>\n ),\n }\n\n return (\n <TimelineItem key={index} index={index} {...rest}>\n {align === \"start\" ? children.connector : children.content}\n {align === \"start\" ? children.content : children.connector}\n </TimelineItem>\n )\n },\n )\n }, [children, items, variant])\n\n return (\n <ComponentContext value={context}>\n <styled.ul {...rest}>{computedChildren}</styled.ul>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"variant\"] },\n)(\n undefined,\n ({\n indicatorFill,\n indicatorSize,\n indicatorStroke,\n separatorColor,\n separatorGap,\n separatorStyle,\n separatorWidth,\n ...rest\n }) => ({\n \"--indicator-fill\": varAttr(indicatorFill, \"colors\"),\n \"--indicator-size\": varAttr(indicatorSize, \"sizes\"),\n \"--indicator-stroke\": varAttr(indicatorStroke, \"colors\"),\n \"--separator-color\": varAttr(separatorColor, \"colors\"),\n \"--separator-gap\": varAttr(separatorGap, \"spaces\"),\n \"--separator-style\": varAttr(separatorStyle),\n \"--separator-width\": varAttr(separatorWidth, \"sizes\"),\n ...rest,\n }),\n)\n\nexport interface TimelineItemProps extends HTMLStyledProps<\"li\"> {\n /**\n * The index of the timeline item.\n */\n index?: number\n}\n\nexport const TimelineItem = withContext<\"li\", TimelineItemProps>(\"li\", \"item\")(\n undefined,\n ({ index, ...rest }) => {\n const { index: currentIndex } = useComponentContext()\n const active =\n !isUndefined(index) && !isUndefined(currentIndex) && index <= currentIndex\n\n return {\n ...rest,\n \"data-active\": dataAttr(active),\n \"data-index\": index,\n }\n },\n)\n\nexport interface TimelineConnectorProps extends HTMLStyledProps {}\n\nexport const TimelineConnector = withContext<\"div\", TimelineConnectorProps>(\n \"div\",\n \"connector\",\n)({ \"data-connector\": \"\" })\n\nexport interface TimelineIndicatorProps extends HTMLStyledProps {}\n\nconst TimelineIcon = styled(\"div\", {\n base: {\n bg: \"{indicator-fill}\",\n borderColor: \"{indicator-stroke}\",\n borderWidth: \"{separator-width}\",\n boxSize: \"full\",\n rounded: \"{indicator-rounded}\",\n },\n})\n\nexport const TimelineIndicator = withContext<\"div\", TimelineIndicatorProps>(\n \"div\",\n \"indicator\",\n)(undefined, ({ children = <TimelineIcon />, ...rest }) => ({\n children,\n ...rest,\n}))\n\nexport interface TimelineContentProps extends HTMLStyledProps {}\n\nexport const TimelineContent = withContext<\"div\", TimelineContentProps>(\n \"div\",\n \"content\",\n)({ \"data-content\": \"\" })\n\nexport interface TimelineTitleProps extends HTMLStyledProps<\"h3\"> {}\n\nexport const TimelineTitle = withContext<\"h3\", TimelineTitleProps>(\n \"h3\",\n \"title\",\n)()\n\nexport interface TimelineDescriptionProps extends HTMLStyledProps<\"p\"> {}\n\nexport const TimelineDescription = withContext<\"p\", TimelineDescriptionProps>(\n \"p\",\n \"description\",\n)()\n"],"mappings":";;;;;;;;;;AAqEA,MAAM,EACJ,kBACA,cAAc,sBACd,qBACA,iBAAiB,yBACjB,aACA,iBACEA,yBAAAA,oBACF,YACAC,uBAAAA,aACF;;;;;;AASA,MAAa,eAAe,cACzB,EAAE,SAAS,aAAa,UAAU,QAAQ,IAAI,QAAQ,CAAC,GAAG,GAAG,WAAW;CACvE,MAAM,WAAA,GAAA,MAAA,QAAA,QAAyB,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC;CAClD,MAAM,UAAUC,8BAAAA,SAAS,WAAW;CACpC,MAAM,oBAAA,GAAA,MAAA,QAAA,OAAiC;EACrC,IAAI,UAAU,OAAO;EAErB,OAAO,MAAM,KAET,EACE,QAAQ,SACR,SACA,aACA,WACA,OACA,gBACA,cACA,kBACA,gBACA,YACA,GAAG,QAEL,UACG;GACH,MAAM,WAAW;IACf,WACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;KAAmB,GAAI;KACrB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;MAAmB,GAAI;MACpB,UAAA,cAAc,YAAY,WAAW,QAAQ,IAAI,KAAA;KACjC,CAAA;IACF,CAAA;IAErB,SACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD;KAAiB,GAAI;KAClB,UAAA,WACC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD;MAAe,GAAI;MAAa,UAAA;KAAqB,CAAA,GACrD,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;MAAqB,GAAI;MACtB,UAAA;KACkB,CAAA,CACrB,EAAA,CAAA;IAEW,CAAA;GAErB;GAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,cAAD;IAAiC;IAAO,GAAI;IAA5C,UAAA,CACG,UAAU,UAAU,SAAS,YAAY,SAAS,SAClD,UAAU,UAAU,SAAS,UAAU,SAAS,SACrC;GAHK,GAAA,KAGL;EAElB,CACF;CACF,GAAG;EAAC;EAAU;EAAO;CAAO,CAAC;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;EAAkB,OAAO;EACvB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,IAAR;GAAW,GAAI;GAAO,UAAA;EAA4B,CAAA;CAClC,CAAA;AAEtB,GACA,QACA,EAAE,eAAe,CAAC,SAAS,EAAE,CAC/B,CAAC,CACC,KAAA,IACC,EACC,eACA,eACA,iBACA,gBACA,cACA,gBACA,gBACA,GAAG,YACE;CACL,oBAAoBC,YAAAA,QAAQ,eAAe,QAAQ;CACnD,oBAAoBA,YAAAA,QAAQ,eAAe,OAAO;CAClD,sBAAsBA,YAAAA,QAAQ,iBAAiB,QAAQ;CACvD,qBAAqBA,YAAAA,QAAQ,gBAAgB,QAAQ;CACrD,mBAAmBA,YAAAA,QAAQ,cAAc,QAAQ;CACjD,qBAAqBA,YAAAA,QAAQ,cAAc;CAC3C,qBAAqBA,YAAAA,QAAQ,gBAAgB,OAAO;CACpD,GAAG;AACL,EACF;AASA,MAAa,eAAe,YAAqC,MAAM,MAAM,CAAC,CAC5E,KAAA,IACC,EAAE,OAAO,GAAG,WAAW;CACtB,MAAM,EAAE,OAAO,iBAAiB,oBAAoB;CACpD,MAAM,SACJ,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,KAAK,KAAK,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,YAAY,KAAK,SAAS;CAEhE,OAAO;EACL,GAAG;EACH,gBAAA,GAAA,oBAAA,cAAA,SAAA,CAAwB,MAAM;EAC9B,cAAc;CAChB;AACF,CACF;AAIA,MAAa,oBAAoB,YAC/B,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAM,eAAeD,gBAAAA,OAAO,OAAO,EACjC,MAAM;CACJ,IAAI;CACJ,aAAa;CACb,aAAa;CACb,SAAS;CACT,SAAS;AACX,EACF,CAAC;AAED,MAAa,oBAAoB,YAC/B,OACA,WACF,CAAC,CAAC,KAAA,IAAY,EAAE,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA,GAAG,GAAG,YAAY;CAC1D;CACA,GAAG;AACL,EAAE;AAIF,MAAa,kBAAkB,YAC7B,OACA,SACF,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC;AAIxB,MAAa,gBAAgB,YAC3B,MACA,OACF,CAAC,CAAC;AAIF,MAAa,sBAAsB,YACjC,KACA,aACF,CAAC,CAAC"}
1
+ {"version":3,"file":"timeline.cjs","names":["createSlotComponent","timelineStyle","useMemo","useValue","styled","varAttr"],"sources":["../../../../src/components/timeline/timeline.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { CSSProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { TimelineStyle } from \"./timeline.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { useValue } from \"../../hooks/use-value\"\nimport { dataAttr, isUndefined } from \"../../utils\"\nimport { timelineStyle } from \"./timeline.style\"\n\nexport interface TimelineItem extends Omit<\n TimelineItemProps,\n \"content\" | \"title\"\n> {\n align?: \"end\" | \"start\"\n content?: ReactNode\n description?: ReactNode\n indicator?: ReactNode\n title?: ReactNode\n connectorProps?: TimelineConnectorProps\n contentProps?: TimelineContentProps\n descriptionProps?: TimelineDescriptionProps\n indicatorProps?: TimelineIndicatorProps\n titleProps?: TimelineTitleProps\n}\n\ninterface ComponentContext extends Pick<TimelineRootProps, \"index\"> {}\n\nexport interface TimelineRootProps\n extends HTMLStyledProps<\"ul\">, ThemeProps<TimelineStyle> {\n /**\n * The index of the active timeline item.\n */\n index?: number\n /**\n * The fill color of the indicator.\n */\n indicatorFill?: CSSProps[\"bg\"]\n /**\n * The size of the indicator.\n */\n indicatorSize?: CSSProps[\"boxSize\"]\n /**\n * The stroke color of the indicator.\n */\n indicatorStroke?: CSSProps[\"color\"]\n /**\n * If provided, generate timeline components based on items.\n */\n items?: TimelineItem[]\n /**\n * The color of the separator.\n */\n separatorColor?: CSSProps[\"color\"]\n /**\n * The gap of the separator.\n */\n separatorGap?: CSSProps[\"gap\"]\n /**\n * The style of the separator.\n */\n separatorStyle?: CSSProps[\"borderStyle\"]\n /**\n * The width of the separator.\n */\n separatorWidth?: CSSProps[\"width\"]\n}\n\nconst {\n ComponentContext,\n PropsContext: TimelinePropsContext,\n useComponentContext,\n usePropsContext: useTimelinePropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TimelineRootProps, TimelineStyle, ComponentContext>(\n \"timeline\",\n timelineStyle,\n)\n\nexport { TimelinePropsContext, useTimelinePropsContext }\n\n/**\n * `Timeline` is a component that is used to display a list of events in chronological order.\n *\n * @see https://yamada-ui.com/docs/components/timeline\n */\nexport const TimelineRoot = withProvider(\n ({ variant: variantProp, children, index = -1, items = [], ...rest }) => {\n const context = useMemo(() => ({ index }), [index])\n const variant = useValue(variantProp)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items.map(\n (\n {\n align = \"start\",\n content,\n description,\n indicator,\n title,\n connectorProps,\n contentProps,\n descriptionProps,\n indicatorProps,\n titleProps,\n ...rest\n },\n index,\n ) => {\n const children = {\n connector: (\n <TimelineConnector {...connectorProps}>\n <TimelineIndicator {...indicatorProps}>\n {indicator ?? (variant === \"number\" ? index + 1 : undefined)}\n </TimelineIndicator>\n </TimelineConnector>\n ),\n content: (\n <TimelineContent {...contentProps}>\n {content ?? (\n <>\n <TimelineTitle {...titleProps}>{title}</TimelineTitle>\n <TimelineDescription {...descriptionProps}>\n {description}\n </TimelineDescription>\n </>\n )}\n </TimelineContent>\n ),\n }\n\n return (\n <TimelineItem key={index} index={index} {...rest}>\n {align === \"start\" ? children.connector : children.content}\n {align === \"start\" ? children.content : children.connector}\n </TimelineItem>\n )\n },\n )\n }, [children, items, variant])\n\n return (\n <ComponentContext value={context}>\n <styled.ul {...rest}>{computedChildren}</styled.ul>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"variant\"] },\n)(\n undefined,\n ({\n indicatorFill,\n indicatorSize,\n indicatorStroke,\n separatorColor,\n separatorGap,\n separatorStyle,\n separatorWidth,\n ...rest\n }) => ({\n \"--indicator-fill\": varAttr(indicatorFill, \"colors\"),\n \"--indicator-size\": varAttr(indicatorSize, \"sizes\"),\n \"--indicator-stroke\": varAttr(indicatorStroke, \"colors\"),\n \"--separator-color\": varAttr(separatorColor, \"colors\"),\n \"--separator-gap\": varAttr(separatorGap, \"spaces\"),\n \"--separator-style\": varAttr(separatorStyle),\n \"--separator-width\": varAttr(separatorWidth, \"sizes\"),\n ...rest,\n }),\n)\n\nexport interface TimelineItemProps extends HTMLStyledProps<\"li\"> {\n /**\n * The index of the timeline item.\n */\n index?: number\n}\n\nexport const TimelineItem = withContext<\"li\", TimelineItemProps>(\"li\", \"item\")(\n undefined,\n ({ index, ...rest }) => {\n const { index: currentIndex } = useComponentContext()\n const active =\n !isUndefined(index) && !isUndefined(currentIndex) && index <= currentIndex\n\n return {\n ...rest,\n \"data-active\": dataAttr(active),\n \"data-index\": index,\n }\n },\n)\n\nexport interface TimelineConnectorProps extends HTMLStyledProps {}\n\nexport const TimelineConnector = withContext<\"div\", TimelineConnectorProps>(\n \"div\",\n \"connector\",\n)({ \"data-connector\": \"\" })\n\nexport interface TimelineIndicatorProps extends HTMLStyledProps {}\n\nconst TimelineIcon = styled(\"div\", {\n base: {\n bg: \"{indicator-fill}\",\n borderColor: \"{indicator-stroke}\",\n borderWidth: \"{separator-width}\",\n boxSize: \"full\",\n rounded: \"{indicator-rounded}\",\n },\n})\n\nexport const TimelineIndicator = withContext<\"div\", TimelineIndicatorProps>(\n \"div\",\n \"indicator\",\n)(undefined, ({ children = <TimelineIcon />, ...rest }) => ({\n children,\n ...rest,\n}))\n\nexport interface TimelineContentProps extends HTMLStyledProps {}\n\nexport const TimelineContent = withContext<\"div\", TimelineContentProps>(\n \"div\",\n \"content\",\n)({ \"data-content\": \"\" })\n\nexport interface TimelineTitleProps extends HTMLStyledProps<\"h3\"> {}\n\nexport const TimelineTitle = withContext<\"h3\", TimelineTitleProps>(\n \"h3\",\n \"title\",\n)()\n\nexport interface TimelineDescriptionProps extends HTMLStyledProps<\"p\"> {}\n\nexport const TimelineDescription = withContext<\"p\", TimelineDescriptionProps>(\n \"p\",\n \"description\",\n)()\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tip.cjs","names":["OctagonAlertIcon","CircleQuestionMarkIcon","InfoIcon","CircleCheckBigIcon","TriangleAlertIcon","useTooltipProps","Tooltip","IconButton"],"sources":["../../../../src/components/tip/tip.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC } from \"react\"\nimport type { WithoutThemeProps } from \"../../core\"\nimport type { IconButtonProps } from \"../button\"\nimport type { StatusScheme } from \"../status\"\nimport type { TooltipProps, TooltipStyle } from \"../tooltip\"\nimport { isString } from \"../../utils\"\nimport { IconButton } from \"../button\"\nimport {\n CircleCheckBigIcon,\n CircleQuestionMarkIcon,\n InfoIcon,\n OctagonAlertIcon,\n TriangleAlertIcon,\n} from \"../icon\"\nimport { Tooltip, useTooltipProps } from \"../tooltip\"\n\nexport type TipStatusScheme = \"help\" | StatusScheme\n\nconst icons = {\n error: OctagonAlertIcon,\n help: CircleQuestionMarkIcon,\n info: InfoIcon,\n success: CircleCheckBigIcon,\n warning: TriangleAlertIcon,\n} as const\n\nexport interface TipProps\n extends\n WithoutThemeProps<TooltipProps, TooltipStyle>,\n Omit<IconButtonProps, \"content\" | \"offset\" | \"transform\"> {\n /**\n * The status of the tip.\n *\n * @default 'help'\n */\n status?: TipStatusScheme\n}\n\n/**\n * `Tip` is a component that displays supplementary information with a built-in icon trigger.\n *\n * @see https://yamada-ui.com/docs/components/tip\n */\nexport const Tip: FC<TipProps> = (props) => {\n const [\n tooltipProps,\n {\n animationScheme,\n content,\n duration,\n status = \"help\",\n contentProps,\n portalProps,\n ...rest\n },\n ] = useTooltipProps(props)\n const Icon = icons[status]\n\n return (\n <Tooltip\n animationScheme={animationScheme}\n content={content}\n duration={duration}\n contentProps={contentProps}\n portalProps={portalProps}\n {...tooltipProps}\n >\n <IconButton\n size=\"2xs\"\n variant=\"ghost\"\n aria-label={isString(content) ? content : undefined}\n icon={<Icon />}\n {...rest}\n />\n </Tooltip>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,QAAQ;CACZ,OAAOA,2BAAAA;CACP,MAAMC,kCAAAA;CACN,MAAMC,kBAAAA;CACN,SAASC,8BAAAA;CACT,SAASC,4BAAAA;AACX;;;;;;AAmBA,MAAa,OAAqB,UAAU;CAC1C,MAAM,CACJ,cACA,EACE,iBACA,SACA,UACA,SAAS,QACT,cACA,aACA,GAAG,UAEHC,oBAAAA,gBAAgB,KAAK;CACzB,MAAM,OAAO,MAAM;CAEnB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD;EACmB;EACR;EACC;EACI;EACD;EACb,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,YAAD;GACE,MAAK;GACL,SAAQ;GACR,eAAA,GAAA,oBAAA,cAAA,SAAA,CAAqB,OAAO,IAAI,UAAU,KAAA;GAC1C,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD,CAAO,CAAA;GACb,GAAI;EACL,CAAA;CACM,CAAA;AAEb"}
1
+ {"version":3,"file":"tip.cjs","names":["OctagonAlertIcon","CircleQuestionMarkIcon","InfoIcon","CircleCheckBigIcon","TriangleAlertIcon","useTooltipProps","Tooltip","IconButton"],"sources":["../../../../src/components/tip/tip.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC } from \"react\"\nimport type { WithoutThemeProps } from \"../../core\"\nimport type { IconButtonProps } from \"../button\"\nimport type { StatusScheme } from \"../status\"\nimport type { TooltipProps, TooltipStyle } from \"../tooltip\"\nimport { isString } from \"../../utils\"\nimport { IconButton } from \"../button\"\nimport {\n CircleCheckBigIcon,\n CircleQuestionMarkIcon,\n InfoIcon,\n OctagonAlertIcon,\n TriangleAlertIcon,\n} from \"../icon\"\nimport { Tooltip, useTooltipProps } from \"../tooltip\"\n\nexport type TipStatusScheme = \"help\" | StatusScheme\n\nconst icons = {\n error: OctagonAlertIcon,\n help: CircleQuestionMarkIcon,\n info: InfoIcon,\n success: CircleCheckBigIcon,\n warning: TriangleAlertIcon,\n} as const\n\nexport interface TipProps\n extends\n WithoutThemeProps<TooltipProps, TooltipStyle>,\n Omit<IconButtonProps, \"content\" | \"offset\" | \"transform\"> {\n /**\n * The status of the tip.\n *\n * @default 'help'\n */\n status?: TipStatusScheme\n}\n\n/**\n * `Tip` is a component that displays supplementary information with a built-in icon trigger.\n *\n * @see https://yamada-ui.com/docs/components/tip\n */\nexport const Tip: FC<TipProps> = (props) => {\n const [\n tooltipProps,\n {\n animationScheme,\n content,\n duration,\n status = \"help\",\n contentProps,\n portalProps,\n ...rest\n },\n ] = useTooltipProps(props)\n const Icon = icons[status]\n\n return (\n <Tooltip\n animationScheme={animationScheme}\n content={content}\n duration={duration}\n contentProps={contentProps}\n portalProps={portalProps}\n {...tooltipProps}\n >\n <IconButton\n size=\"2xs\"\n variant=\"ghost\"\n aria-label={isString(content) ? content : undefined}\n icon={<Icon />}\n {...rest}\n />\n </Tooltip>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,QAAQ;CACZ,OAAOA,2BAAAA;CACP,MAAMC,kCAAAA;CACN,MAAMC,kBAAAA;CACN,SAASC,8BAAAA;CACT,SAASC,4BAAAA;AACX;;;;;;AAmBA,MAAa,OAAqB,UAAU;CAC1C,MAAM,CACJ,cACA,EACE,iBACA,SACA,UACA,SAAS,QACT,cACA,aACA,GAAG,UAEHC,oBAAAA,gBAAgB,KAAK;CACzB,MAAM,OAAO,MAAM;CAEnB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,SAAD;EACmB;EACR;EACC;EACI;EACD;EACb,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,YAAD;GACE,MAAK;GACL,SAAQ;GACR,eAAA,GAAA,oBAAA,cAAY,SAAA,CAAS,OAAO,IAAI,UAAU,KAAA;GAC1C,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD,CAAO,CAAA;GACb,GAAI;EACL,CAAA;CACM,CAAA;AAEb"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_group = require("../group/group.cjs");
3
4
  const require_use_toggle_group = require("./use-toggle-group.cjs");
4
5
  const require_toggle = require("./toggle.cjs");
@@ -12,32 +13,34 @@ const ToggleGroupRoot = require_toggle.component((props) => {
12
13
  "colorScheme"
13
14
  ] });
14
15
  const { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef } = require_use_toggle_group.useToggleGroup(rest);
16
+ const context = (0, react.useMemo)(() => ({
17
+ colorScheme,
18
+ size,
19
+ variant,
20
+ focusVisibleRing: attached ? "inside" : void 0
21
+ }), [
22
+ variant,
23
+ size,
24
+ colorScheme,
25
+ attached
26
+ ]);
27
+ const groupContext = (0, react.useMemo)(() => ({
28
+ disabled,
29
+ readOnly,
30
+ value,
31
+ onChange,
32
+ onChangeMapRef
33
+ }), [
34
+ value,
35
+ disabled,
36
+ readOnly,
37
+ onChange,
38
+ onChangeMapRef
39
+ ]);
15
40
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_toggle.TogglePropsContext, {
16
- value: (0, react.useMemo)(() => ({
17
- colorScheme,
18
- size,
19
- variant,
20
- focusVisibleRing: attached ? "inside" : void 0
21
- }), [
22
- variant,
23
- size,
24
- colorScheme,
25
- attached
26
- ]),
41
+ value: context,
27
42
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_toggle_group.ToggleGroupContext, {
28
- value: (0, react.useMemo)(() => ({
29
- disabled,
30
- readOnly,
31
- value,
32
- onChange,
33
- onChangeMapRef
34
- }), [
35
- value,
36
- disabled,
37
- readOnly,
38
- onChange,
39
- onChangeMapRef
40
- ]),
43
+ value: groupContext,
41
44
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_group.Group, {
42
45
  attached,
43
46
  ...getGroupProps()
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.cjs","names":["component","useRootComponentProps","useToggleGroup","TogglePropsContext","ToggleGroupContext","Group"],"sources":["../../../../src/components/toggle/toggle-group.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement } from \"react\"\nimport type {\n GenericsComponent,\n ThemeProps,\n WithoutThemeProps,\n} from \"../../core\"\nimport type { GroupProps } from \"../group\"\nimport type { ToggleProps } from \"./toggle\"\nimport type { ToggleStyle } from \"./toggle.style\"\nimport type { UseToggleGroupProps } from \"./use-toggle-group\"\nimport { useMemo } from \"react\"\nimport { Group } from \"../group\"\nimport { component, TogglePropsContext, useRootComponentProps } from \"./toggle\"\nimport { ToggleGroupContext, useToggleGroup } from \"./use-toggle-group\"\n\n/**\n * `ToggleGroup` is a set of two-state buttons that can be toggled on or off.\n *\n * @see https://yamada-ui.com/docs/components/toggle\n */\nexport interface ToggleGroupRootProps<Y extends string | string[] = string>\n extends\n Omit<\n WithoutThemeProps<GroupProps, ToggleStyle>,\n \"defaultValue\" | \"onChange\" | \"value\"\n >,\n UseToggleGroupProps<Y>,\n ThemeProps<ToggleStyle> {}\n\nexport const ToggleGroupRoot = component<\"div\", ToggleGroupRootProps>(\n (props: ToggleGroupRootProps) => {\n const [, { colorScheme, size, variant, attached, ...rest }] =\n useRootComponentProps(props, \"group\", {\n transferProps: [\"size\", \"variant\", \"colorScheme\"],\n })\n const {\n disabled,\n readOnly,\n value,\n getGroupProps,\n onChange,\n onChangeMapRef,\n } = useToggleGroup(rest)\n const context = useMemo<ToggleProps>(\n () => ({\n colorScheme,\n size,\n variant,\n focusVisibleRing: attached ? \"inside\" : undefined,\n }),\n [variant, size, colorScheme, attached],\n )\n const groupContext = useMemo(\n () => ({\n disabled,\n readOnly,\n value,\n onChange,\n onChangeMapRef,\n }),\n [value, disabled, readOnly, onChange, onChangeMapRef],\n )\n\n return (\n <TogglePropsContext value={context}>\n <ToggleGroupContext value={groupContext}>\n <Group attached={attached} {...getGroupProps()} />\n </ToggleGroupContext>\n </TogglePropsContext>\n )\n },\n \"group\",\n)() as GenericsComponent<{\n <Y extends string | string[] = string>(\n props: ToggleGroupRootProps<Y>,\n ): ReactElement\n}>\n"],"mappings":";;;;;;;AA+BA,MAAa,kBAAkBA,eAAAA,WAC5B,UAAgC;CAC/B,MAAM,GAAG,EAAE,aAAa,MAAM,SAAS,UAAU,GAAG,UAClDC,eAAAA,sBAAsB,OAAO,SAAS,EACpC,eAAe;EAAC;EAAQ;EAAW;CAAa,EAClD,CAAC;CACH,MAAM,EACJ,UACA,UACA,OACA,eACA,UACA,mBACEC,yBAAAA,eAAe,IAAI;CAqBvB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,oBAAD;EAAoB,QAAA,GAAA,MAAA,QAAA,QApBb;GACL;GACA;GACA;GACA,kBAAkB,WAAW,WAAW,KAAA;EAC1C,IACA;GAAC;GAAS;GAAM;GAAa;EAAQ,CAcJ;EAC/B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,oBAAD;GAAoB,QAAA,GAAA,MAAA,QAAA,QAZf;IACL;IACA;IACA;IACA;IACA;GACF,IACA;IAAC;IAAO;IAAU;IAAU;IAAU;GAAc,CAKZ;GACpC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;IAAiB;IAAU,GAAI,cAAc;GAAI,CAAA;EAC/B,CAAA;CACF,CAAA;AAExB,GACA,OACF,CAAC,CAAC"}
1
+ {"version":3,"file":"toggle-group.cjs","names":["component","useRootComponentProps","useToggleGroup","useMemo","TogglePropsContext","ToggleGroupContext","Group"],"sources":["../../../../src/components/toggle/toggle-group.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement } from \"react\"\nimport type {\n GenericsComponent,\n ThemeProps,\n WithoutThemeProps,\n} from \"../../core\"\nimport type { GroupProps } from \"../group\"\nimport type { ToggleProps } from \"./toggle\"\nimport type { ToggleStyle } from \"./toggle.style\"\nimport type { UseToggleGroupProps } from \"./use-toggle-group\"\nimport { useMemo } from \"react\"\nimport { Group } from \"../group\"\nimport { component, TogglePropsContext, useRootComponentProps } from \"./toggle\"\nimport { ToggleGroupContext, useToggleGroup } from \"./use-toggle-group\"\n\n/**\n * `ToggleGroup` is a set of two-state buttons that can be toggled on or off.\n *\n * @see https://yamada-ui.com/docs/components/toggle\n */\nexport interface ToggleGroupRootProps<Y extends string | string[] = string>\n extends\n Omit<\n WithoutThemeProps<GroupProps, ToggleStyle>,\n \"defaultValue\" | \"onChange\" | \"value\"\n >,\n UseToggleGroupProps<Y>,\n ThemeProps<ToggleStyle> {}\n\nexport const ToggleGroupRoot = component<\"div\", ToggleGroupRootProps>(\n (props: ToggleGroupRootProps) => {\n const [, { colorScheme, size, variant, attached, ...rest }] =\n useRootComponentProps(props, \"group\", {\n transferProps: [\"size\", \"variant\", \"colorScheme\"],\n })\n const {\n disabled,\n readOnly,\n value,\n getGroupProps,\n onChange,\n onChangeMapRef,\n } = useToggleGroup(rest)\n const context = useMemo<ToggleProps>(\n () => ({\n colorScheme,\n size,\n variant,\n focusVisibleRing: attached ? \"inside\" : undefined,\n }),\n [variant, size, colorScheme, attached],\n )\n const groupContext = useMemo(\n () => ({\n disabled,\n readOnly,\n value,\n onChange,\n onChangeMapRef,\n }),\n [value, disabled, readOnly, onChange, onChangeMapRef],\n )\n\n return (\n <TogglePropsContext value={context}>\n <ToggleGroupContext value={groupContext}>\n <Group attached={attached} {...getGroupProps()} />\n </ToggleGroupContext>\n </TogglePropsContext>\n )\n },\n \"group\",\n)() as GenericsComponent<{\n <Y extends string | string[] = string>(\n props: ToggleGroupRootProps<Y>,\n ): ReactElement\n}>\n"],"mappings":";;;;;;;;AA+BA,MAAa,kBAAkBA,eAAAA,WAC5B,UAAgC;CAC/B,MAAM,GAAG,EAAE,aAAa,MAAM,SAAS,UAAU,GAAG,UAClDC,eAAAA,sBAAsB,OAAO,SAAS,EACpC,eAAe;EAAC;EAAQ;EAAW;CAAa,EAClD,CAAC;CACH,MAAM,EACJ,UACA,UACA,OACA,eACA,UACA,mBACEC,yBAAAA,eAAe,IAAI;CACvB,MAAM,WAAA,GAAUC,MAAAA,QAAAA,QACP;EACL;EACA;EACA;EACA,kBAAkB,WAAW,WAAW,KAAA;CAC1C,IACA;EAAC;EAAS;EAAM;EAAa;CAAQ,CACvC;CACA,MAAM,gBAAA,GAAeA,MAAAA,QAAAA,QACZ;EACL;EACA;EACA;EACA;EACA;CACF,IACA;EAAC;EAAO;EAAU;EAAU;EAAU;CAAc,CACtD;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,oBAAD;EAAoB,OAAO;EACzB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,oBAAD;GAAoB,OAAO;GACzB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;IAAiB;IAAU,GAAI,cAAc;GAAI,CAAA;EAC/B,CAAA;CACF,CAAA;AAExB,GACA,OACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
2
3
  const require_context = require("../../utils/context.cjs");
3
4
  const require_effect = require("../../utils/effect.cjs");
4
5
  const require_utils_index = require("../../utils/index.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle-group.cjs","names":["createContext","useControllableState","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) onChange(true)\n else onChange(false)\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) =>\n mergeProps(\n {\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;AAwBA,MAAM,CAAC,oBAAoB,yBACzBA,gBAAAA,cAAkC;CAChC,MAAM;CACN,QAAQ;AACV,CAAC;AAiCH,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,kBAAA,GAAA,MAAA,OAAA,iBACJ,IAAI,IAAI,CACV;CACA,MAAM,CAAC,OAAO,YAAYC,2CAAAA,qBAA4B;EACpD;EACA,OAAO;EACP,UAAU;CACZ,CAAC;CAED,MAAM,WAAA,GAAA,MAAA,YAAA,EAAuB,gBAA2B;EACtD,eAAe,QAAQ,SAAS,UAAU,UAAU;GAClD,IAAI,aAAa,SAAS,KAAK,GAAG,SAAS,IAAI;QAC1C,SAAS,KAAK;EACrB,CAAC;CACH,GAAG,CAAC,CAAC;CAEL,MAAM,YAAA,GAAA,MAAA,YAAA,EAEF,UACG;EACH,KAAA,GAAA,oBAAA,cAAA,YAAA,CAAgB,KAAK,GAAG;EAExB,UAAU,SAAS;GACjB,KAAA,GAAA,oBAAA,cAAA,QAAA,CAAY,IAAI,GAGd,IAFiB,KAAK,SAAS,KAEpB,GAAG;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAc,KAAK;IAEhE,QAAQ,SAAS;IAEjB,OAAO;GACT,OAAO;IACL,MAAM,YAAY,CAAC,GAAG,MAAM,KAAK;IAEjC,QAAQ,SAAS;IAEjB,OAAO;GACT;QAEA,IAAI,OAAO,KAAK,MAAM,MAAM;IAC1B,QAAQ;IAER;GACF,OAAO;IACL,QAAQ,CAAC,KAAK,CAAC;IAEf,OAAO;GACT;EAEJ,CAAC;CACH,GACA,CAAC,UAAU,OAAO,CACpB;CAEA,eAAA,sBAAsB;EACpB,QAAQ,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,SAAS,KAAA,GAAA,oBAAA,cAAA,QAAA,CAAY,SAAS,IAAI,KAAA,CAAS;EAEhE,SAAS,SAAkB;CAC7B,GAAG,CAAC,SAAS,CAAC;CAgBd,OAAO;EAAE;EAAU;EAAU;EAAO,gBAAA,GAAA,MAAA,YAAA,EAbjC,UACCC,cAAAA,WACE;GACE,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;GAClC,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,QAAQ;GAClC,MAAM;EACR,GACA,MACA,KACF,CAAC,CAAC,GACJ;GAAC;GAAU;GAAU;EAAI,CAGqB;EAAG;EAAU;CAAe;AAC9E"}
1
+ {"version":3,"file":"use-toggle-group.cjs","names":["createContext","useRef","useControllableState","useCallback","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport { useCallback, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n createContext,\n dataAttr,\n isArray,\n isUndefined,\n toArray,\n useUpdateEffect,\n} from \"../../utils\"\n\ninterface ToggleGroupContext {\n onChangeMapRef: RefObject<Map<string, (value: boolean) => void>>\n disabled?: boolean\n readOnly?: boolean\n value?: string | string[]\n onChange?: <Y extends string = string>(value: undefined | Y) => void\n}\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createContext<ToggleGroupContext>({\n name: \"ToggleGroupContext\",\n strict: false,\n })\n\nexport { ToggleGroupContext, useToggleGroupContext }\n\nexport interface UseToggleGroupProps<\n Y extends string | string[] = string,\n> extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\"> {\n /**\n * The initial value of the toggle button group.\n */\n defaultValue?: Y extends any[] ? Y : undefined | Y\n /**\n * If `true`, all wrapped toggle button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * If `true`, all wrapped toggle button will be readonly.\n *\n * @default false\n */\n readOnly?: boolean\n /**\n * The value of the toggle button group.\n */\n value?: Y extends any[] ? Y : undefined | Y\n /**\n * The callback fired when any children toggle button is selected or unselected.\n */\n onChange?: (value: Y extends any[] ? Y : undefined | Y) => void\n}\n\nexport const useToggleGroup = <Y extends string | string[] = string>({\n defaultValue,\n disabled,\n readOnly,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n}: UseToggleGroupProps<Y>) => {\n type Value = Y extends any[] ? Y : undefined | Y\n\n const onChangeMapRef = useRef<Map<string, (value: boolean) => void>>(\n new Map(),\n )\n const [value, setValue] = useControllableState<Value>({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onReset = useCallback((targetValue?: string[]) => {\n onChangeMapRef.current.forEach((onChange, value) => {\n if (targetValue?.includes(value)) onChange(true)\n else onChange(false)\n })\n }, [])\n\n const onChange = useCallback(\n <M extends string = Y extends any[] ? Y[number] : Y>(\n value: M | undefined,\n ) => {\n if (isUndefined(value)) return\n\n setValue((prev) => {\n if (isArray(prev)) {\n const included = prev.includes(value)\n\n if (included) {\n const nextValue = prev.filter((prevValue) => prevValue !== value)\n\n onReset(nextValue)\n\n return nextValue as Value\n } else {\n const nextValue = [...prev, value]\n\n onReset(nextValue)\n\n return nextValue as Value\n }\n } else {\n if (String(value) === prev) {\n onReset()\n\n return undefined as Value\n } else {\n onReset([value])\n\n return value as unknown as Value\n }\n }\n })\n },\n [setValue, onReset],\n )\n\n useUpdateEffect(() => {\n onReset(!isUndefined(valueProp) ? toArray(valueProp) : undefined)\n\n setValue(valueProp as Value)\n }, [valueProp])\n\n const getGroupProps: PropGetter = useCallback(\n (props) =>\n mergeProps(\n {\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [disabled, readOnly, rest],\n )\n\n return { disabled, readOnly, value, getGroupProps, onChange, onChangeMapRef }\n}\n\nexport type UseToggleGroupReturn = ReturnType<typeof useToggleGroup>\n"],"mappings":";;;;;;;;;AAwBA,MAAM,CAAC,oBAAoB,yBACzBA,gBAAAA,cAAkC;CAChC,MAAM;CACN,QAAQ;AACV,CAAC;AAiCH,MAAa,kBAAwD,EACnE,cACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,WACyB;CAG5B,MAAM,kBAAA,GAAiBC,MAAAA,OAAAA,iBACrB,IAAI,IAAI,CACV;CACA,MAAM,CAAC,OAAO,YAAYC,2CAAAA,qBAA4B;EACpD;EACA,OAAO;EACP,UAAU;CACZ,CAAC;CAED,MAAM,WAAA,GAAUC,MAAAA,YAAAA,EAAa,gBAA2B;EACtD,eAAe,QAAQ,SAAS,UAAU,UAAU;GAClD,IAAI,aAAa,SAAS,KAAK,GAAG,SAAS,IAAI;QAC1C,SAAS,KAAK;EACrB,CAAC;CACH,GAAG,CAAC,CAAC;CAEL,MAAM,YAAA,GAAWA,MAAAA,YAAAA,EAEb,UACG;EACH,KAAA,GAAA,oBAAA,cAAI,YAAA,CAAY,KAAK,GAAG;EAExB,UAAU,SAAS;GACjB,KAAA,GAAA,oBAAA,cAAI,QAAA,CAAQ,IAAI,GAGd,IAFiB,KAAK,SAAS,KAEpB,GAAG;IACZ,MAAM,YAAY,KAAK,QAAQ,cAAc,cAAc,KAAK;IAEhE,QAAQ,SAAS;IAEjB,OAAO;GACT,OAAO;IACL,MAAM,YAAY,CAAC,GAAG,MAAM,KAAK;IAEjC,QAAQ,SAAS;IAEjB,OAAO;GACT;QAEA,IAAI,OAAO,KAAK,MAAM,MAAM;IAC1B,QAAQ;IAER;GACF,OAAO;IACL,QAAQ,CAAC,KAAK,CAAC;IAEf,OAAO;GACT;EAEJ,CAAC;CACH,GACA,CAAC,UAAU,OAAO,CACpB;CAEA,eAAA,sBAAsB;EACpB,QAAQ,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,SAAS,KAAA,GAAA,oBAAA,cAAI,QAAA,CAAQ,SAAS,IAAI,KAAA,CAAS;EAEhE,SAAS,SAAkB;CAC7B,GAAG,CAAC,SAAS,CAAC;CAgBd,OAAO;EAAE;EAAU;EAAU;EAAO,gBAAA,GAdFA,MAAAA,YAAAA,EAC/B,UACCC,cAAAA,WACE;GACE,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;GAClC,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,QAAQ;GAClC,MAAM;EACR,GACA,MACA,KACF,CAAC,CAAC,GACJ;GAAC;GAAU;GAAU;EAAI,CAGqB;EAAG;EAAU;CAAe;AAC9E"}
@@ -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");
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle.cjs","names":["useI18n","useToggleGroupContext","useFieldProps","useControllableState","visuallyHiddenAttributes","mergeRefs","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) return checked\n else\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}): Merge<HTMLProps<\"button\">, { \"aria-label\": string }> => {\n const ariaLabel = value?.toString() ?? t(\"Toggle button\")\n const mergedProps = mergeProps(\n dataProps,\n {\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": ariaLabel,\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n },\n rest,\n props,\n { onClick },\n )()\n\n return {\n ...mergedProps,\n \"aria-label\": mergedProps[\"aria-label\"] ?? ariaLabel,\n }\n },\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;AAqDA,MAAa,aACX,QAA2B,CAAC,MACzB;CACH,MAAM,EAAE,MAAMA,sBAAAA,QAAQ,QAAQ;CAC9B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACEC,yBAAAA,sBAAsB,KAAK,CAAC;CAChC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEC,wBAAAA,cAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;CACL,CAAC;CACD,MAAM,YAAA,GAAA,MAAA,OAAA,CAAoC,IAAI;CAC9C,MAAM,CAAC,SAAS,cAAcC,2CAAAA,qBAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;CACZ,CAAC;CACD,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,UAAU;CAC1C,MAAM,gBAAA,GAAA,MAAA,QAAA,OAA6B;EACjC,IAAI,CAAC,YAAY,OAAO;OAEtB,QAAA,GAAA,oBAAA,cAAA,QAAA,CAAe,UAAU,IACrB,WAAW,SAAS,SAAS,EAAE,IAC/B,UAAU;CAClB,GAAG;EAAC;EAAY;EAAY;EAAS;CAAK,CAAC;CAE3C,IAAI,eAAA,GAAA,oBAAA,cAAA,YAAA,CAA0B,KAAK,GACjC,QAAQ,KAAK,kDAAkD;CAEjE,IAAI,OAAO,gBAAgB,QAAQ,IAAI,OAAO,UAAU;CAExD,MAAM,WAAA,GAAA,MAAA,YAAA,OAA4B;EAChC,IAAI,CAAC,aAAa;EAElB,YAAY,SAAS,CAAC,IAAI;EAC1B,gBAAgB,KAAK;CACvB,GAAG;EAAC;EAAe;EAAY;EAAO;CAAW,CAAC;CAElD,MAAM,YAAA,GAAA,MAAA,YAAA,EACH,OAAsC;EACrC,WAAW,GAAG,OAAO,OAAO;EAC5B,gBAAgB,KAAK;CACvB,GACA;EAAC;EAAe;EAAY;CAAK,CACnC;CAEA,MAAM,iBAAA,GAAA,MAAA,YAAA,EACH,QAAQ,CAAC,OAAO;EACf,GAAGC,YAAAA;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACH,KAAKC,YAAAA,UAAU,UAAU,KAAK,MAAM,GAAG;EACvC,WAAA,GAAA,oBAAA,cAAA,WAAA,CAAqB,MAAM,UAAU,QAAQ;CAC/C,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CA4CA,OAAO;EACL,SAAS;EACT;EACA,iBAAA,GAAA,MAAA,YAAA,EAxCC,QAAQ,CAAC,MAA4D;GACpE,MAAM,YAAY,OAAO,SAAS,KAAK,EAAE,eAAe;GACxD,MAAM,cAAcC,cAAAA,WAClB,WACA;IACE,MAAM;IACN,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,CAAC,WAAW;IACtC,cAAc;IACd,gBAAgB;IAChB,gBAAA,GAAA,oBAAA,cAAA,SAAA,CAAwB,MAAM;IAC9B,iBAAA,GAAA,oBAAA,cAAA,SAAA,CAAyB,YAAY;IACrC;IACA,UAAU,cAAc,KAAA,IAAY;GACtC,GACA,MACA,OACA,EAAE,QAAQ,CACZ,CAAC,CAAC;GAEF,OAAO;IACL,GAAG;IACH,cAAc,YAAY,iBAAiB;GAC7C;EACF,GACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAMa;EACb;CACF;AACF"}
1
+ {"version":3,"file":"use-toggle.cjs","names":["useI18n","useToggleGroupContext","useFieldProps","useRef","useControllableState","useMemo","useCallback","visuallyHiddenAttributes","mergeRefs","mergeProps"],"sources":["../../../../src/components/toggle/use-toggle.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useMemo, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n dataAttr,\n handlerAll,\n isArray,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useToggleGroupContext } from \"./use-toggle-group\"\n\nexport interface UseToggleProps<Y extends string = string>\n extends\n FieldProps,\n HTMLRefAttributes<\"input\">,\n Omit<HTMLProps<\"button\">, \"onChange\" | \"ref\" | \"value\"> {\n /**\n * If `true`, the toggle button is represented as active.\n *\n * @default false\n */\n active?: boolean\n /**\n * If `true`, the toggle button will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the toggle button will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * The value of the toggle button.\n */\n value?: Y\n /**\n * The callback invoked when checked state changes.\n */\n onChange?: (checked: boolean) => void\n}\n\nexport const useToggle = <Y extends string = string>(\n props: UseToggleProps<Y> = {},\n) => {\n const { t } = useI18n(\"toggle\")\n const {\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n value: groupValue,\n onChange: onChangeGroup,\n onChangeMapRef,\n } = useToggleGroupContext() ?? {}\n const {\n props: {\n id,\n ref,\n form,\n name,\n active,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n readOnly,\n required,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps<HTMLElement, UseToggleProps<Y>>({\n disabled: groupDisabled,\n readOnly: groupReadOnly,\n ...props,\n })\n const inputRef = useRef<HTMLInputElement>(null)\n const [checked, setChecked] = useControllableState({\n defaultValue: defaultChecked,\n value: checkedProp,\n onChange: onChangeProp,\n })\n const interactive = !(readOnly || disabled)\n const controlled = !isUndefined(groupValue)\n const trulyChecked = useMemo(() => {\n if (!controlled) return checked\n else\n return isArray(groupValue)\n ? groupValue.includes(value ?? \"\")\n : value === groupValue\n }, [controlled, groupValue, checked, value])\n\n if (controlled && isUndefined(value))\n console.warn(`Toggle: value is required. Please set the value.`)\n\n if (value) onChangeMapRef?.current.set(value, setChecked)\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n setChecked((prev) => !prev)\n onChangeGroup?.(value)\n }, [onChangeGroup, setChecked, value, interactive])\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n setChecked(ev.target.checked)\n onChangeGroup?.(value)\n },\n [onChangeGroup, setChecked, value],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => ({\n ...visuallyHiddenAttributes,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n id,\n form,\n type: \"checkbox\",\n name,\n checked,\n disabled,\n readOnly,\n required,\n value,\n ...props,\n ref: mergeRefs(inputRef, ref, props.ref),\n onChange: handlerAll(props.onChange, onChange),\n }),\n [\n ariaProps,\n checked,\n dataProps,\n disabled,\n eventProps,\n form,\n id,\n name,\n onChange,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getButtonProps: PropGetter<\n \"button\",\n undefined,\n Merge<HTMLProps<\"button\">, { \"aria-label\": string }>\n > = useCallback(\n (props = {}): Merge<HTMLProps<\"button\">, { \"aria-label\": string }> => {\n const ariaLabel = value?.toString() ?? t(\"Toggle button\")\n const mergedProps = mergeProps(\n dataProps,\n {\n type: \"button\",\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": ariaLabel,\n \"aria-pressed\": trulyChecked,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(trulyChecked),\n disabled,\n tabIndex: interactive ? undefined : -1,\n },\n rest,\n props,\n { onClick },\n )()\n\n return {\n ...mergedProps,\n \"aria-label\": mergedProps[\"aria-label\"] ?? ariaLabel,\n }\n },\n [\n dataProps,\n value,\n trulyChecked,\n active,\n disabled,\n rest,\n onClick,\n interactive,\n t,\n ],\n )\n\n return {\n checked: trulyChecked,\n setChecked,\n getButtonProps,\n getInputProps,\n }\n}\n\nexport type UseToggleReturn = ReturnType<typeof useToggle>\n"],"mappings":";;;;;;;;;;;;AAqDA,MAAa,aACX,QAA2B,CAAC,MACzB;CACH,MAAM,EAAE,MAAMA,sBAAAA,QAAQ,QAAQ;CAC9B,MAAM,EACJ,UAAU,eACV,UAAU,eACV,OAAO,YACP,UAAU,eACV,mBACEC,yBAAAA,sBAAsB,KAAK,CAAC;CAChC,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,MACA,QACA,SAAS,aACT,iBAAiB,OACjB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WACA,WACA,eACEC,wBAAAA,cAA8C;EAChD,UAAU;EACV,UAAU;EACV,GAAG;CACL,CAAC;CACD,MAAM,YAAA,GAAWC,MAAAA,OAAAA,CAAyB,IAAI;CAC9C,MAAM,CAAC,SAAS,cAAcC,2CAAAA,qBAAqB;EACjD,cAAc;EACd,OAAO;EACP,UAAU;CACZ,CAAC;CACD,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,aAAa,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,UAAU;CAC1C,MAAM,gBAAA,GAAeC,MAAAA,QAAAA,OAAc;EACjC,IAAI,CAAC,YAAY,OAAO;OAEtB,QAAA,GAAA,oBAAA,cAAO,QAAA,CAAQ,UAAU,IACrB,WAAW,SAAS,SAAS,EAAE,IAC/B,UAAU;CAClB,GAAG;EAAC;EAAY;EAAY;EAAS;CAAK,CAAC;CAE3C,IAAI,eAAA,GAAA,oBAAA,cAAc,YAAA,CAAY,KAAK,GACjC,QAAQ,KAAK,kDAAkD;CAEjE,IAAI,OAAO,gBAAgB,QAAQ,IAAI,OAAO,UAAU;CAExD,MAAM,WAAA,GAAUC,MAAAA,YAAAA,OAAkB;EAChC,IAAI,CAAC,aAAa;EAElB,YAAY,SAAS,CAAC,IAAI;EAC1B,gBAAgB,KAAK;CACvB,GAAG;EAAC;EAAe;EAAY;EAAO;CAAW,CAAC;CAElD,MAAM,YAAA,GAAWA,MAAAA,YAAAA,EACd,OAAsC;EACrC,WAAW,GAAG,OAAO,OAAO;EAC5B,gBAAgB,KAAK;CACvB,GACA;EAAC;EAAe;EAAY;CAAK,CACnC;CAEA,MAAM,iBAAA,GAAqCA,MAAAA,YAAAA,EACxC,QAAQ,CAAC,OAAO;EACf,GAAGC,YAAAA;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACH,KAAKC,YAAAA,UAAU,UAAU,KAAK,MAAM,GAAG;EACvC,WAAA,GAAA,oBAAA,cAAU,WAAA,CAAW,MAAM,UAAU,QAAQ;CAC/C,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CA4CA,OAAO;EACL,SAAS;EACT;EACA,iBAAA,GAzCEF,MAAAA,YAAAA,EACD,QAAQ,CAAC,MAA4D;GACpE,MAAM,YAAY,OAAO,SAAS,KAAK,EAAE,eAAe;GACxD,MAAM,cAAcG,cAAAA,WAClB,WACA;IACE,MAAM;IACN,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CAAS,CAAC,WAAW;IACtC,cAAc;IACd,gBAAgB;IAChB,gBAAA,GAAA,oBAAA,cAAe,SAAA,CAAS,MAAM;IAC9B,iBAAA,GAAA,oBAAA,cAAgB,SAAA,CAAS,YAAY;IACrC;IACA,UAAU,cAAc,KAAA,IAAY;GACtC,GACA,MACA,OACA,EAAE,QAAQ,CACZ,CAAC,CAAC;GAEF,OAAO;IACL,GAAG;IACH,cAAc,YAAY,iBAAiB;GAC7C;EACF,GACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAMa;EACb;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs","names":["createSlotComponent","tooltipStyle","useTooltip","usePopupAnimationProps","AnimatePresence","Portal","motion"],"sources":["../../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { HTMLMotionProps } from \"../motion\"\nimport type { UsePopupAnimationProps } from \"../popover\"\nimport type { PortalProps } from \"../portal\"\nimport type { TooltipStyle } from \"./tooltip.style\"\nimport type { UseTooltipProps } from \"./use-tooltip\"\nimport { AnimatePresence } from \"motion/react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { motion } from \"../motion\"\nimport { usePopupAnimationProps } from \"../popover\"\nimport { Portal } from \"../portal\"\nimport { tooltipStyle } from \"./tooltip.style\"\nimport { useTooltip } from \"./use-tooltip\"\n\nexport interface TooltipProps\n extends\n UseTooltipProps,\n PropsWithChildren,\n UsePopupAnimationProps,\n ThemeProps<TooltipStyle> {\n /**\n * The content of the tooltip.\n */\n content?: ReactNode\n /**\n * The animation duration.\n *\n * @default 0.1\n */\n duration?: UsePopupAnimationProps[\"duration\"]\n /**\n * Props for content element.\n */\n contentProps?: TooltipContentProps\n /**\n * Props for portal component.\n */\n portalProps?: Omit<PortalProps, \"children\">\n /**\n * Props for positioner element.\n */\n positionerProps?: Omit<TooltipPositionerProps, \"children\">\n}\n\nconst {\n PropsContext: TooltipPropsContext,\n StyleContext,\n usePropsContext: useTooltipPropsContext,\n withContext,\n useRootComponentProps,\n} = createSlotComponent<TooltipProps, TooltipStyle>(\"tooltip\", tooltipStyle)\n\nexport { TooltipPropsContext, useTooltipPropsContext }\n\n/**\n * `Tooltip` is a component that displays short information, such as supplementary details for an element.\n *\n * @see https://yamada-ui.com/docs/components/tooltip\n */\nexport const Tooltip: FC<TooltipProps> = (props) => {\n const [\n context,\n {\n animationScheme = \"scale\",\n children,\n content,\n duration = 0.1,\n contentProps,\n portalProps,\n positionerProps,\n ...rest\n },\n ] = useRootComponentProps(props)\n const { open, getContentProps, getPositionerProps, getTriggerProps } =\n useTooltip(rest)\n const popupAnimationProps = usePopupAnimationProps({\n animationScheme,\n duration,\n })\n\n if (!content) return children\n\n return (\n <StyleContext value={context}>\n <TooltipTrigger asChild {...getTriggerProps()}>\n {children}\n </TooltipTrigger>\n\n <AnimatePresence>\n {open ? (\n <Portal {...portalProps}>\n <TooltipPositioner {...getPositionerProps(positionerProps)}>\n <TooltipContent\n {...popupAnimationProps}\n {...cast<HTMLMotionProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {content}\n </TooltipContent>\n </TooltipPositioner>\n </Portal>\n ) : null}\n </AnimatePresence>\n </StyleContext>\n )\n}\n\ninterface TooltipPositionerProps extends HTMLStyledProps {}\n\nconst TooltipPositioner = withContext<\"div\", TooltipPositionerProps>(\n \"div\",\n \"positioner\",\n)()\n\ninterface TooltipTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nconst TooltipTrigger = withContext<\"button\", TooltipTriggerProps>(\n \"button\",\n \"trigger\",\n)()\n\ninterface TooltipContentProps extends Omit<\n HTMLMotionProps,\n \"children\" | \"offset\" | \"transform\"\n> {}\n\nconst TooltipContent = withContext<\"div\", TooltipContentProps>(\n motion.div,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;AAgDA,MAAM,EACJ,cAAc,qBACd,cACA,iBAAiB,wBACjB,aACA,0BACEA,yBAAAA,oBAAgD,WAAWC,sBAAAA,YAAY;;;;;;AAS3E,MAAa,WAA6B,UAAU;CAClD,MAAM,CACJ,SACA,EACE,kBAAkB,SAClB,UACA,SACA,WAAW,IACX,cACA,aACA,iBACA,GAAG,UAEH,sBAAsB,KAAK;CAC/B,MAAM,EAAE,MAAM,iBAAiB,oBAAoB,oBACjDC,oBAAAA,WAAW,IAAI;CACjB,MAAM,sBAAsBC,gBAAAA,uBAAuB;EACjD;EACA;CACF,CAAC;CAED,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,cAAD;EAAc,OAAO;EAArB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;GAAgB,SAAA;GAAQ,GAAI,gBAAgB;GACzC;EACa,CAAA,GAEhB,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,iBAAD,EAAA,UACG,OACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GAAQ,GAAI;GACV,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI,mBAAmB,eAAe;IACvD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;KACE,GAAI;KACJ,IAAA,GAAA,oBAAA,cAAA,KAAA,CACE,iBAAA,GAAA,oBAAA,cAAA,KAAA,CAAgC,YAAY,CAAC,CAC/C;KAEC,UAAA;IACa,CAAA;GACC,CAAA;EACb,CAAA,IACN,KACW,CAAA,CACL;;AAElB;AAIA,MAAM,oBAAoB,YACxB,OACA,YACF,CAAC,CAAC;AAIF,MAAM,iBAAiB,YACrB,UACA,SACF,CAAC,CAAC;AAOF,MAAM,iBAAiB,YACrBC,gBAAAA,OAAO,KACP,SACF,CAAC,CAAC"}
1
+ {"version":3,"file":"tooltip.cjs","names":["createSlotComponent","tooltipStyle","useTooltip","usePopupAnimationProps","AnimatePresence","Portal","motion"],"sources":["../../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { HTMLMotionProps } from \"../motion\"\nimport type { UsePopupAnimationProps } from \"../popover\"\nimport type { PortalProps } from \"../portal\"\nimport type { TooltipStyle } from \"./tooltip.style\"\nimport type { UseTooltipProps } from \"./use-tooltip\"\nimport { AnimatePresence } from \"motion/react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { motion } from \"../motion\"\nimport { usePopupAnimationProps } from \"../popover\"\nimport { Portal } from \"../portal\"\nimport { tooltipStyle } from \"./tooltip.style\"\nimport { useTooltip } from \"./use-tooltip\"\n\nexport interface TooltipProps\n extends\n UseTooltipProps,\n PropsWithChildren,\n UsePopupAnimationProps,\n ThemeProps<TooltipStyle> {\n /**\n * The content of the tooltip.\n */\n content?: ReactNode\n /**\n * The animation duration.\n *\n * @default 0.1\n */\n duration?: UsePopupAnimationProps[\"duration\"]\n /**\n * Props for content element.\n */\n contentProps?: TooltipContentProps\n /**\n * Props for portal component.\n */\n portalProps?: Omit<PortalProps, \"children\">\n /**\n * Props for positioner element.\n */\n positionerProps?: Omit<TooltipPositionerProps, \"children\">\n}\n\nconst {\n PropsContext: TooltipPropsContext,\n StyleContext,\n usePropsContext: useTooltipPropsContext,\n withContext,\n useRootComponentProps,\n} = createSlotComponent<TooltipProps, TooltipStyle>(\"tooltip\", tooltipStyle)\n\nexport { TooltipPropsContext, useTooltipPropsContext }\n\n/**\n * `Tooltip` is a component that displays short information, such as supplementary details for an element.\n *\n * @see https://yamada-ui.com/docs/components/tooltip\n */\nexport const Tooltip: FC<TooltipProps> = (props) => {\n const [\n context,\n {\n animationScheme = \"scale\",\n children,\n content,\n duration = 0.1,\n contentProps,\n portalProps,\n positionerProps,\n ...rest\n },\n ] = useRootComponentProps(props)\n const { open, getContentProps, getPositionerProps, getTriggerProps } =\n useTooltip(rest)\n const popupAnimationProps = usePopupAnimationProps({\n animationScheme,\n duration,\n })\n\n if (!content) return children\n\n return (\n <StyleContext value={context}>\n <TooltipTrigger asChild {...getTriggerProps()}>\n {children}\n </TooltipTrigger>\n\n <AnimatePresence>\n {open ? (\n <Portal {...portalProps}>\n <TooltipPositioner {...getPositionerProps(positionerProps)}>\n <TooltipContent\n {...popupAnimationProps}\n {...cast<HTMLMotionProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {content}\n </TooltipContent>\n </TooltipPositioner>\n </Portal>\n ) : null}\n </AnimatePresence>\n </StyleContext>\n )\n}\n\ninterface TooltipPositionerProps extends HTMLStyledProps {}\n\nconst TooltipPositioner = withContext<\"div\", TooltipPositionerProps>(\n \"div\",\n \"positioner\",\n)()\n\ninterface TooltipTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nconst TooltipTrigger = withContext<\"button\", TooltipTriggerProps>(\n \"button\",\n \"trigger\",\n)()\n\ninterface TooltipContentProps extends Omit<\n HTMLMotionProps,\n \"children\" | \"offset\" | \"transform\"\n> {}\n\nconst TooltipContent = withContext<\"div\", TooltipContentProps>(\n motion.div,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;AAgDA,MAAM,EACJ,cAAc,qBACd,cACA,iBAAiB,wBACjB,aACA,0BACEA,yBAAAA,oBAAgD,WAAWC,sBAAAA,YAAY;;;;;;AAS3E,MAAa,WAA6B,UAAU;CAClD,MAAM,CACJ,SACA,EACE,kBAAkB,SAClB,UACA,SACA,WAAW,IACX,cACA,aACA,iBACA,GAAG,UAEH,sBAAsB,KAAK;CAC/B,MAAM,EAAE,MAAM,iBAAiB,oBAAoB,oBACjDC,oBAAAA,WAAW,IAAI;CACjB,MAAM,sBAAsBC,gBAAAA,uBAAuB;EACjD;EACA;CACF,CAAC;CAED,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,cAAD;EAAc,OAAO;EAArB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;GAAgB,SAAA;GAAQ,GAAI,gBAAgB;GACzC;EACa,CAAA,GAEhB,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,iBAAD,EAAA,UACG,OACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GAAQ,GAAI;GACV,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI,mBAAmB,eAAe;IACvD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;KACE,GAAI;KACJ,IAAA,GAAA,oBAAA,cAAI,KAAA,CACF,iBAAA,GAAA,oBAAA,cAAgB,KAAA,CAAgB,YAAY,CAAC,CAC/C;KAEC,UAAA;IACa,CAAA;GACC,CAAA;EACb,CAAA,IACN,KACW,CAAA,CACL;;AAElB;AAIA,MAAM,oBAAoB,YACxB,OACA,YACF,CAAC,CAAC;AAIF,MAAM,iBAAiB,YACrB,UACA,SACF,CAAC,CAAC;AAOF,MAAM,iBAAiB,YACrBC,gBAAAA,OAAO,KACP,SACF,CAAC,CAAC"}
@@ -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_ref = require("../../utils/ref.cjs");
4
5
  const require_utils_index = require("../../utils/index.cjs");