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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (811) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -1
  2. package/dist/cjs/components/accordion/accordion.cjs +4 -2
  3. package/dist/cjs/components/accordion/accordion.cjs.map +1 -1
  4. package/dist/cjs/components/accordion/use-accordion.cjs +1 -0
  5. package/dist/cjs/components/accordion/use-accordion.cjs.map +1 -1
  6. package/dist/cjs/components/action-bar/action-bar.cjs +1 -0
  7. package/dist/cjs/components/action-bar/action-bar.cjs.map +1 -1
  8. package/dist/cjs/components/action-bar/use-action-bar.cjs +1 -0
  9. package/dist/cjs/components/action-bar/use-action-bar.cjs.map +1 -1
  10. package/dist/cjs/components/airy/airy.cjs +1 -0
  11. package/dist/cjs/components/airy/airy.cjs.map +1 -1
  12. package/dist/cjs/components/alert/alert.cjs +5 -2
  13. package/dist/cjs/components/alert/alert.cjs.map +1 -1
  14. package/dist/cjs/components/alpha-slider/alpha-slider.cjs +1 -0
  15. package/dist/cjs/components/alpha-slider/alpha-slider.cjs.map +1 -1
  16. package/dist/cjs/components/aspect-ratio/aspect-ratio.cjs +1 -0
  17. package/dist/cjs/components/aspect-ratio/aspect-ratio.cjs.map +1 -1
  18. package/dist/cjs/components/autocomplete/autocomplete.cjs +14 -10
  19. package/dist/cjs/components/autocomplete/autocomplete.cjs.map +1 -1
  20. package/dist/cjs/components/autocomplete/use-autocomplete.cjs +1 -0
  21. package/dist/cjs/components/autocomplete/use-autocomplete.cjs.map +1 -1
  22. package/dist/cjs/components/avatar/avatar-group.cjs +13 -11
  23. package/dist/cjs/components/avatar/avatar-group.cjs.map +1 -1
  24. package/dist/cjs/components/avatar/use-avatar-group.cjs +1 -0
  25. package/dist/cjs/components/avatar/use-avatar-group.cjs.map +1 -1
  26. package/dist/cjs/components/avatar/use-avatar.cjs +1 -0
  27. package/dist/cjs/components/avatar/use-avatar.cjs.map +1 -1
  28. package/dist/cjs/components/blockquote/blockquote.cjs +1 -0
  29. package/dist/cjs/components/blockquote/blockquote.cjs.map +1 -1
  30. package/dist/cjs/components/breadcrumb/breadcrumb.cjs +1 -0
  31. package/dist/cjs/components/breadcrumb/breadcrumb.cjs.map +1 -1
  32. package/dist/cjs/components/breadcrumb/use-breadcrumb.cjs +1 -0
  33. package/dist/cjs/components/breadcrumb/use-breadcrumb.cjs.map +1 -1
  34. package/dist/cjs/components/button/button-group.cjs +1 -0
  35. package/dist/cjs/components/button/button-group.cjs.map +1 -1
  36. package/dist/cjs/components/button/button.cjs +9 -5
  37. package/dist/cjs/components/button/button.cjs.map +1 -1
  38. package/dist/cjs/components/calendar/calendar.cjs +1 -0
  39. package/dist/cjs/components/calendar/calendar.cjs.map +1 -1
  40. package/dist/cjs/components/calendar/use-calendar.cjs.map +1 -1
  41. package/dist/cjs/components/carousel/carousel.cjs +27 -25
  42. package/dist/cjs/components/carousel/carousel.cjs.map +1 -1
  43. package/dist/cjs/components/carousel/use-carousel.cjs.map +1 -1
  44. package/dist/cjs/components/chart/area-chart.cjs +6 -4
  45. package/dist/cjs/components/chart/area-chart.cjs.map +1 -1
  46. package/dist/cjs/components/chart/bar-chart.cjs +6 -4
  47. package/dist/cjs/components/chart/bar-chart.cjs.map +1 -1
  48. package/dist/cjs/components/chart/cartesian-chart.cjs +146 -139
  49. package/dist/cjs/components/chart/cartesian-chart.cjs.map +1 -1
  50. package/dist/cjs/components/chart/chart.cjs +3 -1
  51. package/dist/cjs/components/chart/chart.cjs.map +1 -1
  52. package/dist/cjs/components/chart/composed-chart.cjs +16 -14
  53. package/dist/cjs/components/chart/composed-chart.cjs.map +1 -1
  54. package/dist/cjs/components/chart/donut-chart.cjs +8 -5
  55. package/dist/cjs/components/chart/donut-chart.cjs.map +1 -1
  56. package/dist/cjs/components/chart/line-chart.cjs +6 -4
  57. package/dist/cjs/components/chart/line-chart.cjs.map +1 -1
  58. package/dist/cjs/components/chart/pie-chart.cjs +8 -5
  59. package/dist/cjs/components/chart/pie-chart.cjs.map +1 -1
  60. package/dist/cjs/components/chart/polar-chart.cjs +119 -111
  61. package/dist/cjs/components/chart/polar-chart.cjs.map +1 -1
  62. package/dist/cjs/components/chart/radar-chart.cjs +6 -4
  63. package/dist/cjs/components/chart/radar-chart.cjs.map +1 -1
  64. package/dist/cjs/components/chart/radial-chart.cjs +1 -0
  65. package/dist/cjs/components/chart/radial-chart.cjs.map +1 -1
  66. package/dist/cjs/components/chart/use-cartesian-chart.cjs +1 -0
  67. package/dist/cjs/components/chart/use-cartesian-chart.cjs.map +1 -1
  68. package/dist/cjs/components/chart/use-chart.cjs +1 -0
  69. package/dist/cjs/components/chart/use-chart.cjs.map +1 -1
  70. package/dist/cjs/components/chart/use-polar-chart.cjs +1 -0
  71. package/dist/cjs/components/chart/use-polar-chart.cjs.map +1 -1
  72. package/dist/cjs/components/checkbox/checkbox-group.cjs +39 -36
  73. package/dist/cjs/components/checkbox/checkbox-group.cjs.map +1 -1
  74. package/dist/cjs/components/checkbox/checkbox.cjs +1 -0
  75. package/dist/cjs/components/checkbox/checkbox.cjs.map +1 -1
  76. package/dist/cjs/components/checkbox/use-checkbox-group.cjs +1 -0
  77. package/dist/cjs/components/checkbox/use-checkbox-group.cjs.map +1 -1
  78. package/dist/cjs/components/checkbox/use-checkbox.cjs +3 -1
  79. package/dist/cjs/components/checkbox/use-checkbox.cjs.map +1 -1
  80. package/dist/cjs/components/checkbox-card/checkbox-card-group.cjs +43 -40
  81. package/dist/cjs/components/checkbox-card/checkbox-card-group.cjs.map +1 -1
  82. package/dist/cjs/components/checkbox-card/checkbox-card.cjs +1 -0
  83. package/dist/cjs/components/checkbox-card/checkbox-card.cjs.map +1 -1
  84. package/dist/cjs/components/circle-progress/circle-progress.cjs.map +1 -1
  85. package/dist/cjs/components/client-only/client-only.cjs +2 -1
  86. package/dist/cjs/components/client-only/client-only.cjs.map +1 -1
  87. package/dist/cjs/components/collapse/collapse.cjs +1 -0
  88. package/dist/cjs/components/collapse/collapse.cjs.map +1 -1
  89. package/dist/cjs/components/color-picker/color-picker.cjs +3 -1
  90. package/dist/cjs/components/color-picker/color-picker.cjs.map +1 -1
  91. package/dist/cjs/components/color-picker/use-color-picker.cjs +1 -0
  92. package/dist/cjs/components/color-picker/use-color-picker.cjs.map +1 -1
  93. package/dist/cjs/components/color-selector/color-selector.cjs +3 -1
  94. package/dist/cjs/components/color-selector/color-selector.cjs.map +1 -1
  95. package/dist/cjs/components/color-selector/use-color-selector.cjs +1 -0
  96. package/dist/cjs/components/color-selector/use-color-selector.cjs.map +1 -1
  97. package/dist/cjs/components/color-swatch/color-swatch.cjs.map +1 -1
  98. package/dist/cjs/components/data-list/data-list.cjs +9 -5
  99. package/dist/cjs/components/data-list/data-list.cjs.map +1 -1
  100. package/dist/cjs/components/date-picker/date-picker.cjs +3 -1
  101. package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
  102. package/dist/cjs/components/date-picker/use-date-picker.cjs.map +1 -1
  103. package/dist/cjs/components/drawer/drawer.cjs +1 -0
  104. package/dist/cjs/components/drawer/drawer.cjs.map +1 -1
  105. package/dist/cjs/components/drawer/use-drawer.cjs +2 -3
  106. package/dist/cjs/components/drawer/use-drawer.cjs.map +1 -1
  107. package/dist/cjs/components/dropzone/dropzone.cjs +3 -1
  108. package/dist/cjs/components/dropzone/dropzone.cjs.map +1 -1
  109. package/dist/cjs/components/dropzone/use-dropzone.cjs +1 -0
  110. package/dist/cjs/components/dropzone/use-dropzone.cjs.map +1 -1
  111. package/dist/cjs/components/editable/editable.cjs.map +1 -1
  112. package/dist/cjs/components/editable/use-editable.cjs +1 -0
  113. package/dist/cjs/components/editable/use-editable.cjs.map +1 -1
  114. package/dist/cjs/components/fade/fade.cjs +1 -0
  115. package/dist/cjs/components/fade/fade.cjs.map +1 -1
  116. package/dist/cjs/components/fade-scale/fade-scale.cjs +1 -0
  117. package/dist/cjs/components/fade-scale/fade-scale.cjs.map +1 -1
  118. package/dist/cjs/components/field/field.cjs +1 -0
  119. package/dist/cjs/components/field/field.cjs.map +1 -1
  120. package/dist/cjs/components/field/use-field-props.cjs +1 -0
  121. package/dist/cjs/components/field/use-field-props.cjs.map +1 -1
  122. package/dist/cjs/components/fieldset/fieldset.cjs +1 -0
  123. package/dist/cjs/components/fieldset/fieldset.cjs.map +1 -1
  124. package/dist/cjs/components/file-button/use-file-button.cjs +1 -0
  125. package/dist/cjs/components/file-button/use-file-button.cjs.map +1 -1
  126. package/dist/cjs/components/file-input/file-input.cjs +3 -1
  127. package/dist/cjs/components/file-input/file-input.cjs.map +1 -1
  128. package/dist/cjs/components/file-input/use-file-input.cjs +1 -0
  129. package/dist/cjs/components/file-input/use-file-input.cjs.map +1 -1
  130. package/dist/cjs/components/flip/flip.cjs +1 -0
  131. package/dist/cjs/components/flip/flip.cjs.map +1 -1
  132. package/dist/cjs/components/float/float.cjs.map +1 -1
  133. package/dist/cjs/components/focus-lock/focus-lock.cjs.map +1 -1
  134. package/dist/cjs/components/for/for.cjs.map +1 -1
  135. package/dist/cjs/components/form/form.cjs +1 -0
  136. package/dist/cjs/components/form/form.cjs.map +1 -1
  137. package/dist/cjs/components/format/use-format-byte.cjs +1 -0
  138. package/dist/cjs/components/format/use-format-byte.cjs.map +1 -1
  139. package/dist/cjs/components/format/use-format-date-time.cjs +1 -0
  140. package/dist/cjs/components/format/use-format-date-time.cjs.map +1 -1
  141. package/dist/cjs/components/format/use-format-number.cjs +1 -0
  142. package/dist/cjs/components/format/use-format-number.cjs.map +1 -1
  143. package/dist/cjs/components/grid/grid-item.cjs.map +1 -1
  144. package/dist/cjs/components/group/group.cjs.map +1 -1
  145. package/dist/cjs/components/group/use-group.cjs +1 -0
  146. package/dist/cjs/components/group/use-group.cjs.map +1 -1
  147. package/dist/cjs/components/highlight/highlight.cjs +1 -0
  148. package/dist/cjs/components/highlight/highlight.cjs.map +1 -1
  149. package/dist/cjs/components/highlight/use-highlight.cjs +1 -0
  150. package/dist/cjs/components/highlight/use-highlight.cjs.map +1 -1
  151. package/dist/cjs/components/hue-slider/hue-slider.cjs +1 -0
  152. package/dist/cjs/components/hue-slider/hue-slider.cjs.map +1 -1
  153. package/dist/cjs/components/icon/icons/index.cjs +30 -6
  154. package/dist/cjs/components/icon/icons/index.cjs.map +1 -1
  155. package/dist/cjs/components/icon/icons/layout-freeform-icon.cjs +14 -0
  156. package/dist/cjs/components/icon/icons/layout-freeform-icon.cjs.map +1 -0
  157. package/dist/cjs/components/icon/icons/mic-audio-lines-icon.cjs +14 -0
  158. package/dist/cjs/components/icon/icons/mic-audio-lines-icon.cjs.map +1 -0
  159. package/dist/cjs/components/icon/icons/mic-signal-icon.cjs +14 -0
  160. package/dist/cjs/components/icon/icons/mic-signal-icon.cjs.map +1 -0
  161. package/dist/cjs/components/icon/icons/mosque-icon.cjs +14 -0
  162. package/dist/cjs/components/icon/icons/mosque-icon.cjs.map +1 -0
  163. package/dist/cjs/components/icon/icons/rotate-ccw-clock-icon.cjs +14 -0
  164. package/dist/cjs/components/icon/icons/rotate-ccw-clock-icon.cjs.map +1 -0
  165. package/dist/cjs/components/icon/icons/rotate-cw-fading-clock-icon.cjs +14 -0
  166. package/dist/cjs/components/icon/icons/rotate-cw-fading-clock-icon.cjs.map +1 -0
  167. package/dist/cjs/components/icon/icons/scan-square-icon.cjs +14 -0
  168. package/dist/cjs/components/icon/icons/scan-square-icon.cjs.map +1 -0
  169. package/dist/cjs/components/icon/icons/shield-keyhole-icon.cjs +14 -0
  170. package/dist/cjs/components/icon/icons/shield-keyhole-icon.cjs.map +1 -0
  171. package/dist/cjs/components/icon/icons/square-off-icon.cjs +14 -0
  172. package/dist/cjs/components/icon/icons/square-off-icon.cjs.map +1 -0
  173. package/dist/cjs/components/icon/icons/user-shield-icon.cjs +14 -0
  174. package/dist/cjs/components/icon/icons/user-shield-icon.cjs.map +1 -0
  175. package/dist/cjs/components/icon/index.cjs +20 -4
  176. package/dist/cjs/components/indicator/indicator.cjs +1 -0
  177. package/dist/cjs/components/indicator/indicator.cjs.map +1 -1
  178. package/dist/cjs/components/infinite-scroll-area/infinite-scroll-area.cjs +3 -1
  179. package/dist/cjs/components/infinite-scroll-area/infinite-scroll-area.cjs.map +1 -1
  180. package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs +1 -0
  181. package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs.map +1 -1
  182. package/dist/cjs/components/input/input-group.cjs +14 -12
  183. package/dist/cjs/components/input/input-group.cjs.map +1 -1
  184. package/dist/cjs/components/input/input.style.cjs.map +1 -1
  185. package/dist/cjs/components/input/use-input-border.cjs +1 -0
  186. package/dist/cjs/components/input/use-input-border.cjs.map +1 -1
  187. package/dist/cjs/components/link-box/link-box.cjs.map +1 -1
  188. package/dist/cjs/components/list/list.cjs +1 -0
  189. package/dist/cjs/components/list/list.cjs.map +1 -1
  190. package/dist/cjs/components/loading/audio.cjs.map +1 -1
  191. package/dist/cjs/components/loading/background.cjs +1 -0
  192. package/dist/cjs/components/loading/background.cjs.map +1 -1
  193. package/dist/cjs/components/loading/circles.cjs.map +1 -1
  194. package/dist/cjs/components/loading/dots.cjs.map +1 -1
  195. package/dist/cjs/components/loading/grid.cjs.map +1 -1
  196. package/dist/cjs/components/loading/loading-provider.cjs +1 -0
  197. package/dist/cjs/components/loading/loading-provider.cjs.map +1 -1
  198. package/dist/cjs/components/loading/oval.cjs.map +1 -1
  199. package/dist/cjs/components/loading/page.cjs +1 -0
  200. package/dist/cjs/components/loading/page.cjs.map +1 -1
  201. package/dist/cjs/components/loading/puff.cjs.map +1 -1
  202. package/dist/cjs/components/loading/rings.cjs.map +1 -1
  203. package/dist/cjs/components/loading/screen.cjs +1 -0
  204. package/dist/cjs/components/loading/screen.cjs.map +1 -1
  205. package/dist/cjs/components/loading/suspense.cjs +1 -0
  206. package/dist/cjs/components/loading/suspense.cjs.map +1 -1
  207. package/dist/cjs/components/loading/use-loading-component.cjs +1 -0
  208. package/dist/cjs/components/loading/use-loading-component.cjs.map +1 -1
  209. package/dist/cjs/components/menu/menu.cjs +13 -10
  210. package/dist/cjs/components/menu/menu.cjs.map +1 -1
  211. package/dist/cjs/components/menu/use-menu.cjs +1 -0
  212. package/dist/cjs/components/menu/use-menu.cjs.map +1 -1
  213. package/dist/cjs/components/modal/modal.cjs +1 -0
  214. package/dist/cjs/components/modal/modal.cjs.map +1 -1
  215. package/dist/cjs/components/modal/use-modal.cjs +1 -0
  216. package/dist/cjs/components/modal/use-modal.cjs.map +1 -1
  217. package/dist/cjs/components/motion/motion.cjs +1 -0
  218. package/dist/cjs/components/motion/motion.cjs.map +1 -1
  219. package/dist/cjs/components/motion/transition.cjs.map +1 -1
  220. package/dist/cjs/components/native-accordion/native-accordion.cjs +1 -0
  221. package/dist/cjs/components/native-accordion/native-accordion.cjs.map +1 -1
  222. package/dist/cjs/components/native-accordion/use-native-accordion.cjs +1 -0
  223. package/dist/cjs/components/native-accordion/use-native-accordion.cjs.map +1 -1
  224. package/dist/cjs/components/native-popover/native-popover.cjs +1 -0
  225. package/dist/cjs/components/native-popover/native-popover.cjs.map +1 -1
  226. package/dist/cjs/components/native-popover/use-native-popover.cjs +1 -0
  227. package/dist/cjs/components/native-popover/use-native-popover.cjs.map +1 -1
  228. package/dist/cjs/components/native-select/native-select.cjs +2 -1
  229. package/dist/cjs/components/native-select/native-select.cjs.map +1 -1
  230. package/dist/cjs/components/native-select/use-native-select.cjs +1 -0
  231. package/dist/cjs/components/native-select/use-native-select.cjs.map +1 -1
  232. package/dist/cjs/components/notice/notice-provider.cjs +1 -0
  233. package/dist/cjs/components/notice/notice-provider.cjs.map +1 -1
  234. package/dist/cjs/components/notice/notice.cjs +1 -0
  235. package/dist/cjs/components/notice/notice.cjs.map +1 -1
  236. package/dist/cjs/components/notice/use-notice.cjs +1 -0
  237. package/dist/cjs/components/notice/use-notice.cjs.map +1 -1
  238. package/dist/cjs/components/number-input/number-input.cjs +2 -1
  239. package/dist/cjs/components/number-input/number-input.cjs.map +1 -1
  240. package/dist/cjs/components/number-input/use-number-counter.cjs +1 -0
  241. package/dist/cjs/components/number-input/use-number-counter.cjs.map +1 -1
  242. package/dist/cjs/components/number-input/use-number-input.cjs +1 -0
  243. package/dist/cjs/components/number-input/use-number-input.cjs.map +1 -1
  244. package/dist/cjs/components/number-input/use-spinner.cjs +1 -0
  245. package/dist/cjs/components/number-input/use-spinner.cjs.map +1 -1
  246. package/dist/cjs/components/pagination/pagination.cjs +1 -0
  247. package/dist/cjs/components/pagination/pagination.cjs.map +1 -1
  248. package/dist/cjs/components/pagination/use-pagination.cjs +1 -0
  249. package/dist/cjs/components/pagination/use-pagination.cjs.map +1 -1
  250. package/dist/cjs/components/password-input/password-input.cjs +2 -1
  251. package/dist/cjs/components/password-input/password-input.cjs.map +1 -1
  252. package/dist/cjs/components/password-input/use-password-input.cjs +1 -0
  253. package/dist/cjs/components/password-input/use-password-input.cjs.map +1 -1
  254. package/dist/cjs/components/password-input/use-strength-meter.cjs +1 -0
  255. package/dist/cjs/components/password-input/use-strength-meter.cjs.map +1 -1
  256. package/dist/cjs/components/picture/picture.cjs +1 -0
  257. package/dist/cjs/components/picture/picture.cjs.map +1 -1
  258. package/dist/cjs/components/pin-input/pin-input.cjs +1 -0
  259. package/dist/cjs/components/pin-input/pin-input.cjs.map +1 -1
  260. package/dist/cjs/components/pin-input/use-pin-input.cjs +1 -0
  261. package/dist/cjs/components/pin-input/use-pin-input.cjs.map +1 -1
  262. package/dist/cjs/components/popover/popover.cjs +1 -0
  263. package/dist/cjs/components/popover/popover.cjs.map +1 -1
  264. package/dist/cjs/components/popover/use-popover.cjs +1 -0
  265. package/dist/cjs/components/popover/use-popover.cjs.map +1 -1
  266. package/dist/cjs/components/portal/portal.cjs +1 -0
  267. package/dist/cjs/components/portal/portal.cjs.map +1 -1
  268. package/dist/cjs/components/progress/progress.cjs.map +1 -1
  269. package/dist/cjs/components/progress/use-progress.cjs +1 -0
  270. package/dist/cjs/components/progress/use-progress.cjs.map +1 -1
  271. package/dist/cjs/components/qr-code/qr-code.cjs +1 -0
  272. package/dist/cjs/components/qr-code/qr-code.cjs.map +1 -1
  273. package/dist/cjs/components/qr-code/use-qr-code.cjs +1 -0
  274. package/dist/cjs/components/qr-code/use-qr-code.cjs.map +1 -1
  275. package/dist/cjs/components/radio/radio-group.cjs +37 -34
  276. package/dist/cjs/components/radio/radio-group.cjs.map +1 -1
  277. package/dist/cjs/components/radio/radio.cjs +1 -0
  278. package/dist/cjs/components/radio/radio.cjs.map +1 -1
  279. package/dist/cjs/components/radio/use-radio-group.cjs +1 -0
  280. package/dist/cjs/components/radio/use-radio-group.cjs.map +1 -1
  281. package/dist/cjs/components/radio/use-radio.cjs +3 -1
  282. package/dist/cjs/components/radio/use-radio.cjs.map +1 -1
  283. package/dist/cjs/components/radio-card/radio-card-group.cjs +41 -38
  284. package/dist/cjs/components/radio-card/radio-card-group.cjs.map +1 -1
  285. package/dist/cjs/components/radio-card/radio-card.cjs +1 -0
  286. package/dist/cjs/components/radio-card/radio-card.cjs.map +1 -1
  287. package/dist/cjs/components/rating/rating.cjs +1 -0
  288. package/dist/cjs/components/rating/rating.cjs.map +1 -1
  289. package/dist/cjs/components/rating/use-rating.cjs +1 -0
  290. package/dist/cjs/components/rating/use-rating.cjs.map +1 -1
  291. package/dist/cjs/components/reorder/use-reorder.cjs +1 -0
  292. package/dist/cjs/components/reorder/use-reorder.cjs.map +1 -1
  293. package/dist/cjs/components/resizable/resizable.cjs +13 -10
  294. package/dist/cjs/components/resizable/resizable.cjs.map +1 -1
  295. package/dist/cjs/components/resizable/use-resizable.cjs +1 -0
  296. package/dist/cjs/components/resizable/use-resizable.cjs.map +1 -1
  297. package/dist/cjs/components/ripple/ripple.cjs.map +1 -1
  298. package/dist/cjs/components/ripple/use-ripple.cjs +1 -0
  299. package/dist/cjs/components/ripple/use-ripple.cjs.map +1 -1
  300. package/dist/cjs/components/rotate/rotate.cjs +1 -0
  301. package/dist/cjs/components/rotate/rotate.cjs.map +1 -1
  302. package/dist/cjs/components/saturation-slider/saturation-slider.cjs +1 -0
  303. package/dist/cjs/components/saturation-slider/saturation-slider.cjs.map +1 -1
  304. package/dist/cjs/components/saturation-slider/use-saturation-slider.cjs +1 -0
  305. package/dist/cjs/components/saturation-slider/use-saturation-slider.cjs.map +1 -1
  306. package/dist/cjs/components/scroll-area/use-scroll-area.cjs +1 -0
  307. package/dist/cjs/components/scroll-area/use-scroll-area.cjs.map +1 -1
  308. package/dist/cjs/components/segmented-control/segmented-control.cjs +3 -1
  309. package/dist/cjs/components/segmented-control/segmented-control.cjs.map +1 -1
  310. package/dist/cjs/components/segmented-control/use-segmented-control.cjs +1 -0
  311. package/dist/cjs/components/segmented-control/use-segmented-control.cjs.map +1 -1
  312. package/dist/cjs/components/select/select.cjs +14 -10
  313. package/dist/cjs/components/select/select.cjs.map +1 -1
  314. package/dist/cjs/components/select/use-select.cjs +1 -0
  315. package/dist/cjs/components/select/use-select.cjs.map +1 -1
  316. package/dist/cjs/components/show/show.cjs +1 -0
  317. package/dist/cjs/components/show/show.cjs.map +1 -1
  318. package/dist/cjs/components/sidebar/sidebar.cjs +6 -3
  319. package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -1
  320. package/dist/cjs/components/sidebar/use-sidebar.cjs +1 -0
  321. package/dist/cjs/components/sidebar/use-sidebar.cjs.map +1 -1
  322. package/dist/cjs/components/simple-grid/simple-grid.cjs +1 -0
  323. package/dist/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
  324. package/dist/cjs/components/skeleton/skeleton.cjs.map +1 -1
  325. package/dist/cjs/components/slide/slide.cjs +1 -0
  326. package/dist/cjs/components/slide/slide.cjs.map +1 -1
  327. package/dist/cjs/components/slide-fade/slide-fade.cjs +1 -0
  328. package/dist/cjs/components/slide-fade/slide-fade.cjs.map +1 -1
  329. package/dist/cjs/components/slider/slider.cjs +3 -1
  330. package/dist/cjs/components/slider/slider.cjs.map +1 -1
  331. package/dist/cjs/components/slider/use-slider.cjs +3 -1
  332. package/dist/cjs/components/slider/use-slider.cjs.map +1 -1
  333. package/dist/cjs/components/slot/slot.cjs +1 -0
  334. package/dist/cjs/components/slot/slot.cjs.map +1 -1
  335. package/dist/cjs/components/snacks/snacks.cjs +1 -0
  336. package/dist/cjs/components/snacks/snacks.cjs.map +1 -1
  337. package/dist/cjs/components/snacks/use-snacks.cjs +1 -0
  338. package/dist/cjs/components/snacks/use-snacks.cjs.map +1 -1
  339. package/dist/cjs/components/stack/stack.cjs +1 -0
  340. package/dist/cjs/components/stack/stack.cjs.map +1 -1
  341. package/dist/cjs/components/stack/z-stack.cjs +5 -2
  342. package/dist/cjs/components/stack/z-stack.cjs.map +1 -1
  343. package/dist/cjs/components/steps/steps.cjs +51 -47
  344. package/dist/cjs/components/steps/steps.cjs.map +1 -1
  345. package/dist/cjs/components/steps/use-steps.cjs +1 -0
  346. package/dist/cjs/components/steps/use-steps.cjs.map +1 -1
  347. package/dist/cjs/components/switch/switch.cjs.map +1 -1
  348. package/dist/cjs/components/switch/use-switch.cjs +1 -0
  349. package/dist/cjs/components/switch/use-switch.cjs.map +1 -1
  350. package/dist/cjs/components/table/table.cjs +51 -49
  351. package/dist/cjs/components/table/table.cjs.map +1 -1
  352. package/dist/cjs/components/tabs/tabs.cjs +23 -20
  353. package/dist/cjs/components/tabs/tabs.cjs.map +1 -1
  354. package/dist/cjs/components/tabs/use-tabs.cjs +1 -0
  355. package/dist/cjs/components/tabs/use-tabs.cjs.map +1 -1
  356. package/dist/cjs/components/tag/tag.cjs +1 -0
  357. package/dist/cjs/components/tag/tag.cjs.map +1 -1
  358. package/dist/cjs/components/textarea/use-autosize.cjs +1 -0
  359. package/dist/cjs/components/textarea/use-autosize.cjs.map +1 -1
  360. package/dist/cjs/components/textarea/use-textarea.cjs +1 -0
  361. package/dist/cjs/components/textarea/use-textarea.cjs.map +1 -1
  362. package/dist/cjs/components/timeline/timeline.cjs +1 -0
  363. package/dist/cjs/components/timeline/timeline.cjs.map +1 -1
  364. package/dist/cjs/components/tip/tip.cjs.map +1 -1
  365. package/dist/cjs/components/toggle/toggle-group.cjs +27 -24
  366. package/dist/cjs/components/toggle/toggle-group.cjs.map +1 -1
  367. package/dist/cjs/components/toggle/use-toggle-group.cjs +1 -0
  368. package/dist/cjs/components/toggle/use-toggle-group.cjs.map +1 -1
  369. package/dist/cjs/components/toggle/use-toggle.cjs +1 -0
  370. package/dist/cjs/components/toggle/use-toggle.cjs.map +1 -1
  371. package/dist/cjs/components/tooltip/tooltip.cjs.map +1 -1
  372. package/dist/cjs/components/tooltip/use-tooltip.cjs +1 -0
  373. package/dist/cjs/components/tooltip/use-tooltip.cjs.map +1 -1
  374. package/dist/cjs/components/tree/tree.cjs +1 -0
  375. package/dist/cjs/components/tree/tree.cjs.map +1 -1
  376. package/dist/cjs/components/tree/use-tree.cjs +1 -0
  377. package/dist/cjs/components/tree/use-tree.cjs.map +1 -1
  378. package/dist/cjs/core/components/create-component.cjs +5 -2
  379. package/dist/cjs/core/components/create-component.cjs.map +1 -1
  380. package/dist/cjs/core/components/props.cjs.map +1 -1
  381. package/dist/cjs/core/components/use-component-style.cjs +11 -6
  382. package/dist/cjs/core/components/use-component-style.cjs.map +1 -1
  383. package/dist/cjs/core/components/utils.cjs.map +1 -1
  384. package/dist/cjs/core/css/animation.cjs.map +1 -1
  385. package/dist/cjs/core/css/at-rule.cjs.map +1 -1
  386. package/dist/cjs/core/css/calc.cjs.map +1 -1
  387. package/dist/cjs/core/css/color-mix.cjs.map +1 -1
  388. package/dist/cjs/core/css/color-scheme.cjs.map +1 -1
  389. package/dist/cjs/core/css/config.cjs.map +1 -1
  390. package/dist/cjs/core/css/css.cjs +5 -3
  391. package/dist/cjs/core/css/css.cjs.map +1 -1
  392. package/dist/cjs/core/css/gradient.cjs.map +1 -1
  393. package/dist/cjs/core/css/merge-css.cjs.map +1 -1
  394. package/dist/cjs/core/css/style.cjs.map +1 -1
  395. package/dist/cjs/core/css/use-css.cjs +1 -0
  396. package/dist/cjs/core/css/use-css.cjs.map +1 -1
  397. package/dist/cjs/core/css/use-inject-vars.cjs +1 -0
  398. package/dist/cjs/core/css/use-inject-vars.cjs.map +1 -1
  399. package/dist/cjs/core/css/utils.cjs.map +1 -1
  400. package/dist/cjs/core/system/breakpoint.cjs.map +1 -1
  401. package/dist/cjs/core/system/color-mode-provider.cjs +1 -0
  402. package/dist/cjs/core/system/color-mode-provider.cjs.map +1 -1
  403. package/dist/cjs/core/system/create-system.cjs.map +1 -1
  404. package/dist/cjs/core/system/environment-provider.cjs +1 -0
  405. package/dist/cjs/core/system/environment-provider.cjs.map +1 -1
  406. package/dist/cjs/core/system/layer.cjs.map +1 -1
  407. package/dist/cjs/core/system/storage-script.cjs.map +1 -1
  408. package/dist/cjs/core/system/styled.cjs.map +1 -1
  409. package/dist/cjs/core/system/system-provider.cjs +1 -0
  410. package/dist/cjs/core/system/system-provider.cjs.map +1 -1
  411. package/dist/cjs/core/system/theme-provider.cjs +5 -3
  412. package/dist/cjs/core/system/theme-provider.cjs.map +1 -1
  413. package/dist/cjs/core/system/use-system-color-mode.cjs +1 -0
  414. package/dist/cjs/core/system/use-system-color-mode.cjs.map +1 -1
  415. package/dist/cjs/core/system/var.cjs +2 -1
  416. package/dist/cjs/core/system/var.cjs.map +1 -1
  417. package/dist/cjs/hooks/use-animation/index.cjs +4 -2
  418. package/dist/cjs/hooks/use-animation/index.cjs.map +1 -1
  419. package/dist/cjs/hooks/use-async/index.cjs +1 -0
  420. package/dist/cjs/hooks/use-async/index.cjs.map +1 -1
  421. package/dist/cjs/hooks/use-async-callback/index.cjs +1 -0
  422. package/dist/cjs/hooks/use-async-callback/index.cjs.map +1 -1
  423. package/dist/cjs/hooks/use-boolean/index.cjs +1 -0
  424. package/dist/cjs/hooks/use-boolean/index.cjs.map +1 -1
  425. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-effect.cjs +1 -0
  426. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-effect.cjs.map +1 -1
  427. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-state.cjs +3 -1
  428. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-state.cjs.map +1 -1
  429. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs +1 -0
  430. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs.map +1 -1
  431. package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs +1 -0
  432. package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs.map +1 -1
  433. package/dist/cjs/hooks/use-clickable/index.cjs +1 -0
  434. package/dist/cjs/hooks/use-clickable/index.cjs.map +1 -1
  435. package/dist/cjs/hooks/use-clipboard/index.cjs.map +1 -1
  436. package/dist/cjs/hooks/use-combobox/index.cjs.map +1 -1
  437. package/dist/cjs/hooks/use-controllable-state/index.cjs +1 -0
  438. package/dist/cjs/hooks/use-controllable-state/index.cjs.map +1 -1
  439. package/dist/cjs/hooks/use-counter/index.cjs +1 -0
  440. package/dist/cjs/hooks/use-counter/index.cjs.map +1 -1
  441. package/dist/cjs/hooks/use-descendants/index.cjs +1 -0
  442. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  443. package/dist/cjs/hooks/use-disclosure/use-disclosure.cjs +1 -0
  444. package/dist/cjs/hooks/use-disclosure/use-disclosure.cjs.map +1 -1
  445. package/dist/cjs/hooks/use-disclosure/use-promise-disclosure.cjs +1 -0
  446. package/dist/cjs/hooks/use-disclosure/use-promise-disclosure.cjs.map +1 -1
  447. package/dist/cjs/hooks/use-event-listener/index.cjs +1 -0
  448. package/dist/cjs/hooks/use-event-listener/index.cjs.map +1 -1
  449. package/dist/cjs/hooks/use-eye-dropper/index.cjs +1 -0
  450. package/dist/cjs/hooks/use-eye-dropper/index.cjs.map +1 -1
  451. package/dist/cjs/hooks/use-field-sizing/index.cjs +1 -0
  452. package/dist/cjs/hooks/use-field-sizing/index.cjs.map +1 -1
  453. package/dist/cjs/hooks/use-focus/index.cjs +3 -1
  454. package/dist/cjs/hooks/use-focus/index.cjs.map +1 -1
  455. package/dist/cjs/hooks/use-hover/index.cjs +1 -0
  456. package/dist/cjs/hooks/use-hover/index.cjs.map +1 -1
  457. package/dist/cjs/hooks/use-idle/index.cjs +1 -0
  458. package/dist/cjs/hooks/use-idle/index.cjs.map +1 -1
  459. package/dist/cjs/hooks/use-interval/index.cjs +1 -0
  460. package/dist/cjs/hooks/use-interval/index.cjs.map +1 -1
  461. package/dist/cjs/hooks/use-lazy-mount/index.cjs +1 -0
  462. package/dist/cjs/hooks/use-lazy-mount/index.cjs.map +1 -1
  463. package/dist/cjs/hooks/use-local-storage/index.cjs +1 -0
  464. package/dist/cjs/hooks/use-local-storage/index.cjs.map +1 -1
  465. package/dist/cjs/hooks/use-media-query/index.cjs +1 -0
  466. package/dist/cjs/hooks/use-media-query/index.cjs.map +1 -1
  467. package/dist/cjs/hooks/use-mounted/index.cjs +1 -0
  468. package/dist/cjs/hooks/use-mounted/index.cjs.map +1 -1
  469. package/dist/cjs/hooks/use-online/index.cjs +1 -0
  470. package/dist/cjs/hooks/use-online/index.cjs.map +1 -1
  471. package/dist/cjs/hooks/use-os/index.cjs.map +1 -1
  472. package/dist/cjs/hooks/use-outside-click/index.cjs +1 -0
  473. package/dist/cjs/hooks/use-outside-click/index.cjs.map +1 -1
  474. package/dist/cjs/hooks/use-pan-event/index.cjs +1 -0
  475. package/dist/cjs/hooks/use-pan-event/index.cjs.map +1 -1
  476. package/dist/cjs/hooks/use-popper/index.cjs +1 -0
  477. package/dist/cjs/hooks/use-popper/index.cjs.map +1 -1
  478. package/dist/cjs/hooks/use-previous/index.cjs +1 -0
  479. package/dist/cjs/hooks/use-previous/index.cjs.map +1 -1
  480. package/dist/cjs/hooks/use-processing/index.cjs +1 -0
  481. package/dist/cjs/hooks/use-processing/index.cjs.map +1 -1
  482. package/dist/cjs/hooks/use-resize-observer/index.cjs +1 -0
  483. package/dist/cjs/hooks/use-resize-observer/index.cjs.map +1 -1
  484. package/dist/cjs/hooks/use-timeout/index.cjs +1 -0
  485. package/dist/cjs/hooks/use-timeout/index.cjs.map +1 -1
  486. package/dist/cjs/hooks/use-value/index.cjs +1 -0
  487. package/dist/cjs/hooks/use-value/index.cjs.map +1 -1
  488. package/dist/cjs/hooks/use-window-event/index.cjs +1 -0
  489. package/dist/cjs/hooks/use-window-event/index.cjs.map +1 -1
  490. package/dist/cjs/index.cjs +30 -6
  491. package/dist/cjs/providers/i18n-provider/i18n-provider.cjs.map +1 -1
  492. package/dist/cjs/providers/ui-provider/ui-provider.cjs.map +1 -1
  493. package/dist/cjs/utils/children.cjs.map +1 -1
  494. package/dist/cjs/utils/context.cjs.map +1 -1
  495. package/dist/cjs/utils/dom.cjs.map +1 -1
  496. package/dist/cjs/utils/ref.cjs.map +1 -1
  497. package/dist/cjs/utils/ssr.cjs +1 -0
  498. package/dist/cjs/utils/ssr.cjs.map +1 -1
  499. package/dist/cjs/utils/store.cjs +1 -0
  500. package/dist/cjs/utils/store.cjs.map +1 -1
  501. package/dist/esm/components/accordion/accordion.js +3 -2
  502. package/dist/esm/components/accordion/accordion.js.map +1 -1
  503. package/dist/esm/components/accordion/use-accordion.js.map +1 -1
  504. package/dist/esm/components/action-bar/action-bar.js.map +1 -1
  505. package/dist/esm/components/action-bar/use-action-bar.js.map +1 -1
  506. package/dist/esm/components/airy/airy.js.map +1 -1
  507. package/dist/esm/components/alert/alert.js +4 -2
  508. package/dist/esm/components/alert/alert.js.map +1 -1
  509. package/dist/esm/components/alpha-slider/alpha-slider.js.map +1 -1
  510. package/dist/esm/components/aspect-ratio/aspect-ratio.js.map +1 -1
  511. package/dist/esm/components/autocomplete/autocomplete.js +13 -10
  512. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  513. package/dist/esm/components/autocomplete/use-autocomplete.js.map +1 -1
  514. package/dist/esm/components/avatar/avatar-group.js +12 -11
  515. package/dist/esm/components/avatar/avatar-group.js.map +1 -1
  516. package/dist/esm/components/avatar/use-avatar-group.js.map +1 -1
  517. package/dist/esm/components/avatar/use-avatar.js.map +1 -1
  518. package/dist/esm/components/breadcrumb/use-breadcrumb.js.map +1 -1
  519. package/dist/esm/components/button/button.js +8 -5
  520. package/dist/esm/components/button/button.js.map +1 -1
  521. package/dist/esm/components/calendar/calendar.js.map +1 -1
  522. package/dist/esm/components/calendar/use-calendar.js.map +1 -1
  523. package/dist/esm/components/carousel/carousel.js +26 -25
  524. package/dist/esm/components/carousel/carousel.js.map +1 -1
  525. package/dist/esm/components/carousel/use-carousel.js.map +1 -1
  526. package/dist/esm/components/chart/area-chart.js +5 -4
  527. package/dist/esm/components/chart/area-chart.js.map +1 -1
  528. package/dist/esm/components/chart/bar-chart.js +5 -4
  529. package/dist/esm/components/chart/bar-chart.js.map +1 -1
  530. package/dist/esm/components/chart/cartesian-chart.js +145 -139
  531. package/dist/esm/components/chart/cartesian-chart.js.map +1 -1
  532. package/dist/esm/components/chart/chart.js +2 -1
  533. package/dist/esm/components/chart/chart.js.map +1 -1
  534. package/dist/esm/components/chart/composed-chart.js +15 -14
  535. package/dist/esm/components/chart/composed-chart.js.map +1 -1
  536. package/dist/esm/components/chart/donut-chart.js +7 -5
  537. package/dist/esm/components/chart/donut-chart.js.map +1 -1
  538. package/dist/esm/components/chart/line-chart.js +5 -4
  539. package/dist/esm/components/chart/line-chart.js.map +1 -1
  540. package/dist/esm/components/chart/pie-chart.js +7 -5
  541. package/dist/esm/components/chart/pie-chart.js.map +1 -1
  542. package/dist/esm/components/chart/polar-chart.js +118 -111
  543. package/dist/esm/components/chart/polar-chart.js.map +1 -1
  544. package/dist/esm/components/chart/radar-chart.js +5 -4
  545. package/dist/esm/components/chart/radar-chart.js.map +1 -1
  546. package/dist/esm/components/chart/use-cartesian-chart.js.map +1 -1
  547. package/dist/esm/components/chart/use-chart.js.map +1 -1
  548. package/dist/esm/components/chart/use-polar-chart.js.map +1 -1
  549. package/dist/esm/components/checkbox/checkbox-group.js +38 -36
  550. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  551. package/dist/esm/components/checkbox/use-checkbox-group.js.map +1 -1
  552. package/dist/esm/components/checkbox/use-checkbox.js +2 -1
  553. package/dist/esm/components/checkbox/use-checkbox.js.map +1 -1
  554. package/dist/esm/components/checkbox-card/checkbox-card-group.js +42 -40
  555. package/dist/esm/components/checkbox-card/checkbox-card-group.js.map +1 -1
  556. package/dist/esm/components/circle-progress/circle-progress.js.map +1 -1
  557. package/dist/esm/components/client-only/client-only.js +2 -1
  558. package/dist/esm/components/client-only/client-only.js.map +1 -1
  559. package/dist/esm/components/collapse/collapse.js.map +1 -1
  560. package/dist/esm/components/color-picker/color-picker.js +2 -1
  561. package/dist/esm/components/color-picker/color-picker.js.map +1 -1
  562. package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
  563. package/dist/esm/components/color-selector/color-selector.js +2 -1
  564. package/dist/esm/components/color-selector/color-selector.js.map +1 -1
  565. package/dist/esm/components/color-selector/use-color-selector.js.map +1 -1
  566. package/dist/esm/components/color-swatch/color-swatch.js.map +1 -1
  567. package/dist/esm/components/data-list/data-list.js +8 -5
  568. package/dist/esm/components/data-list/data-list.js.map +1 -1
  569. package/dist/esm/components/date-picker/date-picker.js +2 -1
  570. package/dist/esm/components/date-picker/date-picker.js.map +1 -1
  571. package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
  572. package/dist/esm/components/drawer/drawer.js.map +1 -1
  573. package/dist/esm/components/drawer/use-drawer.js +1 -3
  574. package/dist/esm/components/drawer/use-drawer.js.map +1 -1
  575. package/dist/esm/components/dropzone/dropzone.js +2 -1
  576. package/dist/esm/components/dropzone/dropzone.js.map +1 -1
  577. package/dist/esm/components/dropzone/use-dropzone.js.map +1 -1
  578. package/dist/esm/components/editable/editable.js.map +1 -1
  579. package/dist/esm/components/editable/use-editable.js.map +1 -1
  580. package/dist/esm/components/field/field.js.map +1 -1
  581. package/dist/esm/components/field/use-field-props.js.map +1 -1
  582. package/dist/esm/components/fieldset/fieldset.js.map +1 -1
  583. package/dist/esm/components/file-input/file-input.js +2 -1
  584. package/dist/esm/components/file-input/file-input.js.map +1 -1
  585. package/dist/esm/components/file-input/use-file-input.js.map +1 -1
  586. package/dist/esm/components/flip/flip.js.map +1 -1
  587. package/dist/esm/components/float/float.js.map +1 -1
  588. package/dist/esm/components/focus-lock/focus-lock.js.map +1 -1
  589. package/dist/esm/components/for/for.js.map +1 -1
  590. package/dist/esm/components/form/form.js.map +1 -1
  591. package/dist/esm/components/grid/grid-item.js.map +1 -1
  592. package/dist/esm/components/group/group.js.map +1 -1
  593. package/dist/esm/components/group/use-group.js.map +1 -1
  594. package/dist/esm/components/highlight/use-highlight.js.map +1 -1
  595. package/dist/esm/components/icon/icons/index.js +21 -5
  596. package/dist/esm/components/icon/icons/index.js.map +1 -1
  597. package/dist/esm/components/icon/icons/layout-freeform-icon.js +14 -0
  598. package/dist/esm/components/icon/icons/layout-freeform-icon.js.map +1 -0
  599. package/dist/esm/components/icon/icons/mic-audio-lines-icon.js +14 -0
  600. package/dist/esm/components/icon/icons/mic-audio-lines-icon.js.map +1 -0
  601. package/dist/esm/components/icon/icons/mic-signal-icon.js +14 -0
  602. package/dist/esm/components/icon/icons/mic-signal-icon.js.map +1 -0
  603. package/dist/esm/components/icon/icons/mosque-icon.js +14 -0
  604. package/dist/esm/components/icon/icons/mosque-icon.js.map +1 -0
  605. package/dist/esm/components/icon/icons/rotate-ccw-clock-icon.js +14 -0
  606. package/dist/esm/components/icon/icons/rotate-ccw-clock-icon.js.map +1 -0
  607. package/dist/esm/components/icon/icons/rotate-cw-fading-clock-icon.js +14 -0
  608. package/dist/esm/components/icon/icons/rotate-cw-fading-clock-icon.js.map +1 -0
  609. package/dist/esm/components/icon/icons/scan-square-icon.js +14 -0
  610. package/dist/esm/components/icon/icons/scan-square-icon.js.map +1 -0
  611. package/dist/esm/components/icon/icons/shield-keyhole-icon.js +14 -0
  612. package/dist/esm/components/icon/icons/shield-keyhole-icon.js.map +1 -0
  613. package/dist/esm/components/icon/icons/square-off-icon.js +14 -0
  614. package/dist/esm/components/icon/icons/square-off-icon.js.map +1 -0
  615. package/dist/esm/components/icon/icons/user-shield-icon.js +14 -0
  616. package/dist/esm/components/icon/icons/user-shield-icon.js.map +1 -0
  617. package/dist/esm/components/icon/index.js +11 -3
  618. package/dist/esm/components/indicator/indicator.js.map +1 -1
  619. package/dist/esm/components/infinite-scroll-area/infinite-scroll-area.js +2 -1
  620. package/dist/esm/components/infinite-scroll-area/infinite-scroll-area.js.map +1 -1
  621. package/dist/esm/components/input/input-group.js +13 -12
  622. package/dist/esm/components/input/input-group.js.map +1 -1
  623. package/dist/esm/components/input/input.style.js.map +1 -1
  624. package/dist/esm/components/link-box/link-box.js.map +1 -1
  625. package/dist/esm/components/loading/audio.js.map +1 -1
  626. package/dist/esm/components/loading/circles.js.map +1 -1
  627. package/dist/esm/components/loading/dots.js.map +1 -1
  628. package/dist/esm/components/loading/grid.js.map +1 -1
  629. package/dist/esm/components/loading/loading-provider.js.map +1 -1
  630. package/dist/esm/components/loading/oval.js.map +1 -1
  631. package/dist/esm/components/loading/puff.js.map +1 -1
  632. package/dist/esm/components/loading/rings.js.map +1 -1
  633. package/dist/esm/components/loading/use-loading-component.js.map +1 -1
  634. package/dist/esm/components/menu/menu.js +12 -10
  635. package/dist/esm/components/menu/menu.js.map +1 -1
  636. package/dist/esm/components/menu/use-menu.js.map +1 -1
  637. package/dist/esm/components/modal/modal.js.map +1 -1
  638. package/dist/esm/components/modal/use-modal.js.map +1 -1
  639. package/dist/esm/components/motion/motion.js.map +1 -1
  640. package/dist/esm/components/motion/transition.js.map +1 -1
  641. package/dist/esm/components/native-accordion/use-native-accordion.js.map +1 -1
  642. package/dist/esm/components/native-popover/native-popover.js.map +1 -1
  643. package/dist/esm/components/native-popover/use-native-popover.js.map +1 -1
  644. package/dist/esm/components/native-select/native-select.js +2 -1
  645. package/dist/esm/components/native-select/native-select.js.map +1 -1
  646. package/dist/esm/components/native-select/use-native-select.js.map +1 -1
  647. package/dist/esm/components/notice/notice.js.map +1 -1
  648. package/dist/esm/components/notice/use-notice.js.map +1 -1
  649. package/dist/esm/components/number-input/number-input.js +2 -1
  650. package/dist/esm/components/number-input/number-input.js.map +1 -1
  651. package/dist/esm/components/number-input/use-number-counter.js.map +1 -1
  652. package/dist/esm/components/number-input/use-number-input.js.map +1 -1
  653. package/dist/esm/components/pagination/pagination.js.map +1 -1
  654. package/dist/esm/components/pagination/use-pagination.js.map +1 -1
  655. package/dist/esm/components/password-input/password-input.js +2 -1
  656. package/dist/esm/components/password-input/password-input.js.map +1 -1
  657. package/dist/esm/components/password-input/use-password-input.js.map +1 -1
  658. package/dist/esm/components/password-input/use-strength-meter.js.map +1 -1
  659. package/dist/esm/components/picture/picture.js.map +1 -1
  660. package/dist/esm/components/pin-input/use-pin-input.js.map +1 -1
  661. package/dist/esm/components/popover/popover.js.map +1 -1
  662. package/dist/esm/components/popover/use-popover.js.map +1 -1
  663. package/dist/esm/components/portal/portal.js.map +1 -1
  664. package/dist/esm/components/progress/progress.js.map +1 -1
  665. package/dist/esm/components/progress/use-progress.js.map +1 -1
  666. package/dist/esm/components/radio/radio-group.js +36 -34
  667. package/dist/esm/components/radio/radio-group.js.map +1 -1
  668. package/dist/esm/components/radio/use-radio-group.js.map +1 -1
  669. package/dist/esm/components/radio/use-radio.js +2 -1
  670. package/dist/esm/components/radio/use-radio.js.map +1 -1
  671. package/dist/esm/components/radio-card/radio-card-group.js +40 -38
  672. package/dist/esm/components/radio-card/radio-card-group.js.map +1 -1
  673. package/dist/esm/components/rating/rating.js.map +1 -1
  674. package/dist/esm/components/rating/use-rating.js.map +1 -1
  675. package/dist/esm/components/reorder/use-reorder.js.map +1 -1
  676. package/dist/esm/components/resizable/resizable.js +12 -10
  677. package/dist/esm/components/resizable/resizable.js.map +1 -1
  678. package/dist/esm/components/resizable/use-resizable.js.map +1 -1
  679. package/dist/esm/components/ripple/ripple.js.map +1 -1
  680. package/dist/esm/components/ripple/use-ripple.js.map +1 -1
  681. package/dist/esm/components/rotate/rotate.js.map +1 -1
  682. package/dist/esm/components/saturation-slider/use-saturation-slider.js.map +1 -1
  683. package/dist/esm/components/scroll-area/use-scroll-area.js.map +1 -1
  684. package/dist/esm/components/segmented-control/segmented-control.js +2 -1
  685. package/dist/esm/components/segmented-control/segmented-control.js.map +1 -1
  686. package/dist/esm/components/segmented-control/use-segmented-control.js.map +1 -1
  687. package/dist/esm/components/select/select.js +13 -10
  688. package/dist/esm/components/select/select.js.map +1 -1
  689. package/dist/esm/components/select/use-select.js.map +1 -1
  690. package/dist/esm/components/show/show.js.map +1 -1
  691. package/dist/esm/components/sidebar/sidebar.js +5 -3
  692. package/dist/esm/components/sidebar/sidebar.js.map +1 -1
  693. package/dist/esm/components/sidebar/use-sidebar.js.map +1 -1
  694. package/dist/esm/components/simple-grid/simple-grid.js.map +1 -1
  695. package/dist/esm/components/skeleton/skeleton.js.map +1 -1
  696. package/dist/esm/components/slider/slider.js +2 -1
  697. package/dist/esm/components/slider/slider.js.map +1 -1
  698. package/dist/esm/components/slider/use-slider.js +2 -1
  699. package/dist/esm/components/slider/use-slider.js.map +1 -1
  700. package/dist/esm/components/snacks/snacks.js.map +1 -1
  701. package/dist/esm/components/stack/stack.js.map +1 -1
  702. package/dist/esm/components/stack/z-stack.js +4 -2
  703. package/dist/esm/components/stack/z-stack.js.map +1 -1
  704. package/dist/esm/components/steps/steps.js +50 -47
  705. package/dist/esm/components/steps/steps.js.map +1 -1
  706. package/dist/esm/components/steps/use-steps.js.map +1 -1
  707. package/dist/esm/components/switch/switch.js.map +1 -1
  708. package/dist/esm/components/switch/use-switch.js.map +1 -1
  709. package/dist/esm/components/table/table.js +50 -49
  710. package/dist/esm/components/table/table.js.map +1 -1
  711. package/dist/esm/components/tabs/tabs.js +22 -20
  712. package/dist/esm/components/tabs/tabs.js.map +1 -1
  713. package/dist/esm/components/tabs/use-tabs.js.map +1 -1
  714. package/dist/esm/components/tag/tag.js.map +1 -1
  715. package/dist/esm/components/textarea/use-autosize.js.map +1 -1
  716. package/dist/esm/components/timeline/timeline.js.map +1 -1
  717. package/dist/esm/components/tip/tip.js.map +1 -1
  718. package/dist/esm/components/toggle/toggle-group.js +26 -24
  719. package/dist/esm/components/toggle/toggle-group.js.map +1 -1
  720. package/dist/esm/components/toggle/use-toggle-group.js.map +1 -1
  721. package/dist/esm/components/toggle/use-toggle.js.map +1 -1
  722. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  723. package/dist/esm/components/tooltip/use-tooltip.js.map +1 -1
  724. package/dist/esm/components/tree/tree.js.map +1 -1
  725. package/dist/esm/components/tree/use-tree.js.map +1 -1
  726. package/dist/esm/core/components/create-component.js +4 -2
  727. package/dist/esm/core/components/create-component.js.map +1 -1
  728. package/dist/esm/core/components/props.js.map +1 -1
  729. package/dist/esm/core/components/use-component-style.js +10 -6
  730. package/dist/esm/core/components/use-component-style.js.map +1 -1
  731. package/dist/esm/core/components/utils.js.map +1 -1
  732. package/dist/esm/core/css/animation.js.map +1 -1
  733. package/dist/esm/core/css/at-rule.js.map +1 -1
  734. package/dist/esm/core/css/calc.js.map +1 -1
  735. package/dist/esm/core/css/color-mix.js.map +1 -1
  736. package/dist/esm/core/css/color-scheme.js.map +1 -1
  737. package/dist/esm/core/css/config.js.map +1 -1
  738. package/dist/esm/core/css/css.js +5 -3
  739. package/dist/esm/core/css/css.js.map +1 -1
  740. package/dist/esm/core/css/gradient.js.map +1 -1
  741. package/dist/esm/core/css/merge-css.js.map +1 -1
  742. package/dist/esm/core/css/style.js.map +1 -1
  743. package/dist/esm/core/css/use-css.js.map +1 -1
  744. package/dist/esm/core/css/utils.js.map +1 -1
  745. package/dist/esm/core/system/breakpoint.js.map +1 -1
  746. package/dist/esm/core/system/color-mode-provider.js.map +1 -1
  747. package/dist/esm/core/system/create-system.js.map +1 -1
  748. package/dist/esm/core/system/environment-provider.js.map +1 -1
  749. package/dist/esm/core/system/layer.js.map +1 -1
  750. package/dist/esm/core/system/storage-script.js.map +1 -1
  751. package/dist/esm/core/system/styled.js.map +1 -1
  752. package/dist/esm/core/system/theme-provider.js +4 -3
  753. package/dist/esm/core/system/theme-provider.js.map +1 -1
  754. package/dist/esm/core/system/use-system-color-mode.js.map +1 -1
  755. package/dist/esm/core/system/var.js +2 -1
  756. package/dist/esm/core/system/var.js.map +1 -1
  757. package/dist/esm/hooks/use-animation/index.js +3 -2
  758. package/dist/esm/hooks/use-animation/index.js.map +1 -1
  759. package/dist/esm/hooks/use-breakpoint/use-breakpoint-state.js +2 -1
  760. package/dist/esm/hooks/use-breakpoint/use-breakpoint-state.js.map +1 -1
  761. package/dist/esm/hooks/use-breakpoint/use-breakpoint.js.map +1 -1
  762. package/dist/esm/hooks/use-clickable/index.js.map +1 -1
  763. package/dist/esm/hooks/use-clipboard/index.js.map +1 -1
  764. package/dist/esm/hooks/use-combobox/index.js.map +1 -1
  765. package/dist/esm/hooks/use-controllable-state/index.js.map +1 -1
  766. package/dist/esm/hooks/use-counter/index.js.map +1 -1
  767. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  768. package/dist/esm/hooks/use-event-listener/index.js.map +1 -1
  769. package/dist/esm/hooks/use-focus/index.js +2 -1
  770. package/dist/esm/hooks/use-focus/index.js.map +1 -1
  771. package/dist/esm/hooks/use-local-storage/index.js.map +1 -1
  772. package/dist/esm/hooks/use-os/index.js.map +1 -1
  773. package/dist/esm/hooks/use-outside-click/index.js.map +1 -1
  774. package/dist/esm/hooks/use-pan-event/index.js.map +1 -1
  775. package/dist/esm/hooks/use-resize-observer/index.js.map +1 -1
  776. package/dist/esm/hooks/use-value/index.js.map +1 -1
  777. package/dist/esm/index.js +21 -5
  778. package/dist/esm/providers/i18n-provider/i18n-provider.js.map +1 -1
  779. package/dist/esm/providers/ui-provider/ui-provider.js.map +1 -1
  780. package/dist/types/components/chart/polar-chart.style.d.ts +1 -1
  781. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  782. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  783. package/dist/types/components/drawer/drawer.style.d.ts +2 -2
  784. package/dist/types/components/file-input/file-input.style.d.ts +1 -1
  785. package/dist/types/components/icon/icons/index.d.ts +12 -4
  786. package/dist/types/components/icon/icons/index.types.d.ts +1 -1
  787. package/dist/types/components/icon/icons/layout-freeform-icon.d.ts +13 -0
  788. package/dist/types/components/icon/icons/mic-audio-lines-icon.d.ts +13 -0
  789. package/dist/types/components/icon/icons/mic-signal-icon.d.ts +13 -0
  790. package/dist/types/components/icon/icons/mosque-icon.d.ts +13 -0
  791. package/dist/types/components/icon/icons/rotate-ccw-clock-icon.d.ts +13 -0
  792. package/dist/types/components/icon/icons/rotate-cw-fading-clock-icon.d.ts +13 -0
  793. package/dist/types/components/icon/icons/scan-square-icon.d.ts +13 -0
  794. package/dist/types/components/icon/icons/shield-keyhole-icon.d.ts +13 -0
  795. package/dist/types/components/icon/icons/{history-icon.d.ts → square-off-icon.d.ts} +5 -5
  796. package/dist/types/components/icon/icons/user-shield-icon.d.ts +13 -0
  797. package/dist/types/components/icon/index.d.ts +11 -3
  798. package/dist/types/components/modal/modal.style.d.ts +2 -2
  799. package/dist/types/components/notice/notice.style.d.ts +1 -1
  800. package/dist/types/components/tag/tag.style.d.ts +1 -1
  801. package/dist/types/index.d.ts +12 -4
  802. package/package.json +9 -9
  803. package/dist/cjs/components/icon/icons/history-icon.cjs +0 -14
  804. package/dist/cjs/components/icon/icons/history-icon.cjs.map +0 -1
  805. package/dist/cjs/components/icon/icons/podcast-icon.cjs +0 -14
  806. package/dist/cjs/components/icon/icons/podcast-icon.cjs.map +0 -1
  807. package/dist/esm/components/icon/icons/history-icon.js +0 -14
  808. package/dist/esm/components/icon/icons/history-icon.js.map +0 -1
  809. package/dist/esm/components/icon/icons/podcast-icon.js +0 -14
  810. package/dist/esm/components/icon/icons/podcast-icon.js.map +0 -1
  811. package/dist/types/components/icon/icons/podcast-icon.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","names":[],"sources":["../../../../src/components/loading/audio.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Dict } from \"../../utils\"\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface AudioProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Audio = withContext<\"svg\", AudioProps>(\n ({ dur = \"1.4s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 55 80\" {...rest}>\n <g transform=\"matrix(1 0 0 -1 0 80)\">\n {[\n {\n factor: 3,\n values: [\n 20, 45, 57, 80, 64, 32, 66, 45, 64, 23, 66, 13, 64, 56, 34, 34,\n 2, 23, 76, 79, 20,\n ],\n x: \"0px\",\n },\n {\n factor: 1.4,\n values: [80, 55, 33, 5, 75, 23, 73, 33, 12, 14, 60, 80],\n x: \"15px\",\n },\n {\n factor: 1,\n values: [50, 34, 78, 23, 56, 23, 34, 76, 80, 54, 21, 50],\n x: \"30px\",\n },\n {\n factor: 1.4,\n values: [30, 45, 13, 80, 56, 72, 45, 76, 34, 23, 67, 30],\n x: \"45px\",\n },\n ].map(({ factor, values, ...props }, index) => {\n const length = values.length\n\n const keyframes = values.reduce<Dict>((acc, value, index) => {\n const percent = `${Math.round((index / (length - 1)) * 100)}%`\n\n acc[percent] = { transform: `scaleY(${value / 80})` }\n\n return acc\n }, {})\n\n return (\n <styled.rect\n key={index}\n {...props}\n animationDuration={`${dur * factor}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n h=\"80px\"\n rx=\"3px\"\n w=\"10px\"\n _keyframes={keyframes}\n />\n )\n })}\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAgBA,MAAa,QAAQ,aAClB,EAAE,MAAM,QAAQ,GAAG,WAAW;CAC7B,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAY,GAAI;EAChD,UAAA,oBAAC,KAAD;GAAG,WAAU;GACV,UAAA;IACC;KACE,QAAQ;KACR,QAAQ;MACN;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAC5D;MAAG;MAAI;MAAI;MAAI;KACjB;KACA,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAG;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACtD,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACvD,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACvD,GAAG;IACL;GACF,CAAC,CAAC,KAAK,EAAE,QAAQ,QAAQ,GAAG,SAAS,UAAU;IAC7C,MAAM,SAAS,OAAO;IAEtB,MAAM,YAAY,OAAO,QAAc,KAAK,OAAO,UAAU;KAC3D,MAAM,UAAU,GAAG,KAAK,MAAO,SAAS,SAAS,KAAM,GAAG,EAAE;KAE5D,IAAI,WAAW,EAAE,WAAW,UAAU,QAAQ,GAAG,GAAG;KAEpD,OAAO;IACT,GAAG,CAAC,CAAC;IAEL,OACE,oBAAC,OAAO,MAAR;KAEE,GAAI;KACJ,mBAAmB,GAAG,MAAM,OAAO;KACnC,yBAAwB;KACxB,yBAAwB;KACxB,GAAE;KACF,IAAG;KACH,GAAE;KACF,YAAY;IACb,GATM,KASN;GAEL,CAAC;EACA,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"audio.js","names":["isString"],"sources":["../../../../src/components/loading/audio.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Dict } from \"../../utils\"\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface AudioProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Audio = withContext<\"svg\", AudioProps>(\n ({ dur = \"1.4s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 55 80\" {...rest}>\n <g transform=\"matrix(1 0 0 -1 0 80)\">\n {[\n {\n factor: 3,\n values: [\n 20, 45, 57, 80, 64, 32, 66, 45, 64, 23, 66, 13, 64, 56, 34, 34,\n 2, 23, 76, 79, 20,\n ],\n x: \"0px\",\n },\n {\n factor: 1.4,\n values: [80, 55, 33, 5, 75, 23, 73, 33, 12, 14, 60, 80],\n x: \"15px\",\n },\n {\n factor: 1,\n values: [50, 34, 78, 23, 56, 23, 34, 76, 80, 54, 21, 50],\n x: \"30px\",\n },\n {\n factor: 1.4,\n values: [30, 45, 13, 80, 56, 72, 45, 76, 34, 23, 67, 30],\n x: \"45px\",\n },\n ].map(({ factor, values, ...props }, index) => {\n const length = values.length\n\n const keyframes = values.reduce<Dict>((acc, value, index) => {\n const percent = `${Math.round((index / (length - 1)) * 100)}%`\n\n acc[percent] = { transform: `scaleY(${value / 80})` }\n\n return acc\n }, {})\n\n return (\n <styled.rect\n key={index}\n {...props}\n animationDuration={`${dur * factor}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n h=\"80px\"\n rx=\"3px\"\n w=\"10px\"\n _keyframes={keyframes}\n />\n )\n })}\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAgBA,MAAa,QAAQ,aAClB,EAAE,MAAM,QAAQ,GAAG,WAAW;CAC7B,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAY,GAAI;EAChD,UAAA,oBAAC,KAAD;GAAG,WAAU;GACV,UAAA;IACC;KACE,QAAQ;KACR,QAAQ;MACN;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAC5D;MAAG;MAAI;MAAI;MAAI;KACjB;KACA,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAG;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACtD,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACvD,GAAG;IACL;IACA;KACE,QAAQ;KACR,QAAQ;MAAC;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;MAAI;KAAE;KACvD,GAAG;IACL;GACF,CAAC,CAAC,KAAK,EAAE,QAAQ,QAAQ,GAAG,SAAS,UAAU;IAC7C,MAAM,SAAS,OAAO;IAEtB,MAAM,YAAY,OAAO,QAAc,KAAK,OAAO,UAAU;KAC3D,MAAM,UAAU,GAAG,KAAK,MAAO,SAAS,SAAS,KAAM,GAAG,EAAE;KAE5D,IAAI,WAAW,EAAE,WAAW,UAAU,QAAQ,GAAG,GAAG;KAEpD,OAAO;IACT,GAAG,CAAC,CAAC;IAEL,OACE,oBAAC,OAAO,MAAR;KAEE,GAAI;KACJ,mBAAmB,GAAG,MAAM,OAAO;KACnC,yBAAwB;KACxB,yBAAwB;KACxB,GAAE;KACF,IAAG;KACH,GAAE;KACF,YAAY;IACb,GATM,KASN;GAEL,CAAC;EACA,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"circles.js","names":[],"sources":["../../../../src/components/loading/circles.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface CirclesProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Circles = withContext<\"svg\", CirclesProps>(\n ({ dur = \"3s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 58 58\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g stroke=\"currentColor\" strokeWidth=\"1.5\" transform=\"translate(2 1)\">\n {[\n { cx: \"42.601px\", cy: \"11.462px\" },\n { animationDelay: \"0.375s\", cx: \"49.063px\", cy: \"27.063px\" },\n { animationDelay: \"0.75s\", cx: \"42.601px\", cy: \"42.663px\" },\n { animationDelay: \"1.125s\", cx: \"27px\", cy: \"49.125px\" },\n { animationDelay: \"1.5s\", cx: \"11.399px\", cy: \"42.663px\" },\n { animationDelay: \"1.875s\", cx: \"4.938px\", cy: \"27.063px\" },\n { animationDelay: \"2.25s\", cx: \"11.399px\", cy: \"11.462px\" },\n { animationDelay: \"2.625s\", cx: \"27px\", cy: \"5px\" },\n ].map((props, index) => (\n <styled.circle\n key={index}\n {...props}\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n fill=\"currentColor\"\n fillOpacity={!index ? \"1\" : \"0\"}\n r=\"5px\"\n _keyframes={{\n \"0%, 25%, 100%\": { fillOpacity: 0 },\n \"12.5%\": { fillOpacity: 1 },\n }}\n />\n ))}\n </g>\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,UAAU,aACpB,EAAE,MAAM,MAAM,GAAG,WAAW;CAC3B,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,oBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GACtB,UAAA,oBAAC,KAAD;IAAG,QAAO;IAAe,aAAY;IAAM,WAAU;IAClD,UAAA;KACC;MAAE,IAAI;MAAY,IAAI;KAAW;KACjC;MAAE,gBAAgB;MAAU,IAAI;MAAY,IAAI;KAAW;KAC3D;MAAE,gBAAgB;MAAS,IAAI;MAAY,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAU,IAAI;MAAQ,IAAI;KAAW;KACvD;MAAE,gBAAgB;MAAQ,IAAI;MAAY,IAAI;KAAW;KACzD;MAAE,gBAAgB;MAAU,IAAI;MAAW,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAS,IAAI;MAAY,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAU,IAAI;MAAQ,IAAI;KAAM;IACpD,CAAC,CAAC,KAAK,OAAO,UACZ,oBAAC,OAAO,QAAR;KAEE,GAAI;KACJ,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,MAAK;KACL,aAAa,CAAC,QAAQ,MAAM;KAC5B,GAAE;KACF,YAAY;MACV,iBAAiB,EAAE,aAAa,EAAE;MAClC,SAAS,EAAE,aAAa,EAAE;KAC5B;IACD,GAZM,KAYN,CACF;GACA,CAAA;EACF,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"circles.js","names":["isString"],"sources":["../../../../src/components/loading/circles.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface CirclesProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Circles = withContext<\"svg\", CirclesProps>(\n ({ dur = \"3s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 58 58\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g stroke=\"currentColor\" strokeWidth=\"1.5\" transform=\"translate(2 1)\">\n {[\n { cx: \"42.601px\", cy: \"11.462px\" },\n { animationDelay: \"0.375s\", cx: \"49.063px\", cy: \"27.063px\" },\n { animationDelay: \"0.75s\", cx: \"42.601px\", cy: \"42.663px\" },\n { animationDelay: \"1.125s\", cx: \"27px\", cy: \"49.125px\" },\n { animationDelay: \"1.5s\", cx: \"11.399px\", cy: \"42.663px\" },\n { animationDelay: \"1.875s\", cx: \"4.938px\", cy: \"27.063px\" },\n { animationDelay: \"2.25s\", cx: \"11.399px\", cy: \"11.462px\" },\n { animationDelay: \"2.625s\", cx: \"27px\", cy: \"5px\" },\n ].map((props, index) => (\n <styled.circle\n key={index}\n {...props}\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n fill=\"currentColor\"\n fillOpacity={!index ? \"1\" : \"0\"}\n r=\"5px\"\n _keyframes={{\n \"0%, 25%, 100%\": { fillOpacity: 0 },\n \"12.5%\": { fillOpacity: 1 },\n }}\n />\n ))}\n </g>\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,UAAU,aACpB,EAAE,MAAM,MAAM,GAAG,WAAW;CAC3B,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,oBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GACtB,UAAA,oBAAC,KAAD;IAAG,QAAO;IAAe,aAAY;IAAM,WAAU;IAClD,UAAA;KACC;MAAE,IAAI;MAAY,IAAI;KAAW;KACjC;MAAE,gBAAgB;MAAU,IAAI;MAAY,IAAI;KAAW;KAC3D;MAAE,gBAAgB;MAAS,IAAI;MAAY,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAU,IAAI;MAAQ,IAAI;KAAW;KACvD;MAAE,gBAAgB;MAAQ,IAAI;MAAY,IAAI;KAAW;KACzD;MAAE,gBAAgB;MAAU,IAAI;MAAW,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAS,IAAI;MAAY,IAAI;KAAW;KAC1D;MAAE,gBAAgB;MAAU,IAAI;MAAQ,IAAI;KAAM;IACpD,CAAC,CAAC,KAAK,OAAO,UACZ,oBAAC,OAAO,QAAR;KAEE,GAAI;KACJ,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,MAAK;KACL,aAAa,CAAC,QAAQ,MAAM;KAC5B,GAAE;KACF,YAAY;MACV,iBAAiB,EAAE,aAAa,EAAE;MAClC,SAAS,EAAE,aAAa,EAAE;KAC5B;IACD,GAZM,KAYN,CACF;GACA,CAAA;EACF,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"dots.js","names":[],"sources":["../../../../src/components/loading/dots.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface DotsProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Dots = withContext<\"svg\", DotsProps>(({ dur = \"1s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 120 30\" {...rest}>\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"15px\"\n cy=\"15px\"\n r=\"15px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"0.5\", transform: `scale(calc(9 / 15))` },\n }}\n />\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"60px\"\n cy=\"15px\"\n fillOpacity=\"1\"\n r=\"9px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"0.5\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"1\", transform: `scale(calc(15 / 9))` },\n }}\n />\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"105px\"\n cy=\"15px\"\n r=\"15px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"0.5\", transform: `scale(calc(9 / 15))` },\n }}\n />\n </Icon>\n )\n})(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aAA+B,EAAE,MAAM,MAAM,GAAG,WAAW;CAC7E,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,qBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAa,GAAI;EAAnD,UAAA;GACE,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAK,WAAW;KAAW;KAClD,OAAO;MAAE,SAAS;MAAO,WAAW;KAAsB;IAC5D;GACD,CAAA;GACD,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,aAAY;IACZ,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAO,WAAW;KAAW;KACpD,OAAO;MAAE,SAAS;MAAK,WAAW;KAAsB;IAC1D;GACD,CAAA;GACD,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAK,WAAW;KAAW;KAClD,OAAO;MAAE,SAAS;MAAO,WAAW;KAAsB;IAC5D;GACD,CAAA;EACG;;AAEV,CAAC,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"dots.js","names":["isString"],"sources":["../../../../src/components/loading/dots.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface DotsProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Dots = withContext<\"svg\", DotsProps>(({ dur = \"1s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 120 30\" {...rest}>\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"15px\"\n cy=\"15px\"\n r=\"15px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"0.5\", transform: `scale(calc(9 / 15))` },\n }}\n />\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"60px\"\n cy=\"15px\"\n fillOpacity=\"1\"\n r=\"9px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"0.5\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"1\", transform: `scale(calc(15 / 9))` },\n }}\n />\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"105px\"\n cy=\"15px\"\n r=\"15px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"50%\": { opacity: \"0.5\", transform: `scale(calc(9 / 15))` },\n }}\n />\n </Icon>\n )\n})(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aAA+B,EAAE,MAAM,MAAM,GAAG,WAAW;CAC7E,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,qBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAa,GAAI;EAAnD,UAAA;GACE,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAK,WAAW;KAAW;KAClD,OAAO;MAAE,SAAS;MAAO,WAAW;KAAsB;IAC5D;GACD,CAAA;GACD,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,aAAY;IACZ,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAO,WAAW;KAAW;KACpD,OAAO;MAAE,SAAS;MAAK,WAAW;KAAsB;IAC1D;GACD,CAAA;GACD,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,YAAY;KACV,YAAY;MAAE,SAAS;MAAK,WAAW;KAAW;KAClD,OAAO;MAAE,SAAS;MAAO,WAAW;KAAsB;IAC5D;GACD,CAAA;EACG;;AAEV,CAAC,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","names":[],"sources":["../../../../src/components/loading/grid.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface GridProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Grid = withContext<\"svg\", GridProps>(({ dur = \"1s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 105 105\" {...rest}>\n {[\n { cx: \"12.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.1s\", cx: \"12.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.3s\", cx: \"52.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.6s\", cx: \"52.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.8s\", cx: \"92.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.4s\", cx: \"92.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.7s\", cx: \"12.5px\", cy: \"92.5px\" },\n { animationDelay: \"0.5s\", cx: \"52.5px\", cy: \"92.5px\" },\n { animationDelay: \"0.2s\", cx: \"92.5px\", cy: \"92.5px\" },\n ].map((props, index) => (\n <styled.circle\n key={index}\n {...props}\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n r=\"12.5px\"\n _keyframes={{\n \"0%, 100%\": { fillOpacity: \"1\" },\n \"50%\": { fillOpacity: \"0.2\" },\n }}\n />\n ))}\n </Icon>\n )\n})(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aAA+B,EAAE,MAAM,MAAM,GAAG,WAAW;CAC7E,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAc,GAAI;EACjD,UAAA;GACC;IAAE,IAAI;IAAU,IAAI;GAAS;GAC7B;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;EACvD,CAAC,CAAC,KAAK,OAAO,UACZ,oBAAC,OAAO,QAAR;GAEE,GAAI;GACJ,mBAAmB,GAAG,IAAI;GAC1B,yBAAwB;GACxB,yBAAwB;GACxB,GAAE;GACF,YAAY;IACV,YAAY,EAAE,aAAa,IAAI;IAC/B,OAAO,EAAE,aAAa,MAAM;GAC9B;EACD,GAVM,KAUN,CACF;CACG,CAAA;AAEV,CAAC,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"grid.js","names":["isString"],"sources":["../../../../src/components/loading/grid.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface GridProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Grid = withContext<\"svg\", GridProps>(({ dur = \"1s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon fill=\"currentColor\" viewBox=\"0 0 105 105\" {...rest}>\n {[\n { cx: \"12.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.1s\", cx: \"12.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.3s\", cx: \"52.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.6s\", cx: \"52.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.8s\", cx: \"92.5px\", cy: \"12.5px\" },\n { animationDelay: \"0.4s\", cx: \"92.5px\", cy: \"52.5px\" },\n { animationDelay: \"0.7s\", cx: \"12.5px\", cy: \"92.5px\" },\n { animationDelay: \"0.5s\", cx: \"52.5px\", cy: \"92.5px\" },\n { animationDelay: \"0.2s\", cx: \"92.5px\", cy: \"92.5px\" },\n ].map((props, index) => (\n <styled.circle\n key={index}\n {...props}\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n r=\"12.5px\"\n _keyframes={{\n \"0%, 100%\": { fillOpacity: \"1\" },\n \"50%\": { fillOpacity: \"0.2\" },\n }}\n />\n ))}\n </Icon>\n )\n})(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aAA+B,EAAE,MAAM,MAAM,GAAG,WAAW;CAC7E,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,MAAK;EAAe,SAAQ;EAAc,GAAI;EACjD,UAAA;GACC;IAAE,IAAI;IAAU,IAAI;GAAS;GAC7B;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;GACrD;IAAE,gBAAgB;IAAQ,IAAI;IAAU,IAAI;GAAS;EACvD,CAAC,CAAC,KAAK,OAAO,UACZ,oBAAC,OAAO,QAAR;GAEE,GAAI;GACJ,mBAAmB,GAAG,IAAI;GAC1B,yBAAwB;GACxB,yBAAwB;GACxB,GAAE;GACF,YAAY;IACV,YAAY,EAAE,aAAa,IAAI;IAC/B,OAAO,EAAE,aAAa,MAAM;GAC9B;EACD,GAVM,KAUN,CACF;CACG,CAAA;AAEV,CAAC,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-provider.js","names":[],"sources":["../../../../src/components/loading/loading-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode, RefObject } from \"react\"\nimport type { LoadingConfig, LoadingScheme, ThemeConfig } from \"../../core\"\nimport { AnimatePresence } from \"motion/react\"\nimport { createContext, createRef, use, useMemo, useRef, useState } from \"react\"\nimport { RemoveScroll } from \"react-remove-scroll\"\nimport { assignRef, isNumber, useUpdateEffect } from \"../../utils\"\nimport { Portal } from \"../portal\"\nimport { Background } from \"./background\"\nimport { Page } from \"./page\"\nimport { Screen } from \"./screen\"\n\ninterface LoadingMethods {\n /**\n * Function to finish loading.\n */\n finish: () => void\n /**\n * Function to forcefully update the loading state.\n *\n * Please be careful, as it will forcefully overwrite the state of the loading component.\n */\n force: (state: Partial<LoadingState>) => void\n /**\n * Function to start loading.\n *\n * If you specify a `message` etc. as an argument, the loading will change accordingly.\n */\n start: (options?: LoadingOptions) => void\n /**\n * Function to update loading.\n *\n * If you specify a `message` etc. as an argument, the loading will change accordingly.\n */\n update: (options: LoadingOptions) => void\n}\n\nexport interface LoadingOptions {\n duration?: null | number\n loadingScheme?: LoadingScheme\n message?: ReactNode\n}\n\ninterface LoadingState {\n duration: null | number\n loadingCount: number\n loadingScheme: LoadingScheme\n message: ReactNode | undefined\n}\n\ninterface LoadingContext {\n /**\n * The background loading methods.\n */\n background: LoadingMethods\n /**\n * The page loading methods.\n */\n page: LoadingMethods\n /**\n * The screen loading methods.\n */\n screen: LoadingMethods\n}\n\nconst LoadingContext = createContext({} as LoadingContext)\n\nconst createController = () => ({\n finish: createRef<LoadingMethods[\"finish\"]>(),\n force: createRef<LoadingMethods[\"force\"]>(),\n start: createRef<LoadingMethods[\"start\"]>(),\n update: createRef<LoadingMethods[\"update\"]>(),\n})\n\ntype Controller = ReturnType<typeof createController>\n\nconst createMethods = (refs: RefObject<Controller>): LoadingMethods => ({\n finish: () => refs.current.finish.current?.(),\n force: (state) => refs.current.force.current?.(state),\n start: (props) => refs.current.start.current?.(props),\n update: (props) => refs.current.update.current?.(props),\n})\n\nconst incrementCount = (prev: number) => prev + 1\nconst decrementCount = (prev: number) => (prev === 0 ? prev : prev - 1)\n\nexport interface LoadingProviderProps extends PropsWithChildren<\n ThemeConfig[\"loading\"]\n> {}\n\nexport const LoadingProvider: FC<LoadingProviderProps> = ({\n background: backgroundConfig,\n children,\n page: pageConfig,\n screen: screenConfig,\n}) => {\n const screen = useRef(createController())\n const page = useRef(createController())\n const background = useRef(createController())\n\n const value = useMemo(\n () => ({\n background: createMethods(background),\n page: createMethods(page),\n screen: createMethods(screen),\n }),\n [],\n )\n\n return (\n <LoadingContext value={value}>\n {children}\n\n <Controller ref={screen} {...screenConfig} component={Screen} />\n\n <Controller ref={page} {...pageConfig} component={Page} />\n\n <Controller\n ref={background}\n {...backgroundConfig}\n blockScrollOnMount={backgroundConfig?.blockScrollOnMount ?? false}\n component={Background}\n />\n </LoadingContext>\n )\n}\n\nexport interface LoadingSharedProps {\n duration: null | number\n loadingScheme: LoadingScheme\n message: ReactNode | undefined\n onFinish: () => void\n initial?: boolean | string\n}\n\ninterface ControllerProps extends LoadingConfig {\n component: FC<LoadingSharedProps>\n ref: RefObject<Controller>\n}\n\nconst Controller: FC<ControllerProps> = ({\n ref,\n allowPinchZoom = false,\n blockScrollOnMount = true,\n component: Component,\n duration: durationProp = null,\n loadingCount: loadingCountProp = 0,\n loadingScheme: loadingSchemeProp = \"oval\",\n}) => {\n const loading = useRef<boolean>(false)\n const [{ duration, loadingCount, loadingScheme, message }, setState] =\n useState<LoadingState>({\n duration: durationProp,\n loadingCount: loadingCountProp,\n loadingScheme: loadingSchemeProp,\n message: undefined,\n })\n\n const { finish, force, start, update } = useMemo<LoadingMethods>(\n () => ({\n finish: () => {\n loading.current = false\n\n setState(({ loadingCount }) => ({\n duration: durationProp,\n loadingCount: decrementCount(loadingCount),\n loadingScheme: loadingSchemeProp,\n message: undefined,\n }))\n },\n\n force: ({\n duration = durationProp,\n loadingCount = 0,\n loadingScheme = loadingSchemeProp,\n message,\n }) => {\n loading.current = !!loadingCount\n\n setState({\n duration,\n loadingCount,\n loadingScheme,\n message,\n })\n },\n\n start: ({\n duration = durationProp,\n loadingScheme = loadingSchemeProp,\n message,\n } = {}) => {\n loading.current = true\n\n setState(({ loadingCount }) => ({\n duration,\n loadingCount: incrementCount(loadingCount),\n loadingScheme,\n message,\n }))\n },\n\n update: (next) => setState((prev) => ({ ...prev, ...next })),\n }),\n [durationProp, loadingSchemeProp],\n )\n\n assignRef(ref.current.start, start)\n assignRef(ref.current.finish, finish)\n assignRef(ref.current.update, update)\n assignRef(ref.current.force, force)\n\n const props: LoadingSharedProps = {\n duration,\n initial: loadingCountProp > 0 ? false : \"initial\",\n loadingScheme,\n message,\n onFinish: finish,\n }\n\n useUpdateEffect(() => {\n if (loadingCountProp > 0 || isNumber(durationProp))\n setState({\n duration: durationProp,\n loadingCount: loadingCountProp,\n loadingScheme: loadingSchemeProp,\n message: undefined,\n })\n }, [loadingCountProp, durationProp, loadingSchemeProp])\n\n return (\n <AnimatePresence initial={false}>\n {loadingCount ? (\n <Portal>\n <RemoveScroll\n allowPinchZoom={allowPinchZoom}\n enabled={blockScrollOnMount}\n forwardProps\n >\n <Component {...props} />\n </RemoveScroll>\n </Portal>\n ) : null}\n </AnimatePresence>\n )\n}\n\n/**\n * `useLoading` is a custom hook for controlling the loading of the application.\n *\n * @see https://yamada-ui.com/docs/hooks/use-loading\n */\nexport const useLoading = (): LoadingContext => {\n const { background, page, screen } = use(LoadingContext)\n\n const context = useMemo(\n () => ({ background, page, screen }),\n [background, page, screen],\n )\n\n return context\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"loading-provider.js","names":["isNumber"],"sources":["../../../../src/components/loading/loading-provider.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode, RefObject } from \"react\"\nimport type { LoadingConfig, LoadingScheme, ThemeConfig } from \"../../core\"\nimport { AnimatePresence } from \"motion/react\"\nimport { createContext, createRef, use, useMemo, useRef, useState } from \"react\"\nimport { RemoveScroll } from \"react-remove-scroll\"\nimport { assignRef, isNumber, useUpdateEffect } from \"../../utils\"\nimport { Portal } from \"../portal\"\nimport { Background } from \"./background\"\nimport { Page } from \"./page\"\nimport { Screen } from \"./screen\"\n\ninterface LoadingMethods {\n /**\n * Function to finish loading.\n */\n finish: () => void\n /**\n * Function to forcefully update the loading state.\n *\n * Please be careful, as it will forcefully overwrite the state of the loading component.\n */\n force: (state: Partial<LoadingState>) => void\n /**\n * Function to start loading.\n *\n * If you specify a `message` etc. as an argument, the loading will change accordingly.\n */\n start: (options?: LoadingOptions) => void\n /**\n * Function to update loading.\n *\n * If you specify a `message` etc. as an argument, the loading will change accordingly.\n */\n update: (options: LoadingOptions) => void\n}\n\nexport interface LoadingOptions {\n duration?: null | number\n loadingScheme?: LoadingScheme\n message?: ReactNode\n}\n\ninterface LoadingState {\n duration: null | number\n loadingCount: number\n loadingScheme: LoadingScheme\n message: ReactNode | undefined\n}\n\ninterface LoadingContext {\n /**\n * The background loading methods.\n */\n background: LoadingMethods\n /**\n * The page loading methods.\n */\n page: LoadingMethods\n /**\n * The screen loading methods.\n */\n screen: LoadingMethods\n}\n\nconst LoadingContext = createContext({} as LoadingContext)\n\nconst createController = () => ({\n finish: createRef<LoadingMethods[\"finish\"]>(),\n force: createRef<LoadingMethods[\"force\"]>(),\n start: createRef<LoadingMethods[\"start\"]>(),\n update: createRef<LoadingMethods[\"update\"]>(),\n})\n\ntype Controller = ReturnType<typeof createController>\n\nconst createMethods = (refs: RefObject<Controller>): LoadingMethods => ({\n finish: () => refs.current.finish.current?.(),\n force: (state) => refs.current.force.current?.(state),\n start: (props) => refs.current.start.current?.(props),\n update: (props) => refs.current.update.current?.(props),\n})\n\nconst incrementCount = (prev: number) => prev + 1\nconst decrementCount = (prev: number) => (prev === 0 ? prev : prev - 1)\n\nexport interface LoadingProviderProps extends PropsWithChildren<\n ThemeConfig[\"loading\"]\n> {}\n\nexport const LoadingProvider: FC<LoadingProviderProps> = ({\n background: backgroundConfig,\n children,\n page: pageConfig,\n screen: screenConfig,\n}) => {\n const screen = useRef(createController())\n const page = useRef(createController())\n const background = useRef(createController())\n\n const value = useMemo(\n () => ({\n background: createMethods(background),\n page: createMethods(page),\n screen: createMethods(screen),\n }),\n [],\n )\n\n return (\n <LoadingContext value={value}>\n {children}\n\n <Controller ref={screen} {...screenConfig} component={Screen} />\n\n <Controller ref={page} {...pageConfig} component={Page} />\n\n <Controller\n ref={background}\n {...backgroundConfig}\n blockScrollOnMount={backgroundConfig?.blockScrollOnMount ?? false}\n component={Background}\n />\n </LoadingContext>\n )\n}\n\nexport interface LoadingSharedProps {\n duration: null | number\n loadingScheme: LoadingScheme\n message: ReactNode | undefined\n onFinish: () => void\n initial?: boolean | string\n}\n\ninterface ControllerProps extends LoadingConfig {\n component: FC<LoadingSharedProps>\n ref: RefObject<Controller>\n}\n\nconst Controller: FC<ControllerProps> = ({\n ref,\n allowPinchZoom = false,\n blockScrollOnMount = true,\n component: Component,\n duration: durationProp = null,\n loadingCount: loadingCountProp = 0,\n loadingScheme: loadingSchemeProp = \"oval\",\n}) => {\n const loading = useRef<boolean>(false)\n const [{ duration, loadingCount, loadingScheme, message }, setState] =\n useState<LoadingState>({\n duration: durationProp,\n loadingCount: loadingCountProp,\n loadingScheme: loadingSchemeProp,\n message: undefined,\n })\n\n const { finish, force, start, update } = useMemo<LoadingMethods>(\n () => ({\n finish: () => {\n loading.current = false\n\n setState(({ loadingCount }) => ({\n duration: durationProp,\n loadingCount: decrementCount(loadingCount),\n loadingScheme: loadingSchemeProp,\n message: undefined,\n }))\n },\n\n force: ({\n duration = durationProp,\n loadingCount = 0,\n loadingScheme = loadingSchemeProp,\n message,\n }) => {\n loading.current = !!loadingCount\n\n setState({\n duration,\n loadingCount,\n loadingScheme,\n message,\n })\n },\n\n start: ({\n duration = durationProp,\n loadingScheme = loadingSchemeProp,\n message,\n } = {}) => {\n loading.current = true\n\n setState(({ loadingCount }) => ({\n duration,\n loadingCount: incrementCount(loadingCount),\n loadingScheme,\n message,\n }))\n },\n\n update: (next) => setState((prev) => ({ ...prev, ...next })),\n }),\n [durationProp, loadingSchemeProp],\n )\n\n assignRef(ref.current.start, start)\n assignRef(ref.current.finish, finish)\n assignRef(ref.current.update, update)\n assignRef(ref.current.force, force)\n\n const props: LoadingSharedProps = {\n duration,\n initial: loadingCountProp > 0 ? false : \"initial\",\n loadingScheme,\n message,\n onFinish: finish,\n }\n\n useUpdateEffect(() => {\n if (loadingCountProp > 0 || isNumber(durationProp))\n setState({\n duration: durationProp,\n loadingCount: loadingCountProp,\n loadingScheme: loadingSchemeProp,\n message: undefined,\n })\n }, [loadingCountProp, durationProp, loadingSchemeProp])\n\n return (\n <AnimatePresence initial={false}>\n {loadingCount ? (\n <Portal>\n <RemoveScroll\n allowPinchZoom={allowPinchZoom}\n enabled={blockScrollOnMount}\n forwardProps\n >\n <Component {...props} />\n </RemoveScroll>\n </Portal>\n ) : null}\n </AnimatePresence>\n )\n}\n\n/**\n * `useLoading` is a custom hook for controlling the loading of the application.\n *\n * @see https://yamada-ui.com/docs/hooks/use-loading\n */\nexport const useLoading = (): LoadingContext => {\n const { background, page, screen } = use(LoadingContext)\n\n const context = useMemo(\n () => ({ background, page, screen }),\n [background, page, screen],\n )\n\n return context\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oval.js","names":[],"sources":["../../../../src/components/loading/oval.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled, varAttr } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface OvalProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Oval = withContext<\"svg\", OvalProps>(\n ({ dur = \"1s\", secondaryColor, ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 38 38\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g strokeWidth=\"2\" transform=\"translate(1 1)\">\n <styled.circle\n {...(secondaryColor\n ? { stroke: \"{secondary-color}\" }\n : { strokeOpacity: \".5\" })}\n cx=\"18px\"\n cy=\"18px\"\n r=\"18px\"\n />\n <styled.path\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationName=\"spin\"\n animationTimingFunction=\"linear\"\n d=\"M36 18c0-9.94-8.06-18-18-18\"\n transformOrigin=\"18px 18px\"\n />\n </g>\n </g>\n </Icon>\n )\n },\n)(initialProps, ({ secondaryColor, ...props }) => {\n const rest = superProps(props)\n\n return {\n \"--secondary-color\": varAttr(secondaryColor, \"colors\"),\n secondaryColor,\n ...rest,\n }\n})\n"],"mappings":";;;;;;;;;;;;;AAeA,MAAa,OAAO,aACjB,EAAE,MAAM,MAAM,gBAAgB,GAAG,WAAW;CAC3C,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,oBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GACtB,UAAA,qBAAC,KAAD;IAAG,aAAY;IAAI,WAAU;IAA7B,UAAA,CACE,oBAAC,OAAO,QAAR;KACE,GAAK,iBACD,EAAE,QAAQ,oBAAoB,IAC9B,EAAE,eAAe,KAAK;KAC1B,IAAG;KACH,IAAG;KACH,GAAE;IACH,CAAA,GACD,oBAAC,OAAO,MAAR;KACE,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,eAAc;KACd,yBAAwB;KACxB,GAAE;KACF,iBAAgB;IACjB,CAAA,CACA;;EACF,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,eAAe,EAAE,gBAAgB,GAAG,YAAY;CAChD,MAAM,OAAO,WAAW,KAAK;CAE7B,OAAO;EACL,qBAAqB,QAAQ,gBAAgB,QAAQ;EACrD;EACA,GAAG;CACL;AACF,CAAC"}
1
+ {"version":3,"file":"oval.js","names":["isString"],"sources":["../../../../src/components/loading/oval.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled, varAttr } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface OvalProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Oval = withContext<\"svg\", OvalProps>(\n ({ dur = \"1s\", secondaryColor, ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 38 38\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g strokeWidth=\"2\" transform=\"translate(1 1)\">\n <styled.circle\n {...(secondaryColor\n ? { stroke: \"{secondary-color}\" }\n : { strokeOpacity: \".5\" })}\n cx=\"18px\"\n cy=\"18px\"\n r=\"18px\"\n />\n <styled.path\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationName=\"spin\"\n animationTimingFunction=\"linear\"\n d=\"M36 18c0-9.94-8.06-18-18-18\"\n transformOrigin=\"18px 18px\"\n />\n </g>\n </g>\n </Icon>\n )\n },\n)(initialProps, ({ secondaryColor, ...props }) => {\n const rest = superProps(props)\n\n return {\n \"--secondary-color\": varAttr(secondaryColor, \"colors\"),\n secondaryColor,\n ...rest,\n }\n})\n"],"mappings":";;;;;;;;;;;;;AAeA,MAAa,OAAO,aACjB,EAAE,MAAM,MAAM,gBAAgB,GAAG,WAAW;CAC3C,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,oBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GACtB,UAAA,qBAAC,KAAD;IAAG,aAAY;IAAI,WAAU;IAA7B,UAAA,CACE,oBAAC,OAAO,QAAR;KACE,GAAK,iBACD,EAAE,QAAQ,oBAAoB,IAC9B,EAAE,eAAe,KAAK;KAC1B,IAAG;KACH,IAAG;KACH,GAAE;IACH,CAAA,GACD,oBAAC,OAAO,MAAR;KACE,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,eAAc;KACd,yBAAwB;KACxB,GAAE;KACF,iBAAgB;IACjB,CAAA,CACA;;EACF,CAAA;CACC,CAAA;AAEV,CACF,CAAC,CAAC,eAAe,EAAE,gBAAgB,GAAG,YAAY;CAChD,MAAM,OAAO,WAAW,KAAK;CAE7B,OAAO;EACL,qBAAqB,QAAQ,gBAAgB,QAAQ;EACrD;EACA,GAAG;CACL;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"puff.js","names":[],"sources":["../../../../src/components/loading/puff.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface PuffProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Puff = withContext<\"svg\", PuffProps>(\n ({ dur = \"1.8s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 44 44\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\" strokeWidth=\"2\">\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"cubic-bezier(0.3, 0.61, 0.355, 1)\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"1px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n vectorEffect=\"non-scaling-stroke\"\n _keyframes={{\n \"0%\": { strokeOpacity: 1, transform: \"scale(1)\" },\n \"100%\": { strokeOpacity: 0, transform: \"scale(20)\" },\n }}\n />\n <styled.circle\n animationDelay=\"-0.9s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"cubic-bezier(0.3, 0.61, 0.355, 1)\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"1px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n vectorEffect=\"non-scaling-stroke\"\n _keyframes={{\n \"0%\": { strokeOpacity: 1, transform: \"scale(1)\" },\n \"100%\": { strokeOpacity: 0, transform: \"scale(20)\" },\n }}\n />\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aACjB,EAAE,MAAM,QAAQ,GAAG,WAAW;CAC7B,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,qBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GAAU,aAAY;GAA9C,UAAA,CACE,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,cAAa;IACb,YAAY;KACV,MAAM;MAAE,eAAe;MAAG,WAAW;KAAW;KAChD,QAAQ;MAAE,eAAe;MAAG,WAAW;KAAY;IACrD;GACD,CAAA,GACD,oBAAC,OAAO,QAAR;IACE,gBAAe;IACf,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,cAAa;IACb,YAAY;KACV,MAAM;MAAE,eAAe;MAAG,WAAW;KAAW;KAChD,QAAQ;MAAE,eAAe;MAAG,WAAW;KAAY;IACrD;GACD,CAAA,CACA;;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"puff.js","names":["isString"],"sources":["../../../../src/components/loading/puff.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface PuffProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Puff = withContext<\"svg\", PuffProps>(\n ({ dur = \"1.8s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 44 44\" {...rest}>\n <g fill=\"none\" fillRule=\"evenodd\" strokeWidth=\"2\">\n <styled.circle\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"cubic-bezier(0.3, 0.61, 0.355, 1)\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"1px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n vectorEffect=\"non-scaling-stroke\"\n _keyframes={{\n \"0%\": { strokeOpacity: 1, transform: \"scale(1)\" },\n \"100%\": { strokeOpacity: 0, transform: \"scale(20)\" },\n }}\n />\n <styled.circle\n animationDelay=\"-0.9s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"cubic-bezier(0.3, 0.61, 0.355, 1)\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"1px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n vectorEffect=\"non-scaling-stroke\"\n _keyframes={{\n \"0%\": { strokeOpacity: 1, transform: \"scale(1)\" },\n \"100%\": { strokeOpacity: 0, transform: \"scale(20)\" },\n }}\n />\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,OAAO,aACjB,EAAE,MAAM,QAAQ,GAAG,WAAW;CAC7B,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,qBAAC,KAAD;GAAG,MAAK;GAAO,UAAS;GAAU,aAAY;GAA9C,UAAA,CACE,oBAAC,OAAO,QAAR;IACE,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,cAAa;IACb,YAAY;KACV,MAAM;MAAE,eAAe;MAAG,WAAW;KAAW;KAChD,QAAQ;MAAE,eAAe;MAAG,WAAW;KAAY;IACrD;GACD,CAAA,GACD,oBAAC,OAAO,QAAR;IACE,gBAAe;IACf,mBAAmB,GAAG,IAAI;IAC1B,yBAAwB;IACxB,yBAAwB;IACxB,IAAG;IACH,IAAG;IACH,GAAE;IACF,cAAa;IACb,iBAAgB;IAChB,cAAa;IACb,YAAY;KACV,MAAM;MAAE,eAAe;MAAG,WAAW;KAAW;KAChD,QAAQ;MAAE,eAAe;MAAG,WAAW;KAAY;IACrD;GACD,CAAA,CACA;;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"rings.js","names":[],"sources":["../../../../src/components/loading/rings.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface RingsProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Rings = withContext<\"svg\", RingsProps>(\n ({ dur = \"3s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 45 45\" {...rest}>\n <g\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeWidth=\"2\"\n transform=\"translate(1 1)\"\n >\n <styled.circle\n animationDelay=\"1.5s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"6px\"\n strokeOpacity=\"0\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%\": {\n strokeOpacity: \"1\",\n strokeWidth: \"2\",\n transform: \"scale(1)\",\n },\n \"100%\": {\n strokeOpacity: \"0\",\n strokeWidth: \"0\",\n transform: \"scale(calc(22 / 6))\",\n },\n }}\n />\n <styled.circle\n animationDelay=\"3s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"6px\"\n strokeOpacity=\"0\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%\": {\n strokeOpacity: \"1\",\n strokeWidth: \"2\",\n transform: \"scale(1)\",\n },\n \"100%\": {\n strokeOpacity: \"0\",\n strokeWidth: \"0\",\n transform: \"scale(calc(22 / 6))\",\n },\n }}\n />\n <styled.circle\n animationDuration={`${dur / 2}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"8px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { transform: \"scale(calc(6 / 8))\" },\n \"16.7%\": { transform: \"scale(calc(1 / 8))\" },\n \"33.3%\": { transform: \"scale(calc(2 / 8))\" },\n \"50%\": { transform: \"scale(calc(3 / 8))\" },\n \"66.7%\": { transform: \"scale(calc(4 / 8))\" },\n \"83.3%\": { transform: \"scale(calc(5 / 8))\" },\n }}\n />\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,QAAQ,aAClB,EAAE,MAAM,MAAM,GAAG,WAAW;CAC3B,OAAA,GAAA,cAAA,SAAA,CAAe,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,qBAAC,KAAD;GACE,MAAK;GACL,UAAS;GACT,aAAY;GACZ,WAAU;GAJZ,UAAA;IAME,oBAAC,OAAO,QAAR;KACE,gBAAe;KACf,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,eAAc;KACd,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,MAAM;OACJ,eAAe;OACf,aAAa;OACb,WAAW;MACb;MACA,QAAQ;OACN,eAAe;OACf,aAAa;OACb,WAAW;MACb;KACF;IACD,CAAA;IACD,oBAAC,OAAO,QAAR;KACE,gBAAe;KACf,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,eAAc;KACd,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,MAAM;OACJ,eAAe;OACf,aAAa;OACb,WAAW;MACb;MACA,QAAQ;OACN,eAAe;OACf,aAAa;OACb,WAAW;MACb;KACF;IACD,CAAA;IACD,oBAAC,OAAO,QAAR;KACE,mBAAmB,GAAG,MAAM,EAAE;KAC9B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,YAAY,EAAE,WAAW,qBAAqB;MAC9C,SAAS,EAAE,WAAW,qBAAqB;MAC3C,SAAS,EAAE,WAAW,qBAAqB;MAC3C,OAAO,EAAE,WAAW,qBAAqB;MACzC,SAAS,EAAE,WAAW,qBAAqB;MAC3C,SAAS,EAAE,WAAW,qBAAqB;KAC7C;IACD,CAAA;GACA;;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
1
+ {"version":3,"file":"rings.js","names":["isString"],"sources":["../../../../src/components/loading/rings.tsx"],"sourcesContent":["\"use client\"\n\nimport type { LoadingProps } from \"./loading\"\nimport { styled } from \"../../core\"\nimport { isString } from \"../../utils\"\nimport { Icon } from \"../icon\"\nimport { initialProps, superProps, withContext } from \"./loading\"\n\nexport interface RingsProps extends LoadingProps {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see https://yamada-ui.com/docs/components/loading\n */\nexport const Rings = withContext<\"svg\", RingsProps>(\n ({ dur = \"3s\", ...rest }) => {\n dur = isString(dur) ? parseFloat(dur) : dur\n\n return (\n <Icon stroke=\"currentColor\" viewBox=\"0 0 45 45\" {...rest}>\n <g\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeWidth=\"2\"\n transform=\"translate(1 1)\"\n >\n <styled.circle\n animationDelay=\"1.5s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"6px\"\n strokeOpacity=\"0\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%\": {\n strokeOpacity: \"1\",\n strokeWidth: \"2\",\n transform: \"scale(1)\",\n },\n \"100%\": {\n strokeOpacity: \"0\",\n strokeWidth: \"0\",\n transform: \"scale(calc(22 / 6))\",\n },\n }}\n />\n <styled.circle\n animationDelay=\"3s\"\n animationDuration={`${dur}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"6px\"\n strokeOpacity=\"0\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%\": {\n strokeOpacity: \"1\",\n strokeWidth: \"2\",\n transform: \"scale(1)\",\n },\n \"100%\": {\n strokeOpacity: \"0\",\n strokeWidth: \"0\",\n transform: \"scale(calc(22 / 6))\",\n },\n }}\n />\n <styled.circle\n animationDuration={`${dur / 2}s`}\n animationIterationCount=\"infinite\"\n animationTimingFunction=\"linear\"\n cx=\"22px\"\n cy=\"22px\"\n r=\"8px\"\n transformBox=\"fill-box\"\n transformOrigin=\"center\"\n _keyframes={{\n \"0%, 100%\": { transform: \"scale(calc(6 / 8))\" },\n \"16.7%\": { transform: \"scale(calc(1 / 8))\" },\n \"33.3%\": { transform: \"scale(calc(2 / 8))\" },\n \"50%\": { transform: \"scale(calc(3 / 8))\" },\n \"66.7%\": { transform: \"scale(calc(4 / 8))\" },\n \"83.3%\": { transform: \"scale(calc(5 / 8))\" },\n }}\n />\n </g>\n </Icon>\n )\n },\n)(initialProps, superProps)\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,QAAQ,aAClB,EAAE,MAAM,MAAM,GAAG,WAAW;CAC3B,OAAA,GAAMA,cAAAA,SAAAA,CAAS,GAAG,IAAI,WAAW,GAAG,IAAI;CAExC,OACE,oBAAC,MAAD;EAAM,QAAO;EAAe,SAAQ;EAAY,GAAI;EAClD,UAAA,qBAAC,KAAD;GACE,MAAK;GACL,UAAS;GACT,aAAY;GACZ,WAAU;GAJZ,UAAA;IAME,oBAAC,OAAO,QAAR;KACE,gBAAe;KACf,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,eAAc;KACd,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,MAAM;OACJ,eAAe;OACf,aAAa;OACb,WAAW;MACb;MACA,QAAQ;OACN,eAAe;OACf,aAAa;OACb,WAAW;MACb;KACF;IACD,CAAA;IACD,oBAAC,OAAO,QAAR;KACE,gBAAe;KACf,mBAAmB,GAAG,IAAI;KAC1B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,eAAc;KACd,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,MAAM;OACJ,eAAe;OACf,aAAa;OACb,WAAW;MACb;MACA,QAAQ;OACN,eAAe;OACf,aAAa;OACb,WAAW;MACb;KACF;IACD,CAAA;IACD,oBAAC,OAAO,QAAR;KACE,mBAAmB,GAAG,MAAM,EAAE;KAC9B,yBAAwB;KACxB,yBAAwB;KACxB,IAAG;KACH,IAAG;KACH,GAAE;KACF,cAAa;KACb,iBAAgB;KAChB,YAAY;MACV,YAAY,EAAE,WAAW,qBAAqB;MAC9C,SAAS,EAAE,WAAW,qBAAqB;MAC3C,SAAS,EAAE,WAAW,qBAAqB;MAC3C,OAAO,EAAE,WAAW,qBAAqB;MACzC,SAAS,EAAE,WAAW,qBAAqB;MAC3C,SAAS,EAAE,WAAW,qBAAqB;KAC7C;IACD,CAAA;GACA;;CACC,CAAA;AAEV,CACF,CAAC,CAAC,cAAc,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-loading-component.js","names":["Loading"],"sources":["../../../../src/components/loading/use-loading-component.ts"],"sourcesContent":["import type { Component } from \"../../core\"\nimport { useMemo } from \"react\"\nimport { isString, toPascalCase } from \"../../utils\"\nimport { Loading } from \"./\"\n\nexport const useLoadingComponent = (\n scheme: Loading.Scheme,\n): Component<\"svg\", Loading.Props> => {\n const Component = useMemo(\n () =>\n Loading[toPascalCase(scheme) as keyof typeof Loading] as Component<\n \"svg\",\n Loading.Props\n >,\n [scheme],\n )\n\n return Component\n}\n\nexport const getLoadingComponent = (\n scheme: Loading.Scheme,\n): Component<\"svg\", Loading.Props> => {\n return Loading[toPascalCase(scheme) as keyof typeof Loading] as Component<\n \"svg\",\n Loading.Props\n >\n}\n\nexport const isLoadingScheme = (scheme: any): scheme is Loading.Scheme => {\n return isString(scheme) && toPascalCase(scheme) in Loading\n}\n"],"mappings":";;;;AAKA,MAAa,uBACX,WACoC;CAUpC,OATkB,cAEdA,mBAAAA,GAAAA,cAAAA,aAAAA,CAAqB,MAAM,IAI7B,CAAC,MAAM,CAGM;AACjB;AAEA,MAAa,uBACX,WACoC;CACpC,OAAOA,mBAAAA,GAAAA,cAAAA,aAAAA,CAAqB,MAAM;AAIpC;AAEA,MAAa,mBAAmB,WAA0C;CACxE,QAAA,GAAA,cAAA,SAAA,CAAgB,MAAM,MAAA,GAAA,cAAA,aAAA,CAAkB,MAAM,KAAKA;AACrD"}
1
+ {"version":3,"file":"use-loading-component.js","names":["Loading","toPascalCase","isString"],"sources":["../../../../src/components/loading/use-loading-component.ts"],"sourcesContent":["import type { Component } from \"../../core\"\nimport { useMemo } from \"react\"\nimport { isString, toPascalCase } from \"../../utils\"\nimport { Loading } from \"./\"\n\nexport const useLoadingComponent = (\n scheme: Loading.Scheme,\n): Component<\"svg\", Loading.Props> => {\n const Component = useMemo(\n () =>\n Loading[toPascalCase(scheme) as keyof typeof Loading] as Component<\n \"svg\",\n Loading.Props\n >,\n [scheme],\n )\n\n return Component\n}\n\nexport const getLoadingComponent = (\n scheme: Loading.Scheme,\n): Component<\"svg\", Loading.Props> => {\n return Loading[toPascalCase(scheme) as keyof typeof Loading] as Component<\n \"svg\",\n Loading.Props\n >\n}\n\nexport const isLoadingScheme = (scheme: any): scheme is Loading.Scheme => {\n return isString(scheme) && toPascalCase(scheme) in Loading\n}\n"],"mappings":";;;;AAKA,MAAa,uBACX,WACoC;CAUpC,OATkB,cAEdA,mBAAAA,GAAQC,cAAAA,aAAAA,CAAa,MAAM,IAI7B,CAAC,MAAM,CAGM;AACjB;AAEA,MAAa,uBACX,WACoC;CACpC,OAAOD,mBAAAA,GAAQC,cAAAA,aAAAA,CAAa,MAAM;AAIpC;AAEA,MAAa,mBAAmB,WAA0C;CACxE,QAAA,GAAOC,cAAAA,SAAAA,CAAS,MAAM,MAAA,GAAKD,cAAAA,aAAAA,CAAa,MAAM,KAAKD;AACrD"}
@@ -239,8 +239,9 @@ const MenuLabel = withContext("span", "label")(void 0, (props) => {
239
239
  });
240
240
  const MenuGroup = withContext(({ children, label, labelProps, ...rest }) => {
241
241
  const { getGroupProps, getLabelProps } = useMenuGroup(rest);
242
+ const context = useMemo(() => ({ getLabelProps }), [getLabelProps]);
242
243
  return /* @__PURE__ */ jsx(MenuGroupContext, {
243
- value: useMemo(() => ({ getLabelProps }), [getLabelProps]),
244
+ value: context,
244
245
  children: /* @__PURE__ */ jsxs(styled.div, {
245
246
  ...getGroupProps(),
246
247
  children: [label ? /* @__PURE__ */ jsx(MenuLabel, {
@@ -257,16 +258,17 @@ const MenuOptionGroup = withContext(({ type: typeProp, defaultValue, value: valu
257
258
  value: valueProp,
258
259
  onChange: onChangeProp
259
260
  });
261
+ const context = useMemo(() => ({
262
+ type,
263
+ value,
264
+ onChange
265
+ }), [
266
+ type,
267
+ value,
268
+ onChange
269
+ ]);
260
270
  return /* @__PURE__ */ jsx(MenuOptionGroupContext, {
261
- value: useMemo(() => ({
262
- type,
263
- value,
264
- onChange
265
- }), [
266
- type,
267
- value,
268
- onChange
269
- ]),
271
+ value: context,
270
272
  children: /* @__PURE__ */ jsx(MenuGroup, { ...rest })
271
273
  });
272
274
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","names":["Popover.Root","Popover.Trigger","Popover.Anchor","Popover.Content"],"sources":["../../../../src/components/menu/menu.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n WithoutThemeProps,\n} from \"../../core\"\nimport type { MenuStyle } from \"./menu.style\"\nimport type {\n MenuOptionGroupType,\n MenuOptionGroupValue,\n UseMenuGroupProps,\n UseMenuItemProps,\n UseMenuOptionGroupProps,\n UseMenuOptionItemProps,\n UseMenuProps,\n UseMenuReturn,\n} from \"./use-menu\"\nimport { Fragment, useMemo, useState } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { cast, handlerAll } from \"../../utils\"\nimport { CheckIcon, ChevronRightIcon, CircleSmallIcon } from \"../icon\"\nimport { Popover, usePopoverProps } from \"../popover\"\nimport { menuStyle } from \"./menu.style\"\nimport {\n MainMenuContext,\n MenuContext,\n MenuDescendantsContext,\n MenuGroupContext,\n MenuOptionGroupContext,\n useMenu,\n useMenuContext,\n useMenuGroup,\n useMenuGroupContext,\n useMenuItem,\n useMenuOptionGroup,\n useMenuOptionItem,\n} from \"./use-menu\"\n\ninterface MenuSharedItem {\n label?: ReactNode\n}\n\ninterface MenuItemWithValue extends MenuSharedItem, MenuItemProps {}\n\ninterface MenuOptionItem extends MenuSharedItem, MenuOptionItemProps {}\n\ninterface MenuItemWithSeparator extends MenuSeparatorProps {\n type: \"separator\"\n}\n\ninterface MenuItemWithRadioGroup<Y extends string = string>\n extends\n Omit<MenuItemWithItems, \"defaultValue\" | \"items\" | \"onChange\">,\n MenuOptionGroupProps<\"radio\", Y> {\n type: \"radio\"\n items?: MenuOptionItem[]\n}\n\ninterface MenuItemWithCheckboxGroup<Y extends string[] = string[]>\n extends\n Omit<MenuItemWithItems, \"defaultValue\" | \"items\" | \"onChange\">,\n MenuOptionGroupProps<\"checkbox\", Y> {\n type: \"checkbox\"\n items?: MenuOptionItem[]\n}\n\ninterface MenuItemWithItems extends MenuSharedItem, MenuGroupProps {\n hasEndSeparator?: boolean\n hasSeparator?: boolean\n hasStartSeparator?: boolean\n items?: MenuItemWithValue[]\n labelProps?: MenuLabelProps\n}\n\nexport type MenuItem =\n | MenuItemWithCheckboxGroup\n | MenuItemWithItems\n | MenuItemWithRadioGroup\n | MenuItemWithSeparator\n | MenuItemWithValue\n\ninterface ComponentContext extends Pick<\n UseMenuReturn,\n | \"getContentProps\"\n | \"getContextTriggerProps\"\n | \"getSeparatorProps\"\n | \"getTriggerProps\"\n> {}\n\nexport interface MenuRootProps\n extends\n UseMenuProps,\n Omit<\n WithoutThemeProps<Popover.RootProps, MenuStyle>,\n \"autoFocus\" | \"modal\" | \"updateRef\" | \"withCloseButton\"\n >,\n ThemeProps<MenuStyle> {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n}\n\nconst {\n ComponentContext,\n PropsContext: MenuPropsContext,\n StyleContext,\n useComponentContext,\n usePropsContext: useMenuPropsContext,\n withContext,\n useRootComponentProps,\n} = createSlotComponent<MenuRootProps, MenuStyle, ComponentContext>(\n \"menu\",\n menuStyle,\n)\n\nexport { MenuPropsContext, useMenuPropsContext }\n\n/**\n * `Menu` is a component that displays a common dropdown menu.\n *\n * @see https://yamada-ui.com/docs/components/menu\n */\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n const [styleContext, mergedProps] = useRootComponentProps(props)\n const [\n { animationScheme, initialFocusRef, offset, placement, ...popoverProps },\n { children, disabled, ...rest },\n ] = usePopoverProps(mergedProps, [\n \"disabled\",\n \"open\",\n \"defaultOpen\",\n \"onOpen\",\n \"onClose\",\n ])\n const {\n closeOnSelect,\n descendants,\n open,\n subMenu,\n subMenuDirection,\n updateRef,\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n onActiveDescendant,\n onClose,\n onCloseRef,\n onCloseSubMenu,\n onOpen,\n onSelect,\n } = useMenu({ disabled, ...rest })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n ...popoverProps,\n animationScheme:\n animationScheme ?? (subMenu ? \"inline-start\" : \"block-start\"),\n autoFocus: !!initialFocusRef,\n disabled,\n initialFocusRef,\n offset: offset ?? (subMenu ? [0, 0] : undefined),\n open,\n placement:\n placement ?? (subMenu ? `center-${subMenuDirection}` : \"end-start\"),\n updateRef,\n onClose,\n onOpen,\n }),\n [\n animationScheme,\n disabled,\n initialFocusRef,\n offset,\n onClose,\n onOpen,\n open,\n placement,\n popoverProps,\n subMenu,\n subMenuDirection,\n updateRef,\n ],\n )\n const menuContext = useMemo(\n () => ({\n subMenu,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onCloseSubMenu,\n onOpen,\n onSelect,\n }),\n [\n onClose,\n onOpen,\n onSelect,\n onActiveDescendant,\n subMenu,\n subMenuDirection,\n onCloseSubMenu,\n ],\n )\n const mainMenuContext = useMemo(\n () => ({\n closeOnSelect,\n descendants,\n onActiveDescendant,\n onCloseRef,\n onSelect,\n }),\n [closeOnSelect, descendants, onActiveDescendant, onCloseRef, onSelect],\n )\n const componentContext = useMemo(\n () => ({\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n }),\n [\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n ],\n )\n\n return (\n <StyleContext value={styleContext}>\n <MenuDescendantsContext value={descendants}>\n <MenuContext value={menuContext}>\n <MainMenuContext value={mainMenuContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>{children}</Popover.Root>\n </ComponentContext>\n </MainMenuContext>\n </MenuContext>\n </MenuDescendantsContext>\n </StyleContext>\n )\n}\n\nexport interface MenuTriggerProps extends Popover.TriggerProps {}\n\nexport const MenuTrigger = withContext<\"button\", MenuTriggerProps>(\n Popover.Trigger,\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return cast<HTMLProps<\"button\">>(getTriggerProps(cast<HTMLProps>(props)))\n})\n\ninterface Rect {\n left: number\n top: number\n}\n\nexport interface MenuContextTriggerProps extends HTMLProps {}\n\nexport const MenuContextTrigger = withContext<\"div\", MenuContextTriggerProps>(\n ({ children, onContextMenu, ...rest }) => {\n const [rect, setRect] = useState<Rect>({\n left: 0,\n top: 0,\n })\n const { getContextTriggerProps } = useComponentContext()\n\n return (\n <>\n <MenuAnchor>\n <styled.div style={{ position: \"fixed\", ...rect }} />\n </MenuAnchor>\n\n <styled.div\n asChild\n {...getContextTriggerProps({\n onContextMenu: handlerAll(onContextMenu, (ev) => {\n setRect({ left: ev.clientX, top: ev.clientY })\n }),\n ...rest,\n })}\n >\n {children}\n </styled.div>\n </>\n )\n },\n \"contextTrigger\",\n)()\n\nexport interface MenuAnchorProps extends Popover.AnchorProps {}\n\nexport const MenuAnchor = withContext<\"div\", MenuAnchorProps>(\n Popover.Anchor,\n \"anchor\",\n)()\n\nexport interface MenuContentProps extends Popover.ContentProps {\n /**\n * The footer of the menu.\n */\n footer?: ReactNode\n /**\n * The header of the menu.\n */\n header?: ReactNode\n /**\n * If provided, generate elements based on items.\n */\n items?: MenuItem[]\n /**\n * Props for the footer component.\n */\n footerProps?: MenuFooterProps\n /**\n * Props for the header component.\n */\n headerProps?: MenuHeaderProps\n}\n\nexport const MenuContent = withContext<\"div\", MenuContentProps>(\n Popover.Content,\n \"content\",\n)(\n undefined,\n ({\n children,\n footer,\n header,\n items = [],\n footerProps,\n headerProps,\n portalProps,\n ...rest\n }) => {\n const { subMenu } = useMenuContext()\n const { getContentProps } = useComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n {header ? <MenuHeader {...headerProps}>{header}</MenuHeader> : null}\n\n {items.map((props, index) => {\n if (\"type\" in props) {\n if (props.type === \"radio\") {\n const {\n type,\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuOptionGroup type={type} {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuOptionItem key={index} {...rest}>\n {label}\n </MenuOptionItem>\n ))}\n </MenuOptionGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else if (props.type === \"checkbox\") {\n const {\n type,\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuOptionGroup type={type} {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuOptionItem key={index} {...rest}>\n {label}\n </MenuOptionItem>\n ))}\n </MenuOptionGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else {\n return <MenuSeparator key={index} />\n }\n } else if (\"items\" in props) {\n const {\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuGroup {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuItem key={index} {...rest}>\n {label}\n </MenuItem>\n ))}\n </MenuGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else if (\"value\" in props) {\n const { label, ...rest } = props\n\n return (\n <MenuItem key={index} {...rest}>\n {label}\n </MenuItem>\n )\n }\n })}\n\n {footer ? <MenuFooter {...footerProps}>{footer}</MenuFooter> : null}\n </>\n )\n }, [children, footer, footerProps, header, headerProps, items])\n\n return {\n ...getContentProps(\n cast<HTMLProps>({ ...rest, children: computedChildren }),\n ),\n portalProps: subMenu ? { ...portalProps, disabled: true } : portalProps,\n }\n },\n)\n\nexport interface MenuHeaderProps extends HTMLStyledProps {}\n\nexport const MenuHeader = withContext<\"div\", MenuHeaderProps>(\n \"div\",\n \"header\",\n)({ \"data-header\": \"\" })\n\nexport interface MenuFooterProps extends HTMLStyledProps {}\n\nexport const MenuFooter = withContext<\"div\", MenuFooterProps>(\n \"div\",\n \"footer\",\n)({ \"data-footer\": \"\" })\n\nexport interface MenuLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const MenuLabel = withContext<\"span\", MenuLabelProps>(\"span\", \"label\")(\n undefined,\n (props) => {\n const { getLabelProps } = useMenuGroupContext()\n\n return getLabelProps(props)\n },\n)\n\nexport interface MenuGroupProps extends UseMenuGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: MenuLabelProps\n}\n\nexport const MenuGroup = withContext<\"div\", MenuGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { getGroupProps, getLabelProps } = useMenuGroup(rest)\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <MenuGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? <MenuLabel {...labelProps}>{label}</MenuLabel> : null}\n {children}\n </styled.div>\n </MenuGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface MenuOptionGroupProps<\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n>\n extends\n UseMenuOptionGroupProps<Y, M>,\n Omit<MenuGroupProps, \"defaultValue\" | \"onChange\"> {}\n\nexport const MenuOptionGroup = withContext<\"div\", MenuOptionGroupProps>(\n ({\n type: typeProp,\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n }) => {\n const { type, value, onChange } = useMenuOptionGroup({\n type: typeProp,\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const context = useMemo(\n () => ({ type, value, onChange }),\n [type, value, onChange],\n )\n\n return (\n <MenuOptionGroupContext value={context}>\n <MenuGroup {...rest} />\n </MenuOptionGroupContext>\n )\n },\n { name: \"OptionGroup\", slot: [\"group\", \"option\"] },\n)() as GenericsComponent<{\n <\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n >(\n props: MenuOptionGroupProps<Y, M>,\n ): ReactElement\n}>\n\nexport interface MenuItemProps extends HTMLStyledProps, UseMenuItemProps {}\n\nexport const MenuItem = withContext<\"div\", MenuItemProps>(\n ({ children, ...rest }) => {\n const { subMenuTrigger, getItemProps } = useMenuItem(rest)\n\n return (\n <styled.div {...getItemProps()}>\n {children}\n\n {subMenuTrigger ? (\n <MenuIndicator as={ChevronRightIcon} ms=\"auto\" />\n ) : null}\n </styled.div>\n )\n },\n \"item\",\n)()\n\nexport interface MenuOptionItemProps\n extends HTMLStyledProps, UseMenuOptionItemProps {\n /**\n * The icon to be used in the menu option item.\n */\n icon?: ReactNode\n}\n\nexport const MenuOptionItem = withContext<\"div\", MenuOptionItemProps>(\n ({ children, icon, ...rest }) => {\n const { type, getIndicatorProps, getOptionItemProps } =\n useMenuOptionItem(rest)\n\n return (\n <styled.div {...getOptionItemProps()}>\n <MenuIndicator {...getIndicatorProps()}>\n {icon ||\n (type === \"radio\" ? (\n <CircleSmallIcon fill=\"currentColor\" />\n ) : (\n <CheckIcon />\n ))}\n </MenuIndicator>\n {children}\n </styled.div>\n )\n },\n { name: \"OptionItem\", slot: [\"item\", \"option\"] },\n)()\n\nexport interface MenuIndicatorProps extends HTMLStyledProps {}\n\nexport const MenuIndicator = withContext<\"div\", MenuIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n\nexport interface MenuCommandProps extends HTMLStyledProps<\"kbd\"> {}\n\nexport const MenuCommand = withContext<\"kbd\", MenuCommandProps>(\n \"kbd\",\n \"command\",\n)()\n\nexport interface MenuSeparatorProps extends HTMLStyledProps<\"hr\"> {}\n\nexport const MenuSeparator = withContext<\"hr\", MenuSeparatorProps>(\n \"hr\",\n \"separator\",\n)(undefined, (props) => {\n const { getSeparatorProps } = useComponentContext()\n\n return getSeparatorProps(props)\n})\n"],"mappings":";;;;;;;;;;;;;;AA6GA,MAAM,EACJ,kBACA,cAAc,kBACd,cACA,qBACA,iBAAiB,qBACjB,aACA,0BACE,oBACF,QACA,SACF;;;;;;AASA,MAAa,YAA+B,UAAU;CACpD,MAAM,CAAC,cAAc,eAAe,sBAAsB,KAAK;CAC/D,MAAM,CACJ,EAAE,iBAAiB,iBAAiB,QAAQ,WAAW,GAAG,gBAC1D,EAAE,UAAU,UAAU,GAAG,UACvB,gBAAgB,aAAa;EAC/B;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,EACJ,eACA,aACA,MACA,SACA,kBACA,WACA,iBACA,wBACA,mBACA,iBACA,oBACA,SACA,YACA,gBACA,QACA,aACE,QAAQ;EAAE;EAAU,GAAG;CAAK,CAAC;CACjC,MAAM,qBAAqB,eAClB;EACL,GAAG;EACH,iBACE,oBAAoB,UAAU,iBAAiB;EACjD,WAAW,CAAC,CAAC;EACb;EACA;EACA,QAAQ,WAAW,UAAU,CAAC,GAAG,CAAC,IAAI,KAAA;EACtC;EACA,WACE,cAAc,UAAU,UAAU,qBAAqB;EACzD;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,cAAc,eACX;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,kBAAkB,eACf;EACL;EACA;EACA;EACA;EACA;CACF,IACA;EAAC;EAAe;EAAa;EAAoB;EAAY;CAAQ,CACvE;CACA,MAAM,mBAAmB,eAChB;EACL;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,oBAAC,cAAD;EAAc,OAAO;EACnB,UAAA,oBAAC,wBAAD;GAAwB,OAAO;GAC7B,UAAA,oBAAC,aAAD;IAAa,OAAO;IAClB,UAAA,oBAAC,iBAAD;KAAiB,OAAO;KACtB,UAAA,oBAAC,kBAAD;MAAkB,OAAO;MACvB,UAAA,oBAACA,aAAD;OAAc,GAAI;OAAqB;MAAuB,CAA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"}
1
+ {"version":3,"file":"menu.js","names":["Popover.Root","Popover.Trigger","cast","handlerAll","Popover.Anchor","Popover.Content"],"sources":["../../../../src/components/menu/menu.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n WithoutThemeProps,\n} from \"../../core\"\nimport type { MenuStyle } from \"./menu.style\"\nimport type {\n MenuOptionGroupType,\n MenuOptionGroupValue,\n UseMenuGroupProps,\n UseMenuItemProps,\n UseMenuOptionGroupProps,\n UseMenuOptionItemProps,\n UseMenuProps,\n UseMenuReturn,\n} from \"./use-menu\"\nimport { Fragment, useMemo, useState } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { cast, handlerAll } from \"../../utils\"\nimport { CheckIcon, ChevronRightIcon, CircleSmallIcon } from \"../icon\"\nimport { Popover, usePopoverProps } from \"../popover\"\nimport { menuStyle } from \"./menu.style\"\nimport {\n MainMenuContext,\n MenuContext,\n MenuDescendantsContext,\n MenuGroupContext,\n MenuOptionGroupContext,\n useMenu,\n useMenuContext,\n useMenuGroup,\n useMenuGroupContext,\n useMenuItem,\n useMenuOptionGroup,\n useMenuOptionItem,\n} from \"./use-menu\"\n\ninterface MenuSharedItem {\n label?: ReactNode\n}\n\ninterface MenuItemWithValue extends MenuSharedItem, MenuItemProps {}\n\ninterface MenuOptionItem extends MenuSharedItem, MenuOptionItemProps {}\n\ninterface MenuItemWithSeparator extends MenuSeparatorProps {\n type: \"separator\"\n}\n\ninterface MenuItemWithRadioGroup<Y extends string = string>\n extends\n Omit<MenuItemWithItems, \"defaultValue\" | \"items\" | \"onChange\">,\n MenuOptionGroupProps<\"radio\", Y> {\n type: \"radio\"\n items?: MenuOptionItem[]\n}\n\ninterface MenuItemWithCheckboxGroup<Y extends string[] = string[]>\n extends\n Omit<MenuItemWithItems, \"defaultValue\" | \"items\" | \"onChange\">,\n MenuOptionGroupProps<\"checkbox\", Y> {\n type: \"checkbox\"\n items?: MenuOptionItem[]\n}\n\ninterface MenuItemWithItems extends MenuSharedItem, MenuGroupProps {\n hasEndSeparator?: boolean\n hasSeparator?: boolean\n hasStartSeparator?: boolean\n items?: MenuItemWithValue[]\n labelProps?: MenuLabelProps\n}\n\nexport type MenuItem =\n | MenuItemWithCheckboxGroup\n | MenuItemWithItems\n | MenuItemWithRadioGroup\n | MenuItemWithSeparator\n | MenuItemWithValue\n\ninterface ComponentContext extends Pick<\n UseMenuReturn,\n | \"getContentProps\"\n | \"getContextTriggerProps\"\n | \"getSeparatorProps\"\n | \"getTriggerProps\"\n> {}\n\nexport interface MenuRootProps\n extends\n UseMenuProps,\n Omit<\n WithoutThemeProps<Popover.RootProps, MenuStyle>,\n \"autoFocus\" | \"modal\" | \"updateRef\" | \"withCloseButton\"\n >,\n ThemeProps<MenuStyle> {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n}\n\nconst {\n ComponentContext,\n PropsContext: MenuPropsContext,\n StyleContext,\n useComponentContext,\n usePropsContext: useMenuPropsContext,\n withContext,\n useRootComponentProps,\n} = createSlotComponent<MenuRootProps, MenuStyle, ComponentContext>(\n \"menu\",\n menuStyle,\n)\n\nexport { MenuPropsContext, useMenuPropsContext }\n\n/**\n * `Menu` is a component that displays a common dropdown menu.\n *\n * @see https://yamada-ui.com/docs/components/menu\n */\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n const [styleContext, mergedProps] = useRootComponentProps(props)\n const [\n { animationScheme, initialFocusRef, offset, placement, ...popoverProps },\n { children, disabled, ...rest },\n ] = usePopoverProps(mergedProps, [\n \"disabled\",\n \"open\",\n \"defaultOpen\",\n \"onOpen\",\n \"onClose\",\n ])\n const {\n closeOnSelect,\n descendants,\n open,\n subMenu,\n subMenuDirection,\n updateRef,\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n onActiveDescendant,\n onClose,\n onCloseRef,\n onCloseSubMenu,\n onOpen,\n onSelect,\n } = useMenu({ disabled, ...rest })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n ...popoverProps,\n animationScheme:\n animationScheme ?? (subMenu ? \"inline-start\" : \"block-start\"),\n autoFocus: !!initialFocusRef,\n disabled,\n initialFocusRef,\n offset: offset ?? (subMenu ? [0, 0] : undefined),\n open,\n placement:\n placement ?? (subMenu ? `center-${subMenuDirection}` : \"end-start\"),\n updateRef,\n onClose,\n onOpen,\n }),\n [\n animationScheme,\n disabled,\n initialFocusRef,\n offset,\n onClose,\n onOpen,\n open,\n placement,\n popoverProps,\n subMenu,\n subMenuDirection,\n updateRef,\n ],\n )\n const menuContext = useMemo(\n () => ({\n subMenu,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onCloseSubMenu,\n onOpen,\n onSelect,\n }),\n [\n onClose,\n onOpen,\n onSelect,\n onActiveDescendant,\n subMenu,\n subMenuDirection,\n onCloseSubMenu,\n ],\n )\n const mainMenuContext = useMemo(\n () => ({\n closeOnSelect,\n descendants,\n onActiveDescendant,\n onCloseRef,\n onSelect,\n }),\n [closeOnSelect, descendants, onActiveDescendant, onCloseRef, onSelect],\n )\n const componentContext = useMemo(\n () => ({\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n }),\n [\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n ],\n )\n\n return (\n <StyleContext value={styleContext}>\n <MenuDescendantsContext value={descendants}>\n <MenuContext value={menuContext}>\n <MainMenuContext value={mainMenuContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>{children}</Popover.Root>\n </ComponentContext>\n </MainMenuContext>\n </MenuContext>\n </MenuDescendantsContext>\n </StyleContext>\n )\n}\n\nexport interface MenuTriggerProps extends Popover.TriggerProps {}\n\nexport const MenuTrigger = withContext<\"button\", MenuTriggerProps>(\n Popover.Trigger,\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return cast<HTMLProps<\"button\">>(getTriggerProps(cast<HTMLProps>(props)))\n})\n\ninterface Rect {\n left: number\n top: number\n}\n\nexport interface MenuContextTriggerProps extends HTMLProps {}\n\nexport const MenuContextTrigger = withContext<\"div\", MenuContextTriggerProps>(\n ({ children, onContextMenu, ...rest }) => {\n const [rect, setRect] = useState<Rect>({\n left: 0,\n top: 0,\n })\n const { getContextTriggerProps } = useComponentContext()\n\n return (\n <>\n <MenuAnchor>\n <styled.div style={{ position: \"fixed\", ...rect }} />\n </MenuAnchor>\n\n <styled.div\n asChild\n {...getContextTriggerProps({\n onContextMenu: handlerAll(onContextMenu, (ev) => {\n setRect({ left: ev.clientX, top: ev.clientY })\n }),\n ...rest,\n })}\n >\n {children}\n </styled.div>\n </>\n )\n },\n \"contextTrigger\",\n)()\n\nexport interface MenuAnchorProps extends Popover.AnchorProps {}\n\nexport const MenuAnchor = withContext<\"div\", MenuAnchorProps>(\n Popover.Anchor,\n \"anchor\",\n)()\n\nexport interface MenuContentProps extends Popover.ContentProps {\n /**\n * The footer of the menu.\n */\n footer?: ReactNode\n /**\n * The header of the menu.\n */\n header?: ReactNode\n /**\n * If provided, generate elements based on items.\n */\n items?: MenuItem[]\n /**\n * Props for the footer component.\n */\n footerProps?: MenuFooterProps\n /**\n * Props for the header component.\n */\n headerProps?: MenuHeaderProps\n}\n\nexport const MenuContent = withContext<\"div\", MenuContentProps>(\n Popover.Content,\n \"content\",\n)(\n undefined,\n ({\n children,\n footer,\n header,\n items = [],\n footerProps,\n headerProps,\n portalProps,\n ...rest\n }) => {\n const { subMenu } = useMenuContext()\n const { getContentProps } = useComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n {header ? <MenuHeader {...headerProps}>{header}</MenuHeader> : null}\n\n {items.map((props, index) => {\n if (\"type\" in props) {\n if (props.type === \"radio\") {\n const {\n type,\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuOptionGroup type={type} {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuOptionItem key={index} {...rest}>\n {label}\n </MenuOptionItem>\n ))}\n </MenuOptionGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else if (props.type === \"checkbox\") {\n const {\n type,\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuOptionGroup type={type} {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuOptionItem key={index} {...rest}>\n {label}\n </MenuOptionItem>\n ))}\n </MenuOptionGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else {\n return <MenuSeparator key={index} />\n }\n } else if (\"items\" in props) {\n const {\n hasSeparator = true,\n hasEndSeparator = hasSeparator,\n hasStartSeparator = hasSeparator,\n items = [],\n ...rest\n } = props\n\n return (\n <Fragment key={index}>\n {hasStartSeparator ? <MenuSeparator /> : null}\n\n <MenuGroup {...rest}>\n {items.map(({ label, ...rest }, index) => (\n <MenuItem key={index} {...rest}>\n {label}\n </MenuItem>\n ))}\n </MenuGroup>\n\n {hasEndSeparator ? <MenuSeparator /> : null}\n </Fragment>\n )\n } else if (\"value\" in props) {\n const { label, ...rest } = props\n\n return (\n <MenuItem key={index} {...rest}>\n {label}\n </MenuItem>\n )\n }\n })}\n\n {footer ? <MenuFooter {...footerProps}>{footer}</MenuFooter> : null}\n </>\n )\n }, [children, footer, footerProps, header, headerProps, items])\n\n return {\n ...getContentProps(\n cast<HTMLProps>({ ...rest, children: computedChildren }),\n ),\n portalProps: subMenu ? { ...portalProps, disabled: true } : portalProps,\n }\n },\n)\n\nexport interface MenuHeaderProps extends HTMLStyledProps {}\n\nexport const MenuHeader = withContext<\"div\", MenuHeaderProps>(\n \"div\",\n \"header\",\n)({ \"data-header\": \"\" })\n\nexport interface MenuFooterProps extends HTMLStyledProps {}\n\nexport const MenuFooter = withContext<\"div\", MenuFooterProps>(\n \"div\",\n \"footer\",\n)({ \"data-footer\": \"\" })\n\nexport interface MenuLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const MenuLabel = withContext<\"span\", MenuLabelProps>(\"span\", \"label\")(\n undefined,\n (props) => {\n const { getLabelProps } = useMenuGroupContext()\n\n return getLabelProps(props)\n },\n)\n\nexport interface MenuGroupProps extends UseMenuGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: MenuLabelProps\n}\n\nexport const MenuGroup = withContext<\"div\", MenuGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { getGroupProps, getLabelProps } = useMenuGroup(rest)\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <MenuGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? <MenuLabel {...labelProps}>{label}</MenuLabel> : null}\n {children}\n </styled.div>\n </MenuGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface MenuOptionGroupProps<\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n>\n extends\n UseMenuOptionGroupProps<Y, M>,\n Omit<MenuGroupProps, \"defaultValue\" | \"onChange\"> {}\n\nexport const MenuOptionGroup = withContext<\"div\", MenuOptionGroupProps>(\n ({\n type: typeProp,\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n }) => {\n const { type, value, onChange } = useMenuOptionGroup({\n type: typeProp,\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const context = useMemo(\n () => ({ type, value, onChange }),\n [type, value, onChange],\n )\n\n return (\n <MenuOptionGroupContext value={context}>\n <MenuGroup {...rest} />\n </MenuOptionGroupContext>\n )\n },\n { name: \"OptionGroup\", slot: [\"group\", \"option\"] },\n)() as GenericsComponent<{\n <\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n >(\n props: MenuOptionGroupProps<Y, M>,\n ): ReactElement\n}>\n\nexport interface MenuItemProps extends HTMLStyledProps, UseMenuItemProps {}\n\nexport const MenuItem = withContext<\"div\", MenuItemProps>(\n ({ children, ...rest }) => {\n const { subMenuTrigger, getItemProps } = useMenuItem(rest)\n\n return (\n <styled.div {...getItemProps()}>\n {children}\n\n {subMenuTrigger ? (\n <MenuIndicator as={ChevronRightIcon} ms=\"auto\" />\n ) : null}\n </styled.div>\n )\n },\n \"item\",\n)()\n\nexport interface MenuOptionItemProps\n extends HTMLStyledProps, UseMenuOptionItemProps {\n /**\n * The icon to be used in the menu option item.\n */\n icon?: ReactNode\n}\n\nexport const MenuOptionItem = withContext<\"div\", MenuOptionItemProps>(\n ({ children, icon, ...rest }) => {\n const { type, getIndicatorProps, getOptionItemProps } =\n useMenuOptionItem(rest)\n\n return (\n <styled.div {...getOptionItemProps()}>\n <MenuIndicator {...getIndicatorProps()}>\n {icon ||\n (type === \"radio\" ? (\n <CircleSmallIcon fill=\"currentColor\" />\n ) : (\n <CheckIcon />\n ))}\n </MenuIndicator>\n {children}\n </styled.div>\n )\n },\n { name: \"OptionItem\", slot: [\"item\", \"option\"] },\n)()\n\nexport interface MenuIndicatorProps extends HTMLStyledProps {}\n\nexport const MenuIndicator = withContext<\"div\", MenuIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n\nexport interface MenuCommandProps extends HTMLStyledProps<\"kbd\"> {}\n\nexport const MenuCommand = withContext<\"kbd\", MenuCommandProps>(\n \"kbd\",\n \"command\",\n)()\n\nexport interface MenuSeparatorProps extends HTMLStyledProps<\"hr\"> {}\n\nexport const MenuSeparator = withContext<\"hr\", MenuSeparatorProps>(\n \"hr\",\n \"separator\",\n)(undefined, (props) => {\n const { getSeparatorProps } = useComponentContext()\n\n return getSeparatorProps(props)\n})\n"],"mappings":";;;;;;;;;;;;;;AA6GA,MAAM,EACJ,kBACA,cAAc,kBACd,cACA,qBACA,iBAAiB,qBACjB,aACA,0BACE,oBACF,QACA,SACF;;;;;;AASA,MAAa,YAA+B,UAAU;CACpD,MAAM,CAAC,cAAc,eAAe,sBAAsB,KAAK;CAC/D,MAAM,CACJ,EAAE,iBAAiB,iBAAiB,QAAQ,WAAW,GAAG,gBAC1D,EAAE,UAAU,UAAU,GAAG,UACvB,gBAAgB,aAAa;EAC/B;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,EACJ,eACA,aACA,MACA,SACA,kBACA,WACA,iBACA,wBACA,mBACA,iBACA,oBACA,SACA,YACA,gBACA,QACA,aACE,QAAQ;EAAE;EAAU,GAAG;CAAK,CAAC;CACjC,MAAM,qBAAqB,eAClB;EACL,GAAG;EACH,iBACE,oBAAoB,UAAU,iBAAiB;EACjD,WAAW,CAAC,CAAC;EACb;EACA;EACA,QAAQ,WAAW,UAAU,CAAC,GAAG,CAAC,IAAI,KAAA;EACtC;EACA,WACE,cAAc,UAAU,UAAU,qBAAqB;EACzD;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,cAAc,eACX;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,kBAAkB,eACf;EACL;EACA;EACA;EACA;EACA;CACF,IACA;EAAC;EAAe;EAAa;EAAoB;EAAY;CAAQ,CACvE;CACA,MAAM,mBAAmB,eAChB;EACL;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,oBAAC,cAAD;EAAc,OAAO;EACnB,UAAA,oBAAC,wBAAD;GAAwB,OAAO;GAC7B,UAAA,oBAAC,aAAD;IAAa,OAAO;IAClB,UAAA,oBAAC,iBAAD;KAAiB,OAAO;KACtB,UAAA,oBAAC,kBAAD;MAAkB,OAAO;MACvB,UAAA,oBAACA,aAAD;OAAc,GAAI;OAAqB;MAAuB,CAA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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-menu.js","names":["createContext","noop"],"sources":["../../../../src/components/menu/use-menu.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent, MouseEvent, RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { Descendant, Descendants } from \"../../hooks/use-descendants\"\nimport type { UseDisclosureProps } from \"../../hooks/use-disclosure\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport { useDisclosure } from \"../../hooks/use-disclosure\"\nimport {\n ariaAttr,\n assignRef,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isArray,\n isString,\n isTruthyDataAttr,\n mergeRefs,\n noop,\n runKeyAction,\n useUpdateEffect,\n} from \"../../utils\"\n\ntype SubMenuDirection = \"end\" | \"start\"\n\ninterface MenuDescendantProps {\n id: string\n}\ntype MenuDescendant = Descendant<HTMLDivElement, MenuDescendantProps>\n\nconst {\n DescendantsContext: MenuDescendantsContext,\n useDescendant: useMenuDescendant,\n useDescendantRegister: useMenuDescendantRegister,\n useDescendants: useMenuDescendants,\n} = createDescendants<HTMLDivElement, MenuDescendantProps>()\n\nexport { MenuDescendantsContext, useMenuDescendant, useMenuDescendants }\n\ninterface MenuContext extends Pick<\n UseMenuReturn,\n | \"onActiveDescendant\"\n | \"onClose\"\n | \"onCloseSubMenu\"\n | \"onOpen\"\n | \"onSelect\"\n | \"subMenu\"\n | \"subMenuDirection\"\n> {}\n\nconst [MenuContext, useMenuContext] = createContext<MenuContext>({\n name: \"MenuContext\",\n})\n\ninterface MenuGroupContext extends Pick<UseMenuGroupReturn, \"getLabelProps\"> {}\n\nconst [MenuGroupContext, useMenuGroupContext] = createContext<MenuGroupContext>(\n {\n name: \"MenuGroupContext\",\n },\n)\n\ninterface MainMenuContext {\n descendants: Descendants<HTMLDivElement, MenuDescendantProps>\n onActiveDescendant: (descendant?: MenuDescendant) => void\n onCloseRef: RefObject<() => void>\n onSelect: (value?: string, closeOnSelect?: boolean) => void\n closeOnSelect?: boolean\n}\n\nconst [MainMenuContext, useMainMenuContext] = createContext<MainMenuContext>({\n name: \"MainMenuContext\",\n strict: false,\n})\n\ninterface MenuOptionGroupContext {\n type: \"checkbox\" | \"radio\"\n value: string | string[]\n onChange?: (value: string) => void\n}\n\nconst [MenuOptionGroupContext, useMenuOptionGroupContext] =\n createContext<MenuOptionGroupContext>({\n name: \"MenuOptionGroupContext\",\n })\n\nexport {\n MainMenuContext,\n MenuContext,\n MenuGroupContext,\n MenuOptionGroupContext,\n useMainMenuContext,\n useMenuContext,\n useMenuGroupContext,\n useMenuOptionGroupContext,\n}\n\nexport interface UseMenuProps extends Omit<UseDisclosureProps, \"timing\"> {\n /**\n * If `true`, the menu item will be closed when selected.\n *\n * @default true\n */\n closeOnSelect?: boolean\n /**\n * If `true`, the menu will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * The direction of the sub menu.\n *\n * @default 'end'\n */\n subMenuDirection?: SubMenuDirection\n /**\n * Callback invoked when a menu item is selected.\n */\n onSelect?: (value?: string) => void\n}\n\nexport const useMenu = ({\n closeOnSelect,\n defaultOpen,\n disabled = false,\n open: openProp,\n subMenuDirection = \"end\",\n onClose: onCloseProp,\n onOpen: onOpenProp,\n onSelect: onSelectProp,\n}: UseMenuProps = {}) => {\n const triggerId = useId()\n const contentId = useId()\n const descendants = useMenuDescendants()\n const updateRef = useRef<() => void>(noop)\n const onCloseRef = useRef<() => void>(noop)\n const contentRef = useRef<HTMLDivElement>(null)\n const { open, onClose, onOpen } = useDisclosure({\n defaultOpen,\n open: openProp,\n onClose: onCloseProp,\n onOpen: onOpenProp,\n })\n const onCloseSubMenu = useCallback(() => onCloseRef.current(), [])\n const onActiveDescendant = useCallback(\n (\n descendant?: MenuDescendant,\n options: FocusOptions = { preventScroll: true },\n ) => {\n if (!contentRef.current || !descendant || disabled) return\n\n contentRef.current.setAttribute(\"aria-activedescendant\", descendant.id)\n\n descendants.active(descendant, options)\n },\n [descendants, disabled],\n )\n const { mainCloseOnSelect, subMenu, getSubMenuProps, onMainSelect } =\n useSubMenu({\n descendants,\n disabled,\n open,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onOpen,\n })\n\n closeOnSelect ??= mainCloseOnSelect ?? true\n\n const onSelect = useCallback(\n (value?: string, closeOnSelectProp = closeOnSelect) => {\n if (disabled) return\n\n onSelectProp?.(value)\n onMainSelect?.(value, closeOnSelectProp)\n\n if (!closeOnSelectProp) return\n\n onClose()\n },\n [closeOnSelect, disabled, onClose, onMainSelect, onSelectProp],\n )\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n\n ev.preventDefault()\n\n if (!open) onOpen()\n else onClose()\n },\n [disabled, onClose, onOpen, open],\n )\n\n const onContextMenu = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n\n ev.preventDefault()\n onOpen()\n updateRef.current()\n },\n [disabled, onOpen],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return\n\n runKeyAction(ev, {\n ArrowDown: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n ArrowUp: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledLastValue()\n\n onActiveDescendant(descendant)\n })\n },\n Enter: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n Space: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n })\n },\n [descendants, disabled, onActiveDescendant, onOpen],\n )\n\n const getTriggerProps: PropGetter = useCallback(\n (props = {}) => ({\n ...getSubMenuProps({\n id: triggerId,\n \"aria-controls\": open ? contentId : undefined,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"menu\",\n \"data-trigger\": dataAttr(true),\n role: \"button\",\n tabIndex: disabled ? -1 : 0,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n }),\n [contentId, disabled, getSubMenuProps, onClick, onKeyDown, open, triggerId],\n )\n\n const getContextTriggerProps: PropGetter = useCallback(\n (props = {}) => ({\n id: triggerId,\n \"aria-controls\": open ? contentId : undefined,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"menu\",\n \"data-trigger\": dataAttr(true),\n role: \"application\",\n ...props,\n onContextMenu: handlerAll(props.onContextMenu, onContextMenu),\n }),\n [contentId, disabled, onContextMenu, open, triggerId],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id: contentId,\n \"aria-labelledby\": cx(ariaLabelledby, triggerId),\n role: \"menu\",\n ...props,\n ref: mergeRefs(ref, contentRef),\n }),\n [contentId, triggerId],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({ role: \"separator\", ...props }),\n [],\n )\n\n return {\n closeOnSelect,\n descendants,\n open,\n subMenu,\n subMenuDirection,\n updateRef,\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n onActiveDescendant,\n onClose,\n onCloseRef,\n onCloseSubMenu,\n onOpen,\n onSelect,\n }\n}\n\nexport type UseMenuReturn = ReturnType<typeof useMenu>\n\nexport interface UseSubMenuProps extends Omit<\n Required<UseDisclosureProps>,\n \"defaultOpen\" | \"timing\"\n> {\n descendants: Descendants<HTMLDivElement, MenuDescendantProps>\n onActiveDescendant: (descendant?: MenuDescendant) => void\n disabled?: boolean\n subMenuDirection?: SubMenuDirection\n}\n\nexport const useSubMenu = ({\n descendants,\n disabled = false,\n open,\n subMenuDirection = \"end\",\n onActiveDescendant,\n onClose,\n onOpen,\n}: UseSubMenuProps) => {\n const uuid = useId()\n const {\n closeOnSelect: mainCloseOnSelect,\n descendants: mainDescendants,\n onActiveDescendant: onActiveMainDescendant,\n onCloseRef,\n onSelect: onMainSelect,\n } = useMainMenuContext() ?? {}\n const subMenu = !!mainDescendants && !!onActiveMainDescendant\n const createRegister = useMenuDescendantRegister(mainDescendants)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n const dataDisabled = useCallback((node?: HTMLDivElement | null) => {\n node ??= triggerRef.current\n\n if (!node) return false\n\n const dataDisabled = isTruthyDataAttr(node.getAttribute(\"data-disabled\"))\n\n return dataDisabled\n }, [])\n\n const ariaDisabled = useCallback((node?: HTMLDivElement | null) => {\n node ??= triggerRef.current\n\n if (!node) return false\n\n const ariaDisabled = isTruthyDataAttr(node.getAttribute(\"aria-disabled\"))\n\n return ariaDisabled\n }, [])\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!subMenu) return\n\n ev.defaultPrevented = disabled || dataDisabled() || ariaDisabled()\n },\n [ariaDisabled, dataDisabled, disabled, subMenu],\n )\n\n const onMouseEnter = useCallback(() => {\n if (!subMenu || disabled || dataDisabled() || ariaDisabled()) return\n\n onOpen()\n }, [ariaDisabled, dataDisabled, disabled, onOpen, subMenu])\n\n const onMouseMove = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!subMenu || disabled || dataDisabled() || ariaDisabled()) return\n\n const descendant = descendants.value(triggerRef.current)\n\n onActiveMainDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n [\n ariaDisabled,\n dataDisabled,\n descendants,\n disabled,\n onActiveMainDescendant,\n subMenu,\n ],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n if (!subMenu || disabled) return\n\n const currentDescendant = open ? descendants : mainDescendants\n const onActiveCurrentDescendant = open\n ? onActiveDescendant\n : onActiveMainDescendant\n\n runKeyAction(ev, {\n ArrowDown: () => {\n const descendant = currentDescendant.enabledNextValue(\n triggerRef.current,\n )\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n ArrowUp: () => {\n const descendant = currentDescendant.enabledPrevValue(\n triggerRef.current,\n )\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n End: () => {\n const descendant = currentDescendant.enabledLastValue()\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n Home: () => {\n const descendant = currentDescendant.enabledFirstValue()\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n [subMenuDirection === \"end\" ? \"ArrowRight\" : \"ArrowLeft\"]: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n\n ev.defaultPrevented = true\n },\n })\n },\n [\n subMenu,\n disabled,\n open,\n descendants,\n mainDescendants,\n onActiveDescendant,\n onActiveMainDescendant,\n subMenuDirection,\n onOpen,\n ],\n )\n\n assignRef(onCloseRef, onClose)\n\n const getSubMenuProps: PropGetter = useCallback(\n ({ id = uuid, ref, ...props } = {}) => {\n const getDisabled = (node: HTMLDivElement) =>\n disabled || dataDisabled(node) || ariaDisabled(node)\n const register = createRegister({ id, disabled: getDisabled })\n\n return {\n role: subMenu ? \"menuitem\" : \"button\",\n ...props,\n ref: mergeRefs(ref, triggerRef, register),\n onClick: handlerAll(onClick, props.onClick),\n onKeyDown: handlerAll(onKeyDown, props.onKeyDown),\n onMouseEnter: handlerAll(onMouseEnter, props.onMouseEnter),\n onMouseMove: handlerAll(onMouseMove, props.onMouseMove),\n }\n },\n [\n uuid,\n subMenu,\n createRegister,\n onClick,\n onKeyDown,\n onMouseEnter,\n onMouseMove,\n disabled,\n dataDisabled,\n ariaDisabled,\n ],\n )\n\n return { mainCloseOnSelect, subMenu, getSubMenuProps, onMainSelect }\n}\n\nexport type UseSubMenuReturn = ReturnType<typeof useSubMenu>\n\nexport interface UseMenuGroupProps extends HTMLProps {}\n\nexport const useMenuGroup = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n ...rest\n}: UseMenuGroupProps) => {\n const labelId = useId()\n\n const getGroupProps: PropGetter = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby, labelId),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [ariaLabelledbyProp, labelId, rest],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props) => ({ id: labelId, role: \"presentation\", ...props }),\n [labelId],\n )\n\n return { getGroupProps, getLabelProps }\n}\n\nexport type UseMenuGroupReturn = ReturnType<typeof useMenuGroup>\n\nexport interface UseMenuItemProps extends HTMLProps {\n /**\n * If `true`, the menu item will be closed when selected.\n */\n closeOnSelect?: boolean\n /**\n * If `true`, the menu item will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * The value of the menu item.\n */\n value?: string\n}\n\nexport const useMenuItem = ({\n id,\n \"aria-disabled\": ariaDisabled,\n \"data-disabled\": dataDisabled,\n \"data-trigger\": dataTrigger,\n closeOnSelect,\n disabled = false,\n value,\n ...rest\n}: UseMenuItemProps) => {\n const trigger = isTruthyDataAttr(dataTrigger)\n const {\n subMenu,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onCloseSubMenu,\n onSelect,\n } = useMenuContext()\n const uuid = useId()\n const itemRef = useRef<HTMLDivElement>(null)\n const subMenuTrigger = subMenu && trigger\n\n id ??= uuid\n\n const { descendants, register } = useMenuDescendant({\n id,\n disabled: disabled || subMenuTrigger,\n })\n\n const onActive = useCallback(() => {\n if (disabled) return\n\n const descendant = descendants.value(itemRef.current)\n\n onActiveDescendant(descendant)\n }, [descendants, disabled, onActiveDescendant])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n runKeyAction(ev, {\n ArrowDown: () => {\n const descendant = descendants.enabledNextValue(itemRef.current)\n\n onActiveDescendant(descendant)\n },\n ArrowUp: () => {\n const descendant = descendants.enabledPrevValue(itemRef.current)\n\n onActiveDescendant(descendant)\n },\n End: () => {\n const descendant = descendants.enabledLastValue()\n\n onActiveDescendant(descendant)\n },\n Enter: () => onSelect(value, closeOnSelect),\n Home: () => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n },\n Space: () => onSelect(value, closeOnSelect),\n [subMenuDirection === \"end\" ? \"ArrowLeft\" : \"ArrowRight\"]: () => {\n if (!subMenu) return\n\n onClose()\n\n const descendant = descendants.firstValue()\n\n descendant?.node.focus()\n },\n })\n },\n [\n closeOnSelect,\n descendants,\n onActiveDescendant,\n onClose,\n onSelect,\n subMenu,\n subMenuDirection,\n value,\n ],\n )\n\n const getItemProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) => {\n const {\n onClick: restOnClick,\n onFocus: restOnFocus,\n onKeyDown: restOnKeyDown,\n onMouseMove: restOnMouseMove,\n ...restProps\n } = rest\n const {\n onClick: propsOnClick,\n onFocus: propsOnFocus,\n onKeyDown: propsOnKeyDown,\n onMouseMove: propsOnMouseMove,\n ...itemProps\n } = props\n\n return mergeProps(\n {\n id,\n \"aria-disabled\": ariaDisabled ?? ariaAttr(disabled),\n \"data-disabled\": dataDisabled ?? dataAttr(disabled),\n role: \"menuitem\",\n tabIndex: -1,\n },\n restProps,\n itemProps,\n {\n ref: mergeRefs(ref, itemRef, register),\n onClick: handlerAll(propsOnClick, restOnClick, () =>\n onSelect(value, closeOnSelect),\n ),\n onFocus: handlerAll(propsOnFocus, restOnFocus, onActive),\n onKeyDown: handlerAll(propsOnKeyDown, restOnKeyDown, onKeyDown),\n onMouseMove: handlerAll(propsOnMouseMove, restOnMouseMove, () => {\n onCloseSubMenu()\n onActive()\n }),\n },\n )()\n },\n [\n id,\n ariaDisabled,\n disabled,\n dataDisabled,\n rest,\n register,\n onActive,\n onKeyDown,\n onSelect,\n value,\n closeOnSelect,\n onCloseSubMenu,\n ],\n )\n\n return {\n subMenuTrigger,\n getItemProps,\n }\n}\n\nexport type UseMenuItemReturn = ReturnType<typeof useMenuItem>\n\nexport type MenuOptionGroupType = \"checkbox\" | \"radio\"\nexport type MenuOptionGroupValue<Y extends MenuOptionGroupType> =\n Y extends \"checkbox\" ? string[] : string\n\nexport interface UseMenuOptionGroupProps<\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n> {\n /**\n * The initial value of the menu item group.\n */\n defaultValue?: M\n /**\n * The type of the menu option group.\n */\n type?: Y\n /**\n * The value of the menu item group.\n */\n value?: M\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: M) => void\n}\n\nexport const useMenuOptionGroup = <\n Y extends \"checkbox\" | \"radio\" = \"checkbox\",\n M extends (Y extends \"checkbox\" ? string[] : string) = Y extends \"checkbox\"\n ? string[]\n : string,\n>({\n type = \"checkbox\" as Y,\n defaultValue = (type === \"checkbox\" ? [] : \"\") as M,\n value: valueProp,\n onChange: onChangeProp,\n}: UseMenuOptionGroupProps<Y, M>) => {\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const radio = type === \"radio\"\n\n const onChange = useCallback(\n (selectedValue: string) => {\n setValue((prev) => {\n if (radio && isString(prev)) return selectedValue as M\n else if (!radio && isArray(prev))\n return (\n prev.includes(selectedValue)\n ? prev.filter((value) => value !== selectedValue)\n : prev.concat(selectedValue)\n ) as M\n else return prev\n })\n },\n [radio, setValue],\n )\n\n useUpdateEffect(() => {\n setValue(valueProp!)\n }, [valueProp])\n\n return {\n type,\n value,\n onChange,\n }\n}\n\nexport type UseMenuOptionGroupReturn = ReturnType<typeof useMenuOptionGroup>\n\nexport interface UseMenuOptionItemProps extends UseMenuItemProps {\n /**\n * The value of the menu option item.\n */\n value: string\n}\n\nexport const useMenuOptionItem = ({\n disabled,\n value,\n ...rest\n}: UseMenuOptionItemProps) => {\n const { type, value: selectedValue, onChange } = useMenuOptionGroupContext()\n const { getItemProps } = useMenuItem({ disabled, value, ...rest })\n const radio = type === \"radio\" && isString(selectedValue)\n const checkbox = type === \"checkbox\" && isArray(selectedValue)\n const selected = radio\n ? value === selectedValue\n : checkbox\n ? selectedValue.includes(value)\n : false\n\n const getIndicatorProps: PropGetter = useCallback(\n ({ style, ...props } = {}) => ({\n style: { opacity: selected ? 1 : 0, ...style },\n ...props,\n }),\n [selected],\n )\n\n const getOptionItemProps: PropGetter = useCallback(\n (props = {}) =>\n getItemProps({\n role: radio ? \"menuitemradio\" : \"menuitemcheckbox\",\n ...props,\n onClick: handlerAll(props.onClick, () =>\n !disabled ? onChange?.(value) : noop,\n ),\n }),\n [disabled, getItemProps, onChange, radio, value],\n )\n\n return {\n type,\n selected,\n getIndicatorProps,\n getOptionItemProps,\n }\n}\n\nexport type UseMenuOptionItemReturn = ReturnType<typeof useMenuOptionItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-menu.js","names":["createContext","noop","ariaAttr","dataAttr","handlerAll","cx","isTruthyDataAttr","isString","isArray"],"sources":["../../../../src/components/menu/use-menu.ts"],"sourcesContent":["\"use client\"\n\nimport type { KeyboardEvent, MouseEvent, RefObject } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { Descendant, Descendants } from \"../../hooks/use-descendants\"\nimport type { UseDisclosureProps } from \"../../hooks/use-disclosure\"\nimport { useCallback, useId, useRef } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport { useDisclosure } from \"../../hooks/use-disclosure\"\nimport {\n ariaAttr,\n assignRef,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isArray,\n isString,\n isTruthyDataAttr,\n mergeRefs,\n noop,\n runKeyAction,\n useUpdateEffect,\n} from \"../../utils\"\n\ntype SubMenuDirection = \"end\" | \"start\"\n\ninterface MenuDescendantProps {\n id: string\n}\ntype MenuDescendant = Descendant<HTMLDivElement, MenuDescendantProps>\n\nconst {\n DescendantsContext: MenuDescendantsContext,\n useDescendant: useMenuDescendant,\n useDescendantRegister: useMenuDescendantRegister,\n useDescendants: useMenuDescendants,\n} = createDescendants<HTMLDivElement, MenuDescendantProps>()\n\nexport { MenuDescendantsContext, useMenuDescendant, useMenuDescendants }\n\ninterface MenuContext extends Pick<\n UseMenuReturn,\n | \"onActiveDescendant\"\n | \"onClose\"\n | \"onCloseSubMenu\"\n | \"onOpen\"\n | \"onSelect\"\n | \"subMenu\"\n | \"subMenuDirection\"\n> {}\n\nconst [MenuContext, useMenuContext] = createContext<MenuContext>({\n name: \"MenuContext\",\n})\n\ninterface MenuGroupContext extends Pick<UseMenuGroupReturn, \"getLabelProps\"> {}\n\nconst [MenuGroupContext, useMenuGroupContext] = createContext<MenuGroupContext>(\n {\n name: \"MenuGroupContext\",\n },\n)\n\ninterface MainMenuContext {\n descendants: Descendants<HTMLDivElement, MenuDescendantProps>\n onActiveDescendant: (descendant?: MenuDescendant) => void\n onCloseRef: RefObject<() => void>\n onSelect: (value?: string, closeOnSelect?: boolean) => void\n closeOnSelect?: boolean\n}\n\nconst [MainMenuContext, useMainMenuContext] = createContext<MainMenuContext>({\n name: \"MainMenuContext\",\n strict: false,\n})\n\ninterface MenuOptionGroupContext {\n type: \"checkbox\" | \"radio\"\n value: string | string[]\n onChange?: (value: string) => void\n}\n\nconst [MenuOptionGroupContext, useMenuOptionGroupContext] =\n createContext<MenuOptionGroupContext>({\n name: \"MenuOptionGroupContext\",\n })\n\nexport {\n MainMenuContext,\n MenuContext,\n MenuGroupContext,\n MenuOptionGroupContext,\n useMainMenuContext,\n useMenuContext,\n useMenuGroupContext,\n useMenuOptionGroupContext,\n}\n\nexport interface UseMenuProps extends Omit<UseDisclosureProps, \"timing\"> {\n /**\n * If `true`, the menu item will be closed when selected.\n *\n * @default true\n */\n closeOnSelect?: boolean\n /**\n * If `true`, the menu will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * The direction of the sub menu.\n *\n * @default 'end'\n */\n subMenuDirection?: SubMenuDirection\n /**\n * Callback invoked when a menu item is selected.\n */\n onSelect?: (value?: string) => void\n}\n\nexport const useMenu = ({\n closeOnSelect,\n defaultOpen,\n disabled = false,\n open: openProp,\n subMenuDirection = \"end\",\n onClose: onCloseProp,\n onOpen: onOpenProp,\n onSelect: onSelectProp,\n}: UseMenuProps = {}) => {\n const triggerId = useId()\n const contentId = useId()\n const descendants = useMenuDescendants()\n const updateRef = useRef<() => void>(noop)\n const onCloseRef = useRef<() => void>(noop)\n const contentRef = useRef<HTMLDivElement>(null)\n const { open, onClose, onOpen } = useDisclosure({\n defaultOpen,\n open: openProp,\n onClose: onCloseProp,\n onOpen: onOpenProp,\n })\n const onCloseSubMenu = useCallback(() => onCloseRef.current(), [])\n const onActiveDescendant = useCallback(\n (\n descendant?: MenuDescendant,\n options: FocusOptions = { preventScroll: true },\n ) => {\n if (!contentRef.current || !descendant || disabled) return\n\n contentRef.current.setAttribute(\"aria-activedescendant\", descendant.id)\n\n descendants.active(descendant, options)\n },\n [descendants, disabled],\n )\n const { mainCloseOnSelect, subMenu, getSubMenuProps, onMainSelect } =\n useSubMenu({\n descendants,\n disabled,\n open,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onOpen,\n })\n\n closeOnSelect ??= mainCloseOnSelect ?? true\n\n const onSelect = useCallback(\n (value?: string, closeOnSelectProp = closeOnSelect) => {\n if (disabled) return\n\n onSelectProp?.(value)\n onMainSelect?.(value, closeOnSelectProp)\n\n if (!closeOnSelectProp) return\n\n onClose()\n },\n [closeOnSelect, disabled, onClose, onMainSelect, onSelectProp],\n )\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n\n ev.preventDefault()\n\n if (!open) onOpen()\n else onClose()\n },\n [disabled, onClose, onOpen, open],\n )\n\n const onContextMenu = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n\n ev.preventDefault()\n onOpen()\n updateRef.current()\n },\n [disabled, onOpen],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return\n\n runKeyAction(ev, {\n ArrowDown: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n ArrowUp: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledLastValue()\n\n onActiveDescendant(descendant)\n })\n },\n Enter: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n Space: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n },\n })\n },\n [descendants, disabled, onActiveDescendant, onOpen],\n )\n\n const getTriggerProps: PropGetter = useCallback(\n (props = {}) => ({\n ...getSubMenuProps({\n id: triggerId,\n \"aria-controls\": open ? contentId : undefined,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"menu\",\n \"data-trigger\": dataAttr(true),\n role: \"button\",\n tabIndex: disabled ? -1 : 0,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n }),\n [contentId, disabled, getSubMenuProps, onClick, onKeyDown, open, triggerId],\n )\n\n const getContextTriggerProps: PropGetter = useCallback(\n (props = {}) => ({\n id: triggerId,\n \"aria-controls\": open ? contentId : undefined,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"menu\",\n \"data-trigger\": dataAttr(true),\n role: \"application\",\n ...props,\n onContextMenu: handlerAll(props.onContextMenu, onContextMenu),\n }),\n [contentId, disabled, onContextMenu, open, triggerId],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id: contentId,\n \"aria-labelledby\": cx(ariaLabelledby, triggerId),\n role: \"menu\",\n ...props,\n ref: mergeRefs(ref, contentRef),\n }),\n [contentId, triggerId],\n )\n\n const getSeparatorProps: PropGetter = useCallback(\n (props) => ({ role: \"separator\", ...props }),\n [],\n )\n\n return {\n closeOnSelect,\n descendants,\n open,\n subMenu,\n subMenuDirection,\n updateRef,\n getContentProps,\n getContextTriggerProps,\n getSeparatorProps,\n getTriggerProps,\n onActiveDescendant,\n onClose,\n onCloseRef,\n onCloseSubMenu,\n onOpen,\n onSelect,\n }\n}\n\nexport type UseMenuReturn = ReturnType<typeof useMenu>\n\nexport interface UseSubMenuProps extends Omit<\n Required<UseDisclosureProps>,\n \"defaultOpen\" | \"timing\"\n> {\n descendants: Descendants<HTMLDivElement, MenuDescendantProps>\n onActiveDescendant: (descendant?: MenuDescendant) => void\n disabled?: boolean\n subMenuDirection?: SubMenuDirection\n}\n\nexport const useSubMenu = ({\n descendants,\n disabled = false,\n open,\n subMenuDirection = \"end\",\n onActiveDescendant,\n onClose,\n onOpen,\n}: UseSubMenuProps) => {\n const uuid = useId()\n const {\n closeOnSelect: mainCloseOnSelect,\n descendants: mainDescendants,\n onActiveDescendant: onActiveMainDescendant,\n onCloseRef,\n onSelect: onMainSelect,\n } = useMainMenuContext() ?? {}\n const subMenu = !!mainDescendants && !!onActiveMainDescendant\n const createRegister = useMenuDescendantRegister(mainDescendants)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n const dataDisabled = useCallback((node?: HTMLDivElement | null) => {\n node ??= triggerRef.current\n\n if (!node) return false\n\n const dataDisabled = isTruthyDataAttr(node.getAttribute(\"data-disabled\"))\n\n return dataDisabled\n }, [])\n\n const ariaDisabled = useCallback((node?: HTMLDivElement | null) => {\n node ??= triggerRef.current\n\n if (!node) return false\n\n const ariaDisabled = isTruthyDataAttr(node.getAttribute(\"aria-disabled\"))\n\n return ariaDisabled\n }, [])\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!subMenu) return\n\n ev.defaultPrevented = disabled || dataDisabled() || ariaDisabled()\n },\n [ariaDisabled, dataDisabled, disabled, subMenu],\n )\n\n const onMouseEnter = useCallback(() => {\n if (!subMenu || disabled || dataDisabled() || ariaDisabled()) return\n\n onOpen()\n }, [ariaDisabled, dataDisabled, disabled, onOpen, subMenu])\n\n const onMouseMove = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!subMenu || disabled || dataDisabled() || ariaDisabled()) return\n\n const descendant = descendants.value(triggerRef.current)\n\n onActiveMainDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n [\n ariaDisabled,\n dataDisabled,\n descendants,\n disabled,\n onActiveMainDescendant,\n subMenu,\n ],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n if (!subMenu || disabled) return\n\n const currentDescendant = open ? descendants : mainDescendants\n const onActiveCurrentDescendant = open\n ? onActiveDescendant\n : onActiveMainDescendant\n\n runKeyAction(ev, {\n ArrowDown: () => {\n const descendant = currentDescendant.enabledNextValue(\n triggerRef.current,\n )\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n ArrowUp: () => {\n const descendant = currentDescendant.enabledPrevValue(\n triggerRef.current,\n )\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n End: () => {\n const descendant = currentDescendant.enabledLastValue()\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n Home: () => {\n const descendant = currentDescendant.enabledFirstValue()\n\n onActiveCurrentDescendant(descendant)\n\n ev.defaultPrevented = true\n },\n [subMenuDirection === \"end\" ? \"ArrowRight\" : \"ArrowLeft\"]: () => {\n onOpen()\n\n setTimeout(() => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n })\n\n ev.defaultPrevented = true\n },\n })\n },\n [\n subMenu,\n disabled,\n open,\n descendants,\n mainDescendants,\n onActiveDescendant,\n onActiveMainDescendant,\n subMenuDirection,\n onOpen,\n ],\n )\n\n assignRef(onCloseRef, onClose)\n\n const getSubMenuProps: PropGetter = useCallback(\n ({ id = uuid, ref, ...props } = {}) => {\n const getDisabled = (node: HTMLDivElement) =>\n disabled || dataDisabled(node) || ariaDisabled(node)\n const register = createRegister({ id, disabled: getDisabled })\n\n return {\n role: subMenu ? \"menuitem\" : \"button\",\n ...props,\n ref: mergeRefs(ref, triggerRef, register),\n onClick: handlerAll(onClick, props.onClick),\n onKeyDown: handlerAll(onKeyDown, props.onKeyDown),\n onMouseEnter: handlerAll(onMouseEnter, props.onMouseEnter),\n onMouseMove: handlerAll(onMouseMove, props.onMouseMove),\n }\n },\n [\n uuid,\n subMenu,\n createRegister,\n onClick,\n onKeyDown,\n onMouseEnter,\n onMouseMove,\n disabled,\n dataDisabled,\n ariaDisabled,\n ],\n )\n\n return { mainCloseOnSelect, subMenu, getSubMenuProps, onMainSelect }\n}\n\nexport type UseSubMenuReturn = ReturnType<typeof useSubMenu>\n\nexport interface UseMenuGroupProps extends HTMLProps {}\n\nexport const useMenuGroup = ({\n \"aria-labelledby\": ariaLabelledbyProp,\n ...rest\n}: UseMenuGroupProps) => {\n const labelId = useId()\n\n const getGroupProps: PropGetter = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) =>\n mergeProps(\n {\n \"aria-labelledby\": cx(ariaLabelledbyProp, ariaLabelledby, labelId),\n role: \"group\",\n },\n rest,\n props,\n )(),\n [ariaLabelledbyProp, labelId, rest],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props) => ({ id: labelId, role: \"presentation\", ...props }),\n [labelId],\n )\n\n return { getGroupProps, getLabelProps }\n}\n\nexport type UseMenuGroupReturn = ReturnType<typeof useMenuGroup>\n\nexport interface UseMenuItemProps extends HTMLProps {\n /**\n * If `true`, the menu item will be closed when selected.\n */\n closeOnSelect?: boolean\n /**\n * If `true`, the menu item will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * The value of the menu item.\n */\n value?: string\n}\n\nexport const useMenuItem = ({\n id,\n \"aria-disabled\": ariaDisabled,\n \"data-disabled\": dataDisabled,\n \"data-trigger\": dataTrigger,\n closeOnSelect,\n disabled = false,\n value,\n ...rest\n}: UseMenuItemProps) => {\n const trigger = isTruthyDataAttr(dataTrigger)\n const {\n subMenu,\n subMenuDirection,\n onActiveDescendant,\n onClose,\n onCloseSubMenu,\n onSelect,\n } = useMenuContext()\n const uuid = useId()\n const itemRef = useRef<HTMLDivElement>(null)\n const subMenuTrigger = subMenu && trigger\n\n id ??= uuid\n\n const { descendants, register } = useMenuDescendant({\n id,\n disabled: disabled || subMenuTrigger,\n })\n\n const onActive = useCallback(() => {\n if (disabled) return\n\n const descendant = descendants.value(itemRef.current)\n\n onActiveDescendant(descendant)\n }, [descendants, disabled, onActiveDescendant])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLDivElement>) => {\n runKeyAction(ev, {\n ArrowDown: () => {\n const descendant = descendants.enabledNextValue(itemRef.current)\n\n onActiveDescendant(descendant)\n },\n ArrowUp: () => {\n const descendant = descendants.enabledPrevValue(itemRef.current)\n\n onActiveDescendant(descendant)\n },\n End: () => {\n const descendant = descendants.enabledLastValue()\n\n onActiveDescendant(descendant)\n },\n Enter: () => onSelect(value, closeOnSelect),\n Home: () => {\n const descendant = descendants.enabledFirstValue()\n\n onActiveDescendant(descendant)\n },\n Space: () => onSelect(value, closeOnSelect),\n [subMenuDirection === \"end\" ? \"ArrowLeft\" : \"ArrowRight\"]: () => {\n if (!subMenu) return\n\n onClose()\n\n const descendant = descendants.firstValue()\n\n descendant?.node.focus()\n },\n })\n },\n [\n closeOnSelect,\n descendants,\n onActiveDescendant,\n onClose,\n onSelect,\n subMenu,\n subMenuDirection,\n value,\n ],\n )\n\n const getItemProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) => {\n const {\n onClick: restOnClick,\n onFocus: restOnFocus,\n onKeyDown: restOnKeyDown,\n onMouseMove: restOnMouseMove,\n ...restProps\n } = rest\n const {\n onClick: propsOnClick,\n onFocus: propsOnFocus,\n onKeyDown: propsOnKeyDown,\n onMouseMove: propsOnMouseMove,\n ...itemProps\n } = props\n\n return mergeProps(\n {\n id,\n \"aria-disabled\": ariaDisabled ?? ariaAttr(disabled),\n \"data-disabled\": dataDisabled ?? dataAttr(disabled),\n role: \"menuitem\",\n tabIndex: -1,\n },\n restProps,\n itemProps,\n {\n ref: mergeRefs(ref, itemRef, register),\n onClick: handlerAll(propsOnClick, restOnClick, () =>\n onSelect(value, closeOnSelect),\n ),\n onFocus: handlerAll(propsOnFocus, restOnFocus, onActive),\n onKeyDown: handlerAll(propsOnKeyDown, restOnKeyDown, onKeyDown),\n onMouseMove: handlerAll(propsOnMouseMove, restOnMouseMove, () => {\n onCloseSubMenu()\n onActive()\n }),\n },\n )()\n },\n [\n id,\n ariaDisabled,\n disabled,\n dataDisabled,\n rest,\n register,\n onActive,\n onKeyDown,\n onSelect,\n value,\n closeOnSelect,\n onCloseSubMenu,\n ],\n )\n\n return {\n subMenuTrigger,\n getItemProps,\n }\n}\n\nexport type UseMenuItemReturn = ReturnType<typeof useMenuItem>\n\nexport type MenuOptionGroupType = \"checkbox\" | \"radio\"\nexport type MenuOptionGroupValue<Y extends MenuOptionGroupType> =\n Y extends \"checkbox\" ? string[] : string\n\nexport interface UseMenuOptionGroupProps<\n Y extends MenuOptionGroupType = \"checkbox\",\n M extends MenuOptionGroupValue<Y> = MenuOptionGroupValue<Y>,\n> {\n /**\n * The initial value of the menu item group.\n */\n defaultValue?: M\n /**\n * The type of the menu option group.\n */\n type?: Y\n /**\n * The value of the menu item group.\n */\n value?: M\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: M) => void\n}\n\nexport const useMenuOptionGroup = <\n Y extends \"checkbox\" | \"radio\" = \"checkbox\",\n M extends (Y extends \"checkbox\" ? string[] : string) = Y extends \"checkbox\"\n ? string[]\n : string,\n>({\n type = \"checkbox\" as Y,\n defaultValue = (type === \"checkbox\" ? [] : \"\") as M,\n value: valueProp,\n onChange: onChangeProp,\n}: UseMenuOptionGroupProps<Y, M>) => {\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const radio = type === \"radio\"\n\n const onChange = useCallback(\n (selectedValue: string) => {\n setValue((prev) => {\n if (radio && isString(prev)) return selectedValue as M\n else if (!radio && isArray(prev))\n return (\n prev.includes(selectedValue)\n ? prev.filter((value) => value !== selectedValue)\n : prev.concat(selectedValue)\n ) as M\n else return prev\n })\n },\n [radio, setValue],\n )\n\n useUpdateEffect(() => {\n setValue(valueProp!)\n }, [valueProp])\n\n return {\n type,\n value,\n onChange,\n }\n}\n\nexport type UseMenuOptionGroupReturn = ReturnType<typeof useMenuOptionGroup>\n\nexport interface UseMenuOptionItemProps extends UseMenuItemProps {\n /**\n * The value of the menu option item.\n */\n value: string\n}\n\nexport const useMenuOptionItem = ({\n disabled,\n value,\n ...rest\n}: UseMenuOptionItemProps) => {\n const { type, value: selectedValue, onChange } = useMenuOptionGroupContext()\n const { getItemProps } = useMenuItem({ disabled, value, ...rest })\n const radio = type === \"radio\" && isString(selectedValue)\n const checkbox = type === \"checkbox\" && isArray(selectedValue)\n const selected = radio\n ? value === selectedValue\n : checkbox\n ? selectedValue.includes(value)\n : false\n\n const getIndicatorProps: PropGetter = useCallback(\n ({ style, ...props } = {}) => ({\n style: { opacity: selected ? 1 : 0, ...style },\n ...props,\n }),\n [selected],\n )\n\n const getOptionItemProps: PropGetter = useCallback(\n (props = {}) =>\n getItemProps({\n role: radio ? \"menuitemradio\" : \"menuitemcheckbox\",\n ...props,\n onClick: handlerAll(props.onClick, () =>\n !disabled ? onChange?.(value) : noop,\n ),\n }),\n [disabled, getItemProps, onChange, radio, value],\n )\n\n return {\n type,\n selected,\n getIndicatorProps,\n getOptionItemProps,\n }\n}\n\nexport type UseMenuOptionItemReturn = ReturnType<typeof useMenuOptionItem>\n"],"mappings":"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"}