@yamada-ui/react 2.1.8-dev-20260409035719 → 2.2.0-dev-20260409110358

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 (678) hide show
  1. package/dist/cjs/components/action-bar/action-bar.cjs +103 -0
  2. package/dist/cjs/components/action-bar/action-bar.cjs.map +1 -0
  3. package/dist/cjs/components/action-bar/action-bar.style.cjs +62 -0
  4. package/dist/cjs/components/action-bar/action-bar.style.cjs.map +1 -0
  5. package/dist/cjs/components/action-bar/index.cjs +20 -0
  6. package/dist/cjs/components/action-bar/namespace.cjs +22 -0
  7. package/dist/cjs/components/action-bar/namespace.cjs.map +1 -0
  8. package/dist/cjs/components/action-bar/use-action-bar.cjs +71 -0
  9. package/dist/cjs/components/action-bar/use-action-bar.cjs.map +1 -0
  10. package/dist/cjs/components/alpha-slider/alpha-slider.cjs +1 -1
  11. package/dist/cjs/components/autocomplete/autocomplete.cjs +5 -3
  12. package/dist/cjs/components/autocomplete/autocomplete.cjs.map +1 -1
  13. package/dist/cjs/components/chart/use-chart.cjs +16 -0
  14. package/dist/cjs/components/chart/use-chart.cjs.map +1 -1
  15. package/dist/cjs/components/color-picker/color-picker.cjs +7 -3
  16. package/dist/cjs/components/color-picker/color-picker.cjs.map +1 -1
  17. package/dist/cjs/components/color-picker/use-color-picker.cjs +2 -2
  18. package/dist/cjs/components/color-picker/use-color-picker.cjs.map +1 -1
  19. package/dist/cjs/components/color-swatch/color-swatch-group.cjs +1 -1
  20. package/dist/cjs/components/date-picker/date-picker.cjs +7 -3
  21. package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
  22. package/dist/cjs/components/date-picker/use-date-picker.cjs +2 -2
  23. package/dist/cjs/components/date-picker/use-date-picker.cjs.map +1 -1
  24. package/dist/cjs/components/drawer/drawer.cjs +1 -1
  25. package/dist/cjs/components/editable/use-editable.cjs +9 -5
  26. package/dist/cjs/components/editable/use-editable.cjs.map +1 -1
  27. package/dist/cjs/components/icon/icons/beef-off-icon.cjs +17 -0
  28. package/dist/cjs/components/icon/icons/beef-off-icon.cjs.map +1 -0
  29. package/dist/cjs/components/icon/icons/cctv-off-icon.cjs +17 -0
  30. package/dist/cjs/components/icon/icons/cctv-off-icon.cjs.map +1 -0
  31. package/dist/cjs/components/icon/icons/index.cjs +24 -54
  32. package/dist/cjs/components/icon/icons/index.cjs.map +1 -1
  33. package/dist/cjs/components/icon/icons/line-style-icon.cjs +17 -0
  34. package/dist/cjs/components/icon/icons/line-style-icon.cjs.map +1 -0
  35. package/dist/cjs/components/icon/icons/radio-off-icon.cjs +17 -0
  36. package/dist/cjs/components/icon/icons/radio-off-icon.cjs.map +1 -0
  37. package/dist/cjs/components/icon/icons/road-icon.cjs +17 -0
  38. package/dist/cjs/components/icon/icons/road-icon.cjs.map +1 -0
  39. package/dist/cjs/components/icon/icons/shield-cog-corner-icon.cjs +17 -0
  40. package/dist/cjs/components/icon/icons/shield-cog-corner-icon.cjs.map +1 -0
  41. package/dist/cjs/components/icon/icons/shield-cog-icon.cjs +17 -0
  42. package/dist/cjs/components/icon/icons/shield-cog-icon.cjs.map +1 -0
  43. package/dist/cjs/components/icon/icons/sport-shoe-icon.cjs +17 -0
  44. package/dist/cjs/components/icon/icons/sport-shoe-icon.cjs.map +1 -0
  45. package/dist/cjs/components/icon/index.cjs +16 -36
  46. package/dist/cjs/components/menu/menu.cjs.map +1 -1
  47. package/dist/cjs/components/modal/modal.cjs +10 -4
  48. package/dist/cjs/components/modal/modal.cjs.map +1 -1
  49. package/dist/cjs/components/modal/modal.style.cjs +15 -12
  50. package/dist/cjs/components/modal/modal.style.cjs.map +1 -1
  51. package/dist/cjs/components/modal/use-modal.cjs +6 -4
  52. package/dist/cjs/components/modal/use-modal.cjs.map +1 -1
  53. package/dist/cjs/components/native-popover/use-native-popover.cjs.map +1 -1
  54. package/dist/cjs/components/number-input/use-number-input.cjs +1 -1
  55. package/dist/cjs/components/popover/index.cjs +3 -2
  56. package/dist/cjs/components/popover/popover.cjs +31 -6
  57. package/dist/cjs/components/popover/popover.cjs.map +1 -1
  58. package/dist/cjs/components/popover/use-popover.cjs.map +1 -1
  59. package/dist/cjs/components/select/select.cjs +5 -3
  60. package/dist/cjs/components/select/select.cjs.map +1 -1
  61. package/dist/cjs/components/sidebar/index.cjs +45 -0
  62. package/dist/cjs/components/sidebar/namespace.cjs +46 -0
  63. package/dist/cjs/components/sidebar/namespace.cjs.map +1 -0
  64. package/dist/cjs/components/sidebar/sidebar.cjs +687 -0
  65. package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -0
  66. package/dist/cjs/components/sidebar/sidebar.style.cjs +380 -0
  67. package/dist/cjs/components/sidebar/sidebar.style.cjs.map +1 -0
  68. package/dist/cjs/components/sidebar/use-sidebar.cjs +362 -0
  69. package/dist/cjs/components/sidebar/use-sidebar.cjs.map +1 -0
  70. package/dist/cjs/components/timeline/timeline.cjs +10 -4
  71. package/dist/cjs/components/timeline/timeline.cjs.map +1 -1
  72. package/dist/cjs/components/timeline/timeline.style.cjs +8 -1
  73. package/dist/cjs/components/timeline/timeline.style.cjs.map +1 -1
  74. package/dist/cjs/components/tooltip/tooltip.cjs +5 -1
  75. package/dist/cjs/components/tooltip/tooltip.cjs.map +1 -1
  76. package/dist/cjs/components/tree/index.cjs +25 -0
  77. package/dist/cjs/components/tree/namespace.cjs +26 -0
  78. package/dist/cjs/components/tree/namespace.cjs.map +1 -0
  79. package/dist/cjs/components/tree/tree.cjs +318 -0
  80. package/dist/cjs/components/tree/tree.cjs.map +1 -0
  81. package/dist/cjs/components/tree/tree.style.cjs +170 -0
  82. package/dist/cjs/components/tree/tree.style.cjs.map +1 -0
  83. package/dist/cjs/components/tree/use-tree.cjs +536 -0
  84. package/dist/cjs/components/tree/use-tree.cjs.map +1 -0
  85. package/dist/cjs/core/css/conditions.cjs +6 -1
  86. package/dist/cjs/core/css/conditions.cjs.map +1 -1
  87. package/dist/cjs/core/system/config.cjs.map +1 -1
  88. package/dist/cjs/core/system/storage-script.cjs +13 -8
  89. package/dist/cjs/core/system/storage-script.cjs.map +1 -1
  90. package/dist/cjs/core/system/theme-provider.cjs +1 -1
  91. package/dist/cjs/core/system/theme-provider.cjs.map +1 -1
  92. package/dist/cjs/hooks/use-combobox/index.cjs +3 -2
  93. package/dist/cjs/hooks/use-combobox/index.cjs.map +1 -1
  94. package/dist/cjs/hooks/use-descendants/index.cjs +19 -9
  95. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  96. package/dist/cjs/hooks/use-popper/index.cjs +4 -0
  97. package/dist/cjs/hooks/use-popper/index.cjs.map +1 -1
  98. package/dist/cjs/index.cjs +361 -239
  99. package/dist/cjs/index.cjs.map +1 -1
  100. package/dist/cjs/providers/i18n-provider/intl/ar-AE.cjs +8 -0
  101. package/dist/cjs/providers/i18n-provider/intl/ar-AE.cjs.map +1 -1
  102. package/dist/cjs/providers/i18n-provider/intl/bg-BG.cjs +8 -0
  103. package/dist/cjs/providers/i18n-provider/intl/bg-BG.cjs.map +1 -1
  104. package/dist/cjs/providers/i18n-provider/intl/cs-CZ.cjs +8 -0
  105. package/dist/cjs/providers/i18n-provider/intl/cs-CZ.cjs.map +1 -1
  106. package/dist/cjs/providers/i18n-provider/intl/da-DK.cjs +8 -0
  107. package/dist/cjs/providers/i18n-provider/intl/da-DK.cjs.map +1 -1
  108. package/dist/cjs/providers/i18n-provider/intl/de-DE.cjs +8 -0
  109. package/dist/cjs/providers/i18n-provider/intl/de-DE.cjs.map +1 -1
  110. package/dist/cjs/providers/i18n-provider/intl/el-GR.cjs +8 -0
  111. package/dist/cjs/providers/i18n-provider/intl/el-GR.cjs.map +1 -1
  112. package/dist/cjs/providers/i18n-provider/intl/en-GB.cjs +8 -0
  113. package/dist/cjs/providers/i18n-provider/intl/en-GB.cjs.map +1 -1
  114. package/dist/cjs/providers/i18n-provider/intl/en-US.cjs +8 -0
  115. package/dist/cjs/providers/i18n-provider/intl/en-US.cjs.map +1 -1
  116. package/dist/cjs/providers/i18n-provider/intl/es-ES.cjs +8 -0
  117. package/dist/cjs/providers/i18n-provider/intl/es-ES.cjs.map +1 -1
  118. package/dist/cjs/providers/i18n-provider/intl/et-EE.cjs +8 -0
  119. package/dist/cjs/providers/i18n-provider/intl/et-EE.cjs.map +1 -1
  120. package/dist/cjs/providers/i18n-provider/intl/fi-FI.cjs +8 -0
  121. package/dist/cjs/providers/i18n-provider/intl/fi-FI.cjs.map +1 -1
  122. package/dist/cjs/providers/i18n-provider/intl/fr-CA.cjs +8 -0
  123. package/dist/cjs/providers/i18n-provider/intl/fr-CA.cjs.map +1 -1
  124. package/dist/cjs/providers/i18n-provider/intl/fr-FR.cjs +8 -0
  125. package/dist/cjs/providers/i18n-provider/intl/fr-FR.cjs.map +1 -1
  126. package/dist/cjs/providers/i18n-provider/intl/he-IL.cjs +8 -0
  127. package/dist/cjs/providers/i18n-provider/intl/he-IL.cjs.map +1 -1
  128. package/dist/cjs/providers/i18n-provider/intl/hr-HR.cjs +8 -0
  129. package/dist/cjs/providers/i18n-provider/intl/hr-HR.cjs.map +1 -1
  130. package/dist/cjs/providers/i18n-provider/intl/hu-HU.cjs +8 -0
  131. package/dist/cjs/providers/i18n-provider/intl/hu-HU.cjs.map +1 -1
  132. package/dist/cjs/providers/i18n-provider/intl/it-IT.cjs +8 -0
  133. package/dist/cjs/providers/i18n-provider/intl/it-IT.cjs.map +1 -1
  134. package/dist/cjs/providers/i18n-provider/intl/ja-JP.cjs +8 -0
  135. package/dist/cjs/providers/i18n-provider/intl/ja-JP.cjs.map +1 -1
  136. package/dist/cjs/providers/i18n-provider/intl/ko-KR.cjs +8 -0
  137. package/dist/cjs/providers/i18n-provider/intl/ko-KR.cjs.map +1 -1
  138. package/dist/cjs/providers/i18n-provider/intl/lt-LT.cjs +8 -0
  139. package/dist/cjs/providers/i18n-provider/intl/lt-LT.cjs.map +1 -1
  140. package/dist/cjs/providers/i18n-provider/intl/lv-LV.cjs +8 -0
  141. package/dist/cjs/providers/i18n-provider/intl/lv-LV.cjs.map +1 -1
  142. package/dist/cjs/providers/i18n-provider/intl/nl-NL.cjs +8 -0
  143. package/dist/cjs/providers/i18n-provider/intl/nl-NL.cjs.map +1 -1
  144. package/dist/cjs/providers/i18n-provider/intl/no-NO.cjs +8 -0
  145. package/dist/cjs/providers/i18n-provider/intl/no-NO.cjs.map +1 -1
  146. package/dist/cjs/providers/i18n-provider/intl/pl-PL.cjs +8 -0
  147. package/dist/cjs/providers/i18n-provider/intl/pl-PL.cjs.map +1 -1
  148. package/dist/cjs/providers/i18n-provider/intl/pt-BR.cjs +8 -0
  149. package/dist/cjs/providers/i18n-provider/intl/pt-BR.cjs.map +1 -1
  150. package/dist/cjs/providers/i18n-provider/intl/ro-RO.cjs +8 -0
  151. package/dist/cjs/providers/i18n-provider/intl/ro-RO.cjs.map +1 -1
  152. package/dist/cjs/providers/i18n-provider/intl/ru-RU.cjs +8 -0
  153. package/dist/cjs/providers/i18n-provider/intl/ru-RU.cjs.map +1 -1
  154. package/dist/cjs/providers/i18n-provider/intl/sk-SK.cjs +8 -0
  155. package/dist/cjs/providers/i18n-provider/intl/sk-SK.cjs.map +1 -1
  156. package/dist/cjs/providers/i18n-provider/intl/sl-SI.cjs +8 -0
  157. package/dist/cjs/providers/i18n-provider/intl/sl-SI.cjs.map +1 -1
  158. package/dist/cjs/providers/i18n-provider/intl/sr-RS.cjs +8 -0
  159. package/dist/cjs/providers/i18n-provider/intl/sr-RS.cjs.map +1 -1
  160. package/dist/cjs/providers/i18n-provider/intl/sv-SE.cjs +8 -0
  161. package/dist/cjs/providers/i18n-provider/intl/sv-SE.cjs.map +1 -1
  162. package/dist/cjs/providers/i18n-provider/intl/tr-TR.cjs +8 -0
  163. package/dist/cjs/providers/i18n-provider/intl/tr-TR.cjs.map +1 -1
  164. package/dist/cjs/providers/i18n-provider/intl/uk-UA.cjs +8 -0
  165. package/dist/cjs/providers/i18n-provider/intl/uk-UA.cjs.map +1 -1
  166. package/dist/cjs/providers/i18n-provider/intl/zh-CN.cjs +8 -0
  167. package/dist/cjs/providers/i18n-provider/intl/zh-CN.cjs.map +1 -1
  168. package/dist/cjs/providers/i18n-provider/intl/zh-TW.cjs +8 -0
  169. package/dist/cjs/providers/i18n-provider/intl/zh-TW.cjs.map +1 -1
  170. package/dist/cjs/providers/ui-provider/ui-provider.cjs +26 -23
  171. package/dist/cjs/providers/ui-provider/ui-provider.cjs.map +1 -1
  172. package/dist/cjs/theme/semantic-tokens/colors.cjs +1 -1
  173. package/dist/cjs/theme/semantic-tokens/colors.cjs.map +1 -1
  174. package/dist/cjs/theme/styles/layer-styles.cjs +2 -2
  175. package/dist/cjs/theme/styles/layer-styles.cjs.map +1 -1
  176. package/dist/esm/components/action-bar/action-bar.js +96 -0
  177. package/dist/esm/components/action-bar/action-bar.js.map +1 -0
  178. package/dist/esm/components/action-bar/action-bar.style.js +62 -0
  179. package/dist/esm/components/action-bar/action-bar.style.js.map +1 -0
  180. package/dist/esm/components/action-bar/index.js +6 -0
  181. package/dist/esm/components/action-bar/namespace.js +17 -0
  182. package/dist/esm/components/action-bar/namespace.js.map +1 -0
  183. package/dist/esm/components/action-bar/use-action-bar.js +70 -0
  184. package/dist/esm/components/action-bar/use-action-bar.js.map +1 -0
  185. package/dist/esm/components/alpha-slider/alpha-slider.js +1 -1
  186. package/dist/esm/components/autocomplete/autocomplete.js +5 -3
  187. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  188. package/dist/esm/components/chart/use-chart.js +16 -0
  189. package/dist/esm/components/chart/use-chart.js.map +1 -1
  190. package/dist/esm/components/color-picker/color-picker.js +7 -3
  191. package/dist/esm/components/color-picker/color-picker.js.map +1 -1
  192. package/dist/esm/components/color-picker/use-color-picker.js +2 -2
  193. package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
  194. package/dist/esm/components/color-swatch/color-swatch-group.js +1 -1
  195. package/dist/esm/components/date-picker/date-picker.js +7 -3
  196. package/dist/esm/components/date-picker/date-picker.js.map +1 -1
  197. package/dist/esm/components/date-picker/use-date-picker.js +2 -2
  198. package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
  199. package/dist/esm/components/drawer/drawer.js +1 -1
  200. package/dist/esm/components/editable/use-editable.js +9 -5
  201. package/dist/esm/components/editable/use-editable.js.map +1 -1
  202. package/dist/esm/components/icon/icons/beef-off-icon.js +16 -0
  203. package/dist/esm/components/icon/icons/beef-off-icon.js.map +1 -0
  204. package/dist/esm/components/icon/icons/cctv-off-icon.js +16 -0
  205. package/dist/esm/components/icon/icons/cctv-off-icon.js.map +1 -0
  206. package/dist/esm/components/icon/icons/index.js +17 -37
  207. package/dist/esm/components/icon/icons/index.js.map +1 -1
  208. package/dist/esm/components/icon/icons/line-style-icon.js +16 -0
  209. package/dist/esm/components/icon/icons/line-style-icon.js.map +1 -0
  210. package/dist/esm/components/icon/icons/radio-off-icon.js +16 -0
  211. package/dist/esm/components/icon/icons/radio-off-icon.js.map +1 -0
  212. package/dist/esm/components/icon/icons/road-icon.js +16 -0
  213. package/dist/esm/components/icon/icons/road-icon.js.map +1 -0
  214. package/dist/esm/components/icon/icons/shield-cog-corner-icon.js +16 -0
  215. package/dist/esm/components/icon/icons/shield-cog-corner-icon.js.map +1 -0
  216. package/dist/esm/components/icon/icons/shield-cog-icon.js +16 -0
  217. package/dist/esm/components/icon/icons/shield-cog-icon.js.map +1 -0
  218. package/dist/esm/components/icon/icons/sport-shoe-icon.js +16 -0
  219. package/dist/esm/components/icon/icons/sport-shoe-icon.js.map +1 -0
  220. package/dist/esm/components/icon/index.js +9 -19
  221. package/dist/esm/components/menu/menu.js.map +1 -1
  222. package/dist/esm/components/modal/modal.js +10 -4
  223. package/dist/esm/components/modal/modal.js.map +1 -1
  224. package/dist/esm/components/modal/modal.style.js +15 -12
  225. package/dist/esm/components/modal/modal.style.js.map +1 -1
  226. package/dist/esm/components/modal/use-modal.js +6 -4
  227. package/dist/esm/components/modal/use-modal.js.map +1 -1
  228. package/dist/esm/components/native-popover/use-native-popover.js.map +1 -1
  229. package/dist/esm/components/number-input/use-number-input.js +1 -1
  230. package/dist/esm/components/popover/index.js +2 -2
  231. package/dist/esm/components/popover/popover.js +30 -6
  232. package/dist/esm/components/popover/popover.js.map +1 -1
  233. package/dist/esm/components/popover/use-popover.js.map +1 -1
  234. package/dist/esm/components/select/select.js +5 -3
  235. package/dist/esm/components/select/select.js.map +1 -1
  236. package/dist/esm/components/sidebar/index.js +6 -0
  237. package/dist/esm/components/sidebar/namespace.js +41 -0
  238. package/dist/esm/components/sidebar/namespace.js.map +1 -0
  239. package/dist/esm/components/sidebar/sidebar.js +664 -0
  240. package/dist/esm/components/sidebar/sidebar.js.map +1 -0
  241. package/dist/esm/components/sidebar/sidebar.style.js +380 -0
  242. package/dist/esm/components/sidebar/sidebar.style.js.map +1 -0
  243. package/dist/esm/components/sidebar/use-sidebar.js +352 -0
  244. package/dist/esm/components/sidebar/use-sidebar.js.map +1 -0
  245. package/dist/esm/components/timeline/timeline.js +10 -4
  246. package/dist/esm/components/timeline/timeline.js.map +1 -1
  247. package/dist/esm/components/timeline/timeline.style.js +8 -1
  248. package/dist/esm/components/timeline/timeline.style.js.map +1 -1
  249. package/dist/esm/components/tooltip/tooltip.js +6 -2
  250. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  251. package/dist/esm/components/tree/index.js +6 -0
  252. package/dist/esm/components/tree/namespace.js +21 -0
  253. package/dist/esm/components/tree/namespace.js.map +1 -0
  254. package/dist/esm/components/tree/tree.js +314 -0
  255. package/dist/esm/components/tree/tree.js.map +1 -0
  256. package/dist/esm/components/tree/tree.style.js +170 -0
  257. package/dist/esm/components/tree/tree.style.js.map +1 -0
  258. package/dist/esm/components/tree/use-tree.js +527 -0
  259. package/dist/esm/components/tree/use-tree.js.map +1 -0
  260. package/dist/esm/core/css/conditions.js +6 -1
  261. package/dist/esm/core/css/conditions.js.map +1 -1
  262. package/dist/esm/core/system/config.js.map +1 -1
  263. package/dist/esm/core/system/storage-script.js +13 -8
  264. package/dist/esm/core/system/storage-script.js.map +1 -1
  265. package/dist/esm/core/system/theme-provider.js +1 -1
  266. package/dist/esm/core/system/theme-provider.js.map +1 -1
  267. package/dist/esm/hooks/use-combobox/index.js +3 -2
  268. package/dist/esm/hooks/use-combobox/index.js.map +1 -1
  269. package/dist/esm/hooks/use-descendants/index.js +19 -9
  270. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  271. package/dist/esm/hooks/use-popper/index.js +4 -0
  272. package/dist/esm/hooks/use-popper/index.js.map +1 -1
  273. package/dist/esm/index.js +230 -174
  274. package/dist/esm/index.js.map +1 -1
  275. package/dist/esm/providers/i18n-provider/intl/ar-AE.js +8 -0
  276. package/dist/esm/providers/i18n-provider/intl/ar-AE.js.map +1 -1
  277. package/dist/esm/providers/i18n-provider/intl/bg-BG.js +8 -0
  278. package/dist/esm/providers/i18n-provider/intl/bg-BG.js.map +1 -1
  279. package/dist/esm/providers/i18n-provider/intl/cs-CZ.js +8 -0
  280. package/dist/esm/providers/i18n-provider/intl/cs-CZ.js.map +1 -1
  281. package/dist/esm/providers/i18n-provider/intl/da-DK.js +8 -0
  282. package/dist/esm/providers/i18n-provider/intl/da-DK.js.map +1 -1
  283. package/dist/esm/providers/i18n-provider/intl/de-DE.js +8 -0
  284. package/dist/esm/providers/i18n-provider/intl/de-DE.js.map +1 -1
  285. package/dist/esm/providers/i18n-provider/intl/el-GR.js +8 -0
  286. package/dist/esm/providers/i18n-provider/intl/el-GR.js.map +1 -1
  287. package/dist/esm/providers/i18n-provider/intl/en-GB.js +8 -0
  288. package/dist/esm/providers/i18n-provider/intl/en-GB.js.map +1 -1
  289. package/dist/esm/providers/i18n-provider/intl/en-US.js +8 -0
  290. package/dist/esm/providers/i18n-provider/intl/en-US.js.map +1 -1
  291. package/dist/esm/providers/i18n-provider/intl/es-ES.js +8 -0
  292. package/dist/esm/providers/i18n-provider/intl/es-ES.js.map +1 -1
  293. package/dist/esm/providers/i18n-provider/intl/et-EE.js +8 -0
  294. package/dist/esm/providers/i18n-provider/intl/et-EE.js.map +1 -1
  295. package/dist/esm/providers/i18n-provider/intl/fi-FI.js +8 -0
  296. package/dist/esm/providers/i18n-provider/intl/fi-FI.js.map +1 -1
  297. package/dist/esm/providers/i18n-provider/intl/fr-CA.js +8 -0
  298. package/dist/esm/providers/i18n-provider/intl/fr-CA.js.map +1 -1
  299. package/dist/esm/providers/i18n-provider/intl/fr-FR.js +8 -0
  300. package/dist/esm/providers/i18n-provider/intl/fr-FR.js.map +1 -1
  301. package/dist/esm/providers/i18n-provider/intl/he-IL.js +8 -0
  302. package/dist/esm/providers/i18n-provider/intl/he-IL.js.map +1 -1
  303. package/dist/esm/providers/i18n-provider/intl/hr-HR.js +8 -0
  304. package/dist/esm/providers/i18n-provider/intl/hr-HR.js.map +1 -1
  305. package/dist/esm/providers/i18n-provider/intl/hu-HU.js +8 -0
  306. package/dist/esm/providers/i18n-provider/intl/hu-HU.js.map +1 -1
  307. package/dist/esm/providers/i18n-provider/intl/it-IT.js +8 -0
  308. package/dist/esm/providers/i18n-provider/intl/it-IT.js.map +1 -1
  309. package/dist/esm/providers/i18n-provider/intl/ja-JP.js +8 -0
  310. package/dist/esm/providers/i18n-provider/intl/ja-JP.js.map +1 -1
  311. package/dist/esm/providers/i18n-provider/intl/ko-KR.js +8 -0
  312. package/dist/esm/providers/i18n-provider/intl/ko-KR.js.map +1 -1
  313. package/dist/esm/providers/i18n-provider/intl/lt-LT.js +8 -0
  314. package/dist/esm/providers/i18n-provider/intl/lt-LT.js.map +1 -1
  315. package/dist/esm/providers/i18n-provider/intl/lv-LV.js +8 -0
  316. package/dist/esm/providers/i18n-provider/intl/lv-LV.js.map +1 -1
  317. package/dist/esm/providers/i18n-provider/intl/nl-NL.js +8 -0
  318. package/dist/esm/providers/i18n-provider/intl/nl-NL.js.map +1 -1
  319. package/dist/esm/providers/i18n-provider/intl/no-NO.js +8 -0
  320. package/dist/esm/providers/i18n-provider/intl/no-NO.js.map +1 -1
  321. package/dist/esm/providers/i18n-provider/intl/pl-PL.js +8 -0
  322. package/dist/esm/providers/i18n-provider/intl/pl-PL.js.map +1 -1
  323. package/dist/esm/providers/i18n-provider/intl/pt-BR.js +8 -0
  324. package/dist/esm/providers/i18n-provider/intl/pt-BR.js.map +1 -1
  325. package/dist/esm/providers/i18n-provider/intl/ro-RO.js +8 -0
  326. package/dist/esm/providers/i18n-provider/intl/ro-RO.js.map +1 -1
  327. package/dist/esm/providers/i18n-provider/intl/ru-RU.js +8 -0
  328. package/dist/esm/providers/i18n-provider/intl/ru-RU.js.map +1 -1
  329. package/dist/esm/providers/i18n-provider/intl/sk-SK.js +8 -0
  330. package/dist/esm/providers/i18n-provider/intl/sk-SK.js.map +1 -1
  331. package/dist/esm/providers/i18n-provider/intl/sl-SI.js +8 -0
  332. package/dist/esm/providers/i18n-provider/intl/sl-SI.js.map +1 -1
  333. package/dist/esm/providers/i18n-provider/intl/sr-RS.js +8 -0
  334. package/dist/esm/providers/i18n-provider/intl/sr-RS.js.map +1 -1
  335. package/dist/esm/providers/i18n-provider/intl/sv-SE.js +8 -0
  336. package/dist/esm/providers/i18n-provider/intl/sv-SE.js.map +1 -1
  337. package/dist/esm/providers/i18n-provider/intl/tr-TR.js +8 -0
  338. package/dist/esm/providers/i18n-provider/intl/tr-TR.js.map +1 -1
  339. package/dist/esm/providers/i18n-provider/intl/uk-UA.js +8 -0
  340. package/dist/esm/providers/i18n-provider/intl/uk-UA.js.map +1 -1
  341. package/dist/esm/providers/i18n-provider/intl/zh-CN.js +8 -0
  342. package/dist/esm/providers/i18n-provider/intl/zh-CN.js.map +1 -1
  343. package/dist/esm/providers/i18n-provider/intl/zh-TW.js +8 -0
  344. package/dist/esm/providers/i18n-provider/intl/zh-TW.js.map +1 -1
  345. package/dist/esm/providers/ui-provider/ui-provider.js +26 -23
  346. package/dist/esm/providers/ui-provider/ui-provider.js.map +1 -1
  347. package/dist/esm/theme/semantic-tokens/colors.js +1 -1
  348. package/dist/esm/theme/semantic-tokens/colors.js.map +1 -1
  349. package/dist/esm/theme/styles/layer-styles.js +2 -2
  350. package/dist/esm/theme/styles/layer-styles.js.map +1 -1
  351. package/dist/types/components/accordion/accordion.d.ts +2 -2
  352. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  353. package/dist/types/components/action-bar/action-bar.d.ts +49 -0
  354. package/dist/types/components/action-bar/action-bar.style.d.ts +56 -0
  355. package/dist/types/components/action-bar/index.d.ts +5 -0
  356. package/dist/types/components/action-bar/namespace.d.ts +9 -0
  357. package/dist/types/components/action-bar/use-action-bar.d.ts +33 -0
  358. package/dist/types/components/airy/airy.d.ts +3 -3
  359. package/dist/types/components/alert/alert.d.ts +2 -2
  360. package/dist/types/components/alert/alert.style.d.ts +1 -1
  361. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
  362. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  363. package/dist/types/components/autocomplete/autocomplete.d.ts +6 -5
  364. package/dist/types/components/autocomplete/use-autocomplete.d.ts +7 -7
  365. package/dist/types/components/avatar/avatar.d.ts +5 -5
  366. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  367. package/dist/types/components/badge/badge.d.ts +2 -2
  368. package/dist/types/components/bleed/bleed.d.ts +2 -2
  369. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  370. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  371. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  372. package/dist/types/components/button/button.d.ts +2 -2
  373. package/dist/types/components/button/icon-button.d.ts +2 -2
  374. package/dist/types/components/calendar/calendar.d.ts +2 -2
  375. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  376. package/dist/types/components/calendar/use-calendar.d.ts +8 -8
  377. package/dist/types/components/card/card.d.ts +2 -2
  378. package/dist/types/components/carousel/carousel.d.ts +2 -2
  379. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  380. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  381. package/dist/types/components/center/center.d.ts +2 -2
  382. package/dist/types/components/chart/area-chart.d.ts +2 -2
  383. package/dist/types/components/chart/bar-chart.d.ts +2 -2
  384. package/dist/types/components/chart/chart.d.ts +5 -5
  385. package/dist/types/components/chart/composed-chart.d.ts +2 -2
  386. package/dist/types/components/chart/donut-chart.d.ts +2 -2
  387. package/dist/types/components/chart/line-chart.d.ts +2 -2
  388. package/dist/types/components/chart/pie-chart.d.ts +2 -2
  389. package/dist/types/components/chart/radar-chart.d.ts +2 -2
  390. package/dist/types/components/chart/radial-chart.d.ts +2 -2
  391. package/dist/types/components/chart/use-chart.d.ts +2 -2
  392. package/dist/types/components/checkbox/checkbox.d.ts +4 -4
  393. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
  394. package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
  395. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  396. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
  397. package/dist/types/components/close-button/close-button.d.ts +2 -2
  398. package/dist/types/components/code/code.d.ts +2 -2
  399. package/dist/types/components/collapse/collapse.d.ts +2 -2
  400. package/dist/types/components/color-picker/color-picker.d.ts +7 -6
  401. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  402. package/dist/types/components/color-picker/use-color-picker.d.ts +4 -4
  403. package/dist/types/components/color-selector/color-selector.d.ts +2 -2
  404. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  405. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
  406. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  407. package/dist/types/components/container/container.d.ts +2 -2
  408. package/dist/types/components/data-list/data-list.d.ts +2 -2
  409. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  410. package/dist/types/components/date-picker/date-picker.d.ts +7 -6
  411. package/dist/types/components/date-picker/use-date-picker.d.ts +6 -6
  412. package/dist/types/components/drawer/drawer.d.ts +2 -2
  413. package/dist/types/components/dropzone/dropzone.d.ts +5 -5
  414. package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
  415. package/dist/types/components/editable/editable.d.ts +4 -4
  416. package/dist/types/components/editable/use-editable.d.ts +2 -2
  417. package/dist/types/components/em/em.d.ts +2 -2
  418. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  419. package/dist/types/components/fade/fade.d.ts +2 -2
  420. package/dist/types/components/field/field.d.ts +3 -3
  421. package/dist/types/components/field/field.style.d.ts +2 -2
  422. package/dist/types/components/field/use-field-props.d.ts +4 -4
  423. package/dist/types/components/fieldset/fieldset.d.ts +3 -3
  424. package/dist/types/components/fieldset/fieldset.style.d.ts +1 -1
  425. package/dist/types/components/file-button/file-button.d.ts +2 -2
  426. package/dist/types/components/file-button/use-file-button.d.ts +18 -18
  427. package/dist/types/components/file-input/file-input.d.ts +2 -2
  428. package/dist/types/components/file-input/use-file-input.d.ts +17 -17
  429. package/dist/types/components/flex/flex.d.ts +2 -2
  430. package/dist/types/components/flip/flip.d.ts +4 -4
  431. package/dist/types/components/float/float.d.ts +2 -2
  432. package/dist/types/components/form/form.d.ts +3 -3
  433. package/dist/types/components/format/format-byte.d.ts +4 -4
  434. package/dist/types/components/format/format-date-time.d.ts +4 -4
  435. package/dist/types/components/format/format-number.d.ts +2 -2
  436. package/dist/types/components/grid/grid-item.d.ts +2 -2
  437. package/dist/types/components/grid/grid.d.ts +2 -2
  438. package/dist/types/components/group/group.d.ts +2 -2
  439. package/dist/types/components/group/use-group.d.ts +2 -2
  440. package/dist/types/components/heading/heading.d.ts +2 -2
  441. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
  442. package/dist/types/components/icon/icon.d.ts +5 -5
  443. package/dist/types/components/icon/icons/beef-off-icon.d.ts +15 -0
  444. package/dist/types/components/icon/icons/cctv-off-icon.d.ts +15 -0
  445. package/dist/types/components/icon/icons/index.d.ts +10 -20
  446. package/dist/types/components/icon/icons/index.types.d.ts +1 -1
  447. package/dist/types/components/icon/icons/line-style-icon.d.ts +15 -0
  448. package/dist/types/components/icon/icons/radio-off-icon.d.ts +15 -0
  449. package/dist/types/components/icon/icons/road-icon.d.ts +15 -0
  450. package/dist/types/components/icon/icons/shield-cog-corner-icon.d.ts +15 -0
  451. package/dist/types/components/icon/icons/shield-cog-icon.d.ts +15 -0
  452. package/dist/types/components/icon/icons/sport-shoe-icon.d.ts +15 -0
  453. package/dist/types/components/icon/index.d.ts +9 -19
  454. package/dist/types/components/image/image.d.ts +2 -2
  455. package/dist/types/components/indicator/indicator.d.ts +4 -4
  456. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  457. package/dist/types/components/input/input-addon.d.ts +2 -2
  458. package/dist/types/components/input/input-element.d.ts +2 -2
  459. package/dist/types/components/input/input.d.ts +2 -2
  460. package/dist/types/components/kbd/kbd.d.ts +2 -2
  461. package/dist/types/components/link/link.d.ts +2 -2
  462. package/dist/types/components/link-box/link-box.d.ts +2 -2
  463. package/dist/types/components/list/list.d.ts +2 -2
  464. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  465. package/dist/types/components/loading/loading.d.ts +3 -3
  466. package/dist/types/components/mark/mark.d.ts +2 -2
  467. package/dist/types/components/menu/menu.d.ts +4 -4
  468. package/dist/types/components/menu/use-menu.d.ts +12 -12
  469. package/dist/types/components/modal/modal.d.ts +4 -4
  470. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  471. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  472. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  473. package/dist/types/components/native-popover/use-native-popover.d.ts +1 -2
  474. package/dist/types/components/native-select/native-select.d.ts +2 -2
  475. package/dist/types/components/native-table/native-table.d.ts +4 -4
  476. package/dist/types/components/notice/notice.style.d.ts +1 -1
  477. package/dist/types/components/number-input/number-input.d.ts +2 -2
  478. package/dist/types/components/number-input/number-input.style.d.ts +1 -1
  479. package/dist/types/components/pagination/pagination.d.ts +2 -2
  480. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  481. package/dist/types/components/password-input/password-input.d.ts +2 -2
  482. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  483. package/dist/types/components/password-input/use-password-input.d.ts +2 -2
  484. package/dist/types/components/pin-input/pin-input.d.ts +2 -2
  485. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
  486. package/dist/types/components/popover/index.d.ts +2 -2
  487. package/dist/types/components/popover/popover.d.ts +55 -17
  488. package/dist/types/components/popover/use-popover.d.ts +3 -3
  489. package/dist/types/components/progress/progress.d.ts +4 -4
  490. package/dist/types/components/progress/use-progress.d.ts +706 -706
  491. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  492. package/dist/types/components/radio/radio.d.ts +4 -4
  493. package/dist/types/components/radio/use-radio-group.d.ts +2 -2
  494. package/dist/types/components/radio-card/radio-card.d.ts +5 -5
  495. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  496. package/dist/types/components/rating/use-rating.d.ts +7 -7
  497. package/dist/types/components/reorder/reorder.d.ts +2 -2
  498. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  499. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  500. package/dist/types/components/resizable/resizable.d.ts +2 -2
  501. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  502. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  503. package/dist/types/components/ripple/ripple.d.ts +2 -2
  504. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  505. package/dist/types/components/rotate/rotate.d.ts +2 -2
  506. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  507. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
  508. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  509. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
  510. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
  511. package/dist/types/components/select/select.d.ts +5 -4
  512. package/dist/types/components/select/use-select.d.ts +6 -6
  513. package/dist/types/components/separator/separator.d.ts +2 -2
  514. package/dist/types/components/sidebar/index.d.ts +5 -0
  515. package/dist/types/components/sidebar/namespace.d.ts +10 -0
  516. package/dist/types/components/sidebar/sidebar.d.ts +289 -0
  517. package/dist/types/components/sidebar/sidebar.style.d.ts +18 -0
  518. package/dist/types/components/sidebar/use-sidebar.d.ts +255 -0
  519. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
  520. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  521. package/dist/types/components/slide/slide.d.ts +2 -2
  522. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
  523. package/dist/types/components/slider/slider.d.ts +2 -2
  524. package/dist/types/components/slider/use-slider.d.ts +2 -2
  525. package/dist/types/components/stack/h-stack.d.ts +2 -2
  526. package/dist/types/components/stack/stack.d.ts +2 -2
  527. package/dist/types/components/stack/v-stack.d.ts +2 -2
  528. package/dist/types/components/stack/z-stack.d.ts +2 -2
  529. package/dist/types/components/stat/stat.d.ts +2 -2
  530. package/dist/types/components/stat/stat.style.d.ts +2 -2
  531. package/dist/types/components/status/status.d.ts +2 -2
  532. package/dist/types/components/steps/steps.d.ts +2 -2
  533. package/dist/types/components/steps/steps.style.d.ts +1 -1
  534. package/dist/types/components/steps/use-steps.d.ts +10 -10
  535. package/dist/types/components/switch/switch.d.ts +2 -2
  536. package/dist/types/components/table/table.d.ts +2 -2
  537. package/dist/types/components/tabs/tabs.d.ts +2 -2
  538. package/dist/types/components/tabs/tabs.style.d.ts +1 -1
  539. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  540. package/dist/types/components/tag/tag.d.ts +2 -2
  541. package/dist/types/components/tag/tag.style.d.ts +1 -1
  542. package/dist/types/components/text/text.d.ts +2 -2
  543. package/dist/types/components/textarea/textarea.d.ts +2 -2
  544. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  545. package/dist/types/components/timeline/timeline.d.ts +26 -6
  546. package/dist/types/components/timeline/timeline.style.d.ts +21 -3
  547. package/dist/types/components/toggle/toggle.d.ts +5 -5
  548. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  549. package/dist/types/components/toggle/use-toggle.d.ts +2 -2
  550. package/dist/types/components/tooltip/tooltip.d.ts +5 -5
  551. package/dist/types/components/tree/index.d.ts +5 -0
  552. package/dist/types/components/tree/namespace.d.ts +10 -0
  553. package/dist/types/components/tree/tree.d.ts +130 -0
  554. package/dist/types/components/tree/tree.style.d.ts +170 -0
  555. package/dist/types/components/tree/use-tree.d.ts +540 -0
  556. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  557. package/dist/types/components/wrap/wrap.d.ts +2 -2
  558. package/dist/types/core/components/create-component.d.ts +7 -7
  559. package/dist/types/core/css/conditions.d.ts +107 -67
  560. package/dist/types/core/css/index.d.ts +2 -2
  561. package/dist/types/core/css/index.types.d.ts +3 -2
  562. package/dist/types/core/index.d.ts +3 -3
  563. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  564. package/dist/types/core/system/config.d.ts +11 -3
  565. package/dist/types/core/system/index.d.ts +2 -2
  566. package/dist/types/core/system/index.types.d.ts +1 -1
  567. package/dist/types/core/system/storage-script.d.ts +2 -2
  568. package/dist/types/core/system/styled.d.ts +2 -2
  569. package/dist/types/core/system/system-provider.d.ts +2 -2
  570. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  571. package/dist/types/hooks/use-clickable/index.d.ts +9 -9
  572. package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
  573. package/dist/types/hooks/use-combobox/index.d.ts +13 -13
  574. package/dist/types/hooks/use-counter/index.d.ts +2 -2
  575. package/dist/types/hooks/use-descendants/index.d.ts +2 -2
  576. package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
  577. package/dist/types/hooks/use-hover/index.d.ts +2 -2
  578. package/dist/types/hooks/use-popper/index.d.ts +2 -2
  579. package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
  580. package/dist/types/index.d.ts +90 -85
  581. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +11 -3
  582. package/dist/types/providers/i18n-provider/intl/en-US.d.ts +8 -0
  583. package/dist/types/providers/i18n-provider/intl/index.d.ts +280 -0
  584. package/dist/types/providers/ui-provider/ui-provider.d.ts +13 -8
  585. package/dist/types/theme/index.d.ts +3 -3
  586. package/dist/types/theme/semantic-tokens/index.d.ts +1 -1
  587. package/dist/types/theme/styles/index.d.ts +2 -2
  588. package/package.json +2 -2
  589. package/dist/cjs/components/icon/icons/chromium-icon.cjs +0 -17
  590. package/dist/cjs/components/icon/icons/chromium-icon.cjs.map +0 -1
  591. package/dist/cjs/components/icon/icons/codepen-icon.cjs +0 -17
  592. package/dist/cjs/components/icon/icons/codepen-icon.cjs.map +0 -1
  593. package/dist/cjs/components/icon/icons/codesandbox-icon.cjs +0 -17
  594. package/dist/cjs/components/icon/icons/codesandbox-icon.cjs.map +0 -1
  595. package/dist/cjs/components/icon/icons/dribbble-icon.cjs +0 -17
  596. package/dist/cjs/components/icon/icons/dribbble-icon.cjs.map +0 -1
  597. package/dist/cjs/components/icon/icons/facebook-icon.cjs +0 -17
  598. package/dist/cjs/components/icon/icons/facebook-icon.cjs.map +0 -1
  599. package/dist/cjs/components/icon/icons/figma-icon.cjs +0 -17
  600. package/dist/cjs/components/icon/icons/figma-icon.cjs.map +0 -1
  601. package/dist/cjs/components/icon/icons/framer-icon.cjs +0 -17
  602. package/dist/cjs/components/icon/icons/framer-icon.cjs.map +0 -1
  603. package/dist/cjs/components/icon/icons/github-icon.cjs +0 -17
  604. package/dist/cjs/components/icon/icons/github-icon.cjs.map +0 -1
  605. package/dist/cjs/components/icon/icons/gitlab-icon.cjs +0 -17
  606. package/dist/cjs/components/icon/icons/gitlab-icon.cjs.map +0 -1
  607. package/dist/cjs/components/icon/icons/instagram-icon.cjs +0 -17
  608. package/dist/cjs/components/icon/icons/instagram-icon.cjs.map +0 -1
  609. package/dist/cjs/components/icon/icons/linkedin-icon.cjs +0 -17
  610. package/dist/cjs/components/icon/icons/linkedin-icon.cjs.map +0 -1
  611. package/dist/cjs/components/icon/icons/pocket-icon.cjs +0 -17
  612. package/dist/cjs/components/icon/icons/pocket-icon.cjs.map +0 -1
  613. package/dist/cjs/components/icon/icons/rail-symbol-icon.cjs +0 -17
  614. package/dist/cjs/components/icon/icons/rail-symbol-icon.cjs.map +0 -1
  615. package/dist/cjs/components/icon/icons/slack-icon.cjs +0 -17
  616. package/dist/cjs/components/icon/icons/slack-icon.cjs.map +0 -1
  617. package/dist/cjs/components/icon/icons/trello-icon.cjs +0 -17
  618. package/dist/cjs/components/icon/icons/trello-icon.cjs.map +0 -1
  619. package/dist/cjs/components/icon/icons/twitch-icon.cjs +0 -17
  620. package/dist/cjs/components/icon/icons/twitch-icon.cjs.map +0 -1
  621. package/dist/cjs/components/icon/icons/twitter-icon.cjs +0 -17
  622. package/dist/cjs/components/icon/icons/twitter-icon.cjs.map +0 -1
  623. package/dist/cjs/components/icon/icons/youtube-icon.cjs +0 -17
  624. package/dist/cjs/components/icon/icons/youtube-icon.cjs.map +0 -1
  625. package/dist/esm/components/icon/icons/chromium-icon.js +0 -16
  626. package/dist/esm/components/icon/icons/chromium-icon.js.map +0 -1
  627. package/dist/esm/components/icon/icons/codepen-icon.js +0 -16
  628. package/dist/esm/components/icon/icons/codepen-icon.js.map +0 -1
  629. package/dist/esm/components/icon/icons/codesandbox-icon.js +0 -16
  630. package/dist/esm/components/icon/icons/codesandbox-icon.js.map +0 -1
  631. package/dist/esm/components/icon/icons/dribbble-icon.js +0 -16
  632. package/dist/esm/components/icon/icons/dribbble-icon.js.map +0 -1
  633. package/dist/esm/components/icon/icons/facebook-icon.js +0 -16
  634. package/dist/esm/components/icon/icons/facebook-icon.js.map +0 -1
  635. package/dist/esm/components/icon/icons/figma-icon.js +0 -16
  636. package/dist/esm/components/icon/icons/figma-icon.js.map +0 -1
  637. package/dist/esm/components/icon/icons/framer-icon.js +0 -16
  638. package/dist/esm/components/icon/icons/framer-icon.js.map +0 -1
  639. package/dist/esm/components/icon/icons/github-icon.js +0 -16
  640. package/dist/esm/components/icon/icons/github-icon.js.map +0 -1
  641. package/dist/esm/components/icon/icons/gitlab-icon.js +0 -16
  642. package/dist/esm/components/icon/icons/gitlab-icon.js.map +0 -1
  643. package/dist/esm/components/icon/icons/instagram-icon.js +0 -16
  644. package/dist/esm/components/icon/icons/instagram-icon.js.map +0 -1
  645. package/dist/esm/components/icon/icons/linkedin-icon.js +0 -16
  646. package/dist/esm/components/icon/icons/linkedin-icon.js.map +0 -1
  647. package/dist/esm/components/icon/icons/pocket-icon.js +0 -16
  648. package/dist/esm/components/icon/icons/pocket-icon.js.map +0 -1
  649. package/dist/esm/components/icon/icons/rail-symbol-icon.js +0 -16
  650. package/dist/esm/components/icon/icons/rail-symbol-icon.js.map +0 -1
  651. package/dist/esm/components/icon/icons/slack-icon.js +0 -16
  652. package/dist/esm/components/icon/icons/slack-icon.js.map +0 -1
  653. package/dist/esm/components/icon/icons/trello-icon.js +0 -16
  654. package/dist/esm/components/icon/icons/trello-icon.js.map +0 -1
  655. package/dist/esm/components/icon/icons/twitch-icon.js +0 -16
  656. package/dist/esm/components/icon/icons/twitch-icon.js.map +0 -1
  657. package/dist/esm/components/icon/icons/twitter-icon.js +0 -16
  658. package/dist/esm/components/icon/icons/twitter-icon.js.map +0 -1
  659. package/dist/esm/components/icon/icons/youtube-icon.js +0 -16
  660. package/dist/esm/components/icon/icons/youtube-icon.js.map +0 -1
  661. package/dist/types/components/icon/icons/chromium-icon.d.ts +0 -15
  662. package/dist/types/components/icon/icons/codepen-icon.d.ts +0 -15
  663. package/dist/types/components/icon/icons/codesandbox-icon.d.ts +0 -15
  664. package/dist/types/components/icon/icons/dribbble-icon.d.ts +0 -15
  665. package/dist/types/components/icon/icons/facebook-icon.d.ts +0 -15
  666. package/dist/types/components/icon/icons/figma-icon.d.ts +0 -15
  667. package/dist/types/components/icon/icons/framer-icon.d.ts +0 -15
  668. package/dist/types/components/icon/icons/github-icon.d.ts +0 -15
  669. package/dist/types/components/icon/icons/gitlab-icon.d.ts +0 -15
  670. package/dist/types/components/icon/icons/instagram-icon.d.ts +0 -15
  671. package/dist/types/components/icon/icons/linkedin-icon.d.ts +0 -15
  672. package/dist/types/components/icon/icons/pocket-icon.d.ts +0 -15
  673. package/dist/types/components/icon/icons/rail-symbol-icon.d.ts +0 -15
  674. package/dist/types/components/icon/icons/slack-icon.d.ts +0 -15
  675. package/dist/types/components/icon/icons/trello-icon.d.ts +0 -15
  676. package/dist/types/components/icon/icons/twitch-icon.d.ts +0 -15
  677. package/dist/types/components/icon/icons/twitter-icon.d.ts +0 -15
  678. package/dist/types/components/icon/icons/youtube-icon.d.ts +0 -15
@@ -3,8 +3,8 @@
3
3
  import { utils_exports } from "../../utils/index.js";
4
4
  import { createSlotComponent } from "../../core/components/create-component.js";
5
5
  import "../../core/index.js";
6
- import { alphaSliderStyle } from "./alpha-slider.style.js";
7
6
  import { useValue } from "../../hooks/use-value/index.js";
7
+ import { alphaSliderStyle } from "./alpha-slider.style.js";
8
8
  import { checkersProps } from "../color-swatch/color-swatch.js";
9
9
  import "../color-swatch/index.js";
10
10
  import { HueSliderOverlay, HueSliderRoot, HueSliderThumb, HueSliderTrack } from "../hue-slider/hue-slider.js";
@@ -9,10 +9,10 @@ import { ChevronDownIcon } from "../icon/icons/chevron-down-icon.js";
9
9
  import { MinusIcon } from "../icon/icons/minus-icon.js";
10
10
  import { XIcon } from "../icon/icons/x-icon.js";
11
11
  import "../icon/index.js";
12
+ import { PopoverContent, PopoverRoot, PopoverTrigger, usePopoverStyleProps } from "../popover/popover.js";
13
+ import "../popover/index.js";
12
14
  import { useGroupItemProps } from "../group/use-group.js";
13
15
  import "../group/index.js";
14
- import { PopoverContent, PopoverRoot, PopoverTrigger } from "../popover/popover.js";
15
- import "../popover/index.js";
16
16
  import { useInputBorder } from "../input/use-input-border.js";
17
17
  import { useInputPropsContext } from "../input/input.js";
18
18
  import { InputElement } from "../input/input-element.js";
@@ -33,6 +33,7 @@ const { ComponentContext, PropsContext: AutocompletePropsContext, useComponentCo
33
33
  */
34
34
  const AutocompleteRoot = withProvider((props) => {
35
35
  const [groupItemProps, { className, css, colorScheme, animationScheme = "block-start", children, clearable = true, clearIcon = /* @__PURE__ */ jsx(XIcon, {}), duration, emptyIcon, errorBorderColor, focusBorderColor, icon, items: itemsProp, contentProps, elementProps, emptyProps, groupProps, iconProps, inputProps, optionProps, rootProps, ...rest }] = useGroupItemProps(props);
36
+ const popoverStyleProps = usePopoverStyleProps(rest);
36
37
  const { children: fieldChildren, descendants, items: computedItems, max, value, getClearIconProps, getContentProps, getFieldProps, getIconProps, getInputProps, getRootProps, getSeparatorProps, popoverProps, onActiveDescendant, onClose, onSelect } = useAutocomplete({
37
38
  items: useMemo(() => {
38
39
  if (itemsProp) return itemsProp;
@@ -42,7 +43,8 @@ const AutocompleteRoot = withProvider((props) => {
42
43
  Option: AutocompleteOption
43
44
  });
44
45
  }, [itemsProp, children]),
45
- ...rest
46
+ ...rest,
47
+ ...popoverStyleProps
46
48
  });
47
49
  const mergedPopoverProps = useMemo(() => ({
48
50
  animationScheme,
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Popover.Content"],"sources":["../../../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type {\n ComboboxItem,\n UseComboboxGroupProps,\n} from \"../../hooks/use-combobox\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { PopupAnimationProps } from \"../popover\"\nimport type { AutocompleteStyle } from \"./autocomplete.style\"\nimport type {\n UseAutocompleteOptionProps,\n UseAutocompleteProps,\n UseAutocompleteReturn,\n} from \"./use-autocomplete\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport {\n ComboboxContext,\n ComboboxDescendantsContext,\n ComboboxGroupContext,\n createComboboxChildren,\n createComboboxItem,\n useComboboxGroup,\n useComboboxGroupContext,\n} from \"../../hooks/use-combobox\"\nimport { cast, isArray } from \"../../utils\"\nimport { useGroupItemProps } from \"../group\"\nimport { CheckIcon, ChevronDownIcon, MinusIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover } from \"../popover\"\nimport { autocompleteStyle } from \"./autocomplete.style\"\nimport {\n AutocompleteContext,\n useAutocomplete,\n useAutocompleteOption,\n} from \"./use-autocomplete\"\n\ninterface ComponentContext\n extends\n Pick<UseAutocompleteReturn, \"getInputProps\" | \"getSeparatorProps\">,\n Pick<\n AutocompleteRootProps,\n \"emptyIcon\" | \"emptyProps\" | \"groupProps\" | \"inputProps\" | \"optionProps\"\n > {}\n\nexport interface AutocompleteRootProps<Multiple extends boolean = false>\n extends\n Omit<\n HTMLStyledProps,\n \"defaultValue\" | \"filter\" | \"offset\" | \"onChange\" | \"ref\" | \"value\"\n >,\n UseAutocompleteProps<Multiple>,\n PopupAnimationProps,\n ThemeProps<AutocompleteStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default true\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the empty element.\n */\n emptyIcon?: ReactNode\n /**\n * The icon to be used in the autocomplete.\n */\n icon?: ReactNode\n /**\n * Props for content element.\n */\n contentProps?: AutocompleteContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for empty element.\n */\n emptyProps?: AutocompleteEmptyProps\n /**\n * Props for group element.\n */\n groupProps?: Omit<AutocompleteGroupProps, \"children\" | \"label\">\n /**\n * Props for icon element.\n */\n iconProps?: AutocompleteIconProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for option element.\n */\n optionProps?: Omit<AutocompleteOptionProps, \"children\" | \"value\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: AutocompletePropsContext,\n useComponentContext,\n usePropsContext: useAutocompletePropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n AutocompleteRootProps,\n AutocompleteStyle,\n ComponentContext\n>(\"autocomplete\", autocompleteStyle)\n\nexport { AutocompletePropsContext, useAutocompletePropsContext }\n\n/**\n * `Autocomplete` is a component used to display suggestions in response to user text input.\n *\n * @see https://yamada-ui.com/docs/components/autocomplete\n */\nexport const AutocompleteRoot = withProvider(\n <Multiple extends boolean = false>(\n props: AutocompleteRootProps<Multiple>,\n ) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n animationScheme = \"block-start\",\n children,\n clearable = true,\n clearIcon = <XIcon />,\n duration,\n emptyIcon,\n errorBorderColor,\n focusBorderColor,\n icon,\n items: itemsProp,\n contentProps,\n elementProps,\n emptyProps,\n groupProps,\n iconProps,\n inputProps,\n optionProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const items = useMemo<ComboboxItem[]>(() => {\n if (itemsProp) return itemsProp\n\n return createComboboxItem(children, {\n Group: AutocompleteGroup,\n Label: AutocompleteLabel,\n Option: AutocompleteOption,\n })\n }, [itemsProp, children])\n const {\n children: fieldChildren,\n descendants,\n items: computedItems,\n max,\n value,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n getSeparatorProps,\n popoverProps,\n onActiveDescendant,\n onClose,\n onSelect,\n } = useAutocomplete({ items, ...rest })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const computedChildren = useMemo(\n () =>\n createComboboxChildren(computedItems, {\n Empty: AutocompleteEmpty,\n Group: AutocompleteGroup,\n Option: AutocompleteOption,\n }),\n [computedItems],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const comboboxContext = useMemo(\n () => ({ onActiveDescendant, onClose, onSelect }),\n [onActiveDescendant, onClose, onSelect],\n )\n const autocompleteContext = useMemo(() => ({ max, value }), [value, max])\n const componentContext = useMemo(\n () => ({\n emptyIcon,\n emptyProps,\n getInputProps,\n getSeparatorProps,\n groupProps,\n inputProps,\n optionProps,\n }),\n [\n emptyIcon,\n emptyProps,\n getInputProps,\n getSeparatorProps,\n groupProps,\n inputProps,\n optionProps,\n ],\n )\n const hasValue = isArray(value) ? !!value.length : !!value\n\n return (\n <ComboboxDescendantsContext value={descendants}>\n <ComboboxContext value={comboboxContext}>\n <AutocompleteContext value={autocompleteContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n <Popover.Trigger>\n <AutocompleteField {...getFieldProps(varProps)}>\n {fieldChildren}\n </AutocompleteField>\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <AutocompleteIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <AutocompleteIcon\n icon={icon}\n {...getIconProps(iconProps)}\n />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <AutocompleteContent\n {...cast<AutocompleteContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {computedChildren}\n </AutocompleteContent>\n </Popover.Root>\n </ComponentContext>\n </AutocompleteContext>\n </ComboboxContext>\n </ComboboxDescendantsContext>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n}) as GenericsComponent<{\n <Multiple extends boolean = false>(\n props: AutocompleteRootProps<Multiple>,\n ): ReactElement\n}>\n\ninterface AutocompleteFieldProps extends HTMLStyledProps {}\n\nconst AutocompleteField = withContext<\"div\", AutocompleteFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, ({ children, ...rest }) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n ...rest,\n children: (\n <>\n {children}\n <AutocompleteInput {...getInputProps(inputProps)} />\n </>\n ),\n }\n})\n\ninterface AutocompleteInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst AutocompleteInput = withContext<\"input\", AutocompleteInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface AutocompleteIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst AutocompleteIcon = withContext<\"div\", AutocompleteIconProps>(\n \"div\",\n \"icon\",\n)(undefined, ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n}))\n\ninterface AutocompleteContentProps extends Popover.ContentProps {}\n\nconst AutocompleteContent = withContext<\"div\", AutocompleteContentProps>(\n Popover.Content,\n \"content\",\n)()\n\nexport interface AutocompleteLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const AutocompleteLabel = withContext<\"span\", AutocompleteLabelProps>(\n \"span\",\n \"label\",\n)(undefined, (props) => {\n const { getLabelProps } = useComboboxGroupContext()\n\n return getLabelProps(props)\n})\n\nexport interface AutocompleteGroupProps\n extends UseComboboxGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: AutocompleteLabelProps\n}\n\nexport const AutocompleteGroup = withContext<\"div\", AutocompleteGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { groupProps } = useComponentContext()\n const { getGroupProps, getLabelProps } = useComboboxGroup({\n ...groupProps,\n ...rest,\n })\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <ComboboxGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? (\n <AutocompleteLabel {...labelProps}>{label}</AutocompleteLabel>\n ) : null}\n {children}\n </styled.div>\n </ComboboxGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface AutocompleteOptionProps\n extends UseAutocompleteOptionProps, HTMLStyledProps {\n /**\n * The icon to be used in the autocomplete option.\n */\n icon?: ReactNode\n}\n\nexport const AutocompleteOption = withContext<\"div\", AutocompleteOptionProps>(\n ({ children, icon: iconProp, ...rest }) => {\n const { optionProps: { icon, ...optionProps } = {} } = useComponentContext()\n const { getIndicatorProps, getOptionProps } = useAutocompleteOption({\n ...optionProps,\n ...rest,\n })\n\n return (\n <styled.div {...getOptionProps()}>\n <AutocompleteIndicator {...getIndicatorProps()}>\n {iconProp ?? icon ?? <CheckIcon />}\n </AutocompleteIndicator>\n {children}\n </styled.div>\n )\n },\n \"option\",\n)()\n\ninterface AutocompleteEmptyProps extends HTMLStyledProps {\n /**\n * The icon to be used in the autocomplete option.\n */\n icon?: ReactNode\n}\n\nconst AutocompleteEmpty = withContext<\"div\", AutocompleteEmptyProps>(\n ({ children, icon, ...rest }) => {\n const { emptyIcon, emptyProps } = useComponentContext()\n\n return (\n <styled.div {...emptyProps} {...rest}>\n <AutocompleteIndicator>\n {icon ?? emptyIcon ?? <MinusIcon />}\n </AutocompleteIndicator>\n {children}\n </styled.div>\n )\n },\n \"empty\",\n)()\n\ninterface AutocompleteIndicatorProps extends HTMLStyledProps {}\n\nconst AutocompleteIndicator = withContext<\"div\", AutocompleteIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Popover.Content"],"sources":["../../../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type {\n ComboboxItem,\n UseComboboxGroupProps,\n} from \"../../hooks/use-combobox\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { AutocompleteStyle } from \"./autocomplete.style\"\nimport type {\n UseAutocompleteOptionProps,\n UseAutocompleteProps,\n UseAutocompleteReturn,\n} from \"./use-autocomplete\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport {\n ComboboxContext,\n ComboboxDescendantsContext,\n ComboboxGroupContext,\n createComboboxChildren,\n createComboboxItem,\n useComboboxGroup,\n useComboboxGroupContext,\n} from \"../../hooks/use-combobox\"\nimport { cast, isArray } from \"../../utils\"\nimport { useGroupItemProps } from \"../group\"\nimport { CheckIcon, ChevronDownIcon, MinusIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { autocompleteStyle } from \"./autocomplete.style\"\nimport {\n AutocompleteContext,\n useAutocomplete,\n useAutocompleteOption,\n} from \"./use-autocomplete\"\n\ninterface ComponentContext\n extends\n Pick<UseAutocompleteReturn, \"getInputProps\" | \"getSeparatorProps\">,\n Pick<\n AutocompleteRootProps,\n \"emptyIcon\" | \"emptyProps\" | \"groupProps\" | \"inputProps\" | \"optionProps\"\n > {}\n\nexport interface AutocompleteRootProps<Multiple extends boolean = false>\n extends\n Omit<\n HTMLStyledProps,\n \"defaultValue\" | \"filter\" | \"offset\" | \"onChange\" | \"ref\" | \"value\"\n >,\n Merge<UseAutocompleteProps<Multiple>, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n ThemeProps<AutocompleteStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default true\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the empty element.\n */\n emptyIcon?: ReactNode\n /**\n * The icon to be used in the autocomplete.\n */\n icon?: ReactNode\n /**\n * Props for content element.\n */\n contentProps?: AutocompleteContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for empty element.\n */\n emptyProps?: AutocompleteEmptyProps\n /**\n * Props for group element.\n */\n groupProps?: Omit<AutocompleteGroupProps, \"children\" | \"label\">\n /**\n * Props for icon element.\n */\n iconProps?: AutocompleteIconProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for option element.\n */\n optionProps?: Omit<AutocompleteOptionProps, \"children\" | \"value\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: AutocompletePropsContext,\n useComponentContext,\n usePropsContext: useAutocompletePropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n AutocompleteRootProps,\n AutocompleteStyle,\n ComponentContext\n>(\"autocomplete\", autocompleteStyle)\n\nexport { AutocompletePropsContext, useAutocompletePropsContext }\n\n/**\n * `Autocomplete` is a component used to display suggestions in response to user text input.\n *\n * @see https://yamada-ui.com/docs/components/autocomplete\n */\nexport const AutocompleteRoot = withProvider(\n <Multiple extends boolean = false>(\n props: AutocompleteRootProps<Multiple>,\n ) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n animationScheme = \"block-start\",\n children,\n clearable = true,\n clearIcon = <XIcon />,\n duration,\n emptyIcon,\n errorBorderColor,\n focusBorderColor,\n icon,\n items: itemsProp,\n contentProps,\n elementProps,\n emptyProps,\n groupProps,\n iconProps,\n inputProps,\n optionProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const items = useMemo<ComboboxItem[]>(() => {\n if (itemsProp) return itemsProp\n\n return createComboboxItem(children, {\n Group: AutocompleteGroup,\n Label: AutocompleteLabel,\n Option: AutocompleteOption,\n })\n }, [itemsProp, children])\n const {\n children: fieldChildren,\n descendants,\n items: computedItems,\n max,\n value,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n getSeparatorProps,\n popoverProps,\n onActiveDescendant,\n onClose,\n onSelect,\n } = useAutocomplete({ items, ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const computedChildren = useMemo(\n () =>\n createComboboxChildren(computedItems, {\n Empty: AutocompleteEmpty,\n Group: AutocompleteGroup,\n Option: AutocompleteOption,\n }),\n [computedItems],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const comboboxContext = useMemo(\n () => ({ onActiveDescendant, onClose, onSelect }),\n [onActiveDescendant, onClose, onSelect],\n )\n const autocompleteContext = useMemo(() => ({ max, value }), [value, max])\n const componentContext = useMemo(\n () => ({\n emptyIcon,\n emptyProps,\n getInputProps,\n getSeparatorProps,\n groupProps,\n inputProps,\n optionProps,\n }),\n [\n emptyIcon,\n emptyProps,\n getInputProps,\n getSeparatorProps,\n groupProps,\n inputProps,\n optionProps,\n ],\n )\n const hasValue = isArray(value) ? !!value.length : !!value\n\n return (\n <ComboboxDescendantsContext value={descendants}>\n <ComboboxContext value={comboboxContext}>\n <AutocompleteContext value={autocompleteContext}>\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n <Popover.Trigger>\n <AutocompleteField {...getFieldProps(varProps)}>\n {fieldChildren}\n </AutocompleteField>\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <AutocompleteIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <AutocompleteIcon\n icon={icon}\n {...getIconProps(iconProps)}\n />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <AutocompleteContent\n {...cast<AutocompleteContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n {computedChildren}\n </AutocompleteContent>\n </Popover.Root>\n </ComponentContext>\n </AutocompleteContext>\n </ComboboxContext>\n </ComboboxDescendantsContext>\n )\n },\n \"root\",\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n}) as GenericsComponent<{\n <Multiple extends boolean = false>(\n props: AutocompleteRootProps<Multiple>,\n ): ReactElement\n}>\n\ninterface AutocompleteFieldProps extends HTMLStyledProps {}\n\nconst AutocompleteField = withContext<\"div\", AutocompleteFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, ({ children, ...rest }) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n ...rest,\n children: (\n <>\n {children}\n <AutocompleteInput {...getInputProps(inputProps)} />\n </>\n ),\n }\n})\n\ninterface AutocompleteInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst AutocompleteInput = withContext<\"input\", AutocompleteInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface AutocompleteIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst AutocompleteIcon = withContext<\"div\", AutocompleteIconProps>(\n \"div\",\n \"icon\",\n)(undefined, ({ children, icon, ...rest }) => ({\n children: icon || children || <ChevronDownIcon />,\n ...rest,\n}))\n\ninterface AutocompleteContentProps extends Popover.ContentProps {}\n\nconst AutocompleteContent = withContext<\"div\", AutocompleteContentProps>(\n Popover.Content,\n \"content\",\n)()\n\nexport interface AutocompleteLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const AutocompleteLabel = withContext<\"span\", AutocompleteLabelProps>(\n \"span\",\n \"label\",\n)(undefined, (props) => {\n const { getLabelProps } = useComboboxGroupContext()\n\n return getLabelProps(props)\n})\n\nexport interface AutocompleteGroupProps\n extends UseComboboxGroupProps, HTMLStyledProps {\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the label component.\n */\n labelProps?: AutocompleteLabelProps\n}\n\nexport const AutocompleteGroup = withContext<\"div\", AutocompleteGroupProps>(\n ({ children, label, labelProps, ...rest }) => {\n const { groupProps } = useComponentContext()\n const { getGroupProps, getLabelProps } = useComboboxGroup({\n ...groupProps,\n ...rest,\n })\n const context = useMemo(() => ({ getLabelProps }), [getLabelProps])\n\n return (\n <ComboboxGroupContext value={context}>\n <styled.div {...getGroupProps()}>\n {label ? (\n <AutocompleteLabel {...labelProps}>{label}</AutocompleteLabel>\n ) : null}\n {children}\n </styled.div>\n </ComboboxGroupContext>\n )\n },\n \"group\",\n)()\n\nexport interface AutocompleteOptionProps\n extends UseAutocompleteOptionProps, HTMLStyledProps {\n /**\n * The icon to be used in the autocomplete option.\n */\n icon?: ReactNode\n}\n\nexport const AutocompleteOption = withContext<\"div\", AutocompleteOptionProps>(\n ({ children, icon: iconProp, ...rest }) => {\n const { optionProps: { icon, ...optionProps } = {} } = useComponentContext()\n const { getIndicatorProps, getOptionProps } = useAutocompleteOption({\n ...optionProps,\n ...rest,\n })\n\n return (\n <styled.div {...getOptionProps()}>\n <AutocompleteIndicator {...getIndicatorProps()}>\n {iconProp ?? icon ?? <CheckIcon />}\n </AutocompleteIndicator>\n {children}\n </styled.div>\n )\n },\n \"option\",\n)()\n\ninterface AutocompleteEmptyProps extends HTMLStyledProps {\n /**\n * The icon to be used in the autocomplete option.\n */\n icon?: ReactNode\n}\n\nconst AutocompleteEmpty = withContext<\"div\", AutocompleteEmptyProps>(\n ({ children, icon, ...rest }) => {\n const { emptyIcon, emptyProps } = useComponentContext()\n\n return (\n <styled.div {...emptyProps} {...rest}>\n <AutocompleteIndicator>\n {icon ?? emptyIcon ?? <MinusIcon />}\n </AutocompleteIndicator>\n {children}\n </styled.div>\n )\n },\n \"empty\",\n)()\n\ninterface AutocompleteIndicatorProps extends HTMLStyledProps {}\n\nconst AutocompleteIndicator = withContext<\"div\", AutocompleteIndicatorProps>(\n \"div\",\n \"indicator\",\n)()\n"],"mappings":"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"}
@@ -10,10 +10,26 @@ const PLACEMENT_MAP = {
10
10
  align: "right",
11
11
  verticalAlign: "middle"
12
12
  },
13
+ "center-end-end": {
14
+ align: "right",
15
+ verticalAlign: "bottom"
16
+ },
17
+ "center-end-start": {
18
+ align: "right",
19
+ verticalAlign: "top"
20
+ },
13
21
  "center-start": {
14
22
  align: "left",
15
23
  verticalAlign: "middle"
16
24
  },
25
+ "center-start-end": {
26
+ align: "left",
27
+ verticalAlign: "bottom"
28
+ },
29
+ "center-start-start": {
30
+ align: "left",
31
+ verticalAlign: "top"
32
+ },
17
33
  end: {
18
34
  align: "center",
19
35
  verticalAlign: "bottom"
@@ -1 +1 @@
1
- {"version":3,"file":"use-chart.js","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...props,\n }),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;AAkBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,gBAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,yBAAyB,SAElD,OAAU;AAMZ,QAAO;EAAE;EAAoB,aAJT,aAAa,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,eAA2B,aAC9B,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;CAED,MAAMC,iBAA0C,aAC7C,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,uBA7BwC,aACvC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,oBAjBE,aACD,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,2CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,6CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,4CAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,4CAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,eAA+C,aAClD,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAUD,QAAO;EAAE,iBAR2B,aACjC,WAAW;GACV,GAAG;GACH,GAAG;GACJ,GACD,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMC,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,mBA7B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMA,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,eA/BqC,aAC3C,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
1
+ {"version":3,"file":"use-chart.js","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"center-end-start\": { align: \"right\", verticalAlign: \"top\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n \"center-start-end\": { align: \"left\", verticalAlign: \"bottom\" },\n \"center-start-start\": { align: \"left\", verticalAlign: \"top\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...props,\n }),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;AAkBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,kBAAkB;EAAE,OAAO;EAAS,eAAe;EAAU;CAC7D,oBAAoB;EAAE,OAAO;EAAS,eAAe;EAAO;CAC5D,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,oBAAoB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC9D,sBAAsB;EAAE,OAAO;EAAQ,eAAe;EAAO;CAC7D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,gBAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,yBAAyB,SAElD,OAAU;AAMZ,QAAO;EAAE;EAAoB,aAJT,aAAa,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,eAA2B,aAC9B,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;CAED,MAAMC,iBAA0C,aAC7C,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,uBA7BwC,aACvC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,oBAjBE,aACD,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,2CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,6CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,4CAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,4CAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,eAA+C,aAClD,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAUD,QAAO;EAAE,iBAR2B,aACjC,WAAW;GACV,GAAG;GACH,GAAG;GACJ,GACD,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMC,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,mBA7B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMA,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,eA/BqC,aAC3C,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
@@ -5,12 +5,12 @@ import { createSlotComponent } from "../../core/components/create-component.js";
5
5
  import "../../core/index.js";
6
6
  import { PipetteIcon } from "../icon/icons/pipette-icon.js";
7
7
  import "../icon/index.js";
8
+ import { PopoverContent, PopoverRoot, PopoverTrigger, usePopoverStyleProps } from "../popover/popover.js";
9
+ import "../popover/index.js";
8
10
  import { ColorSwatch } from "../color-swatch/color-swatch.js";
9
11
  import "../color-swatch/index.js";
10
12
  import { useGroupItemProps } from "../group/use-group.js";
11
13
  import "../group/index.js";
12
- import { PopoverContent, PopoverRoot, PopoverTrigger } from "../popover/popover.js";
13
- import "../popover/index.js";
14
14
  import { useInputBorder } from "../input/use-input-border.js";
15
15
  import { useInputPropsContext } from "../input/input.js";
16
16
  import { InputElement } from "../input/input-element.js";
@@ -32,7 +32,11 @@ const { ComponentContext, PropsContext: ColorPickerPropsContext, useComponentCon
32
32
  */
33
33
  const ColorPicker = withProvider((props) => {
34
34
  const [groupItemProps, { className, css, colorScheme, size, animationScheme = "block-start", colorSwatches, colorSwatchGroupColumns, colorSwatchGroupLabel, duration, errorBorderColor, focusBorderColor, withColorSwatch = true, withEyeDropper = true, alphaSliderProps, colorSwatchGroupLabelProps, colorSwatchGroupProps, colorSwatchItemProps, colorSwatchProps, contentProps, elementProps, endElementProps, eyeDropperProps, fieldProps, hueSliderProps, inputProps, rootProps, saturationSliderProps, selectorProps, startElementProps, ...rest }] = useGroupItemProps(props);
35
- const { value, getContentProps, getEyeDropperProps, getFieldProps, getInputProps, getRootProps, getSelectorProps, popoverProps } = useColorPicker(rest);
35
+ const popoverStyleProps = usePopoverStyleProps(rest);
36
+ const { value, getContentProps, getEyeDropperProps, getFieldProps, getInputProps, getRootProps, getSelectorProps, popoverProps } = useColorPicker({
37
+ ...rest,
38
+ ...popoverStyleProps
39
+ });
36
40
  const mergedPopoverProps = useMemo(() => ({
37
41
  animationScheme,
38
42
  duration,
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker.js","names":["Popover.Root","InputGroup.Root","InputGroup.Element","Popover.Trigger","ColorSelector.Root","Popover.Content"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type {\n Direction,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { PopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n UseColorPickerProps,\n PopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Direction\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker(rest)\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n {withColorSwatch ? (\n <InputGroup.Element {...elementProps} {...startElementProps}>\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n clickable\n {...elementProps}\n {...endElementProps}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAoHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACE,oBACF,gBACA,iBACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACE,eAAe,KAAK;CACxB,MAAM,qBAAqB,eAClB;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAW,eAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,oBAAC;EAAiB,OANK,eAChB;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG,qBAACA;GAAa,GAAI;cAChB,qBAACC;IACY;IACN;IACQ;IACb,GAAI,aAAa;KAAE,GAAG;KAAgB,GAAG;KAAW,CAAC;;KAEpD,kBACC,oBAACC;MAAmB,GAAI;MAAc,GAAI;gBACxC,oBAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,oBAACC,4BACC,oBAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC,oBAACD;MACC;MACA,GAAI;MACJ,GAAI;gBAEJ,oBAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,oBAAC;IACC,2BACE,wCAAgC,aAAa,CAAC,CAC/C;cAED,oBAACE;KACO;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAO;EAAE,GAFO,sBAAsB;EAEjB,GAAG;EAAO;EAC/B;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,oBAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7B,aACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,oBAAC,gBAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,YACzBC,gBACA,UACD,EAAE"}
1
+ {"version":3,"file":"color-picker.js","names":["Popover.Root","InputGroup.Root","InputGroup.Element","Popover.Trigger","ColorSelector.Root","Popover.Content"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n Merge<UseColorPickerProps, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n {withColorSwatch ? (\n <InputGroup.Element {...elementProps} {...startElementProps}>\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n clickable\n {...elementProps}\n {...endElementProps}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACE,oBACF,gBACA,iBACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,oBAAoB,qBAAqB,KAAK;CACpD,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACE,eAAe;EAAE,GAAG;EAAM,GAAG;EAAmB,CAAC;CACrD,MAAM,qBAAqB,eAClB;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAW,eAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,oBAAC;EAAiB,OANK,eAChB;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG,qBAACA;GAAa,GAAI;cAChB,qBAACC;IACY;IACN;IACQ;IACb,GAAI,aAAa;KAAE,GAAG;KAAgB,GAAG;KAAW,CAAC;;KAEpD,kBACC,oBAACC;MAAmB,GAAI;MAAc,GAAI;gBACxC,oBAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,oBAACC,4BACC,oBAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC,oBAACD;MACC;MACA,GAAI;MACJ,GAAI;gBAEJ,oBAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,oBAAC;IACC,2BACE,wCAAgC,aAAa,CAAC,CAC/C;cAED,oBAACE;KACO;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAO;EAAE,GAFO,sBAAsB;EAEjB,GAAG;EAAO;EAC/B;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,oBAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7B,aACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,oBAAC,gBAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,YACzBC,gBACA,UACD,EAAE"}
@@ -15,13 +15,13 @@ import { useCallback, useEffect, useRef } from "react";
15
15
  //#region src/components/color-picker/use-color-picker.ts
16
16
  const useColorPicker = (props) => {
17
17
  const { t } = useI18n("colorPicker");
18
- const { props: { id, ref, name, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledbyProp, allowInput = true, closeOnChange = false, defaultValue, disabled, fallbackValue = "#FFFFFF", format: formatProp, formatInput, openOnChange = true, openOnClick = true, openOnFocus = true, pattern, placeholder, readOnly, required, value: valueProp, onChange: onChangeProp, onInputChange: onInputChangeProp, ...rest }, ariaProps, dataProps, eventProps } = useFieldProps(props);
18
+ const { props: { id, ref, name, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledbyProp, allowInput = true, closeOnChange = false, defaultValue, disabled, fallbackValue = "#FFFFFF", format: formatProp, formatInput, openOnChange = true, openOnClick = true, openOnFocus = true, pattern, placeholder, placement = "end-start", readOnly, required, value: valueProp, onChange: onChangeProp, onInputChange: onInputChangeProp, ...rest }, ariaProps, dataProps, eventProps } = useFieldProps(props);
19
19
  const { interactive, open, getContentProps: getComboboxContentProps, getTriggerProps, popoverProps, onClose, onOpen } = useCombobox({
20
20
  disabled,
21
21
  openOnClick: false,
22
22
  openOnEnter: !allowInput,
23
23
  openOnSpace: !allowInput,
24
- placement: "end-start",
24
+ placement,
25
25
  readOnly,
26
26
  transferFocus: false,
27
27
  ...ariaProps,
@@ -1 +1 @@
1
- {"version":3,"file":"use-color-picker.js","names":["value","getRootProps: PropGetter","props","getFieldProps: PropGetter","ref","getInputProps: PropGetter<\"input\">","getEyeDropperProps: PropGetter"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement: \"end-start\",\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n }\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) {\n onClose()\n } else if (runIfFn(openOnChange, ev)) {\n onOpen()\n }\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-color-picker.js","names":["value","getRootProps: PropGetter","props","getFieldProps: PropGetter","ref","getInputProps: PropGetter<\"input\">","getEyeDropperProps: PropGetter"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n placement = \"end-start\",\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement,\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n }\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) {\n onClose()\n } else if (runIfFn(openOnChange, ev)) {\n onOpen()\n }\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ColorSwatch } from "./color-swatch.js";
2
1
  import { useI18n } from "../../providers/i18n-provider/i18n-provider.js";
3
2
  import "../../providers/i18n-provider/index.js";
3
+ import { ColorSwatch } from "./color-swatch.js";
4
4
  import { Grid } from "../grid/grid.js";
5
5
  import "../grid/index.js";
6
6
  import { jsx } from "react/jsx-runtime";
@@ -8,10 +8,10 @@ import "../../core/index.js";
8
8
  import { CalendarIcon } from "../icon/icons/calendar-icon.js";
9
9
  import { XIcon } from "../icon/icons/x-icon.js";
10
10
  import "../icon/index.js";
11
+ import { PopoverContent, PopoverRoot, PopoverTrigger, usePopoverStyleProps } from "../popover/popover.js";
12
+ import "../popover/index.js";
11
13
  import { useGroupItemProps } from "../group/use-group.js";
12
14
  import "../group/index.js";
13
- import { PopoverContent, PopoverRoot, PopoverTrigger } from "../popover/popover.js";
14
- import "../popover/index.js";
15
15
  import { useInputBorder } from "../input/use-input-border.js";
16
16
  import { useInputPropsContext } from "../input/input.js";
17
17
  import { InputElement } from "../input/input-element.js";
@@ -34,7 +34,11 @@ const { ComponentContext, PropsContext: DatePickerPropsContext, useComponentCont
34
34
  */
35
35
  const DatePicker = withProvider((props) => {
36
36
  const [groupItemProps, { className, css, colorScheme, size, animationScheme = "block-start", children, clearable = true, clearIcon = /* @__PURE__ */ jsx(XIcon, {}), duration, errorBorderColor, focusBorderColor, icon, calendarProps, contentProps, elementProps, iconProps, inputProps, rootProps, ...rest }] = useGroupItemProps(props);
37
- const { children: fieldChildren, range, separator, value, getCalendarProps, getClearIconProps, getContentProps, getFieldProps, getIconProps, getInputProps, getRootProps, popoverProps } = useDatePicker(rest);
37
+ const popoverStyleProps = usePopoverStyleProps(rest);
38
+ const { children: fieldChildren, range, separator, value, getCalendarProps, getClearIconProps, getContentProps, getFieldProps, getIconProps, getInputProps, getRootProps, popoverProps } = useDatePicker({
39
+ ...rest,
40
+ ...popoverStyleProps
41
+ });
38
42
  const mergedPopoverProps = useMemo(() => ({
39
43
  animationScheme,
40
44
  duration,
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Calendar.Root","Popover.Content"],"sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n Direction,\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { PopupAnimationProps } from \"../popover\"\nimport type { DatePickerStyle } from \"./date-picker.style\"\nimport type { UseDatePickerProps, UseDatePickerReturn } from \"./use-date-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useFieldSizing } from \"../../hooks/use-field-sizing\"\nimport { cast, isArray, isDate, isObject, mergeRefs } from \"../../utils\"\nimport { Calendar } from \"../calendar\"\nimport { useGroupItemProps } from \"../group\"\nimport { CalendarIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover } from \"../popover\"\nimport { datePickerStyle } from \"./date-picker.style\"\nimport { useDatePicker } from \"./use-date-picker\"\n\ninterface ComponentContext\n extends\n Pick<UseDatePickerReturn, \"getInputProps\" | \"range\" | \"separator\">,\n Pick<DatePickerProps, \"inputProps\"> {}\n\nexport interface DatePickerProps<\n Multiple extends boolean = false,\n Range extends boolean = false,\n>\n extends\n Omit<\n HTMLStyledProps,\n \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\" | \"value\"\n >,\n UseDatePickerProps<Multiple, Range>,\n PopupAnimationProps,\n ThemeProps<DatePickerStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default true\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the date picker.\n */\n icon?: ReactNode\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Direction\n /**\n * The size of the calendar component.\n */\n calendarProps?: Calendar.RootProps<Multiple, Range>\n /**\n * Props for content element.\n */\n contentProps?: DatePickerContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for icon element.\n */\n iconProps?: DatePickerIconProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: DatePickerPropsContext,\n useComponentContext,\n usePropsContext: useDatePickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<DatePickerProps, DatePickerStyle, ComponentContext>(\n \"date-picker\",\n datePickerStyle,\n)\n\nexport { DatePickerPropsContext, useDatePickerPropsContext }\n\n/**\n * `DatePicker` is a component used for users to select a date.\n *\n * @see https://yamada-ui.com/docs/components/date-picker\n */\nexport const DatePicker = withProvider(\n <Multiple extends boolean = false, Range extends boolean = false>(\n props: DatePickerProps<Multiple, Range>,\n ) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n children,\n clearable = true,\n clearIcon = <XIcon />,\n duration,\n errorBorderColor,\n focusBorderColor,\n icon,\n calendarProps,\n contentProps,\n elementProps,\n iconProps,\n inputProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const {\n children: fieldChildren,\n range,\n separator,\n value,\n getCalendarProps,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n popoverProps,\n } = useDatePicker(rest)\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const selectProps = useMemo<Calendar.RootProps[\"selectProps\"]>(\n () => ({ contentProps: { portalProps: { disabled: true } } }),\n [],\n )\n const componentContext = useMemo(\n () => ({ range, separator, getInputProps, inputProps }),\n [getInputProps, inputProps, range, separator],\n )\n const hasValue = isArray(value)\n ? !!value.length\n : isObject(value) && !isDate(value)\n ? !!value.end || !!value.start\n : !!value\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n <Popover.Trigger>\n <DatePickerField {...getFieldProps(varProps)}>\n {fieldChildren}\n </DatePickerField>\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <DatePickerIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <DatePickerIcon icon={icon} {...getIconProps(iconProps)} />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <DatePickerContent\n {...cast<DatePickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <Calendar.Root\n colorScheme={colorScheme}\n size={size}\n fixed={false}\n selectProps={selectProps}\n {...getCalendarProps(calendarProps)}\n >\n {children}\n </Calendar.Root>\n </DatePickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n}) as GenericsComponent<{\n <Multiple extends boolean = false, Range extends boolean = false>(\n props: DatePickerProps<Multiple, Range>,\n ): ReactElement\n}>\n\ninterface DatePickerFieldProps extends HTMLStyledProps {}\n\nconst DatePickerField = withContext<\"div\", DatePickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, ({ children, ...rest }) => {\n const { range, separator, getInputProps, inputProps } = useComponentContext()\n const computedChildren = useMemo(() => {\n if (range) {\n return (\n <>\n <DatePickerAdjustInput\n {...getInputProps({ align: \"start\", ...inputProps })}\n />\n <DatePickerSeparator>{separator}</DatePickerSeparator>\n <DatePickerAdjustInput\n {...getInputProps({ align: \"end\", ...inputProps })}\n />\n </>\n )\n } else {\n return (\n <>\n {children}\n <DatePickerInput {...getInputProps(inputProps)} />\n </>\n )\n }\n }, [children, getInputProps, inputProps, range, separator])\n\n return {\n ...rest,\n children: computedChildren,\n }\n})\n\ninterface DatePickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst DatePickerInput = withContext<\"input\", DatePickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface DatePickerAdjustInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst DatePickerAdjustInput = withContext<\"input\", DatePickerAdjustInputProps>(\n ({ ref, placeholder, value, ...rest }) => {\n const { ref: inputRef, text } = useFieldSizing({\n value: value?.toString() || placeholder,\n })\n\n return (\n <>\n {text}\n\n <styled.input\n ref={mergeRefs(ref, inputRef)}\n placeholder={placeholder}\n value={value}\n {...rest}\n />\n </>\n )\n },\n [\"input\", \"adjust\"],\n)()\n\ninterface DatePickerSeparatorProps extends HTMLStyledProps<\"span\"> {}\n\nconst DatePickerSeparator = withContext<\"span\", DatePickerSeparatorProps>(\n \"span\",\n \"separator\",\n)()\n\ninterface DatePickerIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst DatePickerIcon = withContext<\"div\", DatePickerIconProps>(\"div\", \"icon\")(\n undefined,\n ({ children, icon, ...rest }) => ({\n children: icon || children || <CalendarIcon />,\n ...rest,\n }),\n)\n\ninterface DatePickerContentProps extends Popover.ContentProps {}\n\nconst DatePickerContent = withContext<\"div\", DatePickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-picker.js","names":["Popover.Root","InputGroup.Root","Popover.Trigger","InputGroup.Element","Calendar.Root","Popover.Content"],"sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { DatePickerStyle } from \"./date-picker.style\"\nimport type { UseDatePickerProps, UseDatePickerReturn } from \"./use-date-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useFieldSizing } from \"../../hooks/use-field-sizing\"\nimport { cast, isArray, isDate, isObject, mergeRefs } from \"../../utils\"\nimport { Calendar } from \"../calendar\"\nimport { useGroupItemProps } from \"../group\"\nimport { CalendarIcon, XIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { datePickerStyle } from \"./date-picker.style\"\nimport { useDatePicker } from \"./use-date-picker\"\n\ninterface ComponentContext\n extends\n Pick<UseDatePickerReturn, \"getInputProps\" | \"range\" | \"separator\">,\n Pick<DatePickerProps, \"inputProps\"> {}\n\nexport interface DatePickerProps<\n Multiple extends boolean = false,\n Range extends boolean = false,\n>\n extends\n Omit<\n HTMLStyledProps,\n \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\" | \"value\"\n >,\n Merge<UseDatePickerProps<Multiple, Range>, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n ThemeProps<DatePickerStyle>,\n UseInputBorderProps {\n /**\n * If `true`, display the clear icon.\n *\n * @default true\n */\n clearable?: boolean\n /**\n * The icon to be used in the clear button.\n */\n clearIcon?: ReactNode\n /**\n * The icon to be used in the date picker.\n */\n icon?: ReactNode\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * The size of the calendar component.\n */\n calendarProps?: Calendar.RootProps<Multiple, Range>\n /**\n * Props for content element.\n */\n contentProps?: DatePickerContentProps\n /**\n * The props for the end element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * Props for icon element.\n */\n iconProps?: DatePickerIconProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n}\n\nconst {\n ComponentContext,\n PropsContext: DatePickerPropsContext,\n useComponentContext,\n usePropsContext: useDatePickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<DatePickerProps, DatePickerStyle, ComponentContext>(\n \"date-picker\",\n datePickerStyle,\n)\n\nexport { DatePickerPropsContext, useDatePickerPropsContext }\n\n/**\n * `DatePicker` is a component used for users to select a date.\n *\n * @see https://yamada-ui.com/docs/components/date-picker\n */\nexport const DatePicker = withProvider(\n <Multiple extends boolean = false, Range extends boolean = false>(\n props: DatePickerProps<Multiple, Range>,\n ) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n children,\n clearable = true,\n clearIcon = <XIcon />,\n duration,\n errorBorderColor,\n focusBorderColor,\n icon,\n calendarProps,\n contentProps,\n elementProps,\n iconProps,\n inputProps,\n rootProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n children: fieldChildren,\n range,\n separator,\n value,\n getCalendarProps,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n popoverProps,\n } = useDatePicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const selectProps = useMemo<Calendar.RootProps[\"selectProps\"]>(\n () => ({ contentProps: { portalProps: { disabled: true } } }),\n [],\n )\n const componentContext = useMemo(\n () => ({ range, separator, getInputProps, inputProps }),\n [getInputProps, inputProps, range, separator],\n )\n const hasValue = isArray(value)\n ? !!value.length\n : isObject(value) && !isDate(value)\n ? !!value.end || !!value.start\n : !!value\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n <Popover.Trigger>\n <DatePickerField {...getFieldProps(varProps)}>\n {fieldChildren}\n </DatePickerField>\n </Popover.Trigger>\n\n <InputGroup.Element\n {...{ clickable: clearable && hasValue, ...elementProps }}\n >\n {clearable && hasValue ? (\n <DatePickerIcon\n icon={clearIcon}\n {...getClearIconProps(iconProps)}\n />\n ) : (\n <DatePickerIcon icon={icon} {...getIconProps(iconProps)} />\n )}\n </InputGroup.Element>\n </InputGroup.Root>\n\n <DatePickerContent\n {...cast<DatePickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <Calendar.Root\n colorScheme={colorScheme}\n size={size}\n fixed={false}\n selectProps={selectProps}\n {...getCalendarProps(calendarProps)}\n >\n {children}\n </Calendar.Root>\n </DatePickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n}) as GenericsComponent<{\n <Multiple extends boolean = false, Range extends boolean = false>(\n props: DatePickerProps<Multiple, Range>,\n ): ReactElement\n}>\n\ninterface DatePickerFieldProps extends HTMLStyledProps {}\n\nconst DatePickerField = withContext<\"div\", DatePickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, ({ children, ...rest }) => {\n const { range, separator, getInputProps, inputProps } = useComponentContext()\n const computedChildren = useMemo(() => {\n if (range) {\n return (\n <>\n <DatePickerAdjustInput\n {...getInputProps({ align: \"start\", ...inputProps })}\n />\n <DatePickerSeparator>{separator}</DatePickerSeparator>\n <DatePickerAdjustInput\n {...getInputProps({ align: \"end\", ...inputProps })}\n />\n </>\n )\n } else {\n return (\n <>\n {children}\n <DatePickerInput {...getInputProps(inputProps)} />\n </>\n )\n }\n }, [children, getInputProps, inputProps, range, separator])\n\n return {\n ...rest,\n children: computedChildren,\n }\n})\n\ninterface DatePickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst DatePickerInput = withContext<\"input\", DatePickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface DatePickerAdjustInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst DatePickerAdjustInput = withContext<\"input\", DatePickerAdjustInputProps>(\n ({ ref, placeholder, value, ...rest }) => {\n const { ref: inputRef, text } = useFieldSizing({\n value: value?.toString() || placeholder,\n })\n\n return (\n <>\n {text}\n\n <styled.input\n ref={mergeRefs(ref, inputRef)}\n placeholder={placeholder}\n value={value}\n {...rest}\n />\n </>\n )\n },\n [\"input\", \"adjust\"],\n)()\n\ninterface DatePickerSeparatorProps extends HTMLStyledProps<\"span\"> {}\n\nconst DatePickerSeparator = withContext<\"span\", DatePickerSeparatorProps>(\n \"span\",\n \"separator\",\n)()\n\ninterface DatePickerIconProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst DatePickerIcon = withContext<\"div\", DatePickerIconProps>(\"div\", \"icon\")(\n undefined,\n ({ children, icon, ...rest }) => ({\n children: icon || children || <CalendarIcon />,\n ...rest,\n }),\n)\n\ninterface DatePickerContentProps extends Popover.ContentProps {}\n\nconst DatePickerContent = withContext<\"div\", DatePickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":"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"}
@@ -32,7 +32,7 @@ const useDatePicker = ({ maxDate = DEFAULT_MAX_DATE, minDate = DEFAULT_MIN_DATE,
32
32
  const { props: { id, ref, name, allowInput = true, allowInputBeyond = false, closeOnChange = false, multiple = false, closeOnSelect = !multiple, defaultInputValue, defaultMonth = /* @__PURE__ */ new Date(), range = false, defaultValue = range ? {
33
33
  end: void 0,
34
34
  start: void 0
35
- } : multiple ? [] : void 0, disabled, focusOnClear = true, format, inputValue: inputValueProp, locale = defaultLocale, max, month: monthProp, openOnChange = true, openOnClick = true, openOnFocus = true, parseDate, pattern, placeholder: placeholderProp, readOnly, render = defaultRender, required, separator = range ? "-" : ",", value: valueProp, onChange: onChangeProp, onChangeMonth: onChangeMonthProp, onInputChange: onInputChangeProp, ...computedProps }, ariaProps, dataProps, eventProps } = useFieldProps(props);
35
+ } : multiple ? [] : void 0, disabled, focusOnClear = true, format, inputValue: inputValueProp, locale = defaultLocale, max, month: monthProp, openOnChange = true, openOnClick = true, openOnFocus = true, parseDate, pattern, placeholder: placeholderProp, placement = "end-start", readOnly, render = defaultRender, required, separator = range ? "-" : ",", value: valueProp, onChange: onChangeProp, onChangeMonth: onChangeMonthProp, onInputChange: onInputChangeProp, ...computedProps }, ariaProps, dataProps, eventProps } = useFieldProps(props);
36
36
  const dateTimeFormat = useDateTimeFormat({ locale });
37
37
  const { calendarFormat, inputFormat } = useMemo(() => {
38
38
  const { input: inputFormat$1, ...calendarFormat$1 } = format ?? {};
@@ -115,7 +115,7 @@ const useDatePicker = ({ maxDate = DEFAULT_MAX_DATE, minDate = DEFAULT_MIN_DATE,
115
115
  openOnClick: false,
116
116
  openOnEnter: !allowInput,
117
117
  openOnSpace: !allowInput,
118
- placement: "end-start",
118
+ placement,
119
119
  readOnly,
120
120
  transferFocus: false,
121
121
  ...ariaProps,