@wisdomgarden/torque 0.1.0

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 (568) hide show
  1. package/README.md +75 -0
  2. package/dist/common/components.types.d.ts +60 -0
  3. package/dist/common/components.types.js +1 -0
  4. package/dist/common/dayjs.d.ts +7 -0
  5. package/dist/common/dayjs.js +10 -0
  6. package/dist/common/use-css-variable-value.d.ts +6 -0
  7. package/dist/common/use-css-variable-value.js +23 -0
  8. package/dist/common/use-css-variable-values.d.ts +10 -0
  9. package/dist/common/use-css-variable-values.js +25 -0
  10. package/dist/common/use-form-wrapper-props.d.ts +48 -0
  11. package/dist/common/use-form-wrapper-props.js +59 -0
  12. package/dist/common/use-ime-safe-input.d.ts +10 -0
  13. package/dist/common/use-ime-safe-input.js +23 -0
  14. package/dist/common/use-notification-a11y.d.ts +4 -0
  15. package/dist/common/use-notification-a11y.js +18 -0
  16. package/dist/common/use-sticky-box.d.ts +9 -0
  17. package/dist/common/use-sticky-box.js +217 -0
  18. package/dist/common/util.d.ts +5 -0
  19. package/dist/common/util.js +14 -0
  20. package/dist/components/_inner/base-select/common/searchable.d.ts +5 -0
  21. package/dist/components/_inner/base-select/common/searchable.js +6 -0
  22. package/dist/components/_inner/base-select/common/select.types.d.ts +169 -0
  23. package/dist/components/_inner/base-select/common/select.types.js +1 -0
  24. package/dist/components/_inner/base-select/search-select/index.d.ts +6 -0
  25. package/dist/components/_inner/base-select/search-select/index.js +106 -0
  26. package/dist/components/_inner/base-select/search-select/search-select.module.css.js +10 -0
  27. package/dist/components/_inner/base-select/single-select/index.d.ts +1 -0
  28. package/dist/components/_inner/base-select/single-select/index.js +5 -0
  29. package/dist/components/_inner/base-select/single-select/single-select.d.ts +5 -0
  30. package/dist/components/_inner/base-select/single-select/single-select.js +58 -0
  31. package/dist/components/_inner/base-select/target/single-select-target.d.ts +15 -0
  32. package/dist/components/_inner/base-select/target/single-select-target.js +56 -0
  33. package/dist/components/_inner/bottom-action/bottom-action-item.d.ts +11 -0
  34. package/dist/components/_inner/bottom-action/bottom-action-item.js +140 -0
  35. package/dist/components/_inner/bottom-action/bottom-action.d.ts +6 -0
  36. package/dist/components/_inner/bottom-action/bottom-action.js +161 -0
  37. package/dist/components/_inner/bottom-action/bottom-action.module.css.js +46 -0
  38. package/dist/components/_inner/bottom-action/bottom-action.types.d.ts +117 -0
  39. package/dist/components/_inner/bottom-action/index.d.ts +2 -0
  40. package/dist/components/_inner/bottom-action/index.js +5 -0
  41. package/dist/components/_inner/drawer/base-bottom-drawer.d.ts +32 -0
  42. package/dist/components/_inner/drawer/base-bottom-drawer.js +91 -0
  43. package/dist/components/_inner/drawer/base-bottom-drawer.module.css.js +18 -0
  44. package/dist/components/_inner/dropdown/empty-state.d.ts +6 -0
  45. package/dist/components/_inner/dropdown/empty-state.js +16 -0
  46. package/dist/components/_inner/dropdown/empty-state.module.css.js +12 -0
  47. package/dist/components/_inner/dropdown/options-drop-down.d.ts +22 -0
  48. package/dist/components/_inner/dropdown/options-drop-down.js +95 -0
  49. package/dist/components/_inner/dropdown/options-drop-down.module.css.js +18 -0
  50. package/dist/components/_inner/menu/_mobile/menu.mobile.d.ts +11 -0
  51. package/dist/components/_inner/menu/_mobile/menu.mobile.js +15 -0
  52. package/dist/components/_inner/menu/_web/menu-web.module.css.js +18 -0
  53. package/dist/components/_inner/menu/_web/menu.web.d.ts +6 -0
  54. package/dist/components/_inner/menu/_web/menu.web.js +198 -0
  55. package/dist/components/_inner/number/number-input-left.d.ts +5 -0
  56. package/dist/components/_inner/number/number-input-left.js +29 -0
  57. package/dist/components/_inner/number/number-input-right.d.ts +6 -0
  58. package/dist/components/_inner/number/number-input-right.js +62 -0
  59. package/dist/components/_inner/number/number.module.css.js +12 -0
  60. package/dist/components/_inner/table/head/table-head-filter-multi-select.d.ts +25 -0
  61. package/dist/components/_inner/table/head/table-head-filter-multi-select.js +139 -0
  62. package/dist/components/_inner/table/head/table-head-filter-search.d.ts +18 -0
  63. package/dist/components/_inner/table/head/table-head-filter-search.js +102 -0
  64. package/dist/components/_inner/table/head/table-head-filter-single-select.d.ts +21 -0
  65. package/dist/components/_inner/table/head/table-head-filter-single-select.js +76 -0
  66. package/dist/components/_inner/table/head/table-head-sort.d.ts +16 -0
  67. package/dist/components/_inner/table/head/table-head-sort.js +51 -0
  68. package/dist/components/_inner/table/head/table-head.module.css.js +40 -0
  69. package/dist/components/_inner/table/index.d.ts +5 -0
  70. package/dist/components/_inner/table/index.js +13 -0
  71. package/dist/components/_inner/table/table-header-title.d.ts +7 -0
  72. package/dist/components/_inner/table/table-header-title.js +24 -0
  73. package/dist/components/_inner/table/table-header-title.module.css.js +12 -0
  74. package/dist/components/_inner/tags-input/hooks/use-height-transition.d.ts +15 -0
  75. package/dist/components/_inner/tags-input/hooks/use-height-transition.js +31 -0
  76. package/dist/components/_inner/tags-input/hooks/use-is-wrapped.d.ts +12 -0
  77. package/dist/components/_inner/tags-input/hooks/use-is-wrapped.js +24 -0
  78. package/dist/components/_inner/tags-input/index.d.ts +2 -0
  79. package/dist/components/_inner/tags-input/index.js +5 -0
  80. package/dist/components/_inner/tags-input/styles/tags-input.module.css.js +48 -0
  81. package/dist/components/_inner/tags-input/tags-input-tag.d.ts +13 -0
  82. package/dist/components/_inner/tags-input/tags-input-tag.js +53 -0
  83. package/dist/components/_inner/tags-input/tags-input.d.ts +9 -0
  84. package/dist/components/_inner/tags-input/tags-input.js +143 -0
  85. package/dist/components/_inner/tags-input/tags-input.types.d.ts +57 -0
  86. package/dist/components/alert/alert.d.ts +6 -0
  87. package/dist/components/alert/alert.js +102 -0
  88. package/dist/components/alert/alert.module.css.js +20 -0
  89. package/dist/components/alert/alert.types.d.ts +18 -0
  90. package/dist/components/alert/index.d.ts +2 -0
  91. package/dist/components/alert/index.js +6 -0
  92. package/dist/components/base-input/base-input.d.ts +5 -0
  93. package/dist/components/base-input/base-input.js +143 -0
  94. package/dist/components/base-input/base-input.types.d.ts +89 -0
  95. package/dist/components/base-input/index.d.ts +5 -0
  96. package/dist/components/base-input/index.js +11 -0
  97. package/dist/components/base-input/styles/base-input-variables.module.css.js +8 -0
  98. package/dist/components/base-input/styles/base-input.module.css.js +24 -0
  99. package/dist/components/base-input/subs/base-input-left-section.d.ts +10 -0
  100. package/dist/components/base-input/subs/base-input-left-section.js +29 -0
  101. package/dist/components/base-input/subs/base-input-right-section.d.ts +23 -0
  102. package/dist/components/base-input/subs/base-input-right-section.js +87 -0
  103. package/dist/components/base-input/subs/base-input-target.d.ts +11 -0
  104. package/dist/components/base-input/subs/base-input-target.js +35 -0
  105. package/dist/components/base-input/subs/base-input-wrapper.d.ts +18 -0
  106. package/dist/components/base-input/subs/base-input-wrapper.js +51 -0
  107. package/dist/components/base-input/util.d.ts +8 -0
  108. package/dist/components/base-input/util.js +16 -0
  109. package/dist/components/bottom-drawer/bottom-drawer.d.ts +6 -0
  110. package/dist/components/bottom-drawer/bottom-drawer.js +16 -0
  111. package/dist/components/bottom-drawer/index.d.ts +2 -0
  112. package/dist/components/bottom-drawer/index.js +5 -0
  113. package/dist/components/box/box.d.ts +2 -0
  114. package/dist/components/box/box.js +27 -0
  115. package/dist/components/box/box.module.css.js +8 -0
  116. package/dist/components/box/box.types.d.ts +36 -0
  117. package/dist/components/box/index.d.ts +2 -0
  118. package/dist/components/box/index.js +5 -0
  119. package/dist/components/button/button.d.ts +17 -0
  120. package/dist/components/button/button.js +91 -0
  121. package/dist/components/button/button.types.d.ts +88 -0
  122. package/dist/components/button/index.d.ts +2 -0
  123. package/dist/components/button/index.js +5 -0
  124. package/dist/components/button/styles/button-variables.module.css.js +8 -0
  125. package/dist/components/button/styles/button.module.css.js +18 -0
  126. package/dist/components/checkbox/checkbox-group.d.ts +7 -0
  127. package/dist/components/checkbox/checkbox-group.js +51 -0
  128. package/dist/components/checkbox/checkbox-variables.module.css.js +8 -0
  129. package/dist/components/checkbox/checkbox.d.ts +9 -0
  130. package/dist/components/checkbox/checkbox.js +93 -0
  131. package/dist/components/checkbox/checkbox.module.css.js +12 -0
  132. package/dist/components/checkbox/checkbox.types.d.ts +41 -0
  133. package/dist/components/checkbox/index.d.ts +3 -0
  134. package/dist/components/checkbox/index.js +8 -0
  135. package/dist/components/combobox/combobox-context.d.ts +9 -0
  136. package/dist/components/combobox/combobox-context.js +15 -0
  137. package/dist/components/combobox/combobox-dropdown.d.ts +13 -0
  138. package/dist/components/combobox/combobox-dropdown.js +35 -0
  139. package/dist/components/combobox/combobox-infinite-dropdown.d.ts +51 -0
  140. package/dist/components/combobox/combobox-infinite-dropdown.js +56 -0
  141. package/dist/components/combobox/combobox-option.d.ts +3 -0
  142. package/dist/components/combobox/combobox-option.js +50 -0
  143. package/dist/components/combobox/combobox-options.d.ts +8 -0
  144. package/dist/components/combobox/combobox-options.js +38 -0
  145. package/dist/components/combobox/combobox-search.d.ts +27 -0
  146. package/dist/components/combobox/combobox-search.js +29 -0
  147. package/dist/components/combobox/combobox-target.d.ts +15 -0
  148. package/dist/components/combobox/combobox-target.js +49 -0
  149. package/dist/components/combobox/combobox.d.ts +61 -0
  150. package/dist/components/combobox/combobox.js +53 -0
  151. package/dist/components/combobox/combobox.types.d.ts +58 -0
  152. package/dist/components/combobox/hooks/use-combobox-search-input.d.ts +11 -0
  153. package/dist/components/combobox/hooks/use-combobox-search-input.js +22 -0
  154. package/dist/components/combobox/hooks/use-combobox-target-key-down.d.ts +12 -0
  155. package/dist/components/combobox/hooks/use-combobox-target-key-down.js +35 -0
  156. package/dist/components/combobox/hooks/use-combobox.d.ts +58 -0
  157. package/dist/components/combobox/hooks/use-combobox.js +90 -0
  158. package/dist/components/combobox/index.d.ts +5 -0
  159. package/dist/components/combobox/index.js +9 -0
  160. package/dist/components/combobox/styles/combobox.module.css.js +14 -0
  161. package/dist/components/combobox/subs/combobox-bottom-drawer-dropdown.d.ts +10 -0
  162. package/dist/components/combobox/subs/combobox-bottom-drawer-dropdown.js +14 -0
  163. package/dist/components/combobox/subs/combobox-bottom-drawer-target.d.ts +3 -0
  164. package/dist/components/combobox/subs/combobox-bottom-drawer-target.js +20 -0
  165. package/dist/components/data-filter/data-filter-content.d.ts +13 -0
  166. package/dist/components/data-filter/data-filter-content.js +46 -0
  167. package/dist/components/data-filter/data-filter-drawer.d.ts +19 -0
  168. package/dist/components/data-filter/data-filter-drawer.js +73 -0
  169. package/dist/components/data-filter/data-filter-inline.d.ts +6 -0
  170. package/dist/components/data-filter/data-filter-inline.js +12 -0
  171. package/dist/components/data-filter/data-filter-panel.d.ts +13 -0
  172. package/dist/components/data-filter/data-filter-panel.js +40 -0
  173. package/dist/components/data-filter/data-filter.d.ts +2 -0
  174. package/dist/components/data-filter/data-filter.js +94 -0
  175. package/dist/components/data-filter/data-filter.module.css.js +56 -0
  176. package/dist/components/data-filter/data-filter.types.d.ts +29 -0
  177. package/dist/components/data-filter/filter-condition-tags/filter-condition-tags.d.ts +16 -0
  178. package/dist/components/data-filter/filter-condition-tags/filter-condition-tags.js +114 -0
  179. package/dist/components/data-filter/filter-condition-tags/index.d.ts +1 -0
  180. package/dist/components/data-filter/filter-condition-tags/index.js +5 -0
  181. package/dist/components/data-filter/hooks/use-data-filter-open-state.d.ts +10 -0
  182. package/dist/components/data-filter/hooks/use-data-filter-open-state.js +21 -0
  183. package/dist/components/data-filter/hooks/use-data-filter-state.d.ts +11 -0
  184. package/dist/components/data-filter/hooks/use-data-filter-state.js +48 -0
  185. package/dist/components/data-filter/index.d.ts +3 -0
  186. package/dist/components/data-filter/index.js +7 -0
  187. package/dist/components/date-picker/components/common/calendar-header.d.ts +10 -0
  188. package/dist/components/date-picker/components/common/calendar-header.js +70 -0
  189. package/dist/components/date-picker/components/common/calendar-panel.d.ts +6 -0
  190. package/dist/components/date-picker/components/common/calendar-panel.js +133 -0
  191. package/dist/components/date-picker/components/common/date-cell.d.ts +8 -0
  192. package/dist/components/date-picker/components/common/date-cell.js +46 -0
  193. package/dist/components/date-picker/components/common/decade-view.d.ts +8 -0
  194. package/dist/components/date-picker/components/common/decade-view.js +36 -0
  195. package/dist/components/date-picker/components/common/month-view.d.ts +5 -0
  196. package/dist/components/date-picker/components/common/month-view.js +65 -0
  197. package/dist/components/date-picker/components/common/picker-footer.d.ts +28 -0
  198. package/dist/components/date-picker/components/common/picker-footer.js +29 -0
  199. package/dist/components/date-picker/components/common/picker-sections.d.ts +14 -0
  200. package/dist/components/date-picker/components/common/picker-sections.js +31 -0
  201. package/dist/components/date-picker/components/common/picker-target-input.d.ts +7 -0
  202. package/dist/components/date-picker/components/common/picker-target-input.js +11 -0
  203. package/dist/components/date-picker/components/common/time-column.d.ts +6 -0
  204. package/dist/components/date-picker/components/common/time-column.js +121 -0
  205. package/dist/components/date-picker/components/common/time-input-row.d.ts +20 -0
  206. package/dist/components/date-picker/components/common/time-input-row.js +65 -0
  207. package/dist/components/date-picker/components/common/time-panel.d.ts +6 -0
  208. package/dist/components/date-picker/components/common/time-panel.js +86 -0
  209. package/dist/components/date-picker/components/common/year-view.d.ts +8 -0
  210. package/dist/components/date-picker/components/common/year-view.js +36 -0
  211. package/dist/components/date-picker/components/picker-focus-context.d.ts +21 -0
  212. package/dist/components/date-picker/components/picker-focus-context.js +16 -0
  213. package/dist/components/date-picker/components/range/range-panel.d.ts +33 -0
  214. package/dist/components/date-picker/components/range/range-panel.js +101 -0
  215. package/dist/components/date-picker/components/range/range-shell.d.ts +6 -0
  216. package/dist/components/date-picker/components/range/range-shell.js +110 -0
  217. package/dist/components/date-picker/components/single/picker-shell.d.ts +6 -0
  218. package/dist/components/date-picker/components/single/picker-shell.js +109 -0
  219. package/dist/components/date-picker/date-picker.d.ts +6 -0
  220. package/dist/components/date-picker/date-picker.js +76 -0
  221. package/dist/components/date-picker/date-picker.types.d.ts +543 -0
  222. package/dist/components/date-picker/date-picker.types.js +5 -0
  223. package/dist/components/date-picker/date-range-picker.d.ts +5 -0
  224. package/dist/components/date-picker/date-range-picker.js +103 -0
  225. package/dist/components/date-picker/date-time-picker.d.ts +6 -0
  226. package/dist/components/date-picker/date-time-picker.js +181 -0
  227. package/dist/components/date-picker/date-time-range-picker.d.ts +6 -0
  228. package/dist/components/date-picker/date-time-range-picker.js +157 -0
  229. package/dist/components/date-picker/hooks/date-disabled.d.ts +27 -0
  230. package/dist/components/date-picker/hooks/date-disabled.js +60 -0
  231. package/dist/components/date-picker/hooks/time-utils.d.ts +17 -0
  232. package/dist/components/date-picker/hooks/time-utils.js +14 -0
  233. package/dist/components/date-picker/hooks/use-calendar.d.ts +12 -0
  234. package/dist/components/date-picker/hooks/use-calendar.js +28 -0
  235. package/dist/components/date-picker/hooks/use-date-parser.d.ts +17 -0
  236. package/dist/components/date-picker/hooks/use-date-parser.js +16 -0
  237. package/dist/components/date-picker/hooks/use-grid-keyboard.d.ts +22 -0
  238. package/dist/components/date-picker/hooks/use-grid-keyboard.js +74 -0
  239. package/dist/components/date-picker/hooks/use-range-draft.d.ts +61 -0
  240. package/dist/components/date-picker/hooks/use-range-draft.js +84 -0
  241. package/dist/components/date-picker/hooks/use-range-session.d.ts +14 -0
  242. package/dist/components/date-picker/hooks/use-range-session.js +11 -0
  243. package/dist/components/date-picker/hooks/use-resolved-format.d.ts +15 -0
  244. package/dist/components/date-picker/hooks/use-resolved-format.js +25 -0
  245. package/dist/components/date-picker/index.d.ts +21 -0
  246. package/dist/components/date-picker/index.js +15 -0
  247. package/dist/components/date-picker/styles/calendar-header.module.css.js +14 -0
  248. package/dist/components/date-picker/styles/calendar-panel.module.css.js +12 -0
  249. package/dist/components/date-picker/styles/date-cell.module.css.js +8 -0
  250. package/dist/components/date-picker/styles/month-view.module.css.js +12 -0
  251. package/dist/components/date-picker/styles/panel-layout.module.css.js +12 -0
  252. package/dist/components/date-picker/styles/picker-footer.module.css.js +10 -0
  253. package/dist/components/date-picker/styles/picker-shell.module.css.js +12 -0
  254. package/dist/components/date-picker/styles/range-panel.module.css.js +12 -0
  255. package/dist/components/date-picker/styles/time-column.module.css.js +10 -0
  256. package/dist/components/date-picker/styles/time-input-row.module.css.js +16 -0
  257. package/dist/components/date-picker/styles/time-panel.module.css.js +8 -0
  258. package/dist/components/date-picker/styles/year-view.module.css.js +10 -0
  259. package/dist/components/date-picker/time-picker.d.ts +6 -0
  260. package/dist/components/date-picker/time-picker.js +81 -0
  261. package/dist/components/date-picker/time-range-picker.d.ts +6 -0
  262. package/dist/components/date-picker/time-range-picker.js +135 -0
  263. package/dist/components/drawer/drawer-events.d.ts +28 -0
  264. package/dist/components/drawer/drawer-events.js +14 -0
  265. package/dist/components/drawer/drawer.d.ts +33 -0
  266. package/dist/components/drawer/drawer.js +86 -0
  267. package/dist/components/drawer/drawer.module.css.js +34 -0
  268. package/dist/components/drawer/drawes.d.ts +4 -0
  269. package/dist/components/drawer/drawes.js +82 -0
  270. package/dist/components/drawer/index.d.ts +4 -0
  271. package/dist/components/drawer/index.js +9 -0
  272. package/dist/components/filter/filter-popover.d.ts +11 -0
  273. package/dist/components/filter/filter-popover.js +53 -0
  274. package/dist/components/filter/filter.d.ts +5 -0
  275. package/dist/components/filter/filter.js +29 -0
  276. package/dist/components/filter/filter.module.css.js +12 -0
  277. package/dist/components/filter/filter.types.d.ts +27 -0
  278. package/dist/components/filter/filter.types.js +1 -0
  279. package/dist/components/filter/icon-filter.d.ts +6 -0
  280. package/dist/components/filter/icon-filter.js +25 -0
  281. package/dist/components/filter/index.d.ts +4 -0
  282. package/dist/components/filter/index.js +9 -0
  283. package/dist/components/filter/multi-filter.d.ts +5 -0
  284. package/dist/components/filter/multi-filter.js +52 -0
  285. package/dist/components/flex/flex.d.ts +9 -0
  286. package/dist/components/flex/flex.js +28 -0
  287. package/dist/components/flex/flex.module.css.js +8 -0
  288. package/dist/components/flex/index.d.ts +2 -0
  289. package/dist/components/flex/index.js +5 -0
  290. package/dist/components/flex/layout.types.d.ts +69 -0
  291. package/dist/components/form-wrapper/form-item-wrapper-defaults-context.d.ts +10 -0
  292. package/dist/components/form-wrapper/form-item-wrapper-defaults-context.js +19 -0
  293. package/dist/components/form-wrapper/form-item-wrapper.d.ts +5 -0
  294. package/dist/components/form-wrapper/form-item-wrapper.js +111 -0
  295. package/dist/components/form-wrapper/form-item-wrapper.module.css.js +28 -0
  296. package/dist/components/form-wrapper/form-wrapper.types.d.ts +15 -0
  297. package/dist/components/form-wrapper/index.d.ts +3 -0
  298. package/dist/components/form-wrapper/index.js +8 -0
  299. package/dist/components/group/group.d.ts +8 -0
  300. package/dist/components/group/group.js +36 -0
  301. package/dist/components/group/group.module.css.js +8 -0
  302. package/dist/components/group/index.d.ts +1 -0
  303. package/dist/components/group/index.js +5 -0
  304. package/dist/components/icon-button/icon-button.d.ts +20 -0
  305. package/dist/components/icon-button/icon-button.js +20 -0
  306. package/dist/components/icon-button/icon-button.module.css.js +8 -0
  307. package/dist/components/icon-button/icon-button.types.d.ts +7 -0
  308. package/dist/components/icon-button/index.d.ts +2 -0
  309. package/dist/components/icon-button/index.js +5 -0
  310. package/dist/components/link-button/index.d.ts +1 -0
  311. package/dist/components/link-button/index.js +5 -0
  312. package/dist/components/link-button/link-button.d.ts +31 -0
  313. package/dist/components/link-button/link-button.js +31 -0
  314. package/dist/components/link-icon-button/index.d.ts +1 -0
  315. package/dist/components/link-icon-button/index.js +5 -0
  316. package/dist/components/link-icon-button/link-icon-button.d.ts +37 -0
  317. package/dist/components/link-icon-button/link-icon-button.js +30 -0
  318. package/dist/components/menu/index.d.ts +2 -0
  319. package/dist/components/menu/index.js +5 -0
  320. package/dist/components/menu/menu.d.ts +33 -0
  321. package/dist/components/menu/menu.js +17 -0
  322. package/dist/components/menu/menu.types.d.ts +46 -0
  323. package/dist/components/message/index.d.ts +2 -0
  324. package/dist/components/message/index.js +5 -0
  325. package/dist/components/message/message.d.ts +2 -0
  326. package/dist/components/message/message.js +42 -0
  327. package/dist/components/message/message.module.css.js +14 -0
  328. package/dist/components/message/message.types.d.ts +7 -0
  329. package/dist/components/message/messages.d.ts +10 -0
  330. package/dist/components/message/messages.js +37 -0
  331. package/dist/components/modal/index.d.ts +2 -0
  332. package/dist/components/modal/index.js +5 -0
  333. package/dist/components/modal/modal.d.ts +6 -0
  334. package/dist/components/modal/modal.js +51 -0
  335. package/dist/components/modal/modal.module.css.js +10 -0
  336. package/dist/components/multi-select/base-multi-select.d.ts +3 -0
  337. package/dist/components/multi-select/base-multi-select.js +100 -0
  338. package/dist/components/multi-select/index.d.ts +1 -0
  339. package/dist/components/multi-select/index.js +5 -0
  340. package/dist/components/multi-select/multi-select-input.d.ts +29 -0
  341. package/dist/components/multi-select/multi-select-input.js +74 -0
  342. package/dist/components/multi-select/multi-select.d.ts +28 -0
  343. package/dist/components/multi-select/multi-select.js +34 -0
  344. package/dist/components/multi-select/multi-select.mobile.d.ts +4 -0
  345. package/dist/components/multi-select/multi-select.mobile.js +59 -0
  346. package/dist/components/multi-select/multi-select.types.d.ts +56 -0
  347. package/dist/components/multi-select/multi-select.types.js +1 -0
  348. package/dist/components/multi-select/styles/base-multi-select.module.css.js +16 -0
  349. package/dist/components/notifications/index.d.ts +3 -0
  350. package/dist/components/notifications/index.js +7 -0
  351. package/dist/components/notifications/notification.d.ts +11 -0
  352. package/dist/components/notifications/notification.js +79 -0
  353. package/dist/components/notifications/notification.module.css.js +14 -0
  354. package/dist/components/notifications/notification.types.d.ts +25 -0
  355. package/dist/components/notifications/notifications.d.ts +42 -0
  356. package/dist/components/notifications/notifications.js +42 -0
  357. package/dist/components/number-input/index.d.ts +2 -0
  358. package/dist/components/number-input/index.js +5 -0
  359. package/dist/components/number-input/number-input.d.ts +8 -0
  360. package/dist/components/number-input/number-input.js +161 -0
  361. package/dist/components/number-input/number-input.module.css.js +8 -0
  362. package/dist/components/number-input/number-input.types.d.ts +65 -0
  363. package/dist/components/paper/index.d.ts +1 -0
  364. package/dist/components/paper/index.js +5 -0
  365. package/dist/components/paper/paper.d.ts +7 -0
  366. package/dist/components/paper/paper.js +15 -0
  367. package/dist/components/paper/paper.module.css.js +8 -0
  368. package/dist/components/password-input/index.d.ts +2 -0
  369. package/dist/components/password-input/index.js +5 -0
  370. package/dist/components/password-input/password-input.d.ts +15 -0
  371. package/dist/components/password-input/password-input.js +32 -0
  372. package/dist/components/popover/hooks.d.ts +17 -0
  373. package/dist/components/popover/hooks.js +131 -0
  374. package/dist/components/popover/index.d.ts +8 -0
  375. package/dist/components/popover/index.js +13 -0
  376. package/dist/components/popover/popover-context.d.ts +4 -0
  377. package/dist/components/popover/popover-context.js +16 -0
  378. package/dist/components/popover/popover-dropdown.d.ts +3 -0
  379. package/dist/components/popover/popover-dropdown.js +149 -0
  380. package/dist/components/popover/popover-stack.d.ts +10 -0
  381. package/dist/components/popover/popover-stack.js +24 -0
  382. package/dist/components/popover/popover-target.d.ts +3 -0
  383. package/dist/components/popover/popover-target.js +55 -0
  384. package/dist/components/popover/popover.d.ts +3 -0
  385. package/dist/components/popover/popover.js +175 -0
  386. package/dist/components/popover/popover.types.d.ts +211 -0
  387. package/dist/components/popover/styles/popover.module.css.js +12 -0
  388. package/dist/components/radio/index.d.ts +8 -0
  389. package/dist/components/radio/index.js +12 -0
  390. package/dist/components/radio/radio-group.d.ts +18 -0
  391. package/dist/components/radio/radio-group.js +54 -0
  392. package/dist/components/radio/radio-variables.module.css.js +8 -0
  393. package/dist/components/radio/radio.d.ts +17 -0
  394. package/dist/components/radio/radio.js +56 -0
  395. package/dist/components/radio/radio.module.css.js +14 -0
  396. package/dist/components/radio/radio.types.d.ts +59 -0
  397. package/dist/components/select/index.d.ts +3 -0
  398. package/dist/components/select/index.js +5 -0
  399. package/dist/components/select/select.d.ts +15 -0
  400. package/dist/components/select/select.js +48 -0
  401. package/dist/components/select/select.mobile.d.ts +12 -0
  402. package/dist/components/select/select.mobile.js +53 -0
  403. package/dist/components/stack/index.d.ts +1 -0
  404. package/dist/components/stack/index.js +5 -0
  405. package/dist/components/stack/stack.d.ts +6 -0
  406. package/dist/components/stack/stack.js +10 -0
  407. package/dist/components/sticky-box.d.ts +2 -0
  408. package/dist/components/sticky-box.js +10 -0
  409. package/dist/components/switch/index.d.ts +4 -0
  410. package/dist/components/switch/index.js +7 -0
  411. package/dist/components/switch/switch-group.d.ts +26 -0
  412. package/dist/components/switch/switch-group.js +12 -0
  413. package/dist/components/switch/switch.d.ts +27 -0
  414. package/dist/components/switch/switch.js +23 -0
  415. package/dist/components/switch/switch.module.css.js +7 -0
  416. package/dist/components/tab/index.d.ts +7 -0
  417. package/dist/components/tab/index.js +13 -0
  418. package/dist/components/tab/styles/tabs-variables.module.css.js +8 -0
  419. package/dist/components/tab/styles/tabs.module.css.js +22 -0
  420. package/dist/components/tab/subs/tabs-link-tab.d.ts +10 -0
  421. package/dist/components/tab/subs/tabs-link-tab.js +28 -0
  422. package/dist/components/tab/subs/tabs-list.d.ts +6 -0
  423. package/dist/components/tab/subs/tabs-list.js +59 -0
  424. package/dist/components/tab/subs/tabs-panel.d.ts +6 -0
  425. package/dist/components/tab/subs/tabs-panel.js +40 -0
  426. package/dist/components/tab/subs/tabs-tab.d.ts +6 -0
  427. package/dist/components/tab/subs/tabs-tab.js +52 -0
  428. package/dist/components/tab/tabs-context.d.ts +3 -0
  429. package/dist/components/tab/tabs-context.js +13 -0
  430. package/dist/components/tab/tabs.d.ts +20 -0
  431. package/dist/components/tab/tabs.js +83 -0
  432. package/dist/components/tab/tabs.types.d.ts +107 -0
  433. package/dist/components/tab/use-tabs-data-props.d.ts +9 -0
  434. package/dist/components/tab/use-tabs-data-props.js +12 -0
  435. package/dist/components/tab/use-tabs-keyboard-navigation.d.ts +13 -0
  436. package/dist/components/tab/use-tabs-keyboard-navigation.js +44 -0
  437. package/dist/components/table/index.d.ts +3 -0
  438. package/dist/components/table/index.js +16 -0
  439. package/dist/components/table/table.d.ts +23 -0
  440. package/dist/components/table/table.js +159 -0
  441. package/dist/components/table/table.module.css.js +56 -0
  442. package/dist/components/table/table.types.d.ts +55 -0
  443. package/dist/components/table-pagination/index.d.ts +3 -0
  444. package/dist/components/table-pagination/index.js +8 -0
  445. package/dist/components/table-pagination/pagination.d.ts +10 -0
  446. package/dist/components/table-pagination/pagination.js +115 -0
  447. package/dist/components/table-pagination/pagination.module.css.js +14 -0
  448. package/dist/components/table-pagination/table-pagination.d.ts +15 -0
  449. package/dist/components/table-pagination/table-pagination.js +123 -0
  450. package/dist/components/table-pagination/table-pagination.module.css.js +18 -0
  451. package/dist/components/tag/closable-tag.d.ts +2 -0
  452. package/dist/components/tag/closable-tag.js +35 -0
  453. package/dist/components/tag/icon-tag.d.ts +2 -0
  454. package/dist/components/tag/icon-tag.js +36 -0
  455. package/dist/components/tag/index.d.ts +5 -0
  456. package/dist/components/tag/index.js +11 -0
  457. package/dist/components/tag/link-tag.d.ts +11 -0
  458. package/dist/components/tag/link-tag.js +31 -0
  459. package/dist/components/tag/styles/tag-variables.module.css.js +8 -0
  460. package/dist/components/tag/styles/tag.module.css.js +18 -0
  461. package/dist/components/tag/tag.d.ts +28 -0
  462. package/dist/components/tag/tag.js +40 -0
  463. package/dist/components/tag/tag.types.d.ts +72 -0
  464. package/dist/components/text/index.d.ts +2 -0
  465. package/dist/components/text/index.js +5 -0
  466. package/dist/components/text/text.d.ts +3 -0
  467. package/dist/components/text/text.js +36 -0
  468. package/dist/components/text/text.module.css.js +8 -0
  469. package/dist/components/text/text.types.d.ts +11 -0
  470. package/dist/components/text-area/index.d.ts +2 -0
  471. package/dist/components/text-area/index.js +5 -0
  472. package/dist/components/text-area/text-area.d.ts +9 -0
  473. package/dist/components/text-area/text-area.js +125 -0
  474. package/dist/components/text-area/text-area.module.css.js +22 -0
  475. package/dist/components/text-area/text-area.types.d.ts +46 -0
  476. package/dist/components/text-input/index.d.ts +2 -0
  477. package/dist/components/text-input/index.js +5 -0
  478. package/dist/components/text-input/text-input.d.ts +14 -0
  479. package/dist/components/text-input/text-input.js +24 -0
  480. package/dist/components/tooltip/floating-arrow.d.ts +13 -0
  481. package/dist/components/tooltip/floating-arrow.js +40 -0
  482. package/dist/components/tooltip/get-arrow-position-styles.d.ts +11 -0
  483. package/dist/components/tooltip/get-arrow-position-styles.js +63 -0
  484. package/dist/components/tooltip/index.d.ts +54 -0
  485. package/dist/components/tooltip/index.js +150 -0
  486. package/dist/components/tooltip/styles.module.css.js +10 -0
  487. package/dist/components/tooltip/types.d.ts +13 -0
  488. package/dist/components/tooltip/use-merged-events.d.ts +18 -0
  489. package/dist/components/tooltip/use-merged-events.js +22 -0
  490. package/dist/components/tooltip/use-tooltip-trigger.d.ts +13 -0
  491. package/dist/components/tooltip/use-tooltip-trigger.js +59 -0
  492. package/dist/components/tooltip/utils.d.ts +4 -0
  493. package/dist/components/tooltip/utils.js +35 -0
  494. package/dist/components/tree/hooks/use-custom-click-behavior-feature.d.ts +16 -0
  495. package/dist/components/tree/hooks/use-custom-click-behavior-feature.js +125 -0
  496. package/dist/components/tree/hooks/use-tree-animation.d.ts +12 -0
  497. package/dist/components/tree/hooks/use-tree-animation.js +111 -0
  498. package/dist/components/tree/hooks/use-tree-config.d.ts +22 -0
  499. package/dist/components/tree/hooks/use-tree-config.js +96 -0
  500. package/dist/components/tree/hooks/use-tree-search.d.ts +19 -0
  501. package/dist/components/tree/hooks/use-tree-search.js +57 -0
  502. package/dist/components/tree/hooks/use-tree-value.d.ts +16 -0
  503. package/dist/components/tree/hooks/use-tree-value.js +37 -0
  504. package/dist/components/tree/hooks/use-tree.d.ts +13 -0
  505. package/dist/components/tree/hooks/use-tree.js +111 -0
  506. package/dist/components/tree/index.d.ts +7 -0
  507. package/dist/components/tree/index.js +16 -0
  508. package/dist/components/tree/styles/tree.module.css.js +44 -0
  509. package/dist/components/tree/tree-content.d.ts +15 -0
  510. package/dist/components/tree/tree-content.js +77 -0
  511. package/dist/components/tree/tree-context.d.ts +19 -0
  512. package/dist/components/tree/tree-context.js +13 -0
  513. package/dist/components/tree/tree-node-list.d.ts +9 -0
  514. package/dist/components/tree/tree-node-list.js +21 -0
  515. package/dist/components/tree/tree-node.d.ts +11 -0
  516. package/dist/components/tree/tree-node.js +137 -0
  517. package/dist/components/tree/tree.d.ts +20 -0
  518. package/dist/components/tree/tree.js +22 -0
  519. package/dist/components/tree/tree.types.d.ts +126 -0
  520. package/dist/components/tree-select/index.d.ts +2 -0
  521. package/dist/components/tree-select/index.js +5 -0
  522. package/dist/components/tree-select/styles/tree-select.module.css.js +20 -0
  523. package/dist/components/tree-select/tree-select-dropdown.d.ts +9 -0
  524. package/dist/components/tree-select/tree-select-dropdown.js +36 -0
  525. package/dist/components/tree-select/tree-select-target.d.ts +18 -0
  526. package/dist/components/tree-select/tree-select-target.js +116 -0
  527. package/dist/components/tree-select/tree-select.d.ts +21 -0
  528. package/dist/components/tree-select/tree-select.js +201 -0
  529. package/dist/components/tree-select/tree-select.types.d.ts +39 -0
  530. package/dist/components/unstyled-button/index.d.ts +1 -0
  531. package/dist/components/unstyled-button/index.js +5 -0
  532. package/dist/components/unstyled-button/unstyled-button.d.ts +3 -0
  533. package/dist/components/unstyled-button/unstyled-button.js +19 -0
  534. package/dist/components/unstyled-button/unstyled-button.module.css.js +8 -0
  535. package/dist/components/virtualized-tree-select/index.d.ts +2 -0
  536. package/dist/components/virtualized-tree-select/index.js +5 -0
  537. package/dist/components/virtualized-tree-select/virtualized-tree-select.d.ts +25 -0
  538. package/dist/components/virtualized-tree-select/virtualized-tree-select.js +253 -0
  539. package/dist/components/virtualized-tree-select/virtualized-tree-select.module.css.js +20 -0
  540. package/dist/index.css +1 -0
  541. package/dist/index.d.ts +53 -0
  542. package/dist/index.js +214 -0
  543. package/dist/locale/ar.d.ts +2 -0
  544. package/dist/locale/ar.js +58 -0
  545. package/dist/locale/en.d.ts +2 -0
  546. package/dist/locale/en.js +58 -0
  547. package/dist/locale/index.d.ts +6 -0
  548. package/dist/locale/index.js +15 -0
  549. package/dist/locale/ko.d.ts +2 -0
  550. package/dist/locale/ko.js +58 -0
  551. package/dist/locale/types.d.ts +55 -0
  552. package/dist/locale/types.js +8 -0
  553. package/dist/locale/zh-Hans.d.ts +2 -0
  554. package/dist/locale/zh-Hans.js +58 -0
  555. package/dist/locale/zh-Hant.d.ts +2 -0
  556. package/dist/locale/zh-Hant.js +58 -0
  557. package/dist/node_modules/.pnpm/react-number-format@5.4.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/react-number-format/dist/react-number-format.es.js +572 -0
  558. package/dist/provider/hooks.d.ts +24 -0
  559. package/dist/provider/hooks.js +26 -0
  560. package/dist/provider/index.d.ts +7 -0
  561. package/dist/provider/index.js +16 -0
  562. package/dist/provider/ui-context.d.ts +16 -0
  563. package/dist/provider/ui-context.js +14 -0
  564. package/dist/provider/ui-link.d.ts +22 -0
  565. package/dist/provider/ui-link.js +10 -0
  566. package/dist/provider/ui-provider.d.ts +19 -0
  567. package/dist/provider/ui-provider.js +21 -0
  568. package/package.json +198 -0
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ import { useState as w, useEffect as a, useRef as E, useCallback as _ } from "react";
3
+ const b = 20, k = 200;
4
+ function S(m, I, g, M) {
5
+ const [p, h] = w(
6
+ []
7
+ );
8
+ a(() => {
9
+ I !== void 0 && h(I);
10
+ }, [I]);
11
+ const [v, A] = w([]), [D, N] = w(/* @__PURE__ */ new Map()), L = E(null), c = E(
12
+ /* @__PURE__ */ new Map()
13
+ ), R = E([]);
14
+ a(() => {
15
+ const n = c.current;
16
+ return () => {
17
+ n.forEach((t) => clearTimeout(t)), n.clear();
18
+ };
19
+ }, []), a(() => {
20
+ m?.length && h(m);
21
+ }, [m]);
22
+ const x = _((n) => {
23
+ const t = L.current;
24
+ if (!t) return [];
25
+ const o = [];
26
+ let u;
27
+ try {
28
+ u = t.getItemInstance(n);
29
+ } catch {
30
+ return o;
31
+ }
32
+ const i = (l) => {
33
+ const e = l.getChildren();
34
+ for (const s of e)
35
+ o.push(s.getId()), s.isFolder() && s.isExpanded() && i(s);
36
+ };
37
+ return i(u), o;
38
+ }, []);
39
+ a(() => {
40
+ const n = R.current, t = p;
41
+ if (n === t) return;
42
+ const o = t.filter((i) => !n.includes(i)), u = n.filter((i) => !t.includes(i));
43
+ if (R.current = t, !(o.length === 0 && u.length === 0)) {
44
+ if (M) {
45
+ A(t);
46
+ return;
47
+ }
48
+ N((i) => {
49
+ const l = new Map(i);
50
+ for (const e of o) {
51
+ c.current.has(e) && (clearTimeout(c.current.get(e)), c.current.delete(e));
52
+ const s = x(e);
53
+ for (const r of s)
54
+ l.set(r, "expanding");
55
+ const T = setTimeout(() => {
56
+ N((r) => {
57
+ const f = new Map(r);
58
+ for (const d of s)
59
+ f.get(d) === "expanding" && f.delete(d);
60
+ return f;
61
+ });
62
+ }, b);
63
+ c.current.set(e, T);
64
+ }
65
+ for (const e of u) {
66
+ c.current.has(e) && (clearTimeout(c.current.get(e)), c.current.delete(e));
67
+ const s = x(e);
68
+ for (const r of s)
69
+ l.set(r, "collapsing");
70
+ const T = setTimeout(() => {
71
+ N((r) => {
72
+ const f = new Map(r);
73
+ for (const d of s)
74
+ f.get(d) === "collapsing" && f.delete(d);
75
+ return f;
76
+ }), A((r) => p.includes(e) ? r : r.filter((f) => f !== e));
77
+ }, k);
78
+ c.current.set(e, T);
79
+ }
80
+ return l;
81
+ }), A((i) => {
82
+ const l = [...t];
83
+ for (const e of u)
84
+ l.includes(e) || l.push(e);
85
+ return l;
86
+ });
87
+ }
88
+ }, [p, x, M]);
89
+ const O = _(
90
+ (n) => {
91
+ h((t) => {
92
+ const o = typeof n == "function" ? n(t) : n;
93
+ return g && setTimeout(() => {
94
+ g(o);
95
+ }, 0), o;
96
+ });
97
+ },
98
+ [g]
99
+ );
100
+ return {
101
+ expandedItems: v,
102
+ setExpandedItems: O,
103
+ animatingNodes: D,
104
+ treeRef: L
105
+ };
106
+ }
107
+ export {
108
+ k as ANIMATION_COLLAPSE_DURATION,
109
+ b as ANIMATION_EXPAND_DELAY,
110
+ S as useTreeAnimation
111
+ };
@@ -0,0 +1,22 @@
1
+ import { TreeDataNode } from '../tree.types';
2
+ type Setter = (v: string[] | ((old: string[]) => string[])) => void;
3
+ /**
4
+ * 将 TreeDataNode<T>[] 组装成 @headless-tree 所需的 dataLoader,调用 useTree
5
+ *
6
+ * selectedItems / checkedItems 分别受控,互不干扰
7
+ */
8
+ export declare function useTreeConfig<T>(data: TreeDataNode<T>[], getItemId: (item: T) => string, getItemName: (item: T) => string, isItemFolder: ((item: T) => boolean) | undefined, options: {
9
+ selectedItems: string[];
10
+ setSelectedItems: Setter;
11
+ checkedItems: string[];
12
+ setCheckedItems: Setter;
13
+ expandedItems: string[];
14
+ setExpandedItems: Setter;
15
+ selectableFolders?: boolean;
16
+ propagateCheckedState: boolean;
17
+ selectOnLabelClick: boolean;
18
+ selectionMode: 'single' | 'multi';
19
+ expandFolderOnSelect: boolean;
20
+ isItemDisabled?: (item: T) => boolean;
21
+ }): import("@headless-tree/core").TreeInstance<T>;
22
+ export {};
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ import { syncDataLoaderFeature as N, selectionFeature as j, hotkeysCoreFeature as q, checkboxesFeature as z, searchFeature as A } from "@headless-tree/core";
3
+ import { useTree as G } from "@headless-tree/react";
4
+ import { useRef as H, useMemo as h, useCallback as g, useLayoutEffect as J } from "react";
5
+ import { useCustomClickBehaviorFeature as K } from "./use-custom-click-behavior-feature.js";
6
+ const F = "__tree_select_root__";
7
+ function W(I, a, x, p, S) {
8
+ const {
9
+ selectedItems: D,
10
+ setSelectedItems: k,
11
+ checkedItems: M,
12
+ setCheckedItems: C,
13
+ expandedItems: _,
14
+ setExpandedItems: O,
15
+ selectableFolders: b = !1,
16
+ propagateCheckedState: w,
17
+ selectOnLabelClick: y,
18
+ selectionMode: E,
19
+ expandFolderOnSelect: L,
20
+ isItemDisabled: l
21
+ } = S, d = H(/* @__PURE__ */ new Map()), i = h(() => {
22
+ const e = /* @__PURE__ */ new Map(), t = (s, n) => {
23
+ const f = [];
24
+ for (const r of s) {
25
+ const c = a(r.data);
26
+ d.current.set(c, r.data), f.push(c), r.children?.length ? t(r.children, c) : e.set(c, []);
27
+ }
28
+ e.set(n, f);
29
+ };
30
+ return t(I, F), e;
31
+ }, [I, a]), u = g(
32
+ (e) => {
33
+ const t = d.current.get(e);
34
+ return t !== void 0 && !!l?.(t);
35
+ },
36
+ [l]
37
+ ), o = g(
38
+ (e, t) => (s) => e((n) => {
39
+ const r = (typeof s == "function" ? s(n) : s).filter((R) => !u(R));
40
+ if (!t) return r;
41
+ const c = n.filter(u);
42
+ return [.../* @__PURE__ */ new Set([...r, ...c])];
43
+ }),
44
+ [u]
45
+ ), T = h(
46
+ () => o(k, !1),
47
+ [o, k]
48
+ ), v = h(
49
+ () => o(C, !0),
50
+ [o, C]
51
+ ), B = K({
52
+ selectableFolders: b,
53
+ selectOnLabelClick: y,
54
+ selectionMode: E,
55
+ expandFolderOnSelect: L,
56
+ isItemDisabled: l
57
+ }), m = G({
58
+ rootItemId: F,
59
+ getItemName: (e) => {
60
+ const t = e.getItemData();
61
+ return t != null ? x(t) : "";
62
+ },
63
+ isItemFolder: (e) => {
64
+ const t = e.getItemData();
65
+ if (t == null) return !1;
66
+ if (p)
67
+ return p(t);
68
+ const s = a(t), n = i.get(s);
69
+ return n ? n.length > 0 : !1;
70
+ },
71
+ dataLoader: {
72
+ getItem: (e) => d.current.get(e),
73
+ getChildren: (e) => i.get(e) ?? []
74
+ },
75
+ state: { selectedItems: D, checkedItems: M, expandedItems: _ },
76
+ setSelectedItems: T,
77
+ setCheckedItems: v,
78
+ setExpandedItems: O,
79
+ canCheckFolders: b,
80
+ propagateCheckedState: w,
81
+ features: [
82
+ N,
83
+ j,
84
+ q,
85
+ z,
86
+ A,
87
+ B
88
+ ]
89
+ });
90
+ return J(() => {
91
+ m.rebuildTree();
92
+ }, [i, m]), m;
93
+ }
94
+ export {
95
+ W as useTreeConfig
96
+ };
@@ -0,0 +1,19 @@
1
+ import { TreeDataNode } from '../tree.types';
2
+ interface UseTreeSearchProps<T> {
3
+ data: TreeDataNode<T>[];
4
+ getItemId: (item: T) => string;
5
+ getItemName: (item: T) => string;
6
+ searchable: boolean;
7
+ setExpandedItems: (updater: string[] | ((old: string[]) => string[])) => void;
8
+ searchValue?: string;
9
+ onSearchValueChange?: (value: string) => void;
10
+ }
11
+ /**
12
+ * 提供树节点的搜索功能与过滤逻辑
13
+ */
14
+ export declare function useTreeSearch<T>({ data, getItemId, getItemName, searchable, setExpandedItems, searchValue: controlledSearchValue, onSearchValueChange, }: UseTreeSearchProps<T>): {
15
+ searchValue: string;
16
+ setSearchValue: (val: string) => void;
17
+ filteredData: TreeDataNode<T>[];
18
+ };
19
+ export {};
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { useState as K, useCallback as M, useMemo as m } from "react";
3
+ function A({
4
+ data: l,
5
+ getItemId: f,
6
+ getItemName: u,
7
+ searchable: d,
8
+ setExpandedItems: h,
9
+ searchValue: o,
10
+ onSearchValueChange: w
11
+ }) {
12
+ const [p, y] = K(""), i = o !== void 0 ? o : p, E = M(
13
+ (e) => {
14
+ o === void 0 && y(e), w?.(e);
15
+ },
16
+ [o, w]
17
+ ), D = m(() => {
18
+ const e = (c, a) => {
19
+ const r = [], s = /* @__PURE__ */ new Set(), k = a.toLowerCase();
20
+ for (const t of c) {
21
+ const x = f(t.data), C = u(t.data).toLowerCase().includes(k);
22
+ let n;
23
+ if (t.children && t.children.length > 0) {
24
+ const { resultData: T, keysToExpand: L } = e(
25
+ t.children,
26
+ a
27
+ );
28
+ T.length > 0 && (n = T), L.forEach((v) => s.add(v));
29
+ }
30
+ (C || n && n.length > 0) && (r.push({ ...t, children: n }), n && n.length > 0 && s.add(x));
31
+ }
32
+ return { resultData: r, keysToExpand: s };
33
+ };
34
+ return e;
35
+ }, [f, u]), S = m(() => {
36
+ if (!d || !i.trim())
37
+ return l;
38
+ const { resultData: e, keysToExpand: c } = D(
39
+ l,
40
+ i.trim()
41
+ );
42
+ return c.size > 0 && setTimeout(() => {
43
+ h((a) => {
44
+ const r = new Set(a);
45
+ return c.forEach((s) => r.add(s)), Array.from(r);
46
+ });
47
+ }, 0), e;
48
+ }, [l, i, d, D, h]);
49
+ return {
50
+ searchValue: i,
51
+ setSearchValue: E,
52
+ filteredData: S
53
+ };
54
+ }
55
+ export {
56
+ A as useTreeSearch
57
+ };
@@ -0,0 +1,16 @@
1
+ type Setter = (v: string[] | ((old: string[]) => string[])) => void;
2
+ /**
3
+ * 受控/非受控 value 桥接
4
+ *
5
+ * 外部统一用 value/defaultValue/onChange,
6
+ * 内部拆成 selectedItems + checkedItems 两个独立受控状态给 headless-tree。
7
+ * 非活跃模式的 setter 是 noop,防止跨模式误触发 onChange。
8
+ */
9
+ export declare function useTreeValue(valueProp: string | string[] | undefined, defaultValue: string | string[] | undefined, onChange: ((v: string | string[]) => void) | undefined, selectionMode: 'single' | 'multi'): {
10
+ selectedItems: string[];
11
+ setSelectedItems: Setter;
12
+ checkedItems: string[];
13
+ setCheckedItems: Setter;
14
+ clear: () => void;
15
+ };
16
+ export {};
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { useState as a, useCallback as l } from "react";
3
+ const m = () => {
4
+ };
5
+ function u(e) {
6
+ return e === void 0 ? [] : Array.isArray(e) ? e : e ? [e] : [];
7
+ }
8
+ function b(e, d, c, I) {
9
+ const t = e !== void 0, [k, f] = a(() => u(d)), i = t ? u(e) : k, n = I === "single", r = l(
10
+ (s) => typeof s == "function" ? s(i) : s,
11
+ [i]
12
+ ), S = l(
13
+ (s) => {
14
+ const o = r(s);
15
+ t || f(o), c?.(o[0] ?? "");
16
+ },
17
+ [r, t, c]
18
+ ), x = l(
19
+ (s) => {
20
+ const o = r(s);
21
+ t || f(o), c?.(o);
22
+ },
23
+ [r, t, c]
24
+ ), y = l(() => {
25
+ t || f([]), c?.(n ? "" : []);
26
+ }, [t, n, c]);
27
+ return {
28
+ selectedItems: n ? i : [],
29
+ setSelectedItems: n ? S : m,
30
+ checkedItems: n ? [] : i,
31
+ setCheckedItems: n ? m : x,
32
+ clear: y
33
+ };
34
+ }
35
+ export {
36
+ b as useTreeValue
37
+ };
@@ -0,0 +1,13 @@
1
+ import { TreeContextValue } from '../tree-context';
2
+ import { TreeBaseProps } from '../tree.types';
3
+ export interface UseTreeReturn<T> extends TreeContextValue<T> {
4
+ selectedItems: string[];
5
+ checkedItems: string[];
6
+ setCheckedItems: (v: string[] | ((old: string[]) => string[])) => void;
7
+ clear: () => void;
8
+ }
9
+ /**
10
+ * 封装了 Tree 状态和逻辑的综合 Hook
11
+ * 既可以在 Tree 内部使用,也可以在外部(如 TreeSelect)调用后将 context 传给 Tree
12
+ */
13
+ export declare function useTree<T>(props: TreeBaseProps<T>): UseTreeReturn<T>;
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ import { useLayoutEffect as j, useImperativeHandle as q } from "react";
3
+ import { useTreeAnimation as w, ANIMATION_COLLAPSE_DURATION as B } from "./use-tree-animation.js";
4
+ import { useTreeConfig as G } from "./use-tree-config.js";
5
+ import { useTreeSearch as J } from "./use-tree-search.js";
6
+ import { useTreeValue as K } from "./use-tree-value.js";
7
+ function $(s) {
8
+ const {
9
+ data: i,
10
+ getItemId: r,
11
+ getItemName: a,
12
+ isItemFolder: I,
13
+ getItemIcon: h,
14
+ isItemDisabled: o,
15
+ value: f,
16
+ defaultValue: p,
17
+ onChange: g,
18
+ selectionMode: t = "single",
19
+ classNames: T = {},
20
+ searchable: C = !0,
21
+ renderNode: S,
22
+ selectableFolders: V = !0,
23
+ propagateCheckedState: x = !0,
24
+ selectOnLabelClick: N = t === "single",
25
+ expandFolderOnSelect: b = !0,
26
+ defaultExpandedIds: k,
27
+ expandedIds: A,
28
+ onExpandedIdsChange: E,
29
+ lazyMode: O,
30
+ searchValue: L,
31
+ onSearchValueChange: y
32
+ } = s, {
33
+ selectedItems: l,
34
+ setSelectedItems: D,
35
+ checkedItems: c,
36
+ setCheckedItems: n,
37
+ clear: F
38
+ } = K(
39
+ f,
40
+ p,
41
+ g,
42
+ t
43
+ ), { expandedItems: M, setExpandedItems: d, animatingNodes: R, treeRef: m } = w(
44
+ k,
45
+ A,
46
+ E,
47
+ O
48
+ ), { searchValue: v, setSearchValue: _, filteredData: z } = J({
49
+ data: i,
50
+ getItemId: r,
51
+ getItemName: a,
52
+ searchable: C,
53
+ setExpandedItems: d,
54
+ searchValue: L,
55
+ onSearchValueChange: y
56
+ }), e = G(
57
+ z,
58
+ r,
59
+ a,
60
+ I,
61
+ {
62
+ selectedItems: l,
63
+ setSelectedItems: D,
64
+ checkedItems: c,
65
+ setCheckedItems: n,
66
+ expandedItems: M,
67
+ setExpandedItems: d,
68
+ selectableFolders: V,
69
+ propagateCheckedState: x,
70
+ selectOnLabelClick: N,
71
+ selectionMode: t,
72
+ expandFolderOnSelect: b,
73
+ isItemDisabled: o
74
+ }
75
+ );
76
+ return j(() => {
77
+ m.current = e;
78
+ }, [e, m]), q(
79
+ s.apiRef,
80
+ () => ({
81
+ scrollToItem: (H, P) => {
82
+ const U = P ?? { block: "nearest" }, u = () => {
83
+ try {
84
+ e.getItemInstance(H)?.scrollTo(U);
85
+ } catch {
86
+ }
87
+ };
88
+ u(), setTimeout(u, B + 50);
89
+ }
90
+ }),
91
+ [e]
92
+ ), {
93
+ tree: e,
94
+ selectionMode: t,
95
+ classNames: T,
96
+ renderNode: S,
97
+ getItemName: a,
98
+ getItemIcon: h,
99
+ isItemDisabled: o,
100
+ animatingNodes: R,
101
+ searchValue: v,
102
+ setSearchValue: _,
103
+ selectedItems: l,
104
+ checkedItems: c,
105
+ setCheckedItems: n,
106
+ clear: F
107
+ };
108
+ }
109
+ export {
110
+ $ as useTree
111
+ };
@@ -0,0 +1,7 @@
1
+ export * from './tree.types';
2
+ export * from './tree-context';
3
+ export * from './tree-node';
4
+ export * from './tree-node-list';
5
+ export * from './tree-content';
6
+ export * from './tree';
7
+ export * from './hooks/use-tree';
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { TreeContextProvider as o, useTreeContext as t } from "./tree-context.js";
3
+ import { TreeNode as T } from "./tree-node.js";
4
+ import { TreeNodeList as m } from "./tree-node-list.js";
5
+ import { TreeContent as n } from "./tree-content.js";
6
+ import { Tree as d } from "./tree.js";
7
+ import { useTree as u } from "./hooks/use-tree.js";
8
+ export {
9
+ d as Tree,
10
+ n as TreeContent,
11
+ o as TreeContextProvider,
12
+ T as TreeNode,
13
+ m as TreeNodeList,
14
+ u as useTree,
15
+ t as useTreeContext
16
+ };
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ const n = "_root_16vfl_2", o = "_tree_16vfl_8", e = "_node_16vfl_17", _ = "_nodeWidth_16vfl_25", d = "_nodeContent_16vfl_35", t = "_chevronIcon_16vfl_103", l = "_chevronIconExpanded_16vfl_107", c = "_nodeIcon_16vfl_111", a = "_nodeIconDisabled_16vfl_116", i = "_nodeLabel_16vfl_121", s = "_nodeLabelDisabled_16vfl_130", r = "_nodeLabelActive_16vfl_134", v = "_nodeLabelMatching_16vfl_139", f = "_nodeAnimationWrapper_16vfl_143", p = "_isExpanding_16vfl_151", b = "_isCollapsing_16vfl_152", h = "_nodeAnimationInner_16vfl_157", I = "_searchWrap_16vfl_163", L = "_fullWidth_16vfl_168", W = {
3
+ root: n,
4
+ tree: o,
5
+ node: e,
6
+ nodeWidth: _,
7
+ nodeContent: d,
8
+ chevronIcon: t,
9
+ chevronIconExpanded: l,
10
+ nodeIcon: c,
11
+ nodeIconDisabled: a,
12
+ nodeLabel: i,
13
+ nodeLabelDisabled: s,
14
+ nodeLabelActive: r,
15
+ nodeLabelMatching: v,
16
+ nodeAnimationWrapper: f,
17
+ isExpanding: p,
18
+ isCollapsing: b,
19
+ nodeAnimationInner: h,
20
+ searchWrap: I,
21
+ fullWidth: L
22
+ };
23
+ export {
24
+ t as chevronIcon,
25
+ l as chevronIconExpanded,
26
+ W as default,
27
+ L as fullWidth,
28
+ b as isCollapsing,
29
+ p as isExpanding,
30
+ e as node,
31
+ h as nodeAnimationInner,
32
+ f as nodeAnimationWrapper,
33
+ d as nodeContent,
34
+ c as nodeIcon,
35
+ a as nodeIconDisabled,
36
+ i as nodeLabel,
37
+ r as nodeLabelActive,
38
+ s as nodeLabelDisabled,
39
+ v as nodeLabelMatching,
40
+ _ as nodeWidth,
41
+ n as root,
42
+ I as searchWrap,
43
+ o as tree
44
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export interface TreeContentProps {
3
+ readonly searchable?: boolean;
4
+ /** 是否在挂载时自动聚焦搜索框(通常用于下拉面板等需要抢占焦点的场景) */
5
+ readonly autoFocusSearch?: boolean;
6
+ /** 搜索框占位文案,默认 `common:search` */
7
+ readonly searchPlaceholder?: string;
8
+ /** 渲染在搜索框与节点列表之间的自定义区域(如全选行) */
9
+ readonly topSlot?: React.ReactNode;
10
+ }
11
+ /**
12
+ * 纯表现层的树内容区域
13
+ * 依赖外部提供的 TreeContext
14
+ */
15
+ export declare function TreeContent({ searchable, autoFocusSearch, searchPlaceholder, topSlot, }: TreeContentProps): React.JSX.Element;
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { jsxs as D, Fragment as y, jsx as o } from "react/jsx-runtime";
3
+ import { useRef as w, useEffect as v, useCallback as a } from "react";
4
+ import "../../provider/ui-context.js";
5
+ import { useLocale as C } from "../../provider/hooks.js";
6
+ import { DropDownEmptyState as x } from "../_inner/dropdown/empty-state.js";
7
+ import { TextInput as F } from "../text-input/text-input.js";
8
+ import f from "./styles/tree.module.css.js";
9
+ import { useTreeContext as A } from "./tree-context.js";
10
+ import { TreeNodeList as S } from "./tree-node-list.js";
11
+ function V({
12
+ searchable: r = !0,
13
+ autoFocusSearch: m = !1,
14
+ searchPlaceholder: l,
15
+ topSlot: p
16
+ }) {
17
+ const i = C(), { tree: t, searchValue: u, setSearchValue: c } = A(), s = w(null), d = r && u.trim().length > 0 && t.getItems().length === 0;
18
+ v(() => {
19
+ if (r && m) {
20
+ let e;
21
+ return e = requestAnimationFrame(() => {
22
+ e = requestAnimationFrame(() => {
23
+ s.current?.focus();
24
+ });
25
+ }), () => cancelAnimationFrame(e);
26
+ }
27
+ }, [r, m]);
28
+ const h = a(
29
+ (e) => {
30
+ c(e.target.value);
31
+ },
32
+ [c]
33
+ ), g = a(
34
+ (e) => {
35
+ if (e.key === "ArrowDown") {
36
+ e.preventDefault();
37
+ const n = t.getItems()[0];
38
+ n && (n.setFocused(), t.updateDomFocus());
39
+ }
40
+ },
41
+ [t]
42
+ ), I = a(
43
+ (e) => {
44
+ if (e.key !== "ArrowUp" || !r) return;
45
+ const n = t.getItems();
46
+ if (n[0]) {
47
+ try {
48
+ if (t.getFocusedItem().getId() !== n[0].getId()) return;
49
+ } catch {
50
+ return;
51
+ }
52
+ e.nativeEvent.stopImmediatePropagation(), e.preventDefault(), s.current?.focus();
53
+ }
54
+ },
55
+ [t, r]
56
+ );
57
+ return /* @__PURE__ */ D(y, { children: [
58
+ r && /* @__PURE__ */ o("div", { className: f.searchWrap, children: /* @__PURE__ */ o(
59
+ F,
60
+ {
61
+ ref: s,
62
+ placeholder: l ?? i.search,
63
+ size: "sm",
64
+ value: u,
65
+ onChange: h,
66
+ onKeyDown: g,
67
+ leftIconName: "search",
68
+ className: f.fullWidth
69
+ }
70
+ ) }),
71
+ p,
72
+ d ? /* @__PURE__ */ o(x, { text: i.noSearchResult }) : /* @__PURE__ */ o(S, { onKeyDownCapture: I })
73
+ ] });
74
+ }
75
+ export {
76
+ V as TreeContent
77
+ };
@@ -0,0 +1,19 @@
1
+ import { TreeInstance } from '@headless-tree/core';
2
+ import { TreeBaseProps, TreeClassNames } from './tree.types';
3
+ export interface TreeContextValue<T = unknown> {
4
+ tree: TreeInstance<T>;
5
+ selectionMode: 'single' | 'multi';
6
+ classNames: TreeClassNames;
7
+ renderNode?: TreeBaseProps<T>['renderNode'];
8
+ getItemName: (item: T) => string;
9
+ getItemIcon?: TreeBaseProps<T>['getItemIcon'];
10
+ isItemDisabled?: TreeBaseProps<T>['isItemDisabled'];
11
+ animatingNodes: Map<string, 'expanding' | 'collapsing'>;
12
+ searchValue: string;
13
+ setSearchValue: (value: string) => void;
14
+ }
15
+ export declare const TreeContextProvider: import("react").Provider<TreeContextValue<any> | null>;
16
+ /**
17
+ * 获取 Tree 上下文
18
+ */
19
+ export declare function useTreeContext<T = unknown>(): TreeContextValue<T>;
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { createContext as r, useContext as o } from "react";
3
+ const t = r(null), s = t.Provider;
4
+ function i() {
5
+ const e = o(t);
6
+ if (!e)
7
+ throw new Error("useTreeContext must be used inside TreeContextProvider");
8
+ return e;
9
+ }
10
+ export {
11
+ s as TreeContextProvider,
12
+ i as useTreeContext
13
+ };