@yamada-ui/react 2.1.8-dev-20260409043924 → 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 (685) 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/theme-provider.cjs +1 -1
  89. package/dist/cjs/core/system/theme-provider.cjs.map +1 -1
  90. package/dist/cjs/hooks/use-combobox/index.cjs +3 -2
  91. package/dist/cjs/hooks/use-combobox/index.cjs.map +1 -1
  92. package/dist/cjs/hooks/use-descendants/index.cjs +19 -9
  93. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  94. package/dist/cjs/hooks/use-popper/index.cjs +4 -0
  95. package/dist/cjs/hooks/use-popper/index.cjs.map +1 -1
  96. package/dist/cjs/index.cjs +361 -239
  97. package/dist/cjs/index.cjs.map +1 -1
  98. package/dist/cjs/providers/i18n-provider/intl/ar-AE.cjs +8 -0
  99. package/dist/cjs/providers/i18n-provider/intl/ar-AE.cjs.map +1 -1
  100. package/dist/cjs/providers/i18n-provider/intl/bg-BG.cjs +8 -0
  101. package/dist/cjs/providers/i18n-provider/intl/bg-BG.cjs.map +1 -1
  102. package/dist/cjs/providers/i18n-provider/intl/cs-CZ.cjs +8 -0
  103. package/dist/cjs/providers/i18n-provider/intl/cs-CZ.cjs.map +1 -1
  104. package/dist/cjs/providers/i18n-provider/intl/da-DK.cjs +8 -0
  105. package/dist/cjs/providers/i18n-provider/intl/da-DK.cjs.map +1 -1
  106. package/dist/cjs/providers/i18n-provider/intl/de-DE.cjs +8 -0
  107. package/dist/cjs/providers/i18n-provider/intl/de-DE.cjs.map +1 -1
  108. package/dist/cjs/providers/i18n-provider/intl/el-GR.cjs +8 -0
  109. package/dist/cjs/providers/i18n-provider/intl/el-GR.cjs.map +1 -1
  110. package/dist/cjs/providers/i18n-provider/intl/en-GB.cjs +8 -0
  111. package/dist/cjs/providers/i18n-provider/intl/en-GB.cjs.map +1 -1
  112. package/dist/cjs/providers/i18n-provider/intl/en-US.cjs +8 -0
  113. package/dist/cjs/providers/i18n-provider/intl/en-US.cjs.map +1 -1
  114. package/dist/cjs/providers/i18n-provider/intl/es-ES.cjs +8 -0
  115. package/dist/cjs/providers/i18n-provider/intl/es-ES.cjs.map +1 -1
  116. package/dist/cjs/providers/i18n-provider/intl/et-EE.cjs +8 -0
  117. package/dist/cjs/providers/i18n-provider/intl/et-EE.cjs.map +1 -1
  118. package/dist/cjs/providers/i18n-provider/intl/fi-FI.cjs +8 -0
  119. package/dist/cjs/providers/i18n-provider/intl/fi-FI.cjs.map +1 -1
  120. package/dist/cjs/providers/i18n-provider/intl/fr-CA.cjs +8 -0
  121. package/dist/cjs/providers/i18n-provider/intl/fr-CA.cjs.map +1 -1
  122. package/dist/cjs/providers/i18n-provider/intl/fr-FR.cjs +8 -0
  123. package/dist/cjs/providers/i18n-provider/intl/fr-FR.cjs.map +1 -1
  124. package/dist/cjs/providers/i18n-provider/intl/he-IL.cjs +8 -0
  125. package/dist/cjs/providers/i18n-provider/intl/he-IL.cjs.map +1 -1
  126. package/dist/cjs/providers/i18n-provider/intl/hr-HR.cjs +8 -0
  127. package/dist/cjs/providers/i18n-provider/intl/hr-HR.cjs.map +1 -1
  128. package/dist/cjs/providers/i18n-provider/intl/hu-HU.cjs +8 -0
  129. package/dist/cjs/providers/i18n-provider/intl/hu-HU.cjs.map +1 -1
  130. package/dist/cjs/providers/i18n-provider/intl/it-IT.cjs +8 -0
  131. package/dist/cjs/providers/i18n-provider/intl/it-IT.cjs.map +1 -1
  132. package/dist/cjs/providers/i18n-provider/intl/ja-JP.cjs +8 -0
  133. package/dist/cjs/providers/i18n-provider/intl/ja-JP.cjs.map +1 -1
  134. package/dist/cjs/providers/i18n-provider/intl/ko-KR.cjs +8 -0
  135. package/dist/cjs/providers/i18n-provider/intl/ko-KR.cjs.map +1 -1
  136. package/dist/cjs/providers/i18n-provider/intl/lt-LT.cjs +8 -0
  137. package/dist/cjs/providers/i18n-provider/intl/lt-LT.cjs.map +1 -1
  138. package/dist/cjs/providers/i18n-provider/intl/lv-LV.cjs +8 -0
  139. package/dist/cjs/providers/i18n-provider/intl/lv-LV.cjs.map +1 -1
  140. package/dist/cjs/providers/i18n-provider/intl/nl-NL.cjs +8 -0
  141. package/dist/cjs/providers/i18n-provider/intl/nl-NL.cjs.map +1 -1
  142. package/dist/cjs/providers/i18n-provider/intl/no-NO.cjs +8 -0
  143. package/dist/cjs/providers/i18n-provider/intl/no-NO.cjs.map +1 -1
  144. package/dist/cjs/providers/i18n-provider/intl/pl-PL.cjs +8 -0
  145. package/dist/cjs/providers/i18n-provider/intl/pl-PL.cjs.map +1 -1
  146. package/dist/cjs/providers/i18n-provider/intl/pt-BR.cjs +8 -0
  147. package/dist/cjs/providers/i18n-provider/intl/pt-BR.cjs.map +1 -1
  148. package/dist/cjs/providers/i18n-provider/intl/ro-RO.cjs +8 -0
  149. package/dist/cjs/providers/i18n-provider/intl/ro-RO.cjs.map +1 -1
  150. package/dist/cjs/providers/i18n-provider/intl/ru-RU.cjs +8 -0
  151. package/dist/cjs/providers/i18n-provider/intl/ru-RU.cjs.map +1 -1
  152. package/dist/cjs/providers/i18n-provider/intl/sk-SK.cjs +8 -0
  153. package/dist/cjs/providers/i18n-provider/intl/sk-SK.cjs.map +1 -1
  154. package/dist/cjs/providers/i18n-provider/intl/sl-SI.cjs +8 -0
  155. package/dist/cjs/providers/i18n-provider/intl/sl-SI.cjs.map +1 -1
  156. package/dist/cjs/providers/i18n-provider/intl/sr-RS.cjs +8 -0
  157. package/dist/cjs/providers/i18n-provider/intl/sr-RS.cjs.map +1 -1
  158. package/dist/cjs/providers/i18n-provider/intl/sv-SE.cjs +8 -0
  159. package/dist/cjs/providers/i18n-provider/intl/sv-SE.cjs.map +1 -1
  160. package/dist/cjs/providers/i18n-provider/intl/tr-TR.cjs +8 -0
  161. package/dist/cjs/providers/i18n-provider/intl/tr-TR.cjs.map +1 -1
  162. package/dist/cjs/providers/i18n-provider/intl/uk-UA.cjs +8 -0
  163. package/dist/cjs/providers/i18n-provider/intl/uk-UA.cjs.map +1 -1
  164. package/dist/cjs/providers/i18n-provider/intl/zh-CN.cjs +8 -0
  165. package/dist/cjs/providers/i18n-provider/intl/zh-CN.cjs.map +1 -1
  166. package/dist/cjs/providers/i18n-provider/intl/zh-TW.cjs +8 -0
  167. package/dist/cjs/providers/i18n-provider/intl/zh-TW.cjs.map +1 -1
  168. package/dist/cjs/providers/ui-provider/ui-provider.cjs +26 -23
  169. package/dist/cjs/providers/ui-provider/ui-provider.cjs.map +1 -1
  170. package/dist/cjs/theme/semantic-tokens/colors.cjs +1 -1
  171. package/dist/cjs/theme/semantic-tokens/colors.cjs.map +1 -1
  172. package/dist/cjs/theme/styles/layer-styles.cjs +2 -2
  173. package/dist/cjs/theme/styles/layer-styles.cjs.map +1 -1
  174. package/dist/esm/components/action-bar/action-bar.js +96 -0
  175. package/dist/esm/components/action-bar/action-bar.js.map +1 -0
  176. package/dist/esm/components/action-bar/action-bar.style.js +62 -0
  177. package/dist/esm/components/action-bar/action-bar.style.js.map +1 -0
  178. package/dist/esm/components/action-bar/index.js +6 -0
  179. package/dist/esm/components/action-bar/namespace.js +17 -0
  180. package/dist/esm/components/action-bar/namespace.js.map +1 -0
  181. package/dist/esm/components/action-bar/use-action-bar.js +70 -0
  182. package/dist/esm/components/action-bar/use-action-bar.js.map +1 -0
  183. package/dist/esm/components/alpha-slider/alpha-slider.js +1 -1
  184. package/dist/esm/components/autocomplete/autocomplete.js +5 -3
  185. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  186. package/dist/esm/components/chart/use-chart.js +16 -0
  187. package/dist/esm/components/chart/use-chart.js.map +1 -1
  188. package/dist/esm/components/color-picker/color-picker.js +7 -3
  189. package/dist/esm/components/color-picker/color-picker.js.map +1 -1
  190. package/dist/esm/components/color-picker/use-color-picker.js +2 -2
  191. package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
  192. package/dist/esm/components/color-swatch/color-swatch-group.js +1 -1
  193. package/dist/esm/components/date-picker/date-picker.js +7 -3
  194. package/dist/esm/components/date-picker/date-picker.js.map +1 -1
  195. package/dist/esm/components/date-picker/use-date-picker.js +2 -2
  196. package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
  197. package/dist/esm/components/drawer/drawer.js +1 -1
  198. package/dist/esm/components/editable/use-editable.js +9 -5
  199. package/dist/esm/components/editable/use-editable.js.map +1 -1
  200. package/dist/esm/components/icon/icons/beef-off-icon.js +16 -0
  201. package/dist/esm/components/icon/icons/beef-off-icon.js.map +1 -0
  202. package/dist/esm/components/icon/icons/cctv-off-icon.js +16 -0
  203. package/dist/esm/components/icon/icons/cctv-off-icon.js.map +1 -0
  204. package/dist/esm/components/icon/icons/index.js +17 -37
  205. package/dist/esm/components/icon/icons/index.js.map +1 -1
  206. package/dist/esm/components/icon/icons/line-style-icon.js +16 -0
  207. package/dist/esm/components/icon/icons/line-style-icon.js.map +1 -0
  208. package/dist/esm/components/icon/icons/radio-off-icon.js +16 -0
  209. package/dist/esm/components/icon/icons/radio-off-icon.js.map +1 -0
  210. package/dist/esm/components/icon/icons/road-icon.js +16 -0
  211. package/dist/esm/components/icon/icons/road-icon.js.map +1 -0
  212. package/dist/esm/components/icon/icons/shield-cog-corner-icon.js +16 -0
  213. package/dist/esm/components/icon/icons/shield-cog-corner-icon.js.map +1 -0
  214. package/dist/esm/components/icon/icons/shield-cog-icon.js +16 -0
  215. package/dist/esm/components/icon/icons/shield-cog-icon.js.map +1 -0
  216. package/dist/esm/components/icon/icons/sport-shoe-icon.js +16 -0
  217. package/dist/esm/components/icon/icons/sport-shoe-icon.js.map +1 -0
  218. package/dist/esm/components/icon/index.js +9 -19
  219. package/dist/esm/components/menu/menu.js.map +1 -1
  220. package/dist/esm/components/modal/modal.js +10 -4
  221. package/dist/esm/components/modal/modal.js.map +1 -1
  222. package/dist/esm/components/modal/modal.style.js +15 -12
  223. package/dist/esm/components/modal/modal.style.js.map +1 -1
  224. package/dist/esm/components/modal/use-modal.js +6 -4
  225. package/dist/esm/components/modal/use-modal.js.map +1 -1
  226. package/dist/esm/components/native-popover/use-native-popover.js.map +1 -1
  227. package/dist/esm/components/number-input/use-number-input.js +1 -1
  228. package/dist/esm/components/popover/index.js +2 -2
  229. package/dist/esm/components/popover/popover.js +30 -6
  230. package/dist/esm/components/popover/popover.js.map +1 -1
  231. package/dist/esm/components/popover/use-popover.js.map +1 -1
  232. package/dist/esm/components/select/select.js +5 -3
  233. package/dist/esm/components/select/select.js.map +1 -1
  234. package/dist/esm/components/sidebar/index.js +6 -0
  235. package/dist/esm/components/sidebar/namespace.js +41 -0
  236. package/dist/esm/components/sidebar/namespace.js.map +1 -0
  237. package/dist/esm/components/sidebar/sidebar.js +664 -0
  238. package/dist/esm/components/sidebar/sidebar.js.map +1 -0
  239. package/dist/esm/components/sidebar/sidebar.style.js +380 -0
  240. package/dist/esm/components/sidebar/sidebar.style.js.map +1 -0
  241. package/dist/esm/components/sidebar/use-sidebar.js +352 -0
  242. package/dist/esm/components/sidebar/use-sidebar.js.map +1 -0
  243. package/dist/esm/components/timeline/timeline.js +10 -4
  244. package/dist/esm/components/timeline/timeline.js.map +1 -1
  245. package/dist/esm/components/timeline/timeline.style.js +8 -1
  246. package/dist/esm/components/timeline/timeline.style.js.map +1 -1
  247. package/dist/esm/components/tooltip/tooltip.js +6 -2
  248. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  249. package/dist/esm/components/tree/index.js +6 -0
  250. package/dist/esm/components/tree/namespace.js +21 -0
  251. package/dist/esm/components/tree/namespace.js.map +1 -0
  252. package/dist/esm/components/tree/tree.js +314 -0
  253. package/dist/esm/components/tree/tree.js.map +1 -0
  254. package/dist/esm/components/tree/tree.style.js +170 -0
  255. package/dist/esm/components/tree/tree.style.js.map +1 -0
  256. package/dist/esm/components/tree/use-tree.js +527 -0
  257. package/dist/esm/components/tree/use-tree.js.map +1 -0
  258. package/dist/esm/core/css/conditions.js +6 -1
  259. package/dist/esm/core/css/conditions.js.map +1 -1
  260. package/dist/esm/core/system/config.js.map +1 -1
  261. package/dist/esm/core/system/theme-provider.js +1 -1
  262. package/dist/esm/core/system/theme-provider.js.map +1 -1
  263. package/dist/esm/hooks/use-combobox/index.js +3 -2
  264. package/dist/esm/hooks/use-combobox/index.js.map +1 -1
  265. package/dist/esm/hooks/use-descendants/index.js +19 -9
  266. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  267. package/dist/esm/hooks/use-popper/index.js +4 -0
  268. package/dist/esm/hooks/use-popper/index.js.map +1 -1
  269. package/dist/esm/index.js +230 -174
  270. package/dist/esm/index.js.map +1 -1
  271. package/dist/esm/providers/i18n-provider/intl/ar-AE.js +8 -0
  272. package/dist/esm/providers/i18n-provider/intl/ar-AE.js.map +1 -1
  273. package/dist/esm/providers/i18n-provider/intl/bg-BG.js +8 -0
  274. package/dist/esm/providers/i18n-provider/intl/bg-BG.js.map +1 -1
  275. package/dist/esm/providers/i18n-provider/intl/cs-CZ.js +8 -0
  276. package/dist/esm/providers/i18n-provider/intl/cs-CZ.js.map +1 -1
  277. package/dist/esm/providers/i18n-provider/intl/da-DK.js +8 -0
  278. package/dist/esm/providers/i18n-provider/intl/da-DK.js.map +1 -1
  279. package/dist/esm/providers/i18n-provider/intl/de-DE.js +8 -0
  280. package/dist/esm/providers/i18n-provider/intl/de-DE.js.map +1 -1
  281. package/dist/esm/providers/i18n-provider/intl/el-GR.js +8 -0
  282. package/dist/esm/providers/i18n-provider/intl/el-GR.js.map +1 -1
  283. package/dist/esm/providers/i18n-provider/intl/en-GB.js +8 -0
  284. package/dist/esm/providers/i18n-provider/intl/en-GB.js.map +1 -1
  285. package/dist/esm/providers/i18n-provider/intl/en-US.js +8 -0
  286. package/dist/esm/providers/i18n-provider/intl/en-US.js.map +1 -1
  287. package/dist/esm/providers/i18n-provider/intl/es-ES.js +8 -0
  288. package/dist/esm/providers/i18n-provider/intl/es-ES.js.map +1 -1
  289. package/dist/esm/providers/i18n-provider/intl/et-EE.js +8 -0
  290. package/dist/esm/providers/i18n-provider/intl/et-EE.js.map +1 -1
  291. package/dist/esm/providers/i18n-provider/intl/fi-FI.js +8 -0
  292. package/dist/esm/providers/i18n-provider/intl/fi-FI.js.map +1 -1
  293. package/dist/esm/providers/i18n-provider/intl/fr-CA.js +8 -0
  294. package/dist/esm/providers/i18n-provider/intl/fr-CA.js.map +1 -1
  295. package/dist/esm/providers/i18n-provider/intl/fr-FR.js +8 -0
  296. package/dist/esm/providers/i18n-provider/intl/fr-FR.js.map +1 -1
  297. package/dist/esm/providers/i18n-provider/intl/he-IL.js +8 -0
  298. package/dist/esm/providers/i18n-provider/intl/he-IL.js.map +1 -1
  299. package/dist/esm/providers/i18n-provider/intl/hr-HR.js +8 -0
  300. package/dist/esm/providers/i18n-provider/intl/hr-HR.js.map +1 -1
  301. package/dist/esm/providers/i18n-provider/intl/hu-HU.js +8 -0
  302. package/dist/esm/providers/i18n-provider/intl/hu-HU.js.map +1 -1
  303. package/dist/esm/providers/i18n-provider/intl/it-IT.js +8 -0
  304. package/dist/esm/providers/i18n-provider/intl/it-IT.js.map +1 -1
  305. package/dist/esm/providers/i18n-provider/intl/ja-JP.js +8 -0
  306. package/dist/esm/providers/i18n-provider/intl/ja-JP.js.map +1 -1
  307. package/dist/esm/providers/i18n-provider/intl/ko-KR.js +8 -0
  308. package/dist/esm/providers/i18n-provider/intl/ko-KR.js.map +1 -1
  309. package/dist/esm/providers/i18n-provider/intl/lt-LT.js +8 -0
  310. package/dist/esm/providers/i18n-provider/intl/lt-LT.js.map +1 -1
  311. package/dist/esm/providers/i18n-provider/intl/lv-LV.js +8 -0
  312. package/dist/esm/providers/i18n-provider/intl/lv-LV.js.map +1 -1
  313. package/dist/esm/providers/i18n-provider/intl/nl-NL.js +8 -0
  314. package/dist/esm/providers/i18n-provider/intl/nl-NL.js.map +1 -1
  315. package/dist/esm/providers/i18n-provider/intl/no-NO.js +8 -0
  316. package/dist/esm/providers/i18n-provider/intl/no-NO.js.map +1 -1
  317. package/dist/esm/providers/i18n-provider/intl/pl-PL.js +8 -0
  318. package/dist/esm/providers/i18n-provider/intl/pl-PL.js.map +1 -1
  319. package/dist/esm/providers/i18n-provider/intl/pt-BR.js +8 -0
  320. package/dist/esm/providers/i18n-provider/intl/pt-BR.js.map +1 -1
  321. package/dist/esm/providers/i18n-provider/intl/ro-RO.js +8 -0
  322. package/dist/esm/providers/i18n-provider/intl/ro-RO.js.map +1 -1
  323. package/dist/esm/providers/i18n-provider/intl/ru-RU.js +8 -0
  324. package/dist/esm/providers/i18n-provider/intl/ru-RU.js.map +1 -1
  325. package/dist/esm/providers/i18n-provider/intl/sk-SK.js +8 -0
  326. package/dist/esm/providers/i18n-provider/intl/sk-SK.js.map +1 -1
  327. package/dist/esm/providers/i18n-provider/intl/sl-SI.js +8 -0
  328. package/dist/esm/providers/i18n-provider/intl/sl-SI.js.map +1 -1
  329. package/dist/esm/providers/i18n-provider/intl/sr-RS.js +8 -0
  330. package/dist/esm/providers/i18n-provider/intl/sr-RS.js.map +1 -1
  331. package/dist/esm/providers/i18n-provider/intl/sv-SE.js +8 -0
  332. package/dist/esm/providers/i18n-provider/intl/sv-SE.js.map +1 -1
  333. package/dist/esm/providers/i18n-provider/intl/tr-TR.js +8 -0
  334. package/dist/esm/providers/i18n-provider/intl/tr-TR.js.map +1 -1
  335. package/dist/esm/providers/i18n-provider/intl/uk-UA.js +8 -0
  336. package/dist/esm/providers/i18n-provider/intl/uk-UA.js.map +1 -1
  337. package/dist/esm/providers/i18n-provider/intl/zh-CN.js +8 -0
  338. package/dist/esm/providers/i18n-provider/intl/zh-CN.js.map +1 -1
  339. package/dist/esm/providers/i18n-provider/intl/zh-TW.js +8 -0
  340. package/dist/esm/providers/i18n-provider/intl/zh-TW.js.map +1 -1
  341. package/dist/esm/providers/ui-provider/ui-provider.js +26 -23
  342. package/dist/esm/providers/ui-provider/ui-provider.js.map +1 -1
  343. package/dist/esm/theme/semantic-tokens/colors.js +1 -1
  344. package/dist/esm/theme/semantic-tokens/colors.js.map +1 -1
  345. package/dist/esm/theme/styles/layer-styles.js +2 -2
  346. package/dist/esm/theme/styles/layer-styles.js.map +1 -1
  347. package/dist/types/components/accordion/accordion.d.ts +2 -2
  348. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  349. package/dist/types/components/action-bar/action-bar.d.ts +49 -0
  350. package/dist/types/components/action-bar/action-bar.style.d.ts +56 -0
  351. package/dist/types/components/action-bar/index.d.ts +5 -0
  352. package/dist/types/components/action-bar/namespace.d.ts +9 -0
  353. package/dist/types/components/action-bar/use-action-bar.d.ts +33 -0
  354. package/dist/types/components/airy/airy.d.ts +3 -3
  355. package/dist/types/components/alert/alert.d.ts +2 -2
  356. package/dist/types/components/alert/alert.style.d.ts +1 -1
  357. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
  358. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  359. package/dist/types/components/autocomplete/autocomplete.d.ts +6 -5
  360. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  361. package/dist/types/components/autocomplete/use-autocomplete.d.ts +7 -7
  362. package/dist/types/components/avatar/avatar.d.ts +5 -5
  363. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  364. package/dist/types/components/badge/badge.d.ts +2 -2
  365. package/dist/types/components/bleed/bleed.d.ts +2 -2
  366. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  367. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  368. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  369. package/dist/types/components/button/button.d.ts +2 -2
  370. package/dist/types/components/button/icon-button.d.ts +2 -2
  371. package/dist/types/components/calendar/calendar.d.ts +2 -2
  372. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  373. package/dist/types/components/calendar/use-calendar.d.ts +8 -8
  374. package/dist/types/components/card/card.d.ts +2 -2
  375. package/dist/types/components/carousel/carousel.d.ts +2 -2
  376. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  377. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  378. package/dist/types/components/center/center.d.ts +2 -2
  379. package/dist/types/components/chart/area-chart.d.ts +2 -2
  380. package/dist/types/components/chart/bar-chart.d.ts +2 -2
  381. package/dist/types/components/chart/chart.d.ts +5 -5
  382. package/dist/types/components/chart/composed-chart.d.ts +2 -2
  383. package/dist/types/components/chart/donut-chart.d.ts +2 -2
  384. package/dist/types/components/chart/line-chart.d.ts +2 -2
  385. package/dist/types/components/chart/pie-chart.d.ts +2 -2
  386. package/dist/types/components/chart/radar-chart.d.ts +2 -2
  387. package/dist/types/components/chart/radial-chart.d.ts +2 -2
  388. package/dist/types/components/chart/use-chart.d.ts +2 -2
  389. package/dist/types/components/checkbox/checkbox.d.ts +4 -4
  390. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
  391. package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
  392. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  393. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
  394. package/dist/types/components/close-button/close-button.d.ts +2 -2
  395. package/dist/types/components/code/code.d.ts +2 -2
  396. package/dist/types/components/collapse/collapse.d.ts +2 -2
  397. package/dist/types/components/color-picker/color-picker.d.ts +7 -6
  398. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  399. package/dist/types/components/color-picker/use-color-picker.d.ts +4 -4
  400. package/dist/types/components/color-selector/color-selector.d.ts +2 -2
  401. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  402. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
  403. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  404. package/dist/types/components/container/container.d.ts +2 -2
  405. package/dist/types/components/data-list/data-list.d.ts +2 -2
  406. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  407. package/dist/types/components/date-picker/date-picker.d.ts +7 -6
  408. package/dist/types/components/date-picker/use-date-picker.d.ts +6 -6
  409. package/dist/types/components/drawer/drawer.d.ts +2 -2
  410. package/dist/types/components/drawer/drawer.style.d.ts +2 -2
  411. package/dist/types/components/dropzone/dropzone.d.ts +5 -5
  412. package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
  413. package/dist/types/components/editable/editable.d.ts +4 -4
  414. package/dist/types/components/editable/use-editable.d.ts +2 -2
  415. package/dist/types/components/em/em.d.ts +2 -2
  416. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  417. package/dist/types/components/fade/fade.d.ts +2 -2
  418. package/dist/types/components/field/field.d.ts +3 -3
  419. package/dist/types/components/field/use-field-props.d.ts +3 -3
  420. package/dist/types/components/fieldset/fieldset.d.ts +3 -3
  421. package/dist/types/components/file-button/file-button.d.ts +2 -2
  422. package/dist/types/components/file-button/use-file-button.d.ts +18 -18
  423. package/dist/types/components/file-input/file-input.d.ts +2 -2
  424. package/dist/types/components/file-input/file-input.style.d.ts +1 -1
  425. package/dist/types/components/file-input/use-file-input.d.ts +15 -15
  426. package/dist/types/components/flex/flex.d.ts +2 -2
  427. package/dist/types/components/flip/flip.d.ts +4 -4
  428. package/dist/types/components/float/float.d.ts +2 -2
  429. package/dist/types/components/form/form.d.ts +3 -3
  430. package/dist/types/components/format/format-byte.d.ts +4 -4
  431. package/dist/types/components/format/format-date-time.d.ts +4 -4
  432. package/dist/types/components/format/format-number.d.ts +2 -2
  433. package/dist/types/components/grid/grid-item.d.ts +2 -2
  434. package/dist/types/components/grid/grid.d.ts +2 -2
  435. package/dist/types/components/group/group.d.ts +2 -2
  436. package/dist/types/components/group/use-group.d.ts +2 -2
  437. package/dist/types/components/heading/heading.d.ts +2 -2
  438. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
  439. package/dist/types/components/icon/icon.d.ts +5 -5
  440. package/dist/types/components/icon/icons/beef-off-icon.d.ts +15 -0
  441. package/dist/types/components/icon/icons/cctv-off-icon.d.ts +15 -0
  442. package/dist/types/components/icon/icons/index.d.ts +10 -20
  443. package/dist/types/components/icon/icons/index.types.d.ts +1 -1
  444. package/dist/types/components/icon/icons/line-style-icon.d.ts +15 -0
  445. package/dist/types/components/icon/icons/radio-off-icon.d.ts +15 -0
  446. package/dist/types/components/icon/icons/road-icon.d.ts +15 -0
  447. package/dist/types/components/icon/icons/shield-cog-corner-icon.d.ts +15 -0
  448. package/dist/types/components/icon/icons/shield-cog-icon.d.ts +15 -0
  449. package/dist/types/components/icon/icons/sport-shoe-icon.d.ts +15 -0
  450. package/dist/types/components/icon/index.d.ts +9 -19
  451. package/dist/types/components/image/image.d.ts +2 -2
  452. package/dist/types/components/indicator/indicator.d.ts +4 -4
  453. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  454. package/dist/types/components/input/input-addon.d.ts +2 -2
  455. package/dist/types/components/input/input-element.d.ts +2 -2
  456. package/dist/types/components/input/input.d.ts +2 -2
  457. package/dist/types/components/kbd/kbd.d.ts +2 -2
  458. package/dist/types/components/link/link.d.ts +2 -2
  459. package/dist/types/components/link-box/link-box.d.ts +2 -2
  460. package/dist/types/components/list/list.d.ts +2 -2
  461. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  462. package/dist/types/components/loading/loading.d.ts +3 -3
  463. package/dist/types/components/mark/mark.d.ts +2 -2
  464. package/dist/types/components/menu/menu.d.ts +4 -4
  465. package/dist/types/components/menu/menu.style.d.ts +2 -2
  466. package/dist/types/components/menu/use-menu.d.ts +12 -12
  467. package/dist/types/components/modal/modal.d.ts +4 -4
  468. package/dist/types/components/modal/modal.style.d.ts +2 -2
  469. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  470. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  471. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  472. package/dist/types/components/native-popover/use-native-popover.d.ts +1 -2
  473. package/dist/types/components/native-select/native-select.d.ts +2 -2
  474. package/dist/types/components/native-table/native-table.d.ts +4 -4
  475. package/dist/types/components/notice/notice.style.d.ts +1 -1
  476. package/dist/types/components/number-input/number-input.d.ts +2 -2
  477. package/dist/types/components/pagination/pagination.d.ts +2 -2
  478. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  479. package/dist/types/components/password-input/password-input.d.ts +2 -2
  480. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  481. package/dist/types/components/password-input/use-password-input.d.ts +2 -2
  482. package/dist/types/components/pin-input/pin-input.d.ts +2 -2
  483. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
  484. package/dist/types/components/popover/index.d.ts +2 -2
  485. package/dist/types/components/popover/popover.d.ts +55 -17
  486. package/dist/types/components/popover/use-popover.d.ts +3 -3
  487. package/dist/types/components/progress/progress.d.ts +4 -4
  488. package/dist/types/components/progress/use-progress.d.ts +706 -706
  489. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  490. package/dist/types/components/radio/radio.d.ts +3 -3
  491. package/dist/types/components/radio/use-radio-group.d.ts +2 -2
  492. package/dist/types/components/radio-card/radio-card.d.ts +5 -5
  493. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  494. package/dist/types/components/rating/use-rating.d.ts +7 -7
  495. package/dist/types/components/reorder/reorder.d.ts +2 -2
  496. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  497. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  498. package/dist/types/components/resizable/resizable.d.ts +2 -2
  499. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  500. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  501. package/dist/types/components/ripple/ripple.d.ts +2 -2
  502. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  503. package/dist/types/components/rotate/rotate.d.ts +2 -2
  504. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  505. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
  506. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  507. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
  508. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  509. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
  510. package/dist/types/components/select/select.d.ts +5 -4
  511. package/dist/types/components/select/use-select.d.ts +6 -6
  512. package/dist/types/components/separator/separator.d.ts +2 -2
  513. package/dist/types/components/sidebar/index.d.ts +5 -0
  514. package/dist/types/components/sidebar/namespace.d.ts +10 -0
  515. package/dist/types/components/sidebar/sidebar.d.ts +289 -0
  516. package/dist/types/components/sidebar/sidebar.style.d.ts +18 -0
  517. package/dist/types/components/sidebar/use-sidebar.d.ts +255 -0
  518. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
  519. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  520. package/dist/types/components/slide/slide.d.ts +2 -2
  521. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
  522. package/dist/types/components/slider/slider.d.ts +2 -2
  523. package/dist/types/components/slider/use-slider.d.ts +2 -2
  524. package/dist/types/components/stack/h-stack.d.ts +2 -2
  525. package/dist/types/components/stack/stack.d.ts +2 -2
  526. package/dist/types/components/stack/v-stack.d.ts +2 -2
  527. package/dist/types/components/stack/z-stack.d.ts +2 -2
  528. package/dist/types/components/stat/stat.d.ts +2 -2
  529. package/dist/types/components/status/status.d.ts +2 -2
  530. package/dist/types/components/steps/steps.d.ts +2 -2
  531. package/dist/types/components/steps/steps.style.d.ts +1 -1
  532. package/dist/types/components/steps/use-steps.d.ts +10 -10
  533. package/dist/types/components/switch/switch.d.ts +2 -2
  534. package/dist/types/components/table/table.d.ts +2 -2
  535. package/dist/types/components/tabs/tabs.d.ts +2 -2
  536. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  537. package/dist/types/components/tag/tag.d.ts +2 -2
  538. package/dist/types/components/tag/tag.style.d.ts +1 -1
  539. package/dist/types/components/text/text.d.ts +2 -2
  540. package/dist/types/components/textarea/textarea.d.ts +2 -2
  541. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  542. package/dist/types/components/timeline/timeline.d.ts +26 -6
  543. package/dist/types/components/timeline/timeline.style.d.ts +21 -3
  544. package/dist/types/components/toggle/toggle.d.ts +5 -5
  545. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  546. package/dist/types/components/toggle/use-toggle.d.ts +2 -2
  547. package/dist/types/components/tooltip/tooltip.d.ts +5 -5
  548. package/dist/types/components/tree/index.d.ts +5 -0
  549. package/dist/types/components/tree/namespace.d.ts +10 -0
  550. package/dist/types/components/tree/tree.d.ts +130 -0
  551. package/dist/types/components/tree/tree.style.d.ts +170 -0
  552. package/dist/types/components/tree/use-tree.d.ts +540 -0
  553. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  554. package/dist/types/components/wrap/wrap.d.ts +2 -2
  555. package/dist/types/core/components/create-component.d.ts +7 -8
  556. package/dist/types/core/components/use-component-style.d.ts +0 -1
  557. package/dist/types/core/components/utils.d.ts +0 -1
  558. package/dist/types/core/constant.d.ts +0 -1
  559. package/dist/types/core/css/calc.d.ts +0 -1
  560. package/dist/types/core/css/conditions.d.ts +107 -67
  561. package/dist/types/core/css/config.d.ts +0 -1
  562. package/dist/types/core/css/css.d.ts +0 -1
  563. package/dist/types/core/css/index.d.ts +2 -2
  564. package/dist/types/core/css/index.types.d.ts +3 -3
  565. package/dist/types/core/css/styles.d.ts +0 -1
  566. package/dist/types/core/css/token.d.ts +0 -1
  567. package/dist/types/core/css/use-css.d.ts +0 -1
  568. package/dist/types/core/css/utils.d.ts +0 -1
  569. package/dist/types/core/generated-theme-tokens.types.d.ts +0 -1
  570. package/dist/types/core/index.d.ts +3 -4
  571. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  572. package/dist/types/core/system/config.d.ts +11 -3
  573. package/dist/types/core/system/index.d.ts +2 -2
  574. package/dist/types/core/system/index.types.d.ts +1 -1
  575. package/dist/types/core/system/var.d.ts +0 -1
  576. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  577. package/dist/types/hooks/use-clickable/index.d.ts +7 -7
  578. package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
  579. package/dist/types/hooks/use-combobox/index.d.ts +13 -13
  580. package/dist/types/hooks/use-counter/index.d.ts +2 -2
  581. package/dist/types/hooks/use-descendants/index.d.ts +2 -2
  582. package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
  583. package/dist/types/hooks/use-hover/index.d.ts +2 -2
  584. package/dist/types/hooks/use-popper/index.d.ts +2 -2
  585. package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
  586. package/dist/types/index.d.ts +90 -85
  587. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +11 -3
  588. package/dist/types/providers/i18n-provider/intl/en-US.d.ts +8 -0
  589. package/dist/types/providers/i18n-provider/intl/index.d.ts +280 -0
  590. package/dist/types/providers/ui-provider/ui-provider.d.ts +13 -8
  591. package/dist/types/theme/index.d.ts +3 -3
  592. package/dist/types/theme/semantic-tokens/index.d.ts +1 -1
  593. package/dist/types/theme/styles/index.d.ts +2 -2
  594. package/dist/types/utils/children.d.ts +2 -2
  595. package/package.json +2 -2
  596. package/dist/cjs/components/icon/icons/chromium-icon.cjs +0 -17
  597. package/dist/cjs/components/icon/icons/chromium-icon.cjs.map +0 -1
  598. package/dist/cjs/components/icon/icons/codepen-icon.cjs +0 -17
  599. package/dist/cjs/components/icon/icons/codepen-icon.cjs.map +0 -1
  600. package/dist/cjs/components/icon/icons/codesandbox-icon.cjs +0 -17
  601. package/dist/cjs/components/icon/icons/codesandbox-icon.cjs.map +0 -1
  602. package/dist/cjs/components/icon/icons/dribbble-icon.cjs +0 -17
  603. package/dist/cjs/components/icon/icons/dribbble-icon.cjs.map +0 -1
  604. package/dist/cjs/components/icon/icons/facebook-icon.cjs +0 -17
  605. package/dist/cjs/components/icon/icons/facebook-icon.cjs.map +0 -1
  606. package/dist/cjs/components/icon/icons/figma-icon.cjs +0 -17
  607. package/dist/cjs/components/icon/icons/figma-icon.cjs.map +0 -1
  608. package/dist/cjs/components/icon/icons/framer-icon.cjs +0 -17
  609. package/dist/cjs/components/icon/icons/framer-icon.cjs.map +0 -1
  610. package/dist/cjs/components/icon/icons/github-icon.cjs +0 -17
  611. package/dist/cjs/components/icon/icons/github-icon.cjs.map +0 -1
  612. package/dist/cjs/components/icon/icons/gitlab-icon.cjs +0 -17
  613. package/dist/cjs/components/icon/icons/gitlab-icon.cjs.map +0 -1
  614. package/dist/cjs/components/icon/icons/instagram-icon.cjs +0 -17
  615. package/dist/cjs/components/icon/icons/instagram-icon.cjs.map +0 -1
  616. package/dist/cjs/components/icon/icons/linkedin-icon.cjs +0 -17
  617. package/dist/cjs/components/icon/icons/linkedin-icon.cjs.map +0 -1
  618. package/dist/cjs/components/icon/icons/pocket-icon.cjs +0 -17
  619. package/dist/cjs/components/icon/icons/pocket-icon.cjs.map +0 -1
  620. package/dist/cjs/components/icon/icons/rail-symbol-icon.cjs +0 -17
  621. package/dist/cjs/components/icon/icons/rail-symbol-icon.cjs.map +0 -1
  622. package/dist/cjs/components/icon/icons/slack-icon.cjs +0 -17
  623. package/dist/cjs/components/icon/icons/slack-icon.cjs.map +0 -1
  624. package/dist/cjs/components/icon/icons/trello-icon.cjs +0 -17
  625. package/dist/cjs/components/icon/icons/trello-icon.cjs.map +0 -1
  626. package/dist/cjs/components/icon/icons/twitch-icon.cjs +0 -17
  627. package/dist/cjs/components/icon/icons/twitch-icon.cjs.map +0 -1
  628. package/dist/cjs/components/icon/icons/twitter-icon.cjs +0 -17
  629. package/dist/cjs/components/icon/icons/twitter-icon.cjs.map +0 -1
  630. package/dist/cjs/components/icon/icons/youtube-icon.cjs +0 -17
  631. package/dist/cjs/components/icon/icons/youtube-icon.cjs.map +0 -1
  632. package/dist/esm/components/icon/icons/chromium-icon.js +0 -16
  633. package/dist/esm/components/icon/icons/chromium-icon.js.map +0 -1
  634. package/dist/esm/components/icon/icons/codepen-icon.js +0 -16
  635. package/dist/esm/components/icon/icons/codepen-icon.js.map +0 -1
  636. package/dist/esm/components/icon/icons/codesandbox-icon.js +0 -16
  637. package/dist/esm/components/icon/icons/codesandbox-icon.js.map +0 -1
  638. package/dist/esm/components/icon/icons/dribbble-icon.js +0 -16
  639. package/dist/esm/components/icon/icons/dribbble-icon.js.map +0 -1
  640. package/dist/esm/components/icon/icons/facebook-icon.js +0 -16
  641. package/dist/esm/components/icon/icons/facebook-icon.js.map +0 -1
  642. package/dist/esm/components/icon/icons/figma-icon.js +0 -16
  643. package/dist/esm/components/icon/icons/figma-icon.js.map +0 -1
  644. package/dist/esm/components/icon/icons/framer-icon.js +0 -16
  645. package/dist/esm/components/icon/icons/framer-icon.js.map +0 -1
  646. package/dist/esm/components/icon/icons/github-icon.js +0 -16
  647. package/dist/esm/components/icon/icons/github-icon.js.map +0 -1
  648. package/dist/esm/components/icon/icons/gitlab-icon.js +0 -16
  649. package/dist/esm/components/icon/icons/gitlab-icon.js.map +0 -1
  650. package/dist/esm/components/icon/icons/instagram-icon.js +0 -16
  651. package/dist/esm/components/icon/icons/instagram-icon.js.map +0 -1
  652. package/dist/esm/components/icon/icons/linkedin-icon.js +0 -16
  653. package/dist/esm/components/icon/icons/linkedin-icon.js.map +0 -1
  654. package/dist/esm/components/icon/icons/pocket-icon.js +0 -16
  655. package/dist/esm/components/icon/icons/pocket-icon.js.map +0 -1
  656. package/dist/esm/components/icon/icons/rail-symbol-icon.js +0 -16
  657. package/dist/esm/components/icon/icons/rail-symbol-icon.js.map +0 -1
  658. package/dist/esm/components/icon/icons/slack-icon.js +0 -16
  659. package/dist/esm/components/icon/icons/slack-icon.js.map +0 -1
  660. package/dist/esm/components/icon/icons/trello-icon.js +0 -16
  661. package/dist/esm/components/icon/icons/trello-icon.js.map +0 -1
  662. package/dist/esm/components/icon/icons/twitch-icon.js +0 -16
  663. package/dist/esm/components/icon/icons/twitch-icon.js.map +0 -1
  664. package/dist/esm/components/icon/icons/twitter-icon.js +0 -16
  665. package/dist/esm/components/icon/icons/twitter-icon.js.map +0 -1
  666. package/dist/esm/components/icon/icons/youtube-icon.js +0 -16
  667. package/dist/esm/components/icon/icons/youtube-icon.js.map +0 -1
  668. package/dist/types/components/icon/icons/chromium-icon.d.ts +0 -15
  669. package/dist/types/components/icon/icons/codepen-icon.d.ts +0 -15
  670. package/dist/types/components/icon/icons/codesandbox-icon.d.ts +0 -15
  671. package/dist/types/components/icon/icons/dribbble-icon.d.ts +0 -15
  672. package/dist/types/components/icon/icons/facebook-icon.d.ts +0 -15
  673. package/dist/types/components/icon/icons/figma-icon.d.ts +0 -15
  674. package/dist/types/components/icon/icons/framer-icon.d.ts +0 -15
  675. package/dist/types/components/icon/icons/github-icon.d.ts +0 -15
  676. package/dist/types/components/icon/icons/gitlab-icon.d.ts +0 -15
  677. package/dist/types/components/icon/icons/instagram-icon.d.ts +0 -15
  678. package/dist/types/components/icon/icons/linkedin-icon.d.ts +0 -15
  679. package/dist/types/components/icon/icons/pocket-icon.d.ts +0 -15
  680. package/dist/types/components/icon/icons/rail-symbol-icon.d.ts +0 -15
  681. package/dist/types/components/icon/icons/slack-icon.d.ts +0 -15
  682. package/dist/types/components/icon/icons/trello-icon.d.ts +0 -15
  683. package/dist/types/components/icon/icons/twitch-icon.d.ts +0 -15
  684. package/dist/types/components/icon/icons/twitter-icon.d.ts +0 -15
  685. package/dist/types/components/icon/icons/youtube-icon.d.ts +0 -15
@@ -0,0 +1,536 @@
1
+ "use client";
2
+
3
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
4
+ const require_context = require('../../utils/context.cjs');
5
+ const require_dom = require('../../utils/dom.cjs');
6
+ const require_effect = require('../../utils/effect.cjs');
7
+ const require_ref = require('../../utils/ref.cjs');
8
+ const require_utils_index = require('../../utils/index.cjs');
9
+ const require_hooks_use_controllable_state_index = require('../../hooks/use-controllable-state/index.cjs');
10
+ const require_hooks_use_descendants_index = require('../../hooks/use-descendants/index.cjs');
11
+ const require_use_disclosure = require('../../hooks/use-disclosure/use-disclosure.cjs');
12
+ require('../../hooks/use-disclosure/index.cjs');
13
+ const require_hooks_use_async_callback_index = require('../../hooks/use-async-callback/index.cjs');
14
+ let react = require("react");
15
+
16
+ //#region src/components/tree/use-tree.ts
17
+ const { DescendantsContext: TreeDescendantsContext, useDescendant: useTreeDescendant, useDescendants: useTreeDescendants } = require_hooks_use_descendants_index.createDescendants();
18
+ const [TreeContext, useTreeContext] = require_context.createContext({ name: "TreeContext" });
19
+ const [TreeItemContext, useTreeItemContext] = require_context.createContext({
20
+ name: "TreeItemContext",
21
+ strict: false
22
+ });
23
+ const useTree = ({ checkable = false, checkedValue: checkedValueProp, children, controlRef, defaultCheckedValue = [], defaultExpandedValue = [], defaultSelectedValue, expandedValue: expandedValueProp, multiple, selectedValue: selectedValueProp, onCheckedChange: onCheckedChangeProp, onExpandedChange: onExpandedChangeProp, onSelectedChange: onSelectedChangeProp, ...rest } = {}) => {
24
+ const [selectedValue, setSelectedValue] = require_hooks_use_controllable_state_index.useControllableState({
25
+ defaultValue: defaultSelectedValue ?? (multiple ? [] : ""),
26
+ value: selectedValueProp,
27
+ onChange: onSelectedChangeProp
28
+ });
29
+ const [checkedValue, onCheckedChange] = require_hooks_use_controllable_state_index.useControllableState({
30
+ defaultValue: defaultCheckedValue,
31
+ value: checkedValueProp,
32
+ onChange: onCheckedChangeProp
33
+ });
34
+ const [expandedValue, setExpandedValue] = require_hooks_use_controllable_state_index.useControllableState({
35
+ defaultValue: defaultExpandedValue,
36
+ value: expandedValueProp,
37
+ onChange: onExpandedChangeProp
38
+ });
39
+ const descendants = useTreeDescendants();
40
+ const activeDescendant = (0, react.useRef)(null);
41
+ const searchRef = (0, react.useRef)({
42
+ omitValue: void 0,
43
+ value: ""
44
+ });
45
+ const timeoutRef = (0, react.useRef)(null);
46
+ const onExpandAll = (0, react.useCallback)(() => {
47
+ setExpandedValue(descendants.enabledValues().filter(({ group }) => group).map(({ value }) => value));
48
+ }, [descendants, setExpandedValue]);
49
+ const onCollapseAll = (0, react.useCallback)(() => {
50
+ setExpandedValue([]);
51
+ }, [setExpandedValue]);
52
+ const onActiveDescendant = (0, react.useCallback)((descendant, shouldFocus = true) => {
53
+ if (!descendant) return;
54
+ descendants.values().forEach(({ node }) => {
55
+ node.tabIndex = -1;
56
+ });
57
+ activeDescendant.current = descendant;
58
+ descendant.node.tabIndex = 0;
59
+ if (shouldFocus) descendant.node.focus();
60
+ }, [descendants]);
61
+ const onSearch = (0, react.useCallback)((value, omitValue) => {
62
+ clearTimeout(timeoutRef.current);
63
+ searchRef.current.value += value;
64
+ if (!searchRef.current.omitValue) searchRef.current.omitValue = omitValue;
65
+ timeoutRef.current = setTimeout(() => {
66
+ searchRef.current = {
67
+ omitValue: void 0,
68
+ value: ""
69
+ };
70
+ }, 400);
71
+ const descendant = descendants.enabledValues({ expanded: true }).filter((descendant$1) => !(0, require_utils_index.utils_exports.isUndefined)(descendant$1.value) && descendant$1.value !== searchRef.current.omitValue).find(({ query, value: value$1 }) => (0, require_utils_index.utils_exports.match)(query ?? value$1, searchRef.current.value, "startsWith"));
72
+ if (descendant) onActiveDescendant(descendant);
73
+ }, [descendants, onActiveDescendant]);
74
+ const onSelectedChange = (0, react.useCallback)((value) => {
75
+ setSelectedValue(value);
76
+ }, [setSelectedValue]);
77
+ const onExpandedChange = (0, react.useCallback)((value) => {
78
+ setExpandedValue((prev) => {
79
+ if (prev.includes(value)) return prev.filter((prevValue) => prevValue !== value);
80
+ else return [...prev, value];
81
+ });
82
+ }, [setExpandedValue]);
83
+ require_effect.useSafeLayoutEffect(() => {
84
+ const value = (0, require_utils_index.utils_exports.isArray)(selectedValue) ? selectedValue.at(0) : selectedValue;
85
+ const expandedDescendants = descendants.enabledValues({ expanded: true });
86
+ if (value) {
87
+ const descendant = expandedDescendants.find((descendant$1) => value === descendant$1.value);
88
+ if (descendant) onActiveDescendant(descendant, false);
89
+ else onActiveDescendant(expandedDescendants.at(0), false);
90
+ } else onActiveDescendant(expandedDescendants.at(0), false);
91
+ }, [children]);
92
+ require_ref.assignRef(controlRef, {
93
+ collapse: onCollapseAll,
94
+ expand: onExpandAll
95
+ });
96
+ return {
97
+ activeDescendant,
98
+ checkable,
99
+ checkedValue,
100
+ descendants,
101
+ expandedValue,
102
+ multiple,
103
+ selectedValue,
104
+ getRootProps: (0, react.useCallback)((props) => ({
105
+ "aria-multiselectable": (0, require_utils_index.utils_exports.ariaAttr)(multiple || checkable),
106
+ children,
107
+ role: "tree",
108
+ ...rest,
109
+ ...props
110
+ }), [
111
+ multiple,
112
+ checkable,
113
+ rest,
114
+ children
115
+ ]),
116
+ onActiveDescendant,
117
+ onCheckedChange,
118
+ onCollapseAll,
119
+ onExpandAll,
120
+ onExpandedChange,
121
+ onSearch,
122
+ onSelectedChange
123
+ };
124
+ };
125
+ const getRootDescendant = (descendants) => (value) => {
126
+ const segments = value.split("/");
127
+ if (segments.length <= 1) return;
128
+ const rootValue = segments.at(0);
129
+ return descendants.enabledValues().find(({ value: value$1 }) => value$1 === rootValue);
130
+ };
131
+ const getParentDescendant = (descendants) => (value) => {
132
+ const segments = value.split("/");
133
+ if (segments.length <= 1) return;
134
+ const parentValue = segments.slice(0, -1).join("/");
135
+ return descendants.enabledValues().find(({ value: value$1 }) => value$1 === parentValue);
136
+ };
137
+ const getChildDescendants = (descendants) => (value) => {
138
+ const children = descendants.enabledValues().filter((descendant) => descendant.value.startsWith(value + "/"));
139
+ return {
140
+ children,
141
+ values: children.map(({ value: value$1 }) => value$1).filter((value$1) => !(0, require_utils_index.utils_exports.isUndefined)(value$1))
142
+ };
143
+ };
144
+ const getParentValues = (value) => {
145
+ return value.split("/").reduce((prev, current) => {
146
+ const prevValue = prev.at(-1);
147
+ return prevValue ? [...prev, [prevValue, current].join("/")] : [current];
148
+ }, []).toReversed();
149
+ };
150
+ const getCheckbox = (node) => {
151
+ const el = node?.querySelector("input[type='checkbox']");
152
+ return (0, require_utils_index.utils_exports.isInputElement)(el) ? el : null;
153
+ };
154
+ const getAllChecked = (descendants, trulyValues, falsyValues) => {
155
+ const checked = descendants.map(({ node, value }) => {
156
+ if (value && trulyValues?.includes(value)) return true;
157
+ if (value && falsyValues?.includes(value)) return false;
158
+ return !!getCheckbox(node)?.checked;
159
+ });
160
+ const allChecked = !!checked.length && checked.every(Boolean);
161
+ return {
162
+ allChecked,
163
+ checked,
164
+ indeterminate: checked.some(Boolean) && !allChecked
165
+ };
166
+ };
167
+ const getRangeValues = (descendants) => (start, end) => {
168
+ const values = descendants.enabledValues();
169
+ const [startIndex, endIndex] = [values.findIndex((descendant) => descendant.value === start), values.findIndex((descendant) => descendant.value === end)].sort((a, b) => a - b);
170
+ return values.slice(startIndex, endIndex + 1).map(({ value }) => value).filter((value) => !(0, require_utils_index.utils_exports.isUndefined)(value)).sort((a, b) => {
171
+ if (a === start && b !== start) return -1;
172
+ if (a !== start && b === start) return 1;
173
+ return 0;
174
+ });
175
+ };
176
+ const useTreeItem = ({ asyncChildren, children: childrenProp, defaultOpen, disabled = false, open: openProp, query, value: valueProp, onClose: onCloseProp, onOpen: onOpenProp, ...rest } = {}) => {
177
+ const context = useTreeItemContext();
178
+ const { activeDescendant, checkable, checkedValue, expandedValue, multiple, selectedValue, onActiveDescendant, onCheckedChange, onCollapseAll, onExpandAll, onExpandedChange, onSearch, onSelectedChange } = useTreeContext();
179
+ const [children, setChildren] = (0, react.useState)(childrenProp);
180
+ const [indeterminate, setIndeterminate] = (0, react.useState)(false);
181
+ const [itemId, labelId, checkboxId] = require_dom.useIds();
182
+ const initialAsyncRef = (0, react.useRef)(false);
183
+ const async = !!asyncChildren;
184
+ const group = async || react.Children.count(children) > 0;
185
+ const level = (context?.level ?? 0) + 1;
186
+ const value = (0, require_utils_index.utils_exports.filterEmpty)([context?.value, valueProp]).join("/");
187
+ const nested = !!context?.value;
188
+ const selected = (0, require_utils_index.utils_exports.isArray)(selectedValue) ? !!value && selectedValue.includes(value) : !!value && selectedValue === value;
189
+ const checked = !!value && checkedValue.includes(value);
190
+ const defaultExpanded = !!value && expandedValue.includes(value);
191
+ const { open: groupOpen, onClose, onOpen } = require_use_disclosure.useDisclosure({
192
+ defaultOpen: defaultOpen ?? defaultExpanded,
193
+ open: openProp,
194
+ onClose: onCloseProp,
195
+ onOpen: onOpenProp
196
+ });
197
+ const branchOpen = nested ? [...context.branchOpen, groupOpen] : [groupOpen];
198
+ const { descendants, register } = useTreeDescendant({
199
+ id: itemId,
200
+ disabled,
201
+ expanded: branchOpen.slice(0, -1).every(Boolean),
202
+ group,
203
+ query,
204
+ value
205
+ });
206
+ const [groupLoading, onGroupChildren] = require_hooks_use_async_callback_index.useAsyncCallback(async () => {
207
+ setChildren(await asyncChildren?.());
208
+ }, [asyncChildren]);
209
+ const onSelect = (0, react.useCallback)((ev = {}) => {
210
+ const selectedValue$1 = ev.value ?? value;
211
+ if (disabled || !selectedValue$1) return;
212
+ if (multiple) onSelectedChange((prev) => {
213
+ if (!(0, require_utils_index.utils_exports.isArray)(prev)) return prev;
214
+ if (ev.ctrlKey || ev.metaKey) if (prev.includes(selectedValue$1)) return prev.filter((prevValue) => prevValue !== selectedValue$1);
215
+ else return [...prev, selectedValue$1];
216
+ else if (ev.shiftKey && prev[0]) {
217
+ if (prev[0] === selectedValue$1) return prev;
218
+ return getRangeValues(descendants)(prev[0], selectedValue$1);
219
+ } else return [selectedValue$1];
220
+ });
221
+ else onSelectedChange(selectedValue$1);
222
+ }, [
223
+ descendants,
224
+ disabled,
225
+ multiple,
226
+ onSelectedChange,
227
+ value
228
+ ]);
229
+ const onGroupOpen = (0, react.useCallback)(() => {
230
+ if (disabled || !value) return;
231
+ if (async && !initialAsyncRef.current) {
232
+ initialAsyncRef.current = true;
233
+ onGroupChildren().then(() => {
234
+ onOpen();
235
+ onExpandedChange(value);
236
+ }).catch(() => {
237
+ initialAsyncRef.current = false;
238
+ });
239
+ } else {
240
+ onOpen();
241
+ onExpandedChange(value);
242
+ }
243
+ }, [
244
+ disabled,
245
+ async,
246
+ onGroupChildren,
247
+ onOpen,
248
+ onExpandedChange,
249
+ value
250
+ ]);
251
+ const onGroupClose = (0, react.useCallback)(() => {
252
+ if (disabled || !value) return;
253
+ onClose();
254
+ onExpandedChange(value);
255
+ }, [
256
+ disabled,
257
+ onClose,
258
+ onExpandedChange,
259
+ value
260
+ ]);
261
+ const onGroupToggle = (0, react.useCallback)(() => {
262
+ if (groupOpen) onGroupClose();
263
+ else onGroupOpen();
264
+ }, [
265
+ groupOpen,
266
+ onGroupClose,
267
+ onGroupOpen
268
+ ]);
269
+ const onKeyDown = (0, react.useCallback)((ev) => {
270
+ if (disabled || !value) return;
271
+ require_dom.runKeyAction(ev, {
272
+ a: () => {
273
+ if (!multiple || !(ev.ctrlKey || ev.metaKey)) return;
274
+ onSelectedChange(descendants.enabledValues().map(({ value: value$1 }) => value$1).filter((value$1) => !(0, require_utils_index.utils_exports.isUndefined)(value$1)));
275
+ },
276
+ ArrowDown: () => {
277
+ if ((ev.ctrlKey || ev.metaKey) && ev.shiftKey) onExpandAll();
278
+ else {
279
+ const descendant = descendants.enabledNextValue(activeDescendant.current, false, { expanded: true });
280
+ onActiveDescendant(descendant);
281
+ if (descendant && ev.shiftKey && multiple) onSelect({
282
+ ctrlKey: true,
283
+ value: descendant.value
284
+ });
285
+ }
286
+ },
287
+ ArrowLeft: () => {
288
+ if (group && groupOpen) onGroupClose();
289
+ else if (nested) onActiveDescendant(getParentDescendant(descendants)(value));
290
+ },
291
+ ArrowRight: () => {
292
+ if (!group) return;
293
+ if (groupOpen) onActiveDescendant(descendants.enabledNextValue(activeDescendant.current, false, { expanded: true }));
294
+ else if (!groupLoading) onGroupOpen();
295
+ },
296
+ ArrowUp: () => {
297
+ if ((ev.ctrlKey || ev.metaKey) && ev.shiftKey) {
298
+ onCollapseAll();
299
+ if (!nested) return;
300
+ onActiveDescendant(getRootDescendant(descendants)(value));
301
+ } else {
302
+ const descendant = descendants.enabledPrevValue(activeDescendant.current, false, { expanded: true });
303
+ onActiveDescendant(descendant);
304
+ if (descendant && ev.shiftKey && multiple) onSelect({
305
+ ctrlKey: true,
306
+ value: descendant.value
307
+ });
308
+ }
309
+ },
310
+ End: () => {
311
+ onActiveDescendant(descendants.enabledValues({ expanded: true }).at(-1));
312
+ },
313
+ Enter: () => {
314
+ if (group) onGroupToggle();
315
+ onSelect(ev);
316
+ },
317
+ Home: () => {
318
+ onActiveDescendant(descendants.enabledValues({ expanded: true }).at(0));
319
+ },
320
+ Space: () => {
321
+ if (group) onGroupToggle();
322
+ onSelect(ev);
323
+ }
324
+ });
325
+ if (ev.key.length !== 1) return;
326
+ if (ev.ctrlKey || ev.metaKey || ev.altKey) return;
327
+ ev.preventDefault();
328
+ onSearch(ev.key, query ?? value);
329
+ }, [
330
+ activeDescendant,
331
+ descendants,
332
+ disabled,
333
+ group,
334
+ groupLoading,
335
+ groupOpen,
336
+ multiple,
337
+ nested,
338
+ onActiveDescendant,
339
+ onCollapseAll,
340
+ onExpandAll,
341
+ onGroupClose,
342
+ onGroupOpen,
343
+ onGroupToggle,
344
+ onSearch,
345
+ onSelect,
346
+ onSelectedChange,
347
+ query,
348
+ value
349
+ ]);
350
+ const onItemClick = (0, react.useCallback)((ev) => {
351
+ ev.stopPropagation();
352
+ if (disabled || !value) return;
353
+ if (group && !groupLoading) {
354
+ if (!ev.ctrlKey && !ev.metaKey && !ev.shiftKey) onGroupToggle();
355
+ }
356
+ onSelect(ev);
357
+ }, [
358
+ disabled,
359
+ group,
360
+ groupLoading,
361
+ onGroupToggle,
362
+ onSelect,
363
+ value
364
+ ]);
365
+ const onCheckboxChange = (0, react.useCallback)((ev) => {
366
+ if (disabled || !value) return;
367
+ ev.stopPropagation();
368
+ if (group) setIndeterminate(false);
369
+ onCheckedChange((prev) => {
370
+ const target = [value];
371
+ if (group) {
372
+ const { values } = getChildDescendants(descendants)(value);
373
+ target.push(...values);
374
+ }
375
+ if (nested) {
376
+ const parentValues = getParentValues(context.value);
377
+ const parentTarget = [];
378
+ parentValues.forEach((parentValue) => {
379
+ const { children: children$1 } = getChildDescendants(descendants)(parentValue);
380
+ const { allChecked } = getAllChecked(children$1, [...parentTarget, ...ev.target.checked ? target : []], !ev.target.checked ? target : []);
381
+ if (allChecked) parentTarget.push(parentValue);
382
+ });
383
+ if (!ev.target.checked) parentTarget.push(...parentValues);
384
+ target.push(...parentTarget);
385
+ }
386
+ if (ev.target.checked) return [...new Set([...prev, ...target])];
387
+ else return prev.filter((prevValue) => !target.includes(prevValue));
388
+ });
389
+ }, [
390
+ disabled,
391
+ group,
392
+ onCheckedChange,
393
+ value,
394
+ nested,
395
+ descendants,
396
+ context
397
+ ]);
398
+ require_effect.useSafeLayoutEffect(() => {
399
+ if (defaultExpanded) if (async && !initialAsyncRef.current) {
400
+ initialAsyncRef.current = true;
401
+ onGroupChildren().then(() => {
402
+ onOpen();
403
+ }).catch(() => {
404
+ initialAsyncRef.current = false;
405
+ });
406
+ } else onOpen();
407
+ else onClose();
408
+ }, [
409
+ async,
410
+ defaultExpanded,
411
+ onClose,
412
+ onGroupChildren,
413
+ onOpen
414
+ ]);
415
+ require_effect.useSafeLayoutEffect(() => {
416
+ if (!group || !checkable) return;
417
+ const { children: children$1 } = getChildDescendants(descendants)(value);
418
+ const { indeterminate: indeterminate$1 } = getAllChecked(children$1);
419
+ setIndeterminate(indeterminate$1);
420
+ }, [checkedValue]);
421
+ require_effect.useSafeLayoutEffect(() => {
422
+ if (!checkable) return;
423
+ const { node } = getParentDescendant(descendants)(value) ?? {};
424
+ const checkbox = getCheckbox(node);
425
+ if (!checkbox) return;
426
+ return (0, require_utils_index.utils_exports.setAttribute)(checkbox, "aria-controls", checkboxId);
427
+ }, [checkable, descendants]);
428
+ const getItemProps = (0, react.useCallback)(({ ref, "aria-labelledby": ariaLabelledby, ...props } = {}) => ({
429
+ id: itemId,
430
+ ref: require_ref.mergeRefs(ref, register),
431
+ "aria-disabled": (0, require_utils_index.utils_exports.ariaAttr)(disabled),
432
+ "aria-labelledby": (0, require_utils_index.utils_exports.cx)(ariaLabelledby, labelId),
433
+ "aria-level": level,
434
+ "aria-selected": (0, require_utils_index.utils_exports.ariaAttr)(selected),
435
+ "data-disabled": (0, require_utils_index.utils_exports.dataAttr)(disabled),
436
+ role: "treeitem",
437
+ tabIndex: -1,
438
+ ...props,
439
+ onClick: (0, require_utils_index.utils_exports.handlerAll)(props.onClick, onItemClick),
440
+ onKeyDown: (0, require_utils_index.utils_exports.handlerAll)(props.onKeyDown, onKeyDown)
441
+ }), [
442
+ itemId,
443
+ register,
444
+ disabled,
445
+ labelId,
446
+ level,
447
+ selected,
448
+ onItemClick,
449
+ onKeyDown
450
+ ]);
451
+ const getGroupItemProps = (0, react.useCallback)((props = {}) => getItemProps({
452
+ "aria-expanded": groupOpen,
453
+ ...props
454
+ }), [getItemProps, groupOpen]);
455
+ const getIndicatorProps = (0, react.useCallback)((props) => ({
456
+ "aria-disabled": (0, require_utils_index.utils_exports.ariaAttr)(disabled),
457
+ "aria-expanded": groupOpen,
458
+ "aria-hidden": true,
459
+ "data-disabled": (0, require_utils_index.utils_exports.dataAttr)(disabled),
460
+ "data-loading": (0, require_utils_index.utils_exports.dataAttr)(groupLoading),
461
+ "data-selected": (0, require_utils_index.utils_exports.dataAttr)(selected),
462
+ role: "presentation",
463
+ ...props
464
+ }), [
465
+ disabled,
466
+ groupOpen,
467
+ selected,
468
+ groupLoading
469
+ ]);
470
+ return {
471
+ branchOpen,
472
+ checked,
473
+ children,
474
+ disabled,
475
+ group,
476
+ groupLoading,
477
+ groupOpen,
478
+ indeterminate,
479
+ level,
480
+ props: rest,
481
+ selected,
482
+ value,
483
+ getCheckboxProps: (0, react.useCallback)(({ "aria-labelledby": ariaLabelledby, ...props } = {}) => ({
484
+ id: checkboxId,
485
+ "aria-labelledby": (0, require_utils_index.utils_exports.cx)(ariaLabelledby, labelId),
486
+ "data-selected": (0, require_utils_index.utils_exports.dataAttr)(selected),
487
+ checked,
488
+ disabled,
489
+ indeterminate,
490
+ tabIndex: -1,
491
+ ...props,
492
+ onChange: (0, require_utils_index.utils_exports.handlerAll)(props.onChange, onCheckboxChange)
493
+ }), [
494
+ checkboxId,
495
+ labelId,
496
+ selected,
497
+ checked,
498
+ disabled,
499
+ indeterminate,
500
+ onCheckboxChange
501
+ ]),
502
+ getGroupItemProps,
503
+ getGroupProps: (0, react.useCallback)(({ "aria-labelledby": ariaLabelledby, ...props } = {}) => ({
504
+ "aria-busy": (0, require_utils_index.utils_exports.ariaAttr)(groupLoading),
505
+ "aria-labelledby": (0, require_utils_index.utils_exports.cx)(ariaLabelledby, labelId),
506
+ "data-disabled": (0, require_utils_index.utils_exports.dataAttr)(disabled),
507
+ role: "group",
508
+ ...props
509
+ }), [
510
+ labelId,
511
+ disabled,
512
+ groupLoading
513
+ ]),
514
+ getIndicatorProps,
515
+ getItemProps,
516
+ getLabelProps: (0, react.useCallback)((props = {}) => ({
517
+ id: labelId,
518
+ ...props
519
+ }), [labelId]),
520
+ onGroupClose,
521
+ onGroupOpen,
522
+ onGroupToggle
523
+ };
524
+ };
525
+
526
+ //#endregion
527
+ exports.TreeContext = TreeContext;
528
+ exports.TreeDescendantsContext = TreeDescendantsContext;
529
+ exports.TreeItemContext = TreeItemContext;
530
+ exports.useTree = useTree;
531
+ exports.useTreeContext = useTreeContext;
532
+ exports.useTreeDescendant = useTreeDescendant;
533
+ exports.useTreeDescendants = useTreeDescendants;
534
+ exports.useTreeItem = useTreeItem;
535
+ exports.useTreeItemContext = useTreeItemContext;
536
+ //# sourceMappingURL=use-tree.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tree.cjs","names":["createDescendants","createContext","useControllableState","descendant","value","useIds","Children","level: number","value: string","useDisclosure","branchOpen: boolean[]","useAsyncCallback","selectedValue","parentTarget: string[]","children","indeterminate","getItemProps: PropGetter<\"li\">","mergeRefs","getGroupItemProps: PropGetter<\"li\">","getIndicatorProps: PropGetter<\"svg\">"],"sources":["../../../../src/components/tree/use-tree.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n ChangeEvent,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n RefObject,\n SetStateAction,\n} from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { Descendant, Descendants } from \"../../hooks/use-descendants\"\nimport type { UseDisclosureProps } from \"../../hooks/use-disclosure\"\nimport type { UseCheckboxProps } from \"../checkbox\"\nimport { Children, useCallback, useRef, useState } from \"react\"\nimport { useAsyncCallback } from \"../../hooks/use-async-callback\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { createDescendants } from \"../../hooks/use-descendants\"\nimport { useDisclosure } from \"../../hooks/use-disclosure\"\nimport {\n ariaAttr,\n assignRef,\n createContext,\n cx,\n dataAttr,\n filterEmpty,\n handlerAll,\n isArray,\n isInputElement,\n isUndefined,\n match,\n mergeRefs,\n runKeyAction,\n setAttribute,\n useIds,\n useSafeLayoutEffect,\n} from \"../../utils\"\n\nexport interface TreeControl {\n collapse: () => void\n expand: () => void\n}\n\ninterface TreeDescendantProps {\n expanded: boolean\n group: boolean\n id: string\n value: string\n query?: string\n}\n\nconst {\n DescendantsContext: TreeDescendantsContext,\n useDescendant: useTreeDescendant,\n useDescendants: useTreeDescendants,\n} = createDescendants<HTMLElement, TreeDescendantProps>()\n\nexport { TreeDescendantsContext, useTreeDescendant, useTreeDescendants }\n\ninterface TreeContext extends Omit<\n UseTreeReturn,\n \"descendants\" | \"getRootProps\"\n> {}\n\nconst [TreeContext, useTreeContext] = createContext<TreeContext>({\n name: \"TreeContext\",\n})\n\nexport { TreeContext, useTreeContext }\n\ninterface TreeItemContext extends Pick<\n UseTreeItemReturn,\n | \"branchOpen\"\n | \"groupOpen\"\n | \"level\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n | \"value\"\n> {}\n\nconst [TreeItemContext, useTreeItemContext] = createContext<TreeItemContext>({\n name: \"TreeItemContext\",\n strict: false,\n})\n\nexport { TreeItemContext, useTreeItemContext }\n\nexport interface UseTreeProps<\n Multiple extends boolean = false,\n> extends HTMLProps<\"ul\"> {\n /**\n * If `true`, the tree will allow checkable items.\n *\n * @default false\n */\n checkable?: boolean\n /**\n * The checked value of the tree.\n */\n checkedValue?: string[]\n /**\n * Ref of the tree callbacks.\n */\n controlRef?: RefObject<null | TreeControl>\n /**\n * The initial checked value of the tree.\n */\n defaultCheckedValue?: string[]\n /**\n * The initial expanded value of the tree.\n */\n defaultExpandedValue?: string[]\n /**\n * The initial selected value of the tree.\n */\n defaultSelectedValue?: Multiple extends true ? string[] : string\n /**\n * The expanded value of the tree.\n */\n expandedValue?: string[]\n /**\n * If `true`, the tree will allow multiple selection.\n *\n * @default false\n */\n multiple?: Multiple\n /**\n * The selected value of the tree.\n */\n selectedValue?: Multiple extends true ? string[] : string\n /**\n * The callback invoked when checked value changes.\n */\n onCheckedChange?: (value: string[]) => void\n /**\n * The callback invoked when expanded value changes.\n */\n onExpandedChange?: (value: string[]) => void\n /**\n * The callback invoked when selected value changes.\n */\n onSelectedChange?: (value: Multiple extends true ? string[] : string) => void\n}\n\nexport const useTree = <Multiple extends boolean = false>({\n checkable = false,\n checkedValue: checkedValueProp,\n children,\n controlRef,\n defaultCheckedValue = [],\n defaultExpandedValue = [],\n defaultSelectedValue,\n expandedValue: expandedValueProp,\n multiple,\n selectedValue: selectedValueProp,\n onCheckedChange: onCheckedChangeProp,\n onExpandedChange: onExpandedChangeProp,\n onSelectedChange: onSelectedChangeProp,\n ...rest\n}: UseTreeProps<Multiple> = {}) => {\n type MaybeSelectedValue = Multiple extends true ? string[] : string\n\n const [selectedValue, setSelectedValue] = useControllableState({\n defaultValue:\n defaultSelectedValue ?? ((multiple ? [] : \"\") as MaybeSelectedValue),\n value: selectedValueProp,\n onChange: onSelectedChangeProp,\n })\n const [checkedValue, onCheckedChange] = useControllableState({\n defaultValue: defaultCheckedValue,\n value: checkedValueProp,\n onChange: onCheckedChangeProp,\n })\n const [expandedValue, setExpandedValue] = useControllableState({\n defaultValue: defaultExpandedValue,\n value: expandedValueProp,\n onChange: onExpandedChangeProp,\n })\n const descendants = useTreeDescendants()\n const activeDescendant = useRef<Descendant<\n HTMLElement,\n TreeDescendantProps\n > | null>(null)\n const searchRef = useRef<{ value: string; omitValue?: string }>({\n omitValue: undefined,\n value: \"\",\n })\n const timeoutRef = useRef<any>(null)\n\n const onExpandAll = useCallback(() => {\n const values = descendants.enabledValues()\n const group = values.filter(({ group }) => group)\n const value = group.map(({ value }) => value)\n\n setExpandedValue(value)\n }, [descendants, setExpandedValue])\n\n const onCollapseAll = useCallback(() => {\n setExpandedValue([])\n }, [setExpandedValue])\n\n const onActiveDescendant = useCallback(\n (\n descendant?: Descendant<HTMLElement, TreeDescendantProps>,\n shouldFocus = true,\n ) => {\n if (!descendant) return\n\n descendants.values().forEach(({ node }) => {\n node.tabIndex = -1\n })\n\n activeDescendant.current = descendant\n descendant.node.tabIndex = 0\n\n if (shouldFocus) descendant.node.focus()\n },\n [descendants],\n )\n\n const onSearch = useCallback(\n (value: string, omitValue: string) => {\n clearTimeout(timeoutRef.current)\n\n searchRef.current.value += value\n\n if (!searchRef.current.omitValue) searchRef.current.omitValue = omitValue\n\n timeoutRef.current = setTimeout(() => {\n searchRef.current = { omitValue: undefined, value: \"\" }\n }, 400)\n\n const values = descendants\n .enabledValues({ expanded: true })\n .filter(\n (descendant) =>\n !isUndefined(descendant.value) &&\n descendant.value !== searchRef.current.omitValue,\n )\n const descendant = values.find(({ query, value }) =>\n match(query ?? value, searchRef.current.value, \"startsWith\"),\n )\n\n if (descendant) onActiveDescendant(descendant)\n },\n [descendants, onActiveDescendant],\n )\n\n const onSelectedChange = useCallback(\n (value: SetStateAction<string | string[]>) => {\n setSelectedValue(value as SetStateAction<MaybeSelectedValue>)\n },\n [setSelectedValue],\n )\n\n const onExpandedChange = useCallback(\n (value: string) => {\n setExpandedValue((prev) => {\n if (prev.includes(value)) {\n return prev.filter((prevValue) => prevValue !== value)\n } else {\n return [...prev, value]\n }\n })\n },\n [setExpandedValue],\n )\n\n useSafeLayoutEffect(() => {\n const value = isArray(selectedValue) ? selectedValue.at(0) : selectedValue\n const expandedDescendants = descendants.enabledValues({ expanded: true })\n\n if (value) {\n const descendant = expandedDescendants.find(\n (descendant) => value === descendant.value,\n )\n\n if (descendant) {\n onActiveDescendant(descendant, false)\n } else {\n onActiveDescendant(expandedDescendants.at(0), false)\n }\n } else {\n onActiveDescendant(expandedDescendants.at(0), false)\n }\n }, [children])\n\n assignRef(controlRef, { collapse: onCollapseAll, expand: onExpandAll })\n\n const getRootProps: PropGetter<\"ul\"> = useCallback(\n (props) => ({\n \"aria-multiselectable\": ariaAttr(multiple || checkable),\n children,\n role: \"tree\",\n ...rest,\n ...props,\n }),\n [multiple, checkable, rest, children],\n )\n\n return {\n activeDescendant,\n checkable,\n checkedValue,\n descendants,\n expandedValue,\n multiple,\n selectedValue,\n getRootProps,\n onActiveDescendant,\n onCheckedChange,\n onCollapseAll,\n onExpandAll,\n onExpandedChange,\n onSearch,\n onSelectedChange,\n }\n}\n\nexport type UseTreeReturn = ReturnType<typeof useTree>\n\nconst getRootDescendant =\n (descendants: Descendants<HTMLElement, TreeDescendantProps>) =>\n (value: string) => {\n const segments = value.split(\"/\")\n\n if (segments.length <= 1) return\n\n const rootValue = segments.at(0)\n\n return descendants.enabledValues().find(({ value }) => value === rootValue)\n }\n\nconst getParentDescendant =\n (descendants: Descendants<HTMLElement, TreeDescendantProps>) =>\n (value: string) => {\n const segments = value.split(\"/\")\n\n if (segments.length <= 1) return\n\n const parentValue = segments.slice(0, -1).join(\"/\")\n\n return descendants\n .enabledValues()\n .find(({ value }) => value === parentValue)\n }\n\nconst getChildDescendants =\n (descendants: Descendants<HTMLElement, TreeDescendantProps>) =>\n (value: string) => {\n const children = descendants\n .enabledValues()\n .filter((descendant) => descendant.value.startsWith(value + \"/\"))\n const values = children\n .map(({ value }) => value)\n .filter((value) => !isUndefined(value))\n\n return { children, values }\n }\n\nconst getParentValues = (value: string) => {\n const segments = value.split(\"/\")\n\n return segments\n .reduce<string[]>((prev, current) => {\n const prevValue = prev.at(-1)\n return prevValue ? [...prev, [prevValue, current].join(\"/\")] : [current]\n }, [])\n .toReversed()\n}\n\nconst getCheckbox = (node?: HTMLElement) => {\n const el = node?.querySelector(\"input[type='checkbox']\")\n\n return isInputElement(el) ? el : null\n}\n\nconst getAllChecked = (\n descendants: Descendant<HTMLElement, TreeDescendantProps>[],\n trulyValues?: string[],\n falsyValues?: string[],\n) => {\n const checked = descendants.map(({ node, value }) => {\n if (value && trulyValues?.includes(value)) return true\n if (value && falsyValues?.includes(value)) return false\n\n const checkbox = getCheckbox(node)\n\n return !!checkbox?.checked\n })\n\n const allChecked = !!checked.length && checked.every(Boolean)\n const indeterminate = checked.some(Boolean) && !allChecked\n\n return { allChecked, checked, indeterminate }\n}\n\nconst getRangeValues =\n (descendants: Descendants<HTMLElement, TreeDescendantProps>) =>\n (start: string, end: string) => {\n const values = descendants.enabledValues()\n const [startIndex, endIndex] = [\n values.findIndex((descendant) => descendant.value === start),\n values.findIndex((descendant) => descendant.value === end),\n ].sort((a, b) => a - b)\n\n return values\n .slice(startIndex, endIndex! + 1)\n .map(({ value }) => value)\n .filter((value) => !isUndefined(value))\n .sort((a, b) => {\n if (a === start && b !== start) return -1\n if (a !== start && b === start) return 1\n\n return 0\n })\n }\n\nexport interface UseTreeItemProps\n extends HTMLProps<\"div\">, Omit<UseDisclosureProps, \"timing\"> {\n /**\n * If `true`, the tree item will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n /**\n * The query to search for in the tree item.\n */\n query?: string\n /**\n * The value of the item.\n */\n value?: string\n /**\n * If provided, the tree item will be rendered as an async tree item.\n */\n asyncChildren?: () => Promise<ReactNode>\n}\n\nexport const useTreeItem = ({\n asyncChildren,\n children: childrenProp,\n defaultOpen,\n disabled = false,\n open: openProp,\n query,\n value: valueProp,\n onClose: onCloseProp,\n onOpen: onOpenProp,\n ...rest\n}: UseTreeItemProps = {}) => {\n const context = useTreeItemContext()\n const {\n activeDescendant,\n checkable,\n checkedValue,\n expandedValue,\n multiple,\n selectedValue,\n onActiveDescendant,\n onCheckedChange,\n onCollapseAll,\n onExpandAll,\n onExpandedChange,\n onSearch,\n onSelectedChange,\n } = useTreeContext()\n const [children, setChildren] = useState<ReactNode>(childrenProp)\n const [indeterminate, setIndeterminate] = useState(false)\n const [itemId, labelId, checkboxId] = useIds()\n const initialAsyncRef = useRef(false)\n const async = !!asyncChildren\n const group = async || Children.count(children) > 0\n const level: number = (context?.level ?? 0) + 1\n const value: string = filterEmpty([context?.value, valueProp]).join(\"/\")\n const nested = !!context?.value\n const selected = isArray(selectedValue)\n ? !!value && selectedValue.includes(value)\n : !!value && selectedValue === value\n const checked = !!value && checkedValue.includes(value)\n const defaultExpanded = !!value && expandedValue.includes(value)\n const {\n open: groupOpen,\n onClose,\n onOpen,\n } = useDisclosure({\n defaultOpen: defaultOpen ?? defaultExpanded,\n open: openProp,\n onClose: onCloseProp,\n onOpen: onOpenProp,\n })\n const branchOpen: boolean[] = nested\n ? [...context.branchOpen, groupOpen]\n : [groupOpen]\n const { descendants, register } = useTreeDescendant({\n id: itemId!,\n disabled,\n expanded: branchOpen.slice(0, -1).every(Boolean),\n group,\n query,\n value,\n })\n\n const [groupLoading, onGroupChildren] = useAsyncCallback(async () => {\n const children = await asyncChildren?.()\n\n setChildren(children)\n }, [asyncChildren])\n\n const onSelect = useCallback(\n (\n ev: (\n | Partial<KeyboardEvent<HTMLElement>>\n | Partial<MouseEvent<HTMLElement>>\n ) & { value?: string } = {},\n ) => {\n const selectedValue = ev.value ?? value\n\n if (disabled || !selectedValue) return\n\n if (multiple) {\n onSelectedChange((prev) => {\n if (!isArray(prev)) return prev\n\n if (ev.ctrlKey || ev.metaKey) {\n if (prev.includes(selectedValue)) {\n return prev.filter((prevValue) => prevValue !== selectedValue)\n } else {\n return [...prev, selectedValue]\n }\n } else if (ev.shiftKey && prev[0]) {\n if (prev[0] === selectedValue) return prev\n\n return getRangeValues(descendants)(prev[0], selectedValue)\n } else {\n return [selectedValue]\n }\n })\n } else {\n onSelectedChange(selectedValue)\n }\n },\n [descendants, disabled, multiple, onSelectedChange, value],\n )\n\n const onGroupOpen = useCallback(() => {\n if (disabled || !value) return\n\n if (async && !initialAsyncRef.current) {\n initialAsyncRef.current = true\n\n onGroupChildren()\n .then(() => {\n onOpen()\n onExpandedChange(value)\n })\n .catch(() => {\n initialAsyncRef.current = false\n })\n } else {\n onOpen()\n onExpandedChange(value)\n }\n }, [disabled, async, onGroupChildren, onOpen, onExpandedChange, value])\n\n const onGroupClose = useCallback(() => {\n if (disabled || !value) return\n\n onClose()\n onExpandedChange(value)\n }, [disabled, onClose, onExpandedChange, value])\n\n const onGroupToggle = useCallback(() => {\n if (groupOpen) {\n onGroupClose()\n } else {\n onGroupOpen()\n }\n }, [groupOpen, onGroupClose, onGroupOpen])\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLElement>) => {\n if (disabled || !value) return\n\n runKeyAction(ev, {\n a: () => {\n if (!multiple || !(ev.ctrlKey || ev.metaKey)) return\n\n const values = descendants\n .enabledValues()\n .map(({ value }) => value)\n .filter((value) => !isUndefined(value))\n\n onSelectedChange(values)\n },\n ArrowDown: () => {\n if ((ev.ctrlKey || ev.metaKey) && ev.shiftKey) {\n onExpandAll()\n } else {\n const descendant = descendants.enabledNextValue(\n activeDescendant.current,\n false,\n { expanded: true },\n )\n\n onActiveDescendant(descendant)\n\n if (descendant && ev.shiftKey && multiple)\n onSelect({ ctrlKey: true, value: descendant.value })\n }\n },\n ArrowLeft: () => {\n if (group && groupOpen) {\n onGroupClose()\n } else if (nested) {\n const descendant = getParentDescendant(descendants)(value)\n\n onActiveDescendant(descendant)\n }\n },\n ArrowRight: () => {\n if (!group) return\n\n if (groupOpen) {\n const descendant = descendants.enabledNextValue(\n activeDescendant.current,\n false,\n { expanded: true },\n )\n\n onActiveDescendant(descendant)\n } else {\n if (!groupLoading) onGroupOpen()\n }\n },\n ArrowUp: () => {\n if ((ev.ctrlKey || ev.metaKey) && ev.shiftKey) {\n onCollapseAll()\n\n if (!nested) return\n\n const descendant = getRootDescendant(descendants)(value)\n\n onActiveDescendant(descendant)\n } else {\n const descendant = descendants.enabledPrevValue(\n activeDescendant.current,\n false,\n { expanded: true },\n )\n\n onActiveDescendant(descendant)\n\n if (descendant && ev.shiftKey && multiple)\n onSelect({ ctrlKey: true, value: descendant.value })\n }\n },\n End: () => {\n const descendant = descendants\n .enabledValues({ expanded: true })\n .at(-1)\n\n onActiveDescendant(descendant)\n },\n Enter: () => {\n if (group) onGroupToggle()\n\n onSelect(ev)\n },\n Home: () => {\n const descendant = descendants.enabledValues({ expanded: true }).at(0)\n\n onActiveDescendant(descendant)\n },\n Space: () => {\n if (group) onGroupToggle()\n\n onSelect(ev)\n },\n })\n\n if (ev.key.length !== 1) return\n if (ev.ctrlKey || ev.metaKey || ev.altKey) return\n\n ev.preventDefault()\n\n onSearch(ev.key, query ?? value)\n },\n [\n activeDescendant,\n descendants,\n disabled,\n group,\n groupLoading,\n groupOpen,\n multiple,\n nested,\n onActiveDescendant,\n onCollapseAll,\n onExpandAll,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSearch,\n onSelect,\n onSelectedChange,\n query,\n value,\n ],\n )\n\n const onItemClick = useCallback(\n (ev: MouseEvent<HTMLLIElement>) => {\n ev.stopPropagation()\n\n if (disabled || !value) return\n\n if (group && !groupLoading)\n if (!ev.ctrlKey && !ev.metaKey && !ev.shiftKey) onGroupToggle()\n\n onSelect(ev)\n },\n [disabled, group, groupLoading, onGroupToggle, onSelect, value],\n )\n\n const onCheckboxChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (disabled || !value) return\n\n ev.stopPropagation()\n\n if (group) setIndeterminate(false)\n\n onCheckedChange((prev) => {\n const target = [value]\n\n if (group) {\n const { values } = getChildDescendants(descendants)(value)\n\n target.push(...values)\n }\n\n if (nested) {\n const parentValues = getParentValues(context.value)\n const parentTarget: string[] = []\n\n parentValues.forEach((parentValue) => {\n const { children } = getChildDescendants(descendants)(parentValue)\n const { allChecked } = getAllChecked(\n children,\n [...parentTarget, ...(ev.target.checked ? target : [])],\n !ev.target.checked ? target : [],\n )\n\n if (allChecked) parentTarget.push(parentValue)\n })\n\n if (!ev.target.checked) parentTarget.push(...parentValues)\n\n target.push(...parentTarget)\n }\n\n if (ev.target.checked) {\n return [...new Set([...prev, ...target])]\n } else {\n return prev.filter((prevValue) => !target.includes(prevValue))\n }\n })\n },\n [disabled, group, onCheckedChange, value, nested, descendants, context],\n )\n\n useSafeLayoutEffect(() => {\n if (defaultExpanded) {\n if (async && !initialAsyncRef.current) {\n initialAsyncRef.current = true\n\n onGroupChildren()\n .then(() => {\n onOpen()\n })\n .catch(() => {\n initialAsyncRef.current = false\n })\n } else {\n onOpen()\n }\n } else {\n onClose()\n }\n }, [async, defaultExpanded, onClose, onGroupChildren, onOpen])\n\n useSafeLayoutEffect(() => {\n if (!group || !checkable) return\n\n const { children } = getChildDescendants(descendants)(value)\n const { indeterminate } = getAllChecked(children)\n\n setIndeterminate(indeterminate)\n }, [checkedValue])\n\n useSafeLayoutEffect(() => {\n if (!checkable) return\n\n const { node } = getParentDescendant(descendants)(value) ?? {}\n const checkbox = getCheckbox(node)\n\n if (!checkbox) return\n\n const cleanup = setAttribute(checkbox, \"aria-controls\", checkboxId)\n\n return cleanup\n }, [checkable, descendants])\n\n const getItemProps: PropGetter<\"li\"> = useCallback(\n ({ ref, \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id: itemId,\n ref: mergeRefs(ref, register),\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-labelledby\": cx(ariaLabelledby, labelId),\n \"aria-level\": level,\n \"aria-selected\": ariaAttr(selected),\n \"data-disabled\": dataAttr(disabled),\n role: \"treeitem\",\n tabIndex: -1,\n ...props,\n onClick: handlerAll(props.onClick, onItemClick),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n }),\n [\n itemId,\n register,\n disabled,\n labelId,\n level,\n selected,\n onItemClick,\n onKeyDown,\n ],\n )\n\n const getGroupItemProps: PropGetter<\"li\"> = useCallback(\n (props = {}) => getItemProps({ \"aria-expanded\": groupOpen, ...props }),\n [getItemProps, groupOpen],\n )\n\n const getIndicatorProps: PropGetter<\"svg\"> = useCallback(\n (props) => ({\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-expanded\": groupOpen,\n \"aria-hidden\": true,\n \"data-disabled\": dataAttr(disabled),\n \"data-loading\": dataAttr(groupLoading),\n \"data-selected\": dataAttr(selected),\n role: \"presentation\",\n ...props,\n }),\n [disabled, groupOpen, selected, groupLoading],\n )\n\n const getCheckboxProps: PropGetter<UseCheckboxProps> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id: checkboxId,\n \"aria-labelledby\": cx(ariaLabelledby, labelId),\n \"data-selected\": dataAttr(selected),\n checked,\n disabled,\n indeterminate,\n tabIndex: -1,\n ...props,\n onChange: handlerAll(props.onChange, onCheckboxChange),\n }),\n [\n checkboxId,\n labelId,\n selected,\n checked,\n disabled,\n indeterminate,\n onCheckboxChange,\n ],\n )\n\n const getGroupProps: PropGetter<\"ul\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n \"aria-busy\": ariaAttr(groupLoading),\n \"aria-labelledby\": cx(ariaLabelledby, labelId),\n \"data-disabled\": dataAttr(disabled),\n role: \"group\",\n ...props,\n }),\n [labelId, disabled, groupLoading],\n )\n\n const getLabelProps: PropGetter<\"span\"> = useCallback(\n (props = {}) => ({ id: labelId, ...props }),\n [labelId],\n )\n\n return {\n branchOpen,\n checked,\n children,\n disabled,\n group,\n groupLoading,\n groupOpen,\n indeterminate,\n level,\n props: rest,\n selected,\n value,\n getCheckboxProps,\n getGroupItemProps,\n getGroupProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n }\n}\n\nexport type UseTreeItemReturn = ReturnType<typeof useTreeItem>\n"],"mappings":"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"}
@@ -5,13 +5,14 @@ const toGroup = (selector) => [
5
5
  "[data-group]",
6
6
  ".group"
7
7
  ].map((prefix) => `${prefix}${selector.slice(1)} &`).join(", ");
8
- const toPeer = (selector) => [...["[data-peer]", ".peer"].flatMap((prefix) => [`&:has(~ ${prefix}${selector.slice(1)})`, `${prefix}${selector.slice(1)} ~ &`]), ...["[data-peer]", ".peer"].flatMap((prefix) => [`&:has(~ ${prefix} *${selector.slice(1)})`, `${prefix}:has(*${selector.slice(1)}) ~ &`])].join(", ");
8
+ const toPeer = (selector) => [...["[data-peer]", ".peer"].flatMap((prefix) => [selector ? `&:has(~ ${prefix}${selector.slice(1)})` : `&:has(~ ${prefix})`, selector ? `${prefix}${selector.slice(1)} ~ &` : `${prefix} ~ &`]), ...selector ? ["[data-peer]", ".peer"].flatMap((prefix) => [`&:has(~ ${prefix} *${selector.slice(1)})`, `${prefix}:has(*${selector.slice(1)}) ~ &`]) : []].join(", ");
9
9
  const attributes = {
10
10
  _inactive: "&[data-inactive]",
11
11
  _accept: "&[data-accept]",
12
12
  _animated: "&[data-animated]",
13
13
  _between: "&[data-between]",
14
14
  _center: "&:is([data-center], [data-group-center])",
15
+ _collapsed: "&:is([data-collapsed], :not([data-expanded]), [aria-expanded=false])",
15
16
  _complete: "&[data-complete]",
16
17
  _current: "&:is([aria-current], [data-current]):not([aria-current='false'])",
17
18
  _dark: ".dark &:not([data-mode]), [data-mode=dark] &:not([data-mode]), &[data-mode=dark]",
@@ -78,6 +79,7 @@ const pseudoClasses = {
78
79
  _blank: "&:is(:blank, [data-blank])",
79
80
  _checked: "&:is(:checked, [data-checked], [aria-checked=true])",
80
81
  _child: "& > *",
82
+ _content: "& > [data-content]",
81
83
  _default: "&:default",
82
84
  _empty: "&:empty",
83
85
  _enabled: "&:is(:enabled, [data-enabled])",
@@ -145,6 +147,7 @@ const groupAttributes = {
145
147
  _groupAnimated: toGroup(attributes._animated),
146
148
  _groupBlank: toGroup(pseudoClasses._blank),
147
149
  _groupChecked: toGroup(pseudoClasses._checked),
150
+ _groupCollapsed: toGroup(attributes._collapsed),
148
151
  _groupComplete: toGroup(attributes._complete),
149
152
  _groupCurrent: toGroup(attributes._current),
150
153
  _groupEnabled: toGroup(pseudoClasses._enabled),
@@ -179,10 +182,12 @@ const groupAttributes = {
179
182
  const groupAttributeProperties = Object.keys(groupAttributes);
180
183
  const groupAttributeSelectors = Object.values(groupAttributes);
181
184
  const peerAttributes = {
185
+ _peer: toPeer(),
182
186
  _peerAccept: toPeer(attributes._accept),
183
187
  _peerAnimated: toPeer(attributes._animated),
184
188
  _peerBlank: toPeer(pseudoClasses._blank),
185
189
  _peerChecked: toPeer(pseudoClasses._checked),
190
+ _peerCollapsed: toPeer(attributes._collapsed),
186
191
  _peerComplete: toPeer(attributes._complete),
187
192
  _peerCurrent: toPeer(attributes._current),
188
193
  _peerEnabled: toPeer(pseudoClasses._enabled),