@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
@@ -1 +1 @@
1
- {"version":3,"file":"use-date-picker.js","names":["defaultRender: DatePickerRender","inputFormat","calendarFormat","value","onClear","startPlaceholder","inputValue","minDate","maxDate","ev","getRootProps: PropGetter","props","getFieldProps: PropGetter","ref","getInputProps: PropGetter<\"input\", { align?: InputAlign }>","inputProps: HTMLProps<\"input\">","getContentProps: PropGetter","getCalendarProps: PropGetter<UseCalendarProps<Multiple, Range>>","getIconProps: PropGetter"],"sources":["../../../../src/components/date-picker/use-date-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { Dict } from \"../../utils\"\nimport type {\n CalendarFormat,\n MaybeDateValue,\n UseCalendarProps,\n} from \"../calendar\"\nimport type { FieldProps } from \"../field\"\nimport dayjs from \"dayjs\"\nimport {\n cloneElement,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n cast,\n contains,\n dataAttr,\n focusTransfer,\n handlerAll,\n isArray,\n isComposing,\n isDate,\n isNumber,\n isObject,\n mergeRefs,\n runIfFn,\n runKeyAction,\n useUpdateEffect,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport {\n DEFAULT_MAX_DATE,\n DEFAULT_MIN_DATE,\n getAdjustedMonth,\n isAfterDate,\n isBeforeDate,\n updateMaybeDateValue,\n useCalendarProps,\n} from \"../calendar\"\nimport { useFieldProps } from \"../field\"\nimport { useDateTimeFormat } from \"../format\"\n\nexport interface DatePickerFormat extends CalendarFormat {\n input?: Intl.DateTimeFormatOptions | null\n}\n\ntype InputAlign = \"end\" | \"start\"\ntype MaybeInputValue<Range extends boolean = false> = Range extends true\n ? { end?: string; start?: string }\n : string | undefined\n\ninterface DatePickerRenderProps {\n count: number\n date: Date\n focused: boolean\n index: number\n separator: string\n value: string\n onClear: () => void\n max?: number\n}\n\nexport interface DatePickerRender {\n (props: DatePickerRenderProps): ReactNode\n}\n\nconst defaultRender: DatePickerRender = ({\n count,\n focused,\n index,\n max,\n separator,\n value,\n}) => {\n const last = count - 1 === index\n\n return (\n <span style={{ marginInlineEnd: \"var(--gap)\" }}>\n {value}\n {((!isNumber(max) || count < max) && focused) || !last ? separator : null}\n </span>\n )\n}\n\nexport interface UseDatePickerProps<\n Multiple extends boolean = false,\n Range extends boolean = false,\n>\n extends\n Omit<UseCalendarProps<Multiple, Range>, \"format\" | \"ref\">,\n Omit<\n UseComboboxProps,\n \"defaultValue\" | \"initialFocusValue\" | \"onChange\" | \"ref\" | \"value\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, allows input of dates beyond the `minDate` and `maxDate` restrictions.\n *\n * @default true\n */\n allowInputBeyond?: boolean\n /**\n * If `true`, the date 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 input.\n */\n defaultInputValue?: MaybeInputValue<Range>\n /**\n * If `true`, the input will be focused when the clear icon is clicked.\n *\n * @default true\n */\n focusOnClear?: boolean\n /**\n * The format used for conversion.\n * Check the docs to see the format of possible modifiers you can pass.\n *\n * @see https://day.js.org/docs/en/display/format#list-of-localized-formats\n */\n format?: DatePickerFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The value of the input.\n */\n inputValue?: MaybeInputValue<Range>\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the date 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 date picker will be opened when the input is focused.\n *\n * @default true\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for date picker.\n */\n placeholder?: string\n /**\n * The visual separator between each value.\n *\n * @default ','\n */\n separator?: string\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (value: MaybeInputValue<Range>) => void\n /**\n * Function that converts the input value to Date type.\n */\n parseDate?: (value: string) => Date | undefined\n /**\n * The function to render the selected date.\n */\n render?: (props: DatePickerRenderProps) => ReactNode\n}\n\nexport const useDatePicker = <\n Multiple extends boolean = false,\n Range extends boolean = false,\n>({\n maxDate = DEFAULT_MAX_DATE,\n minDate = DEFAULT_MIN_DATE,\n ...props\n}: UseDatePickerProps<Multiple, Range> = {}) => {\n if (dayjs(minDate).isAfter(dayjs(maxDate))) maxDate = minDate\n\n const { locale: defaultLocale, t } = useI18n(\"datePicker\")\n const {\n props: {\n id,\n ref,\n name,\n allowInput = true,\n allowInputBeyond = false,\n closeOnChange = false,\n multiple = false,\n closeOnSelect = !multiple,\n defaultInputValue,\n defaultMonth = new Date(),\n range = false,\n defaultValue = (range\n ? { end: undefined, start: undefined }\n : multiple\n ? []\n : undefined) as MaybeDateValue<Multiple, Range>,\n disabled,\n focusOnClear = true,\n format,\n inputValue: inputValueProp,\n locale = defaultLocale,\n max,\n month: monthProp,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n parseDate,\n pattern,\n placeholder: placeholderProp,\n readOnly,\n render = defaultRender,\n required,\n separator = range ? \"-\" : \",\",\n value: valueProp,\n onChange: onChangeProp,\n onChangeMonth: onChangeMonthProp,\n onInputChange: onInputChangeProp,\n ...computedProps\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const dateTimeFormat = useDateTimeFormat({ locale })\n const { calendarFormat, inputFormat } = useMemo(() => {\n const { input: inputFormat, ...calendarFormat } = format ?? {}\n const defaultInputFormat: Intl.DateTimeFormatOptions = {\n day: \"numeric\",\n month: \"long\",\n year: \"numeric\",\n }\n\n return {\n calendarFormat,\n inputFormat:\n inputFormat !== null ? (inputFormat ?? defaultInputFormat) : undefined,\n }\n }, [format])\n const [calendarProps, rest] = useCalendarProps<Multiple, Range>(computedProps)\n const { excludeDate } = calendarProps\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const startInputRef = useRef<HTMLInputElement>(null)\n const endInputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [focused, setFocused] = useState(false)\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue as MaybeDateValue<Multiple, Range>,\n value: valueProp,\n onChange: onChangeProp,\n })\n const [month, setMonth] = useControllableState({\n defaultValue: () => {\n let value = defaultMonth\n\n if (dayjs(minDate).isAfter(dayjs(defaultMonth)))\n value = dayjs(minDate).set(\"date\", 1).toDate()\n\n if (valueProp) {\n value = getAdjustedMonth(valueProp, value)\n } else if (defaultValue) {\n value = getAdjustedMonth(defaultValue, value)\n }\n\n return value\n },\n value: monthProp,\n onChange: onChangeMonthProp,\n })\n const stringToDate = useCallback(\n (value: string, start: Date = minDate, end: Date = maxDate) => {\n let date = parseDate?.(value)\n\n if (!date && dayjs(value).isValid()) date = dayjs(value, locale).toDate()\n\n if (date == null) return undefined\n if (excludeDate?.(date)) return undefined\n\n if (!allowInputBeyond) {\n if (isBeforeDate(date, start)) date = start\n if (isAfterDate(date, end)) date = end\n }\n\n return date\n },\n [allowInputBeyond, excludeDate, locale, maxDate, minDate, parseDate],\n )\n const dateToString = useCallback(\n (date?: Date) => {\n if (date == null) return \"\"\n\n return dateTimeFormat(date, inputFormat)\n },\n [dateTimeFormat, inputFormat],\n )\n const [inputValue, setInputValue] = useControllableState({\n defaultValue: () => {\n if (defaultInputValue) {\n if (isObject(defaultInputValue)) {\n if (dayjs(defaultInputValue.start).isValid())\n defaultInputValue.start = dateTimeFormat(\n dayjs(defaultInputValue.start).toDate(),\n inputFormat,\n )\n\n if (dayjs(defaultInputValue.end).isValid())\n defaultInputValue.end = dateTimeFormat(\n dayjs(defaultInputValue.end).toDate(),\n inputFormat,\n )\n\n return defaultInputValue\n } else {\n if (dayjs(defaultInputValue).isValid()) {\n return dateTimeFormat(\n dayjs(defaultInputValue).toDate(),\n inputFormat,\n ) as MaybeInputValue<Range>\n } else {\n return defaultInputValue as MaybeInputValue<Range>\n }\n }\n } else if (isDate(value)) {\n return dateToString(value) as MaybeInputValue<Range>\n } else if (isObject(value) && !isArray(value)) {\n return {\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>\n } else {\n return \"\" as MaybeInputValue<Range>\n }\n },\n value: inputValueProp,\n onChange: onInputChangeProp,\n })\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\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 children = useMemo<ReactNode>(() => {\n if (!isArray(value)) return null\n\n const count = value.length\n\n return value.map((date, index) => {\n const value = dateToString(date)\n\n const onClear = (ev?: MouseEvent<HTMLElement>) => {\n ev?.preventDefault()\n ev?.stopPropagation()\n\n setValue(\n (prev) =>\n updateMaybeDateValue(date, max)(prev) as MaybeDateValue<\n Multiple,\n Range\n >,\n )\n }\n\n const component = render({\n count,\n date,\n focused,\n index,\n max,\n separator,\n value,\n onClear,\n })\n\n if (isValidElement<Dict>(component)) {\n return cloneElement(component, { ...component.props, key: index })\n } else {\n return component\n }\n })\n }, [dateToString, focused, max, render, separator, setValue, value])\n const { endPlaceholder, startPlaceholder } = useMemo(() => {\n if (range) {\n const startPlaceholder =\n placeholderProp ?? dateTimeFormat(new Date(), inputFormat)\n const endPlaceholder =\n placeholderProp ??\n dateTimeFormat(dayjs().add(1, \"day\").toDate(), inputFormat)\n\n return { endPlaceholder, startPlaceholder }\n } else {\n const placeholder =\n placeholderProp ?? dateTimeFormat(new Date(), inputFormat)\n\n return { endPlaceholder: placeholder, startPlaceholder: placeholder }\n }\n }, [dateTimeFormat, inputFormat, placeholderProp, range])\n\n const onChange = useCallback(\n (value: MaybeDateValue<Multiple, Range>) => {\n setValue(value)\n\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else if (isObject(value) && !isDate(value)) {\n setInputValue({\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(value) as MaybeInputValue<Range>)\n }\n\n if (!closeOnSelect) return\n\n if (isObject(value) && !isArray(value) && !isDate(value)) {\n if (value.end && value.start) onClose()\n } else {\n onClose()\n }\n },\n [setValue, closeOnSelect, setInputValue, dateToString, onClose],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n if (isArray(value) && value.length === max) return\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 (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n if (isArray(value)) {\n const date = stringToDate(inputValue)\n\n setInputValue(inputValue as MaybeInputValue<Range>)\n\n if (date) setMonth(dayjs(date).set(\"date\", 1).toDate())\n } else if (isObject(value) && !isDate(value)) {\n const align = contains(endInputRef.current, ev.target) ? \"end\" : \"start\"\n const minDate =\n value.start && align === \"end\"\n ? dayjs(value.start).add(1, \"day\").toDate()\n : undefined\n const maxDate =\n value.end && align === \"start\"\n ? dayjs(value.end).subtract(1, \"day\").toDate()\n : undefined\n const date = stringToDate(inputValue, minDate, maxDate)\n\n setInputValue((prev) =>\n isObject(prev)\n ? Object.assign({}, prev, { [align]: inputValue })\n : prev,\n )\n setValue((prev) =>\n isObject(prev) && !isDate(prev) ? { ...prev, [align]: date } : prev,\n )\n } else {\n const date = stringToDate(inputValue)\n\n setInputValue(inputValue as MaybeInputValue<Range>)\n setValue(date as MaybeDateValue<Multiple, Range>)\n }\n },\n [\n allowInput,\n closeOnChange,\n max,\n onClose,\n onOpen,\n openOnChange,\n pattern,\n setInputValue,\n setMonth,\n setValue,\n stringToDate,\n value,\n ],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (disabled || isComposing(ev)) return\n\n const inputValue = cast<HTMLInputElement>(ev.target).value\n\n runKeyAction(\n ev,\n {\n Backspace: (ev) => {\n if (!value || isDate(value)) return\n if (inputValue.length) return\n\n if (isArray(value)) {\n ev.preventDefault()\n\n setValue((prev) =>\n isArray(prev)\n ? (prev.slice(0, -1) as MaybeDateValue<Multiple, Range>)\n : prev,\n )\n } else if (contains(endInputRef.current, ev.target)) {\n ev.preventDefault()\n\n setInputValue({ end: \"\", start: \"\" } as MaybeInputValue<Range>)\n setValue({ end: undefined, start: undefined } as MaybeDateValue<\n Multiple,\n Range\n >)\n\n startInputRef.current?.focus()\n }\n },\n Enter: (ev) => {\n if (!open || !inputValue.length) return\n\n if (isDate(value) || isArray(value)) {\n const date = stringToDate(inputValue)\n\n if (!date) return\n\n ev.preventDefault()\n\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(date) as MaybeInputValue<Range>)\n }\n\n setValue(\n (prev) =>\n updateMaybeDateValue(date, max)(prev) as MaybeDateValue<\n Multiple,\n Range\n >,\n )\n } else if (isObject(value)) {\n const align = contains(endInputRef.current, ev.target)\n ? \"end\"\n : \"start\"\n const minDate =\n value.start && align === \"end\"\n ? dayjs(value.start).add(1, \"day\").toDate()\n : undefined\n const maxDate =\n value.end && align === \"start\"\n ? dayjs(value.end).subtract(1, \"day\").toDate()\n : undefined\n const date = stringToDate(inputValue, minDate, maxDate)\n\n if (!date) return\n\n ev.preventDefault()\n\n setInputValue((prev) =>\n isObject(prev)\n ? Object.assign({}, prev, { [align]: dateToString(date) })\n : prev,\n )\n setValue((prev) =>\n isObject(prev) && !isDate(prev)\n ? { ...prev, [align]: date }\n : prev,\n )\n\n if (align === \"start\") endInputRef.current?.focus()\n }\n },\n },\n { preventDefault: false },\n )\n },\n [\n dateToString,\n disabled,\n max,\n open,\n setInputValue,\n setValue,\n stringToDate,\n value,\n ],\n )\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) {\n if (isObject(value) && !isArray(value) && !isDate(value)) {\n if (contains(startInputRef.current, ev.target)) return\n if (contains(endInputRef.current, ev.target)) return\n\n const { end, start } = value\n\n if ((!start && !end) || !!end) {\n startInputRef.current?.focus()\n } else {\n endInputRef.current?.focus()\n }\n } else {\n startInputRef.current?.focus()\n }\n }\n\n if (openOnClick) onOpen()\n },\n [allowInput, interactive, onOpen, openOnClick, value],\n )\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 setFocused(true)\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 setFocused(false)\n\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else if (isObject(value) && !isDate(value)) {\n setInputValue((prev) =>\n isObject(prev)\n ? ({\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>)\n : prev,\n )\n } else {\n setInputValue(dateToString(value) as MaybeInputValue<Range>)\n }\n }\n },\n [dateToString, setInputValue, value],\n )\n\n const onClear = useCallback(() => {\n if (!interactive) return\n\n setValue((prev) => {\n if (isDate(prev)) {\n return undefined as MaybeDateValue<Multiple, Range>\n } else if (isArray(prev)) {\n return [] as unknown as MaybeDateValue<Multiple, Range>\n } else if (isObject(prev)) {\n return { end: undefined, start: undefined } as MaybeDateValue<\n Multiple,\n Range\n >\n } else {\n return prev\n }\n })\n\n setInputValue(\n (range ? { end: \"\", start: \"\" } : \"\") as MaybeInputValue<Range>,\n )\n\n if (focusOnClear) {\n if (allowInput) {\n startInputRef.current?.focus()\n } else {\n fieldRef.current?.focus()\n }\n }\n }, [allowInput, focusOnClear, interactive, range, setInputValue, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? startInputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n useUpdateEffect(() => {\n setMonth((prev) => getAdjustedMonth(value, prev))\n }, [value, range])\n\n useUpdateEffect(() => {\n if (isArray(valueProp)) return\n\n if (isObject(valueProp) && !isDate(valueProp)) {\n setInputValue({\n end: dateToString(valueProp.end),\n start: dateToString(valueProp.start),\n } as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(valueProp) as MaybeInputValue<Range>)\n }\n }, [valueProp])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n \"data-range\": dataAttr(range),\n ...dataProps,\n ...props,\n }),\n [dataProps, range],\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\", { align?: InputAlign }> =\n useCallback(\n ({ align = \"start\", ...props } = {}) => {\n const inputProps: HTMLProps<\"input\"> = {\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n autoComplete: \"off\",\n disabled,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }\n\n if (isObject(inputValue)) {\n if (align === \"start\") {\n inputProps.ref = mergeRefs(props.ref, ref, startInputRef)\n inputProps.value = inputValue.start\n inputProps.placeholder = startPlaceholder\n } else {\n inputProps.ref = mergeRefs(props.ref, ref, endInputRef)\n inputProps.value = inputValue.end\n inputProps.placeholder = endPlaceholder\n }\n\n if (!inputValue.start && align === \"start\") {\n inputProps.id = id\n inputProps.name = name\n }\n\n if (!!inputValue.start && align === \"end\") {\n inputProps.id = id\n inputProps.name = name\n }\n } else {\n inputProps.ref = mergeRefs(props.ref, ref, startInputRef)\n inputProps.value = inputValue\n inputProps.id = id\n inputProps.name = name\n\n if (isArray(value)) {\n inputProps.style = {\n ...(!focused && !!value.length\n ? visuallyHiddenAttributes.style\n : {}),\n ...inputProps.style,\n }\n inputProps.placeholder = !value.length\n ? startPlaceholder\n : undefined\n inputProps[\"data-max\"] = dataAttr(\n isNumber(max) && value.length >= max,\n )\n } else {\n inputProps.placeholder = startPlaceholder\n }\n }\n\n return inputProps\n },\n [\n allowInput,\n dataProps,\n disabled,\n endPlaceholder,\n focused,\n id,\n inputValue,\n max,\n name,\n onBlur,\n onInputFocus,\n onInputChange,\n onKeyDown,\n onMouseDown,\n readOnly,\n ref,\n required,\n startPlaceholder,\n value,\n ],\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 getCalendarProps: PropGetter<UseCalendarProps<Multiple, Range>> =\n useCallback(\n (props) =>\n ({\n disabled: !interactive,\n format: calendarFormat,\n locale,\n max,\n maxDate,\n minDate,\n month,\n multiple,\n range,\n value,\n onChange,\n onChangeMonth: setMonth,\n ...calendarProps,\n ...props,\n }) as UseCalendarProps<Multiple, Range>,\n [\n interactive,\n calendarFormat,\n locale,\n max,\n maxDate,\n minDate,\n month,\n multiple,\n range,\n value,\n onChange,\n setMonth,\n calendarProps,\n ],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props) => ({ ...dataProps, ...props }),\n [dataProps],\n )\n\n const getClearIconProps: PropGetter = useCallback(\n (props = {}) =>\n getIconProps({\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Clear value\"),\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClear),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, { Enter: onClear, Space: onClear }),\n ),\n }),\n [getIconProps, interactive, onClear, t],\n )\n\n return {\n children,\n dateToString,\n inputValue,\n interactive,\n month,\n open,\n range,\n separator,\n setInputValue,\n setMonth,\n setValue,\n stringToDate,\n value,\n getCalendarProps,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n popoverProps,\n onChange,\n onClose,\n onInputChange,\n onOpen,\n }\n}\n\nexport type UseDatePickerReturn = ReturnType<typeof useDatePicker>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-date-picker.js","names":["defaultRender: DatePickerRender","inputFormat","calendarFormat","value","onClear","startPlaceholder","inputValue","minDate","maxDate","ev","getRootProps: PropGetter","props","getFieldProps: PropGetter","ref","getInputProps: PropGetter<\"input\", { align?: InputAlign }>","inputProps: HTMLProps<\"input\">","getContentProps: PropGetter","getCalendarProps: PropGetter<UseCalendarProps<Multiple, Range>>","getIconProps: PropGetter"],"sources":["../../../../src/components/date-picker/use-date-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n} from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { Dict } from \"../../utils\"\nimport type {\n CalendarFormat,\n MaybeDateValue,\n UseCalendarProps,\n} from \"../calendar\"\nimport type { FieldProps } from \"../field\"\nimport dayjs from \"dayjs\"\nimport {\n cloneElement,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n cast,\n contains,\n dataAttr,\n focusTransfer,\n handlerAll,\n isArray,\n isComposing,\n isDate,\n isNumber,\n isObject,\n mergeRefs,\n runIfFn,\n runKeyAction,\n useUpdateEffect,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport {\n DEFAULT_MAX_DATE,\n DEFAULT_MIN_DATE,\n getAdjustedMonth,\n isAfterDate,\n isBeforeDate,\n updateMaybeDateValue,\n useCalendarProps,\n} from \"../calendar\"\nimport { useFieldProps } from \"../field\"\nimport { useDateTimeFormat } from \"../format\"\n\nexport interface DatePickerFormat extends CalendarFormat {\n input?: Intl.DateTimeFormatOptions | null\n}\n\ntype InputAlign = \"end\" | \"start\"\ntype MaybeInputValue<Range extends boolean = false> = Range extends true\n ? { end?: string; start?: string }\n : string | undefined\n\ninterface DatePickerRenderProps {\n count: number\n date: Date\n focused: boolean\n index: number\n separator: string\n value: string\n onClear: () => void\n max?: number\n}\n\nexport interface DatePickerRender {\n (props: DatePickerRenderProps): ReactNode\n}\n\nconst defaultRender: DatePickerRender = ({\n count,\n focused,\n index,\n max,\n separator,\n value,\n}) => {\n const last = count - 1 === index\n\n return (\n <span style={{ marginInlineEnd: \"var(--gap)\" }}>\n {value}\n {((!isNumber(max) || count < max) && focused) || !last ? separator : null}\n </span>\n )\n}\n\nexport interface UseDatePickerProps<\n Multiple extends boolean = false,\n Range extends boolean = false,\n>\n extends\n Omit<UseCalendarProps<Multiple, Range>, \"format\" | \"ref\">,\n Omit<\n UseComboboxProps,\n \"defaultValue\" | \"initialFocusValue\" | \"onChange\" | \"ref\" | \"value\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, allows input of dates beyond the `minDate` and `maxDate` restrictions.\n *\n * @default true\n */\n allowInputBeyond?: boolean\n /**\n * If `true`, the date 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 input.\n */\n defaultInputValue?: MaybeInputValue<Range>\n /**\n * If `true`, the input will be focused when the clear icon is clicked.\n *\n * @default true\n */\n focusOnClear?: boolean\n /**\n * The format used for conversion.\n * Check the docs to see the format of possible modifiers you can pass.\n *\n * @see https://day.js.org/docs/en/display/format#list-of-localized-formats\n */\n format?: DatePickerFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The value of the input.\n */\n inputValue?: MaybeInputValue<Range>\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the date 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 date picker will be opened when the input is focused.\n *\n * @default true\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for date picker.\n */\n placeholder?: string\n /**\n * The visual separator between each value.\n *\n * @default ','\n */\n separator?: string\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (value: MaybeInputValue<Range>) => void\n /**\n * Function that converts the input value to Date type.\n */\n parseDate?: (value: string) => Date | undefined\n /**\n * The function to render the selected date.\n */\n render?: (props: DatePickerRenderProps) => ReactNode\n}\n\nexport const useDatePicker = <\n Multiple extends boolean = false,\n Range extends boolean = false,\n>({\n maxDate = DEFAULT_MAX_DATE,\n minDate = DEFAULT_MIN_DATE,\n ...props\n}: UseDatePickerProps<Multiple, Range> = {}) => {\n if (dayjs(minDate).isAfter(dayjs(maxDate))) maxDate = minDate\n\n const { locale: defaultLocale, t } = useI18n(\"datePicker\")\n const {\n props: {\n id,\n ref,\n name,\n allowInput = true,\n allowInputBeyond = false,\n closeOnChange = false,\n multiple = false,\n closeOnSelect = !multiple,\n defaultInputValue,\n defaultMonth = new Date(),\n range = false,\n defaultValue = (range\n ? { end: undefined, start: undefined }\n : multiple\n ? []\n : undefined) as MaybeDateValue<Multiple, Range>,\n disabled,\n focusOnClear = true,\n format,\n inputValue: inputValueProp,\n locale = defaultLocale,\n max,\n month: monthProp,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n parseDate,\n pattern,\n placeholder: placeholderProp,\n placement = \"end-start\",\n readOnly,\n render = defaultRender,\n required,\n separator = range ? \"-\" : \",\",\n value: valueProp,\n onChange: onChangeProp,\n onChangeMonth: onChangeMonthProp,\n onInputChange: onInputChangeProp,\n ...computedProps\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const dateTimeFormat = useDateTimeFormat({ locale })\n const { calendarFormat, inputFormat } = useMemo(() => {\n const { input: inputFormat, ...calendarFormat } = format ?? {}\n const defaultInputFormat: Intl.DateTimeFormatOptions = {\n day: \"numeric\",\n month: \"long\",\n year: \"numeric\",\n }\n\n return {\n calendarFormat,\n inputFormat:\n inputFormat !== null ? (inputFormat ?? defaultInputFormat) : undefined,\n }\n }, [format])\n const [calendarProps, rest] = useCalendarProps<Multiple, Range>(computedProps)\n const { excludeDate } = calendarProps\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const startInputRef = useRef<HTMLInputElement>(null)\n const endInputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [focused, setFocused] = useState(false)\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue as MaybeDateValue<Multiple, Range>,\n value: valueProp,\n onChange: onChangeProp,\n })\n const [month, setMonth] = useControllableState({\n defaultValue: () => {\n let value = defaultMonth\n\n if (dayjs(minDate).isAfter(dayjs(defaultMonth)))\n value = dayjs(minDate).set(\"date\", 1).toDate()\n\n if (valueProp) {\n value = getAdjustedMonth(valueProp, value)\n } else if (defaultValue) {\n value = getAdjustedMonth(defaultValue, value)\n }\n\n return value\n },\n value: monthProp,\n onChange: onChangeMonthProp,\n })\n const stringToDate = useCallback(\n (value: string, start: Date = minDate, end: Date = maxDate) => {\n let date = parseDate?.(value)\n\n if (!date && dayjs(value).isValid()) date = dayjs(value, locale).toDate()\n\n if (date == null) return undefined\n if (excludeDate?.(date)) return undefined\n\n if (!allowInputBeyond) {\n if (isBeforeDate(date, start)) date = start\n if (isAfterDate(date, end)) date = end\n }\n\n return date\n },\n [allowInputBeyond, excludeDate, locale, maxDate, minDate, parseDate],\n )\n const dateToString = useCallback(\n (date?: Date) => {\n if (date == null) return \"\"\n\n return dateTimeFormat(date, inputFormat)\n },\n [dateTimeFormat, inputFormat],\n )\n const [inputValue, setInputValue] = useControllableState({\n defaultValue: () => {\n if (defaultInputValue) {\n if (isObject(defaultInputValue)) {\n if (dayjs(defaultInputValue.start).isValid())\n defaultInputValue.start = dateTimeFormat(\n dayjs(defaultInputValue.start).toDate(),\n inputFormat,\n )\n\n if (dayjs(defaultInputValue.end).isValid())\n defaultInputValue.end = dateTimeFormat(\n dayjs(defaultInputValue.end).toDate(),\n inputFormat,\n )\n\n return defaultInputValue\n } else {\n if (dayjs(defaultInputValue).isValid()) {\n return dateTimeFormat(\n dayjs(defaultInputValue).toDate(),\n inputFormat,\n ) as MaybeInputValue<Range>\n } else {\n return defaultInputValue as MaybeInputValue<Range>\n }\n }\n } else if (isDate(value)) {\n return dateToString(value) as MaybeInputValue<Range>\n } else if (isObject(value) && !isArray(value)) {\n return {\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>\n } else {\n return \"\" as MaybeInputValue<Range>\n }\n },\n value: inputValueProp,\n onChange: onInputChangeProp,\n })\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\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 children = useMemo<ReactNode>(() => {\n if (!isArray(value)) return null\n\n const count = value.length\n\n return value.map((date, index) => {\n const value = dateToString(date)\n\n const onClear = (ev?: MouseEvent<HTMLElement>) => {\n ev?.preventDefault()\n ev?.stopPropagation()\n\n setValue(\n (prev) =>\n updateMaybeDateValue(date, max)(prev) as MaybeDateValue<\n Multiple,\n Range\n >,\n )\n }\n\n const component = render({\n count,\n date,\n focused,\n index,\n max,\n separator,\n value,\n onClear,\n })\n\n if (isValidElement<Dict>(component)) {\n return cloneElement(component, { ...component.props, key: index })\n } else {\n return component\n }\n })\n }, [dateToString, focused, max, render, separator, setValue, value])\n const { endPlaceholder, startPlaceholder } = useMemo(() => {\n if (range) {\n const startPlaceholder =\n placeholderProp ?? dateTimeFormat(new Date(), inputFormat)\n const endPlaceholder =\n placeholderProp ??\n dateTimeFormat(dayjs().add(1, \"day\").toDate(), inputFormat)\n\n return { endPlaceholder, startPlaceholder }\n } else {\n const placeholder =\n placeholderProp ?? dateTimeFormat(new Date(), inputFormat)\n\n return { endPlaceholder: placeholder, startPlaceholder: placeholder }\n }\n }, [dateTimeFormat, inputFormat, placeholderProp, range])\n\n const onChange = useCallback(\n (value: MaybeDateValue<Multiple, Range>) => {\n setValue(value)\n\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else if (isObject(value) && !isDate(value)) {\n setInputValue({\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(value) as MaybeInputValue<Range>)\n }\n\n if (!closeOnSelect) return\n\n if (isObject(value) && !isArray(value) && !isDate(value)) {\n if (value.end && value.start) onClose()\n } else {\n onClose()\n }\n },\n [setValue, closeOnSelect, setInputValue, dateToString, onClose],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n if (isArray(value) && value.length === max) return\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 (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n if (isArray(value)) {\n const date = stringToDate(inputValue)\n\n setInputValue(inputValue as MaybeInputValue<Range>)\n\n if (date) setMonth(dayjs(date).set(\"date\", 1).toDate())\n } else if (isObject(value) && !isDate(value)) {\n const align = contains(endInputRef.current, ev.target) ? \"end\" : \"start\"\n const minDate =\n value.start && align === \"end\"\n ? dayjs(value.start).add(1, \"day\").toDate()\n : undefined\n const maxDate =\n value.end && align === \"start\"\n ? dayjs(value.end).subtract(1, \"day\").toDate()\n : undefined\n const date = stringToDate(inputValue, minDate, maxDate)\n\n setInputValue((prev) =>\n isObject(prev)\n ? Object.assign({}, prev, { [align]: inputValue })\n : prev,\n )\n setValue((prev) =>\n isObject(prev) && !isDate(prev) ? { ...prev, [align]: date } : prev,\n )\n } else {\n const date = stringToDate(inputValue)\n\n setInputValue(inputValue as MaybeInputValue<Range>)\n setValue(date as MaybeDateValue<Multiple, Range>)\n }\n },\n [\n allowInput,\n closeOnChange,\n max,\n onClose,\n onOpen,\n openOnChange,\n pattern,\n setInputValue,\n setMonth,\n setValue,\n stringToDate,\n value,\n ],\n )\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLInputElement>) => {\n if (disabled || isComposing(ev)) return\n\n const inputValue = cast<HTMLInputElement>(ev.target).value\n\n runKeyAction(\n ev,\n {\n Backspace: (ev) => {\n if (!value || isDate(value)) return\n if (inputValue.length) return\n\n if (isArray(value)) {\n ev.preventDefault()\n\n setValue((prev) =>\n isArray(prev)\n ? (prev.slice(0, -1) as MaybeDateValue<Multiple, Range>)\n : prev,\n )\n } else if (contains(endInputRef.current, ev.target)) {\n ev.preventDefault()\n\n setInputValue({ end: \"\", start: \"\" } as MaybeInputValue<Range>)\n setValue({ end: undefined, start: undefined } as MaybeDateValue<\n Multiple,\n Range\n >)\n\n startInputRef.current?.focus()\n }\n },\n Enter: (ev) => {\n if (!open || !inputValue.length) return\n\n if (isDate(value) || isArray(value)) {\n const date = stringToDate(inputValue)\n\n if (!date) return\n\n ev.preventDefault()\n\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(date) as MaybeInputValue<Range>)\n }\n\n setValue(\n (prev) =>\n updateMaybeDateValue(date, max)(prev) as MaybeDateValue<\n Multiple,\n Range\n >,\n )\n } else if (isObject(value)) {\n const align = contains(endInputRef.current, ev.target)\n ? \"end\"\n : \"start\"\n const minDate =\n value.start && align === \"end\"\n ? dayjs(value.start).add(1, \"day\").toDate()\n : undefined\n const maxDate =\n value.end && align === \"start\"\n ? dayjs(value.end).subtract(1, \"day\").toDate()\n : undefined\n const date = stringToDate(inputValue, minDate, maxDate)\n\n if (!date) return\n\n ev.preventDefault()\n\n setInputValue((prev) =>\n isObject(prev)\n ? Object.assign({}, prev, { [align]: dateToString(date) })\n : prev,\n )\n setValue((prev) =>\n isObject(prev) && !isDate(prev)\n ? { ...prev, [align]: date }\n : prev,\n )\n\n if (align === \"start\") endInputRef.current?.focus()\n }\n },\n },\n { preventDefault: false },\n )\n },\n [\n dateToString,\n disabled,\n max,\n open,\n setInputValue,\n setValue,\n stringToDate,\n value,\n ],\n )\n\n const onClick = useCallback(\n (ev: MouseEvent<HTMLDivElement>) => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) {\n if (isObject(value) && !isArray(value) && !isDate(value)) {\n if (contains(startInputRef.current, ev.target)) return\n if (contains(endInputRef.current, ev.target)) return\n\n const { end, start } = value\n\n if ((!start && !end) || !!end) {\n startInputRef.current?.focus()\n } else {\n endInputRef.current?.focus()\n }\n } else {\n startInputRef.current?.focus()\n }\n }\n\n if (openOnClick) onOpen()\n },\n [allowInput, interactive, onOpen, openOnClick, value],\n )\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 setFocused(true)\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 setFocused(false)\n\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n if (isArray(value)) {\n setInputValue(\"\" as MaybeInputValue<Range>)\n } else if (isObject(value) && !isDate(value)) {\n setInputValue((prev) =>\n isObject(prev)\n ? ({\n end: dateToString(value.end),\n start: dateToString(value.start),\n } as MaybeInputValue<Range>)\n : prev,\n )\n } else {\n setInputValue(dateToString(value) as MaybeInputValue<Range>)\n }\n }\n },\n [dateToString, setInputValue, value],\n )\n\n const onClear = useCallback(() => {\n if (!interactive) return\n\n setValue((prev) => {\n if (isDate(prev)) {\n return undefined as MaybeDateValue<Multiple, Range>\n } else if (isArray(prev)) {\n return [] as unknown as MaybeDateValue<Multiple, Range>\n } else if (isObject(prev)) {\n return { end: undefined, start: undefined } as MaybeDateValue<\n Multiple,\n Range\n >\n } else {\n return prev\n }\n })\n\n setInputValue(\n (range ? { end: \"\", start: \"\" } : \"\") as MaybeInputValue<Range>,\n )\n\n if (focusOnClear) {\n if (allowInput) {\n startInputRef.current?.focus()\n } else {\n fieldRef.current?.focus()\n }\n }\n }, [allowInput, focusOnClear, interactive, range, setInputValue, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? startInputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n useUpdateEffect(() => {\n setMonth((prev) => getAdjustedMonth(value, prev))\n }, [value, range])\n\n useUpdateEffect(() => {\n if (isArray(valueProp)) return\n\n if (isObject(valueProp) && !isDate(valueProp)) {\n setInputValue({\n end: dateToString(valueProp.end),\n start: dateToString(valueProp.start),\n } as MaybeInputValue<Range>)\n } else {\n setInputValue(dateToString(valueProp) as MaybeInputValue<Range>)\n }\n }, [valueProp])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n \"data-range\": dataAttr(range),\n ...dataProps,\n ...props,\n }),\n [dataProps, range],\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\", { align?: InputAlign }> =\n useCallback(\n ({ align = \"start\", ...props } = {}) => {\n const inputProps: HTMLProps<\"input\"> = {\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n autoComplete: \"off\",\n disabled,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }\n\n if (isObject(inputValue)) {\n if (align === \"start\") {\n inputProps.ref = mergeRefs(props.ref, ref, startInputRef)\n inputProps.value = inputValue.start\n inputProps.placeholder = startPlaceholder\n } else {\n inputProps.ref = mergeRefs(props.ref, ref, endInputRef)\n inputProps.value = inputValue.end\n inputProps.placeholder = endPlaceholder\n }\n\n if (!inputValue.start && align === \"start\") {\n inputProps.id = id\n inputProps.name = name\n }\n\n if (!!inputValue.start && align === \"end\") {\n inputProps.id = id\n inputProps.name = name\n }\n } else {\n inputProps.ref = mergeRefs(props.ref, ref, startInputRef)\n inputProps.value = inputValue\n inputProps.id = id\n inputProps.name = name\n\n if (isArray(value)) {\n inputProps.style = {\n ...(!focused && !!value.length\n ? visuallyHiddenAttributes.style\n : {}),\n ...inputProps.style,\n }\n inputProps.placeholder = !value.length\n ? startPlaceholder\n : undefined\n inputProps[\"data-max\"] = dataAttr(\n isNumber(max) && value.length >= max,\n )\n } else {\n inputProps.placeholder = startPlaceholder\n }\n }\n\n return inputProps\n },\n [\n allowInput,\n dataProps,\n disabled,\n endPlaceholder,\n focused,\n id,\n inputValue,\n max,\n name,\n onBlur,\n onInputFocus,\n onInputChange,\n onKeyDown,\n onMouseDown,\n readOnly,\n ref,\n required,\n startPlaceholder,\n value,\n ],\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 getCalendarProps: PropGetter<UseCalendarProps<Multiple, Range>> =\n useCallback(\n (props) =>\n ({\n disabled: !interactive,\n format: calendarFormat,\n locale,\n max,\n maxDate,\n minDate,\n month,\n multiple,\n range,\n value,\n onChange,\n onChangeMonth: setMonth,\n ...calendarProps,\n ...props,\n }) as UseCalendarProps<Multiple, Range>,\n [\n interactive,\n calendarFormat,\n locale,\n max,\n maxDate,\n minDate,\n month,\n multiple,\n range,\n value,\n onChange,\n setMonth,\n calendarProps,\n ],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props) => ({ ...dataProps, ...props }),\n [dataProps],\n )\n\n const getClearIconProps: PropGetter = useCallback(\n (props = {}) =>\n getIconProps({\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Clear value\"),\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClear),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, { Enter: onClear, Space: onClear }),\n ),\n }),\n [getIconProps, interactive, onClear, t],\n )\n\n return {\n children,\n dateToString,\n inputValue,\n interactive,\n month,\n open,\n range,\n separator,\n setInputValue,\n setMonth,\n setValue,\n stringToDate,\n value,\n getCalendarProps,\n getClearIconProps,\n getContentProps,\n getFieldProps,\n getIconProps,\n getInputProps,\n getRootProps,\n popoverProps,\n onChange,\n onClose,\n onInputChange,\n onOpen,\n }\n}\n\nexport type UseDatePickerReturn = ReturnType<typeof useDatePicker>\n"],"mappings":"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"}
@@ -7,9 +7,9 @@ import { createSlotComponent } from "../../core/components/create-component.js";
7
7
  import "../../core/index.js";
8
8
  import { motion as motion$1 } from "../motion/factory.js";
9
9
  import "../motion/index.js";
10
+ import { useValue } from "../../hooks/use-value/index.js";
10
11
  import { Portal } from "../portal/portal.js";
11
12
  import "../portal/index.js";
12
- import { useValue } from "../../hooks/use-value/index.js";
13
13
  import { Button } from "../button/button.js";
14
14
  import "../button/index.js";
15
15
  import { CloseButton } from "../close-button/close-button.js";
@@ -5,9 +5,9 @@ import { useSafeLayoutEffect, useUpdateEffect } from "../../utils/effect.js";
5
5
  import { mergeRefs, useCallbackRef } from "../../utils/ref.js";
6
6
  import { utils_exports } from "../../utils/index.js";
7
7
  import { useControllableState } from "../../hooks/use-controllable-state/index.js";
8
+ import { useFocusOnPointerDown } from "../../hooks/use-focus/index.js";
8
9
  import { useFieldProps } from "../field/use-field-props.js";
9
10
  import "../field/index.js";
10
- import { useFocusOnPointerDown } from "../../hooks/use-focus/index.js";
11
11
  import { useCallback, useEffect, useRef, useState } from "react";
12
12
 
13
13
  //#region src/components/editable/use-editable.ts
@@ -50,11 +50,15 @@ const useEditable = (props = {}) => {
50
50
  }, [onSubmitProp, value]);
51
51
  const onKeyDown = useCallback((ev) => {
52
52
  if (ev.key !== "Escape" && ev.key !== "Enter") return;
53
- ev.preventDefault();
54
- if (ev.key === "Escape") onCancel();
55
- else {
53
+ if (ev.key === "Escape") {
54
+ ev.preventDefault();
55
+ onCancel();
56
+ } else {
56
57
  const { metaKey, shiftKey } = ev;
57
- if (!shiftKey && !metaKey) onSubmit();
58
+ if (!shiftKey && !metaKey) {
59
+ ev.preventDefault();
60
+ onSubmit();
61
+ }
58
62
  }
59
63
  }, [onCancel, onSubmit]);
60
64
  const onKeyDownWithoutSubmit = useCallback((ev) => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-editable.js","names":["createContext","getRootProps: PropGetter","props","getPreviewProps: PropGetter<\"span\">","getInputProps: PropGetter<\"input\">","getTextareaProps: PropGetter<\"textarea\">","getControlProps: PropGetter","getEditProps: PropGetter<\"button\">","getSubmitProps: PropGetter<\"button\">"],"sources":["../../../../src/components/editable/use-editable.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, KeyboardEvent } from \"react\"\nimport type { PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useFocusOnPointerDown } from \"../../hooks/use-focus\"\nimport {\n contains,\n createContext,\n handlerAll,\n mergeRefs,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface EditableContext extends Omit<\n UseEditableReturn,\n \"getRootProps\" | \"onCancel\" | \"onEdit\" | \"onSubmit\" | \"value\"\n> {}\n\nconst [EditableContext, useEditableContext] = createContext<EditableContext>({\n name: \"EditableContext\",\n})\n\nexport { EditableContext, useEditableContext }\n\nexport interface UseEditableProps extends FieldProps {\n /**\n * The initial value of the Editable in both edit & preview mode.\n */\n defaultValue?: string\n /**\n * The placeholder text when the value is empty.\n */\n placeholder?: string\n /**\n * If `true`, the read only view, has a `tabIndex` set to `0`\n * so it can receive focus via the keyboard or click.\n *\n * @default true\n */\n previewFocusable?: boolean\n /**\n * If `true`, the input's text will be highlighted on focus.\n *\n * @default true\n */\n selectAllOnFocus?: boolean\n /**\n * If `true`, the Editable will start with edit mode by default.\n */\n startWithEditView?: boolean\n /**\n * If `true`, it'll update the value onBlur and turn off the edit mode.\n *\n * @default true\n */\n submitOnBlur?: boolean\n /**\n * The value of the Editable in both edit & preview mode.\n */\n value?: string\n /**\n * Callback invoked when user cancels input with the `Esc` key.\n * It provides the last confirmed value as argument.\n */\n onCancel?: (preValue: string) => void\n /**\n * A callback invoked when user changes input.\n */\n onChange?: (value: string) => void\n /**\n * A callback invoked once the user enters edit mode.\n */\n onEdit?: () => void\n /**\n * A callback invoked when user confirms value with `enter` key or by blurring input.\n */\n onSubmit?: (value: string) => void\n}\n\nexport const useEditable = (props: UseEditableProps = {}) => {\n const {\n props: {\n id,\n defaultValue,\n disabled,\n placeholder,\n previewFocusable = true,\n readOnly,\n required,\n selectAllOnFocus = true,\n startWithEditView,\n submitOnBlur = true,\n value: valueProp,\n onCancel: onCancelProp,\n onChange: onChangeProp,\n onEdit: onEditProp,\n onSubmit: onSubmitProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const onEditRef = useCallbackRef(onEditProp)\n const [editing, setEditing] = useState<boolean>(\n !!startWithEditView && !disabled,\n )\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue || \"\",\n value: valueProp,\n onChange: onChangeProp,\n })\n const interactive = !editing && !disabled\n const emptyValue = value.length === 0\n const [prevValue, setPrevValue] = useState(value)\n const inputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null)\n const previewRef = useRef<HTMLElement>(null)\n const editRef = useRef<HTMLButtonElement>(null)\n const cancelRef = useRef<HTMLButtonElement>(null)\n const submitRef = useRef<HTMLButtonElement>(null)\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n setValue(ev.currentTarget.value),\n [setValue],\n )\n\n const onUpdatePrevValue = useCallback(() => setPrevValue(value), [value])\n\n const onEdit = useCallback(() => {\n if (interactive) setEditing(true)\n }, [interactive])\n\n const onCancel = useCallback(() => {\n setEditing(false)\n setValue(prevValue)\n onCancelProp?.(prevValue)\n }, [prevValue, onCancelProp, setValue])\n\n const onSubmit = useCallback(() => {\n setEditing(false)\n setPrevValue(value)\n onSubmitProp?.(value)\n }, [onSubmitProp, value])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent) => {\n if (ev.key !== \"Escape\" && ev.key !== \"Enter\") return\n\n ev.preventDefault()\n\n if (ev.key === \"Escape\") {\n onCancel()\n } else {\n const { metaKey, shiftKey } = ev\n\n if (!shiftKey && !metaKey) onSubmit()\n }\n },\n [onCancel, onSubmit],\n )\n\n const onKeyDownWithoutSubmit = useCallback(\n (ev: KeyboardEvent) => {\n if (ev.key !== \"Escape\") return\n\n ev.preventDefault()\n onCancel()\n },\n [onCancel],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent) => {\n if (!editing) return\n\n const ownerDocument = ev.currentTarget.ownerDocument\n const relatedTarget = (ev.relatedTarget ??\n ownerDocument.activeElement) as HTMLElement\n const targetIsCancel = contains(cancelRef.current, relatedTarget)\n const targetIsSubmit = contains(submitRef.current, relatedTarget)\n const validBlur = !targetIsCancel && !targetIsSubmit\n\n if (!validBlur) return\n\n if (submitOnBlur) {\n onSubmit()\n } else {\n onCancel()\n }\n },\n [editing, submitOnBlur, onSubmit, onCancel],\n )\n\n useFocusOnPointerDown({\n ref: inputRef,\n elements: [cancelRef, submitRef],\n enabled: editing,\n })\n\n useSafeLayoutEffect(() => {\n if (!editing) return\n\n inputRef.current?.focus()\n\n if (selectAllOnFocus) inputRef.current?.select()\n }, [])\n\n useUpdateEffect(() => {\n if (!editing) {\n editRef.current?.focus()\n\n return\n }\n\n inputRef.current?.focus()\n\n if (selectAllOnFocus) inputRef.current?.select()\n\n onEditRef()\n }, [editing, onEditRef, selectAllOnFocus])\n\n useEffect(() => {\n if (editing) return\n\n const el = inputRef.current\n const activeEl = el?.ownerDocument.activeElement\n\n if (activeEl === el) el?.blur()\n }, [editing])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...dataProps,\n ...props,\n }),\n [rest, dataProps],\n )\n\n const getPreviewProps: PropGetter<\"span\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(previewRef, ref),\n children: emptyValue ? placeholder : value,\n hidden: editing,\n tabIndex: interactive && previewFocusable ? 0 : undefined,\n onFocus: handlerAll(props.onFocus, onEdit, onUpdatePrevValue),\n }),\n [\n dataProps,\n editing,\n interactive,\n previewFocusable,\n emptyValue,\n onEdit,\n onUpdatePrevValue,\n placeholder,\n value,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...ariaProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n disabled,\n hidden: !editing,\n placeholder,\n readOnly,\n required,\n value,\n onBlur: handlerAll(eventProps.onBlur, props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus, onUpdatePrevValue),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [\n dataProps,\n ariaProps,\n id,\n disabled,\n editing,\n placeholder,\n readOnly,\n required,\n value,\n eventProps.onBlur,\n eventProps.onFocus,\n onBlur,\n onChange,\n onUpdatePrevValue,\n onKeyDown,\n ],\n )\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...ariaProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n disabled,\n hidden: !editing,\n placeholder,\n readOnly,\n required,\n value,\n onBlur: handlerAll(eventProps.onBlur, props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus, onUpdatePrevValue),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDownWithoutSubmit),\n }),\n [\n dataProps,\n ariaProps,\n id,\n disabled,\n editing,\n placeholder,\n readOnly,\n required,\n value,\n eventProps.onBlur,\n eventProps.onFocus,\n onBlur,\n onChange,\n onUpdatePrevValue,\n onKeyDownWithoutSubmit,\n ],\n )\n\n const getControlProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n role: \"group\",\n ...props,\n }),\n [dataProps],\n )\n\n const getEditProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(editRef, ref),\n disabled,\n hidden: editing,\n onClick: handlerAll(props.onClick, onEdit),\n }),\n [dataProps, disabled, editing, onEdit],\n )\n\n const getSubmitProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(submitRef, ref),\n disabled,\n hidden: !editing,\n onClick: handlerAll(props.onClick, onSubmit),\n }),\n [dataProps, disabled, editing, onSubmit],\n )\n\n const getCancelProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(cancelRef, ref),\n disabled,\n hidden: !editing,\n onClick: handlerAll(props.onClick, onCancel),\n }),\n [dataProps, disabled, editing, onCancel],\n )\n\n return {\n editing,\n value,\n getCancelProps,\n getControlProps,\n getEditProps,\n getInputProps,\n getPreviewProps,\n getRootProps,\n getSubmitProps,\n getTextareaProps,\n onCancel,\n onEdit,\n onSubmit,\n }\n}\n\nexport type UseEditableReturn = ReturnType<typeof useEditable>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-editable.js","names":["createContext","getRootProps: PropGetter","props","getPreviewProps: PropGetter<\"span\">","getInputProps: PropGetter<\"input\">","getTextareaProps: PropGetter<\"textarea\">","getControlProps: PropGetter","getEditProps: PropGetter<\"button\">","getSubmitProps: PropGetter<\"button\">"],"sources":["../../../../src/components/editable/use-editable.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, KeyboardEvent } from \"react\"\nimport type { PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useFocusOnPointerDown } from \"../../hooks/use-focus\"\nimport {\n contains,\n createContext,\n handlerAll,\n mergeRefs,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface EditableContext extends Omit<\n UseEditableReturn,\n \"getRootProps\" | \"onCancel\" | \"onEdit\" | \"onSubmit\" | \"value\"\n> {}\n\nconst [EditableContext, useEditableContext] = createContext<EditableContext>({\n name: \"EditableContext\",\n})\n\nexport { EditableContext, useEditableContext }\n\nexport interface UseEditableProps extends FieldProps {\n /**\n * The initial value of the Editable in both edit & preview mode.\n */\n defaultValue?: string\n /**\n * The placeholder text when the value is empty.\n */\n placeholder?: string\n /**\n * If `true`, the read only view, has a `tabIndex` set to `0`\n * so it can receive focus via the keyboard or click.\n *\n * @default true\n */\n previewFocusable?: boolean\n /**\n * If `true`, the input's text will be highlighted on focus.\n *\n * @default true\n */\n selectAllOnFocus?: boolean\n /**\n * If `true`, the Editable will start with edit mode by default.\n */\n startWithEditView?: boolean\n /**\n * If `true`, it'll update the value onBlur and turn off the edit mode.\n *\n * @default true\n */\n submitOnBlur?: boolean\n /**\n * The value of the Editable in both edit & preview mode.\n */\n value?: string\n /**\n * Callback invoked when user cancels input with the `Esc` key.\n * It provides the last confirmed value as argument.\n */\n onCancel?: (preValue: string) => void\n /**\n * A callback invoked when user changes input.\n */\n onChange?: (value: string) => void\n /**\n * A callback invoked once the user enters edit mode.\n */\n onEdit?: () => void\n /**\n * A callback invoked when user confirms value with `enter` key or by blurring input.\n */\n onSubmit?: (value: string) => void\n}\n\nexport const useEditable = (props: UseEditableProps = {}) => {\n const {\n props: {\n id,\n defaultValue,\n disabled,\n placeholder,\n previewFocusable = true,\n readOnly,\n required,\n selectAllOnFocus = true,\n startWithEditView,\n submitOnBlur = true,\n value: valueProp,\n onCancel: onCancelProp,\n onChange: onChangeProp,\n onEdit: onEditProp,\n onSubmit: onSubmitProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const onEditRef = useCallbackRef(onEditProp)\n const [editing, setEditing] = useState<boolean>(\n !!startWithEditView && !disabled,\n )\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue || \"\",\n value: valueProp,\n onChange: onChangeProp,\n })\n const interactive = !editing && !disabled\n const emptyValue = value.length === 0\n const [prevValue, setPrevValue] = useState(value)\n const inputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null)\n const previewRef = useRef<HTMLElement>(null)\n const editRef = useRef<HTMLButtonElement>(null)\n const cancelRef = useRef<HTMLButtonElement>(null)\n const submitRef = useRef<HTMLButtonElement>(null)\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) =>\n setValue(ev.currentTarget.value),\n [setValue],\n )\n\n const onUpdatePrevValue = useCallback(() => setPrevValue(value), [value])\n\n const onEdit = useCallback(() => {\n if (interactive) setEditing(true)\n }, [interactive])\n\n const onCancel = useCallback(() => {\n setEditing(false)\n setValue(prevValue)\n onCancelProp?.(prevValue)\n }, [prevValue, onCancelProp, setValue])\n\n const onSubmit = useCallback(() => {\n setEditing(false)\n setPrevValue(value)\n onSubmitProp?.(value)\n }, [onSubmitProp, value])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent) => {\n if (ev.key !== \"Escape\" && ev.key !== \"Enter\") return\n\n if (ev.key === \"Escape\") {\n ev.preventDefault()\n onCancel()\n } else {\n const { metaKey, shiftKey } = ev\n\n if (!shiftKey && !metaKey) {\n ev.preventDefault()\n onSubmit()\n }\n }\n },\n [onCancel, onSubmit],\n )\n\n const onKeyDownWithoutSubmit = useCallback(\n (ev: KeyboardEvent) => {\n if (ev.key !== \"Escape\") return\n\n ev.preventDefault()\n onCancel()\n },\n [onCancel],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent) => {\n if (!editing) return\n\n const ownerDocument = ev.currentTarget.ownerDocument\n const relatedTarget = (ev.relatedTarget ??\n ownerDocument.activeElement) as HTMLElement\n const targetIsCancel = contains(cancelRef.current, relatedTarget)\n const targetIsSubmit = contains(submitRef.current, relatedTarget)\n const validBlur = !targetIsCancel && !targetIsSubmit\n\n if (!validBlur) return\n\n if (submitOnBlur) {\n onSubmit()\n } else {\n onCancel()\n }\n },\n [editing, submitOnBlur, onSubmit, onCancel],\n )\n\n useFocusOnPointerDown({\n ref: inputRef,\n elements: [cancelRef, submitRef],\n enabled: editing,\n })\n\n useSafeLayoutEffect(() => {\n if (!editing) return\n\n inputRef.current?.focus()\n\n if (selectAllOnFocus) inputRef.current?.select()\n }, [])\n\n useUpdateEffect(() => {\n if (!editing) {\n editRef.current?.focus()\n\n return\n }\n\n inputRef.current?.focus()\n\n if (selectAllOnFocus) inputRef.current?.select()\n\n onEditRef()\n }, [editing, onEditRef, selectAllOnFocus])\n\n useEffect(() => {\n if (editing) return\n\n const el = inputRef.current\n const activeEl = el?.ownerDocument.activeElement\n\n if (activeEl === el) el?.blur()\n }, [editing])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...dataProps,\n ...props,\n }),\n [rest, dataProps],\n )\n\n const getPreviewProps: PropGetter<\"span\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(previewRef, ref),\n children: emptyValue ? placeholder : value,\n hidden: editing,\n tabIndex: interactive && previewFocusable ? 0 : undefined,\n onFocus: handlerAll(props.onFocus, onEdit, onUpdatePrevValue),\n }),\n [\n dataProps,\n editing,\n interactive,\n previewFocusable,\n emptyValue,\n onEdit,\n onUpdatePrevValue,\n placeholder,\n value,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...ariaProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n disabled,\n hidden: !editing,\n placeholder,\n readOnly,\n required,\n value,\n onBlur: handlerAll(eventProps.onBlur, props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus, onUpdatePrevValue),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [\n dataProps,\n ariaProps,\n id,\n disabled,\n editing,\n placeholder,\n readOnly,\n required,\n value,\n eventProps.onBlur,\n eventProps.onFocus,\n onBlur,\n onChange,\n onUpdatePrevValue,\n onKeyDown,\n ],\n )\n\n const getTextareaProps: PropGetter<\"textarea\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...ariaProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n disabled,\n hidden: !editing,\n placeholder,\n readOnly,\n required,\n value,\n onBlur: handlerAll(eventProps.onBlur, props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(eventProps.onFocus, props.onFocus, onUpdatePrevValue),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDownWithoutSubmit),\n }),\n [\n dataProps,\n ariaProps,\n id,\n disabled,\n editing,\n placeholder,\n readOnly,\n required,\n value,\n eventProps.onBlur,\n eventProps.onFocus,\n onBlur,\n onChange,\n onUpdatePrevValue,\n onKeyDownWithoutSubmit,\n ],\n )\n\n const getControlProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n role: \"group\",\n ...props,\n }),\n [dataProps],\n )\n\n const getEditProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(editRef, ref),\n disabled,\n hidden: editing,\n onClick: handlerAll(props.onClick, onEdit),\n }),\n [dataProps, disabled, editing, onEdit],\n )\n\n const getSubmitProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(submitRef, ref),\n disabled,\n hidden: !editing,\n onClick: handlerAll(props.onClick, onSubmit),\n }),\n [dataProps, disabled, editing, onSubmit],\n )\n\n const getCancelProps: PropGetter<\"button\"> = useCallback(\n ({ ref, ...props } = {}) => ({\n ...dataProps,\n ...props,\n ref: mergeRefs(cancelRef, ref),\n disabled,\n hidden: !editing,\n onClick: handlerAll(props.onClick, onCancel),\n }),\n [dataProps, disabled, editing, onCancel],\n )\n\n return {\n editing,\n value,\n getCancelProps,\n getControlProps,\n getEditProps,\n getInputProps,\n getPreviewProps,\n getRootProps,\n getSubmitProps,\n getTextareaProps,\n onCancel,\n onEdit,\n onSubmit,\n }\n}\n\nexport type UseEditableReturn = ReturnType<typeof useEditable>\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+
3
+ import { Icon as Icon$1, component } from "../icon.js";
4
+ import { BeefOff } from "lucide-react";
5
+
6
+ //#region src/components/icon/icons/beef-off-icon.tsx
7
+ /**
8
+ * `BeefOffIcon` is [Lucide](https://lucide.dev) SVG icon component.
9
+ *
10
+ * @see https://yamada-ui.com/docs/components/icon
11
+ */
12
+ const BeefOffIcon = component(Icon$1)({ as: BeefOff });
13
+
14
+ //#endregion
15
+ export { BeefOffIcon };
16
+ //# sourceMappingURL=beef-off-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beef-off-icon.js","names":["Icon","OriginalBeefOffIcon"],"sources":["../../../../../src/components/icon/icons/beef-off-icon.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Component } from \"../../../core\"\nimport type { IconProps } from \"../icon\"\nimport { BeefOff as OriginalBeefOffIcon } from \"lucide-react\"\nimport { component, Icon } from \"../icon\"\n\n/**\n * `BeefOffIcon` is [Lucide](https://lucide.dev) SVG icon component.\n *\n * @see https://yamada-ui.com/docs/components/icon\n */\nexport const BeefOffIcon = component(Icon)({\n as: OriginalBeefOffIcon,\n}) as Component<\"svg\", IconProps>\n"],"mappings":";;;;;;;;;;;AAYA,MAAa,cAAc,UAAUA,OAAK,CAAC,EACzC,IAAIC,SACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+
3
+ import { Icon as Icon$1, component } from "../icon.js";
4
+ import { CctvOff } from "lucide-react";
5
+
6
+ //#region src/components/icon/icons/cctv-off-icon.tsx
7
+ /**
8
+ * `CctvOffIcon` is [Lucide](https://lucide.dev) SVG icon component.
9
+ *
10
+ * @see https://yamada-ui.com/docs/components/icon
11
+ */
12
+ const CctvOffIcon = component(Icon$1)({ as: CctvOff });
13
+
14
+ //#endregion
15
+ export { CctvOffIcon };
16
+ //# sourceMappingURL=cctv-off-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cctv-off-icon.js","names":["Icon","OriginalCctvOffIcon"],"sources":["../../../../../src/components/icon/icons/cctv-off-icon.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Component } from \"../../../core\"\nimport type { IconProps } from \"../icon\"\nimport { CctvOff as OriginalCctvOffIcon } from \"lucide-react\"\nimport { component, Icon } from \"../icon\"\n\n/**\n * `CctvOffIcon` is [Lucide](https://lucide.dev) SVG icon component.\n *\n * @see https://yamada-ui.com/docs/components/icon\n */\nexport const CctvOffIcon = component(Icon)({\n as: OriginalCctvOffIcon,\n}) as Component<\"svg\", IconProps>\n"],"mappings":";;;;;;;;;;;AAYA,MAAa,cAAc,UAAUA,OAAK,CAAC,EACzC,IAAIC,SACL,CAAC"}