@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,543 @@
1
+ import type { FormProps, InputWrapProps } from '../../common/components.types';
2
+ import type { BaseInputClassNames } from '../base-input';
3
+ import type { IconName } from '@wisdomgarden/torque-icons';
4
+ import type { Dayjs } from 'dayjs';
5
+ import type { ReactNode } from 'react';
6
+ /**
7
+ * DatePicker 家族可以接受的"单值"输入。
8
+ *
9
+ * - `string`:任何 dayjs 能解析的格式(ISO / 本地化字符串等)
10
+ * - `number`:毫秒级时间戳
11
+ * - `Date`:原生日期对象
12
+ * - `null` / `undefined` / `''`:视作"空值"
13
+ */
14
+ export type DateValue = string | number | Date | null | undefined;
15
+ /** 起止两端都使用 `DateValue` 的范围值。 */
16
+ export type DateRangeValue = [DateValue, DateValue];
17
+ /**
18
+ * 日期格相对于范围选择的从属状态(六态互斥,按优先级自顶向下判定)。
19
+ *
20
+ * - `Both` — 起止同为一天
21
+ * - `Start` — 范围起点(已确认,或正在选终点时的起点)
22
+ * - `End` — 范围终点
23
+ * - `InRange` — 已确认起止区间的**内部**(不含端点)
24
+ * - `Preview` — 已选起点、未选终点时,hover 位置与起点之间的**预览**内部
25
+ * - `None` — 不参与任何范围(单选模式下的所有格子也是这个态)
26
+ *
27
+ * 优先级:`Both > Start/End > InRange > Preview > None`。
28
+ */
29
+ export declare enum DateRangeMembership {
30
+ /** 不参与任何范围 */
31
+ None = "none",
32
+ /** 范围起点 */
33
+ Start = "start",
34
+ /** 范围终点 */
35
+ End = "end",
36
+ /** 起止同一天 */
37
+ Both = "both",
38
+ /** 已确认区间内部 */
39
+ InRange = "in-range",
40
+ /** hover 预览区间内部 */
41
+ Preview = "preview"
42
+ }
43
+ /**
44
+ * 时间列禁用函数集合(时 / 分 / 秒三个维度)。
45
+ * 供 DateTimePicker / DateTimeRangePicker 在内部合并自动推导与用户自定义禁用规则时使用。
46
+ */
47
+ export interface DisabledTimeFns {
48
+ disabledHours?: () => number[];
49
+ disabledMinutes?: (hour: number) => number[];
50
+ disabledSeconds?: (hour: number, minute: number) => number[];
51
+ }
52
+ /**
53
+ * 时间面板使用的纯值对象(不含年月日信息)。
54
+ */
55
+ export interface TimeValue {
56
+ /** 小时;统一以 24 小时制存储,12 小时制仅用于展示 */
57
+ hour: number;
58
+ /** 分钟,0–59 */
59
+ minute: number;
60
+ /** 秒,0–59 */
61
+ second: number;
62
+ }
63
+ /**
64
+ * 日历中的一天。
65
+ */
66
+ export interface CalendarDay {
67
+ /** 该格对应的日期(精确到天) */
68
+ date: Dayjs;
69
+ /** 是否属于当前月份;`false` 时即上/下月的填充格 */
70
+ isCurrentMonth: boolean;
71
+ /** 是否为"今天" */
72
+ isToday: boolean;
73
+ }
74
+ /**
75
+ * 范围选择内部的状态机对象。
76
+ */
77
+ export interface RangeState {
78
+ /** 已确认的起点 */
79
+ start: Dayjs | null;
80
+ /** 已确认的终点 */
81
+ end: Dayjs | null;
82
+ /** 鼠标 hover 的日期;仅在 `pickingEnd=true` 时被跟踪,用于预览高亮 */
83
+ hover: Dayjs | null;
84
+ /** 是否已选起点、正在等待选终点的中间态 */
85
+ pickingEnd: boolean;
86
+ }
87
+ /**
88
+ * `DateRangePicker` 的快捷预设项。
89
+ */
90
+ export interface DateRangePreset {
91
+ /** 预设在侧边栏中的展示文本 */
92
+ label: string;
93
+ /** 预设对应的起止日期(同样接受 `Date | string`) */
94
+ value: [Date | string, Date | string];
95
+ }
96
+ /**
97
+ * DatePicker 家族通用的 classNames 映射。
98
+ * 所有字段都可选,未指定的 slot 回退到内部默认样式。
99
+ */
100
+ export interface PickerClassNames {
101
+ /** 根容器(Popover.Target 包裹层) */
102
+ root?: string;
103
+ /** 透传到内部 BaseInput 的 classNames */
104
+ input?: BaseInputClassNames;
105
+ /** Popover.Dropdown 容器 */
106
+ dropdown?: string;
107
+ /** dropdown 内容区(日历 / 时间 / 快捷条) */
108
+ dropdownBody?: string;
109
+ /** 快捷预设侧边栏容器 */
110
+ presets?: string;
111
+ /** 单个快捷预设项 */
112
+ presetItem?: string;
113
+ /** 日历整体面板 */
114
+ calendar?: string;
115
+ /** 日历头部 */
116
+ header?: string;
117
+ /** 头部标题(年月) */
118
+ headerTitle?: string;
119
+ /** 头部左右导航按钮 */
120
+ headerNav?: string;
121
+ /** 星期表头行 */
122
+ weekdays?: string;
123
+ /** 单个星期标签 */
124
+ weekday?: string;
125
+ /** 日期网格(rowgroup) */
126
+ grid?: string;
127
+ /** 单个日期单元格 */
128
+ cell?: string;
129
+ /** 时间面板容器 */
130
+ time?: string;
131
+ /** 时间列(时/分/秒/AM-PM) */
132
+ timeColumn?: string;
133
+ /** 时间选项 */
134
+ timeItem?: string;
135
+ /** 底部操作区 */
136
+ footer?: string;
137
+ }
138
+ /**
139
+ * 单值 / 范围值通用的外观与表单配置。
140
+ *
141
+ * 所有 Picker(`DatePicker` / `DateRangePicker` / `TimePicker` / …)都继承此接口;
142
+ * `classNames` 里列出的 slot 覆盖了从输入框外壳到日历 / 时间面板的所有层次。
143
+ */
144
+ export interface PickerShellConfig {
145
+ /** 稳定 id,供 FormItemWrapper 的 htmlFor 和 BaseInput 的 id 共用 */
146
+ id?: string;
147
+ /** 占位符;范围模式建议传完整字符串,如 `"YYYY-MM-DD ~ YYYY-MM-DD"` */
148
+ placeholder?: string;
149
+ /** 是否显示清空按钮 */
150
+ clearable?: boolean;
151
+ /** 整体禁用(不可聚焦 / 不可触发弹层) */
152
+ disabled?: boolean;
153
+ /** 只读(不可触发弹层,但仍可聚焦) */
154
+ readOnly?: boolean;
155
+ /** PC 端下拉是否渲染到 Portal;嵌套浮层关系由 Popover 自动处理。 @default true */
156
+ withinPortal?: boolean;
157
+ /** 错误态;传字符串时同时作为错误描述 */
158
+ error?: boolean | string;
159
+ /** input 左侧自定义渲染 */
160
+ leftSection?: ReactNode;
161
+ /** input 右侧自定义渲染(覆盖默认 clear / icon) */
162
+ rightSection?: ReactNode;
163
+ /** 根容器 className */
164
+ className?: string;
165
+ /** 内部各 slot 的 className 映射 */
166
+ classNames?: PickerClassNames;
167
+ /** 无可见 label 时的无障碍 label */
168
+ 'aria-label'?: string;
169
+ /** 引用外部 label 元素的 id */
170
+ 'aria-labelledby'?: string;
171
+ /** 关联到描述 / 错误节点的 id(由 FormItemWrapper 派生) */
172
+ 'aria-describedby'?: string;
173
+ }
174
+ /**
175
+ * 日历能用到的日期限制配置。
176
+ *
177
+ * - `minDate` / `maxDate`:闭区间(边界日期本身可选)
178
+ * - `shouldDisableDate`:自定义禁用谓词,优先级最高
179
+ */
180
+ export interface CalendarLimitProps {
181
+ /** 最早可选日期(闭区间) */
182
+ minDate?: Date | string;
183
+ /** 最晚可选日期(闭区间) */
184
+ maxDate?: Date | string;
185
+ /** 自定义禁用谓词;优先级高于 min/maxDate */
186
+ shouldDisableDate?: (date: Date) => boolean;
187
+ }
188
+ /**
189
+ * `DatePicker`(单日期)组件 props。
190
+ *
191
+ * `format` 控制显示格式。
192
+ * `closeOnSelect` 默认开启:选中即关闭下拉,符合"快速选日期"的直觉。
193
+ */
194
+ export interface DatePickerProps extends PickerShellConfig, CalendarLimitProps, InputWrapProps, FormProps {
195
+ /** 受控值 */
196
+ value?: DateValue;
197
+ /** 非受控初始值 */
198
+ defaultValue?: DateValue;
199
+ /**
200
+ * 值变化回调。
201
+ * @param value 选中的日期对象,清空时为 `null`
202
+ * @param formattedString 按 `format` 格式化后的字符串,空值时为 `''`
203
+ */
204
+ onChange?: (value: Date | null, formattedString: string) => void;
205
+ /** 显示与解析格式,默认 `YYYY-MM-DD` */
206
+ format?: string;
207
+ /** 选中后是否自动关闭下拉,默认 `true` */
208
+ closeOnSelect?: boolean;
209
+ }
210
+ /**
211
+ * `DateRangePicker`(日期范围)组件 props。
212
+ *
213
+ * 相对于 `DatePickerProps`:`value` / `defaultValue` 改为元组;新增双月布局、
214
+ * 起止同日、快捷预设等开关。
215
+ *
216
+ * 范围选择采用 draft + 「确定」模型,面板内始终带底部确认栏,
217
+ * 因此不再支持 `closeOnSelect`。
218
+ */
219
+ export interface DateRangePickerProps extends PickerShellConfig, CalendarLimitProps, InputWrapProps, FormProps {
220
+ /** 受控值(起止元组) */
221
+ value?: DateRangeValue;
222
+ /** 非受控初始值(起止元组) */
223
+ defaultValue?: DateRangeValue;
224
+ /**
225
+ * 值变化回调。
226
+ * @param value 起止日期元组
227
+ * @param formatted 起止对应的格式化字符串元组
228
+ */
229
+ onChange?: (value: [Date | null, Date | null], formatted: [string, string]) => void;
230
+ /** 显示与解析格式 */
231
+ format?: string;
232
+ /** 是否允许起点终点为同一天,默认 `true` */
233
+ allowSingleDateInRange?: boolean;
234
+ /** 快捷预设(如"最近 7 天") */
235
+ presets?: DateRangePreset[];
236
+ }
237
+ /**
238
+ * 时间面板相关的字段(步长 / 粒度 / 级联禁用等)。
239
+ *
240
+ * `TimePicker` 和各类"日期 + 时间"组件都共享这组字段,抽出来避免
241
+ * 多个接口反复 `Pick` / 重写同样的 JSDoc。
242
+ *
243
+ * 禁用函数三件套继承自 `DisabledTimeFns`,保持单一来源。
244
+ */
245
+ export interface TimeFieldProps extends DisabledTimeFns {
246
+ /** 是否显示秒列 */
247
+ withSeconds?: boolean;
248
+ /** 是否启用 12 小时制 + AM/PM 列 */
249
+ use12Hours?: boolean;
250
+ /** 小时步长 */
251
+ hourStep?: number;
252
+ /** 分钟步长 */
253
+ minuteStep?: number;
254
+ /** 秒步长 */
255
+ secondStep?: number;
256
+ }
257
+ /**
258
+ * `TimePicker`(单时间)组件 props。
259
+ *
260
+ * 值仍以 `Date` 承载,年月日由内部 `dayjs().startOf('day')` 占位。
261
+ */
262
+ export interface TimePickerProps extends Omit<PickerShellConfig, 'classNames'>, TimeFieldProps, InputWrapProps, FormProps {
263
+ /** 内部各 slot 的 className 映射(不含日历和预设相关 slot) */
264
+ classNames?: Omit<PickerClassNames, 'presets' | 'presetItem' | 'calendar' | 'header' | 'headerTitle' | 'headerNav' | 'weekdays' | 'weekday' | 'grid' | 'cell'>;
265
+ /** 受控值 */
266
+ value?: DateValue;
267
+ /** 非受控初始值 */
268
+ defaultValue?: DateValue;
269
+ /** 值变化回调 */
270
+ onChange?: (value: Date | null, formattedString: string) => void;
271
+ /** 显示 / 解析格式;不传时根据 `withSeconds` + `use12Hours` 自动推导 */
272
+ format?: string;
273
+ }
274
+ /**
275
+ * `TimeRangePicker`(时间范围)组件 props。
276
+ *
277
+ * 继承 `TimePickerProps` 的时间粒度字段,将 `value/defaultValue/onChange` 替换为元组形式。
278
+ */
279
+ export interface TimeRangePickerProps extends Omit<TimePickerProps, 'value' | 'defaultValue' | 'onChange'> {
280
+ /** 受控值(起止元组) */
281
+ value?: DateRangeValue;
282
+ /** 非受控初始值 */
283
+ defaultValue?: DateRangeValue;
284
+ /** 值变化回调 */
285
+ onChange?: (value: [Date | null, Date | null], formatted: [string, string]) => void;
286
+ }
287
+ /**
288
+ * `DateTimePicker`(日期 + 时间)组件 props。
289
+ *
290
+ * 等价于 `DatePickerProps` ∪ `TimeFieldProps` 的时间粒度字段。
291
+ */
292
+ export interface DateTimePickerProps extends DatePickerProps, TimeFieldProps {
293
+ /**
294
+ * 呼出面板时触发(点击输入框或键盘打开都会触发,关闭时不触发)。
295
+ *
296
+ * 典型用途是「空值默认回填」:在此回调里写入默认值,面板会立刻按新值定位并高亮,
297
+ * 用户不改动直接点「确定」即保留该默认值。
298
+ */
299
+ onClick?: () => void;
300
+ }
301
+ /**
302
+ * `DateTimeRangePicker`(日期 + 时间范围)组件 props。
303
+ *
304
+ * 等价于 `DateRangePickerProps` ∪ `TimeFieldProps` 的时间粒度字段。
305
+ */
306
+ export interface DateTimeRangePickerProps extends DateRangePickerProps, TimeFieldProps {
307
+ }
308
+ /**
309
+ * `CalendarPanel`(日历面板)组件 props。
310
+ *
311
+ * 单选模式下传 `selectedDate`;范围模式下传 `rangeStart` / `rangeEnd` / `rangeHover`。
312
+ */
313
+ export interface CalendarPanelProps extends CalendarLimitProps {
314
+ /** 单选 — 当前选中 */
315
+ readonly selectedDate?: Dayjs | null;
316
+ /** 范围 — 起点 */
317
+ readonly rangeStart?: Dayjs | null;
318
+ /** 范围 — 终点 */
319
+ readonly rangeEnd?: Dayjs | null;
320
+ /** 范围 — 当前鼠标 hover 的日期,用于预览高亮 */
321
+ readonly rangeHover?: Dayjs | null;
322
+ /** 同时展示几个月(1 或 2) */
323
+ readonly numberOfMonths?: 1 | 2;
324
+ /** 当前视图的第一月 */
325
+ readonly viewMonth: Dayjs;
326
+ /** 视图月份变更回调 */
327
+ readonly onViewMonthChange: (d: Dayjs) => void;
328
+ /** 选择日期回调 */
329
+ readonly onSelect: (d: Dayjs) => void;
330
+ /** hover 回调(范围模式使用) */
331
+ readonly onHover?: (d: Dayjs | null) => void;
332
+ /** classNames 透传 */
333
+ readonly classNames?: PickerClassNames;
334
+ /** 面板级 aria-label */
335
+ readonly 'aria-label'?: string;
336
+ }
337
+ /**
338
+ * `CalendarHeader`(日历头部)组件 props。
339
+ *
340
+ * `isFirst` / `isLast` 在双月布局下决定显示哪一侧的翻页按钮。
341
+ */
342
+ export interface CalendarHeaderProps {
343
+ /** 当前头部代表的月份 */
344
+ readonly currentMonth: Dayjs;
345
+ /** 是否为双月布局中最左侧的月份(决定是否显示"上一页") */
346
+ readonly isFirst?: boolean;
347
+ /** 是否为双月布局中最右侧的月份(决定是否显示"下一页") */
348
+ readonly isLast?: boolean;
349
+ /** 头部相关 slot 的 className 透传 */
350
+ readonly classNames?: Pick<PickerClassNames, 'header' | 'headerTitle' | 'headerNav'>;
351
+ /** 点击左侧翻页按钮 */
352
+ readonly onPrev: () => void;
353
+ /** 点击右侧翻页按钮 */
354
+ readonly onNext: () => void;
355
+ /** 点击年月标题(为未来切换年/月视图预留) */
356
+ readonly onTitleClick?: () => void;
357
+ }
358
+ /**
359
+ * `DateCell`(单日期格)组件 props。
360
+ *
361
+ * 所有状态都由父级 `MonthView` 计算后传入;本组件只渲染与转发事件。
362
+ */
363
+ export interface DateCellProps {
364
+ /** 该单元格对应的日期 */
365
+ readonly date: Dayjs;
366
+ /** 是否属于当前月(否则为跨月填充) */
367
+ readonly isCurrentMonth: boolean;
368
+ /** 是否为"今天" */
369
+ readonly isToday: boolean;
370
+ /** 是否被选中(单选模式) */
371
+ readonly isSelected: boolean;
372
+ /** 是否禁用 */
373
+ readonly isDisabled: boolean;
374
+ /** 是否为当前键盘焦点所在格(控制 tabIndex) */
375
+ readonly isFocused: boolean;
376
+ /** 范围选择成员态(端点 / 区间内部 / hover 预览) */
377
+ readonly rangeMembership?: DateRangeMembership;
378
+ /** 附加 className */
379
+ readonly className?: string;
380
+ /** 点击选择日期 */
381
+ readonly onSelect: (date: Dayjs) => void;
382
+ /** 鼠标进入 / 离开(离开时参数为 `null`) */
383
+ readonly onHover?: (date: Dayjs | null) => void;
384
+ /** focus 时把键盘焦点同步到该日期 */
385
+ readonly onFocusCell?: (date: Dayjs) => void;
386
+ }
387
+ /**
388
+ * `MonthView`(单月视图)组件 props。
389
+ */
390
+ export interface MonthViewProps {
391
+ /** 该视图所展示的月份 */
392
+ readonly currentMonth: Dayjs;
393
+ /** 单选模式下的当前选中 */
394
+ readonly selectedDate: Dayjs | null;
395
+ /** 当前键盘焦点所在的日期(若在本月内则会高亮并设置 tabIndex=0) */
396
+ readonly focusedDate: Dayjs | null;
397
+ /** 范围 — 起点 */
398
+ readonly rangeStart?: Dayjs | null;
399
+ /** 范围 — 终点 */
400
+ readonly rangeEnd?: Dayjs | null;
401
+ /** 范围 — hover */
402
+ readonly rangeHover?: Dayjs | null;
403
+ /**
404
+ * 判断某日是否被禁用。由 `CalendarPanel` 根据 `minDate` / `maxDate` /
405
+ * `shouldDisableDate` 统一计算后下传,避免两处重复。
406
+ */
407
+ readonly isDisabled: (date: Dayjs) => boolean;
408
+ /** 透传给星期表头 / 网格 / 单元格的 className */
409
+ readonly classNames?: Pick<PickerClassNames, 'weekdays' | 'weekday' | 'grid' | 'cell'>;
410
+ /** 选择日期回调 */
411
+ readonly onSelect: (date: Dayjs) => void;
412
+ /** hover 回调 */
413
+ readonly onHover?: (date: Dayjs | null) => void;
414
+ /** 单元格 focus 时同步焦点 */
415
+ readonly onFocusCell?: (date: Dayjs) => void;
416
+ }
417
+ /**
418
+ * 单值选择器外壳 `PickerShell` 的 props。
419
+ *
420
+ * 在 `PickerShellConfig` 外观配置之外,还需要由上层组件传入弹层开合状态、
421
+ * 输入框文本、各回调,以及下拉面板渲染函数。
422
+ */
423
+ export interface PickerShellProps extends PickerShellConfig {
424
+ /** 弹层是否打开 */
425
+ readonly opened: boolean;
426
+ /** 弹层开合变化回调 */
427
+ readonly onOpenChange: (next: boolean) => void;
428
+ /** 当前输入框展示的字符串值 */
429
+ readonly value: string;
430
+ /** 是否有可清空内容(驱动右侧 clear 图标显示) */
431
+ readonly canClear: boolean;
432
+ /** 默认右侧图标名;日期组件为 `calendar`,时间组件覆盖为 `clock` */
433
+ readonly defaultIconName?: IconName;
434
+ /** 清空按钮点击回调 */
435
+ readonly onClear: () => void;
436
+ /** 下拉内容渲染函数(日历 / 时间 / 组合面板) */
437
+ readonly renderPanel: () => ReactNode;
438
+ }
439
+ /**
440
+ * 范围选择器外壳 `SingleRangeShell` 的 props。
441
+ *
442
+ * 相对于 `PickerShellProps`:`value` 改为两端 `values` 元组;UI 上以一个只读
443
+ * 输入框展示「起始 `separator` 结束」字符串。
444
+ */
445
+ export interface RangeShellProps extends PickerShellConfig {
446
+ /** 弹层是否打开 */
447
+ readonly opened: boolean;
448
+ /** 弹层开合变化回调 */
449
+ readonly onOpenChange: (next: boolean) => void;
450
+ /** 两个输入框各自的字符串值 */
451
+ readonly values: [string, string];
452
+ /** 是否有可清空内容 */
453
+ readonly canClear: boolean;
454
+ /** 默认右侧图标名 */
455
+ readonly defaultIconName?: IconName;
456
+ /** 清空两端 */
457
+ readonly onClear: () => void;
458
+ /** 下拉内容渲染函数 */
459
+ readonly renderPanel: () => ReactNode;
460
+ /** 起止之间的分隔符,默认 `'~'`;占位符和已选值都用此分隔符拼接 */
461
+ readonly separator?: ReactNode;
462
+ }
463
+ /**
464
+ * `TimeColumn`(单列时间选择器)组件 props。
465
+ */
466
+ export interface TimeColumnProps {
467
+ /** 可供选择的全量数值(如 `[0,1,...,23]`) */
468
+ readonly items: number[];
469
+ /** 当前选中值;`null` 表示未选,不会滚动到任何位置 */
470
+ readonly value: number | null;
471
+ /** 被禁用的子集 */
472
+ readonly disabledValues?: number[];
473
+ /** 列的无障碍 label;也作为 option id 前缀 */
474
+ readonly label: string;
475
+ /** 是否补零显示;默认 `true`(AM/PM 列需手动传 `false`) */
476
+ readonly pad?: boolean;
477
+ /** 自定义展示文本(如把 `0/1` 渲染为 `AM/PM`) */
478
+ readonly formatLabel?: (v: number) => string;
479
+ /** 值变更回调 */
480
+ readonly onChange: (v: number) => void;
481
+ /** classNames 透传 */
482
+ readonly classNames?: Pick<PickerClassNames, 'timeColumn' | 'timeItem'>;
483
+ /**
484
+ * 是否作为"初始焦点列"自动登记到 `PickerFocusContext`;
485
+ * 由 `TimePanel` 标记在小时列上,用户打开弹层后直接落焦此列。
486
+ */
487
+ readonly asInitialFocus?: boolean;
488
+ }
489
+ /**
490
+ * `TimePanel`(时间面板)组件 props。
491
+ *
492
+ * 步长 / 粒度 / 禁用函数继承自 `TimeFieldProps`(via `Readonly<>`),
493
+ * 此处只声明面板自身独有的字段。
494
+ */
495
+ export interface TimePanelProps extends Readonly<TimeFieldProps> {
496
+ /** 当前时间值;`null` 时各列不高亮选中 */
497
+ readonly value: TimeValue | null;
498
+ /** classNames 透传 */
499
+ readonly classNames?: PickerClassNames;
500
+ /** 值变更回调 */
501
+ readonly onChange: (v: TimeValue) => void;
502
+ /**
503
+ * 是否把小时列登记为弹层的初始焦点目标。
504
+ * 单值场景保持默认 `true`;范围场景(两个 TimePanel 并排)只让首个面板为 `true`。
505
+ * @default true
506
+ */
507
+ readonly asInitialFocus?: boolean;
508
+ }
509
+ /**
510
+ * `useGridKeyboard` hook 的入参。
511
+ *
512
+ * hook 内部会自行维护 `focused` 状态、同步外部选中、把焦点送到真实 DOM、
513
+ * 登记初始焦点到 `PickerFocusContext`,因此调用方只需提供日历上下文。
514
+ */
515
+ export interface UseGridKeyboardParams {
516
+ /** grid 根节点的 ref,用于查询当前 `tabIndex=0` 的 cell 并转移真实焦点 */
517
+ gridRef: import('react').RefObject<HTMLElement | null>;
518
+ /** 单选当前值,hook 会据此把 `focused` 对齐到选中日 */
519
+ selectedDate?: Dayjs | null;
520
+ /** 范围起点,hook 会据此把 `focused` 对齐到起点 */
521
+ rangeStart?: Dayjs | null;
522
+ /** 按下 Enter/Space 时选择日期 */
523
+ onSelect: (d: Dayjs) => void;
524
+ /** 当焦点跨月时,同步外层视图月份 */
525
+ onViewMonthChange: (d: Dayjs) => void;
526
+ /** 判断日期是否被禁用 */
527
+ isDisabled: (d: Dayjs) => boolean;
528
+ /** 是否为 RTL 布局(影响 ArrowLeft/ArrowRight 的方向) */
529
+ isRtl: boolean;
530
+ }
531
+ /**
532
+ * `useGridKeyboard` hook 的返回。
533
+ */
534
+ export interface UseGridKeyboardResult {
535
+ /** 当前聚焦日期(由 hook 维护) */
536
+ focused: Dayjs;
537
+ /** 供外部(如 DateCell 的 onFocus)同步焦点日期 */
538
+ setFocused: (d: Dayjs) => void;
539
+ /** 绑定到 grid 根节点的 `onKeyDown` */
540
+ handleKeyDown: (e: import('react').KeyboardEvent<HTMLElement>) => void;
541
+ }
542
+ /** 向后兼容:历史上对外暴露过的别名,与 `PickerClassNames` 等价。 */
543
+ export type DatePickerClassNames = PickerClassNames;
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ var o = /* @__PURE__ */ ((n) => (n.None = "none", n.Start = "start", n.End = "end", n.Both = "both", n.InRange = "in-range", n.Preview = "preview", n))(o || {});
3
+ export {
4
+ o as DateRangeMembership
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { DateRangePickerProps } from './date-picker.types';
2
+ /**
3
+ * 日期范围选择器。
4
+ */
5
+ export declare const DateRangePicker: (props: DateRangePickerProps) => import("react").JSX.Element;
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import { jsx as d } from "react/jsx-runtime";
3
+ import { useId as N } from "@mantine/hooks";
4
+ import { useState as W, useMemo as $ } from "react";
5
+ import { dayjs as g } from "../../common/dayjs.js";
6
+ import { useFormWrapperProps as k } from "../../common/use-form-wrapper-props.js";
7
+ import { FormItemWrapper as B } from "../form-wrapper/form-item-wrapper.js";
8
+ import { RangePanel as T } from "./components/range/range-panel.js";
9
+ import { RangeShell as z } from "./components/range/range-shell.js";
10
+ import { isDateDisabled as C } from "./hooks/date-disabled.js";
11
+ import { formatOrEmpty as D } from "./hooks/use-date-parser.js";
12
+ import { useRangeDraft as A } from "./hooks/use-range-draft.js";
13
+ const ie = (r) => {
14
+ const i = N(r.id), { wrapProps: u, rest: b, outerDescribedBy: R, formProps: a } = k(
15
+ r,
16
+ i
17
+ ), {
18
+ value: G,
19
+ onChange: J,
20
+ error: K,
21
+ defaultValue: y,
22
+ format: o = "YYYY-MM-DD",
23
+ minDate: n,
24
+ maxDate: t,
25
+ shouldDisableDate: l,
26
+ allowSingleDateInRange: P = !0,
27
+ presets: w,
28
+ required: L,
29
+ borderRadius: Q,
30
+ ...m
31
+ } = b, M = a ? a.value : r.value, v = a?.error ?? r.error, {
32
+ opened: S,
33
+ rangeDayjs: f,
34
+ currentRange: s,
35
+ inputs: V,
36
+ canClear: _,
37
+ hover: I,
38
+ setHover: O,
39
+ handleOpenChange: Y,
40
+ handleSelect: j,
41
+ commitDraft: E,
42
+ handleClear: q,
43
+ handleConfirm: x
44
+ } = A({
45
+ controlledValue: M,
46
+ defaultValue: y,
47
+ format: o,
48
+ allowSingleDateInRange: P,
49
+ onCommit: (e) => {
50
+ a?.onChange?.(e), r.onChange?.(e, [
51
+ D(e[0], o),
52
+ D(e[1], o)
53
+ ]);
54
+ }
55
+ }), [F, c] = W(
56
+ () => f[0] ?? g()
57
+ ), H = $(() => {
58
+ const [e, p] = s;
59
+ return !!(!e || !p || C(e, n, t, l) || C(p, n, t, l));
60
+ }, [s, n, t, l]), h = (e) => {
61
+ e && c(f[0] ?? g()), Y(e);
62
+ };
63
+ return /* @__PURE__ */ d(B, { ...u, id: i, children: /* @__PURE__ */ d(
64
+ z,
65
+ {
66
+ ...m,
67
+ id: i,
68
+ opened: S,
69
+ onOpenChange: h,
70
+ values: V,
71
+ canClear: _,
72
+ placeholder: m.placeholder ?? `${o} ~ ${o}`,
73
+ error: v,
74
+ "aria-describedby": R,
75
+ "aria-labelledby": u.labelId ?? m["aria-labelledby"],
76
+ onClear: q,
77
+ renderPanel: () => /* @__PURE__ */ d(
78
+ T,
79
+ {
80
+ currentRange: s,
81
+ hover: I,
82
+ viewMonth: F,
83
+ minDate: n,
84
+ maxDate: t,
85
+ shouldDisableDate: l,
86
+ classNames: m.classNames,
87
+ withTime: !1,
88
+ presets: w,
89
+ confirmDisabled: H,
90
+ onViewMonthChange: c,
91
+ onSelect: j,
92
+ onHover: O,
93
+ onCommitPreset: E,
94
+ onCancel: () => h(!1),
95
+ onConfirm: x
96
+ }
97
+ )
98
+ }
99
+ ) });
100
+ };
101
+ export {
102
+ ie as DateRangePicker
103
+ };
@@ -0,0 +1,6 @@
1
+ import type { DateTimePickerProps } from './date-picker.types';
2
+ /**
3
+ * 日期 + 时间选择器。
4
+ * 支持日期和时间的组合选择,采用草稿模式,点击确认后提交。
5
+ */
6
+ export declare const DateTimePicker: (props: DateTimePickerProps) => import("react").JSX.Element;