@mezzanine-ui/react 0.16.0 → 1.0.0-beta.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 (547) hide show
  1. package/Accordion/AccordionControlContext.js +1 -0
  2. package/Accordion/AccordionDetails.js +1 -0
  3. package/Accordion/AccordionSummary.js +10 -10
  4. package/Accordion/index.d.ts +6 -3
  5. package/Alert/index.d.ts +3 -2
  6. package/AlertBanner/AlertBanner.d.ts +93 -0
  7. package/AlertBanner/AlertBanner.js +154 -0
  8. package/AlertBanner/index.d.ts +2 -0
  9. package/AlertBanner/index.js +1 -0
  10. package/Anchor/Anchor.js +1 -1
  11. package/Anchor/index.d.ts +2 -1
  12. package/AppBar/index.d.ts +8 -4
  13. package/{Overlay/Overlay.d.ts → Backdrop/Backdrop.d.ts} +12 -16
  14. package/Backdrop/Backdrop.js +40 -0
  15. package/Backdrop/index.d.ts +2 -0
  16. package/Backdrop/index.js +1 -0
  17. package/Badge/Badge.d.ts +20 -14
  18. package/Badge/Badge.js +14 -16
  19. package/Badge/BadgeContainer.d.ts +1 -1
  20. package/Badge/BadgeContainer.js +1 -1
  21. package/Badge/index.d.ts +3 -2
  22. package/Badge/typings.d.ts +48 -0
  23. package/Breadcrumb/Breadcrumb.d.ts +6 -0
  24. package/Breadcrumb/Breadcrumb.js +53 -0
  25. package/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  26. package/Breadcrumb/BreadcrumbItem.js +45 -0
  27. package/Breadcrumb/index.d.ts +2 -0
  28. package/Breadcrumb/index.js +1 -0
  29. package/Breadcrumb/typings.d.ts +75 -0
  30. package/Button/Button.js +24 -19
  31. package/Button/ButtonGroup.d.ts +6 -28
  32. package/Button/ButtonGroup.js +7 -16
  33. package/Button/index.d.ts +4 -10
  34. package/Button/index.js +2 -3
  35. package/Button/typings.d.ts +11 -26
  36. package/Calendar/Calendar.d.ts +31 -2
  37. package/Calendar/Calendar.js +74 -19
  38. package/Calendar/CalendarCell.d.ts +4 -0
  39. package/Calendar/CalendarCell.js +3 -3
  40. package/Calendar/CalendarConfigProviderDayjs.d.ts +21 -0
  41. package/Calendar/CalendarConfigProviderDayjs.js +15 -0
  42. package/Calendar/CalendarConfigProviderLuxon.d.ts +21 -0
  43. package/Calendar/CalendarConfigProviderLuxon.js +15 -0
  44. package/Calendar/CalendarConfigProviderMoment.d.ts +21 -0
  45. package/Calendar/CalendarConfigProviderMoment.js +15 -0
  46. package/Calendar/CalendarContext.d.ts +14 -7
  47. package/Calendar/CalendarContext.js +8 -13
  48. package/Calendar/CalendarControls.d.ts +16 -0
  49. package/Calendar/CalendarControls.js +3 -7
  50. package/Calendar/CalendarDayOfWeek.js +4 -3
  51. package/Calendar/CalendarDays.d.ts +9 -1
  52. package/Calendar/CalendarDays.js +63 -38
  53. package/Calendar/CalendarFooterActions.d.ts +13 -0
  54. package/Calendar/CalendarFooterActions.js +14 -0
  55. package/Calendar/CalendarFooterControl.d.ts +16 -0
  56. package/Calendar/CalendarFooterControl.js +14 -0
  57. package/Calendar/CalendarHalfYears.d.ts +39 -0
  58. package/Calendar/CalendarHalfYears.js +62 -0
  59. package/Calendar/CalendarMonths.js +16 -4
  60. package/Calendar/CalendarQuarters.d.ts +37 -0
  61. package/Calendar/CalendarQuarters.js +64 -0
  62. package/Calendar/CalendarQuickSelect.d.ts +21 -0
  63. package/Calendar/CalendarQuickSelect.js +15 -0
  64. package/Calendar/CalendarWeeks.d.ts +1 -1
  65. package/Calendar/CalendarWeeks.js +89 -44
  66. package/Calendar/CalendarYears.js +13 -3
  67. package/Calendar/RangeCalendar.d.ts +59 -0
  68. package/Calendar/RangeCalendar.js +232 -0
  69. package/Calendar/index.d.ts +33 -10
  70. package/Calendar/index.js +7 -0
  71. package/Calendar/useCalendarControlModifiers.d.ts +4 -4
  72. package/Calendar/useCalendarControlModifiers.js +40 -8
  73. package/Calendar/useCalendarControls.d.ts +2 -0
  74. package/Calendar/useCalendarControls.js +19 -2
  75. package/Calendar/useCalendarModeStack.js +1 -0
  76. package/Calendar/useRangeCalendarControls.d.ts +18 -0
  77. package/Calendar/useRangeCalendarControls.js +115 -0
  78. package/Card/CardActions.js +1 -1
  79. package/Card/index.d.ts +4 -2
  80. package/Checkbox/CheckAll.d.ts +16 -6
  81. package/Checkbox/CheckAll.js +40 -26
  82. package/Checkbox/Checkbox.d.ts +100 -22
  83. package/Checkbox/Checkbox.js +73 -16
  84. package/Checkbox/CheckboxGroup.d.ts +100 -18
  85. package/Checkbox/CheckboxGroup.js +169 -24
  86. package/Checkbox/CheckboxGroupContext.d.ts +0 -2
  87. package/Checkbox/CheckboxGroupContext.js +1 -0
  88. package/Checkbox/index.d.ts +16 -4
  89. package/Checkbox/index.js +6 -2
  90. package/Checkbox/typings.d.ts +37 -0
  91. package/ClearActions/ClearActions.d.ts +41 -0
  92. package/ClearActions/ClearActions.js +23 -0
  93. package/ClearActions/index.d.ts +3 -0
  94. package/ClearActions/index.js +5 -0
  95. package/ConfirmActions/ConfirmActions.d.ts +2 -1
  96. package/ConfirmActions/index.d.ts +2 -1
  97. package/DatePicker/DatePicker.d.ts +12 -1
  98. package/DatePicker/DatePicker.js +41 -9
  99. package/DatePicker/DatePickerCalendar.d.ts +2 -5
  100. package/DatePicker/DatePickerCalendar.js +37 -37
  101. package/DatePicker/index.d.ts +4 -2
  102. package/DateRangePicker/DateRangePicker.d.ts +18 -2
  103. package/DateRangePicker/DateRangePicker.js +143 -100
  104. package/DateRangePicker/DateRangePickerCalendar.d.ts +13 -9
  105. package/DateRangePicker/DateRangePickerCalendar.js +7 -94
  106. package/DateRangePicker/index.d.ts +6 -3
  107. package/DateRangePicker/useDateRangeCalendarControls.js +11 -6
  108. package/DateRangePicker/useDateRangePickerValue.d.ts +38 -15
  109. package/DateRangePicker/useDateRangePickerValue.js +142 -63
  110. package/DateTimePicker/DateTimePicker.d.ts +31 -10
  111. package/DateTimePicker/DateTimePicker.js +179 -94
  112. package/DateTimePicker/index.d.ts +2 -2
  113. package/DateTimePicker/index.js +0 -1
  114. package/Drawer/Drawer.d.ts +47 -6
  115. package/Drawer/Drawer.js +36 -11
  116. package/Drawer/index.d.ts +2 -1
  117. package/Dropdown/Dropdown.js +12 -22
  118. package/Dropdown/index.d.ts +2 -1
  119. package/Empty/Empty.d.ts +1 -16
  120. package/Empty/Empty.js +59 -7
  121. package/Empty/icons/EmptyMainInitialDataIcon.d.ts +4 -0
  122. package/Empty/icons/EmptyMainInitialDataIcon.js +9 -0
  123. package/Empty/icons/EmptyMainResultIcon.d.ts +4 -0
  124. package/Empty/icons/EmptyMainResultIcon.js +9 -0
  125. package/Empty/icons/EmptyMainSystemIcon.d.ts +4 -0
  126. package/Empty/icons/EmptyMainSystemIcon.js +9 -0
  127. package/Empty/index.d.ts +2 -1
  128. package/Empty/typings.d.ts +61 -0
  129. package/Form/FormControlContext.js +1 -0
  130. package/Form/FormHintText.d.ts +18 -0
  131. package/Form/FormHintText.js +17 -0
  132. package/Form/FormLabel.js +1 -0
  133. package/Form/index.d.ts +9 -5
  134. package/Form/index.js +1 -1
  135. package/Form/useAutoCompleteValueControl.js +2 -0
  136. package/Form/useCheckboxControlValue.js +0 -1
  137. package/Form/useSelectValueControl.js +2 -0
  138. package/InlineMessage/InlineMessage.d.ts +33 -0
  139. package/InlineMessage/InlineMessage.js +42 -0
  140. package/InlineMessage/InlineMessageGroup.d.ts +24 -0
  141. package/InlineMessage/InlineMessageGroup.js +21 -0
  142. package/InlineMessage/index.d.ts +4 -0
  143. package/InlineMessage/index.js +2 -0
  144. package/Input/ActionButton/ActionButton.d.ts +26 -0
  145. package/Input/ActionButton/ActionButton.js +14 -0
  146. package/Input/ActionButton/index.d.ts +2 -0
  147. package/Input/ActionButton/index.js +1 -0
  148. package/Input/Input.d.ts +147 -42
  149. package/Input/Input.js +195 -27
  150. package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.d.ts +31 -0
  151. package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.js +18 -0
  152. package/Input/PasswordStrengthIndicator/index.d.ts +2 -0
  153. package/Input/PasswordStrengthIndicator/index.js +1 -0
  154. package/Input/SelectButton/SelectButton.d.ts +20 -0
  155. package/Input/SelectButton/SelectButton.js +21 -0
  156. package/Input/SelectButton/index.d.ts +2 -0
  157. package/Input/SelectButton/index.js +1 -0
  158. package/Input/SpinnerButton/SpinnerButton.d.ts +19 -0
  159. package/Input/SpinnerButton/SpinnerButton.js +14 -0
  160. package/Input/SpinnerButton/index.d.ts +2 -0
  161. package/Input/SpinnerButton/index.js +1 -0
  162. package/Input/index.d.ts +3 -2
  163. package/Menu/Menu.js +1 -0
  164. package/Menu/index.d.ts +8 -4
  165. package/Message/Message.d.ts +6 -4
  166. package/Message/Message.js +86 -9
  167. package/Message/MessageTimerController.d.ts +14 -0
  168. package/Message/MessageTimerController.js +27 -0
  169. package/Message/index.d.ts +3 -2
  170. package/Modal/Modal.js +2 -2
  171. package/Modal/ModalActions.js +1 -0
  172. package/Modal/ModalControl.js +1 -0
  173. package/Modal/ModalHeader.js +1 -0
  174. package/Modal/index.d.ts +10 -5
  175. package/Modal/useModalContainer.d.ts +1 -1
  176. package/Modal/useModalContainer.js +2 -4
  177. package/Navigation/Navigation.js +37 -34
  178. package/Navigation/NavigationContext.js +1 -0
  179. package/Navigation/NavigationItem.js +1 -0
  180. package/Navigation/NavigationSubMenu.js +16 -26
  181. package/Navigation/index.d.ts +8 -4
  182. package/Notification/Notification.js +0 -1
  183. package/Notification/index.d.ts +3 -2
  184. package/Notifier/NotifierManager.d.ts +15 -2
  185. package/Notifier/NotifierManager.js +60 -18
  186. package/Notifier/createNotifier.d.ts +9 -0
  187. package/Notifier/createNotifier.js +3 -2
  188. package/Notifier/typings.d.ts +3 -1
  189. package/OverflowTooltip/OverflowCounterTag.d.ts +12 -0
  190. package/OverflowTooltip/OverflowCounterTag.js +48 -0
  191. package/OverflowTooltip/OverflowTooltip.d.ts +34 -0
  192. package/OverflowTooltip/OverflowTooltip.js +53 -0
  193. package/OverflowTooltip/index.d.ts +2 -0
  194. package/OverflowTooltip/index.js +2 -0
  195. package/PageFooter/PageFooter.d.ts +73 -8
  196. package/PageFooter/PageFooter.js +34 -3
  197. package/PageFooter/index.d.ts +2 -1
  198. package/PageHeader/PageHeader.d.ts +40 -0
  199. package/PageHeader/PageHeader.js +70 -0
  200. package/PageHeader/index.d.ts +2 -0
  201. package/PageHeader/index.js +1 -0
  202. package/PageToolbar/PageToolbar.d.ts +114 -0
  203. package/PageToolbar/PageToolbar.js +23 -0
  204. package/PageToolbar/index.d.ts +2 -0
  205. package/PageToolbar/index.js +1 -0
  206. package/PageToolbar/utils.d.ts +23 -0
  207. package/PageToolbar/utils.js +165 -0
  208. package/Pagination/Pagination.d.ts +23 -29
  209. package/Pagination/Pagination.js +3 -4
  210. package/Pagination/PaginationItem.d.ts +1 -1
  211. package/Pagination/PaginationItem.js +4 -3
  212. package/Pagination/PaginationJumper.d.ts +7 -9
  213. package/Pagination/PaginationJumper.js +3 -5
  214. package/Pagination/PaginationPageSize.d.ts +8 -11
  215. package/Pagination/PaginationPageSize.js +5 -4
  216. package/Pagination/index.d.ts +8 -4
  217. package/Pagination/usePagination.d.ts +3 -1
  218. package/Pagination/usePagination.js +12 -21
  219. package/Picker/FormattedInput.d.ts +17 -0
  220. package/Picker/FormattedInput.js +74 -0
  221. package/Picker/MaskFormat.d.ts +39 -0
  222. package/Picker/MaskFormat.js +94 -0
  223. package/Picker/PickerTrigger.d.ts +13 -3
  224. package/Picker/PickerTrigger.js +17 -2
  225. package/Picker/PickerTriggerWithSeparator.d.ts +124 -0
  226. package/Picker/PickerTriggerWithSeparator.js +80 -0
  227. package/Picker/RangePickerTrigger.d.ts +55 -4
  228. package/Picker/RangePickerTrigger.js +65 -7
  229. package/Picker/formatUtils.d.ts +34 -0
  230. package/Picker/formatUtils.js +124 -0
  231. package/Picker/index.d.ts +17 -6
  232. package/Picker/index.js +4 -1
  233. package/Picker/useDateInputFormatter.d.ts +52 -0
  234. package/Picker/useDateInputFormatter.js +382 -0
  235. package/Picker/usePickerValue.d.ts +1 -2
  236. package/Picker/usePickerValue.js +8 -13
  237. package/Popconfirm/Popconfirm.js +1 -1
  238. package/Popconfirm/index.d.ts +2 -1
  239. package/Popover/Popover.js +4 -8
  240. package/Popover/index.d.ts +2 -1
  241. package/Popper/Popper.d.ts +15 -10
  242. package/Popper/Popper.js +88 -17
  243. package/Popper/index.d.ts +2 -1
  244. package/Portal/Portal.d.ts +13 -5
  245. package/Portal/Portal.js +25 -10
  246. package/Portal/index.d.ts +4 -1
  247. package/Portal/index.js +1 -0
  248. package/Portal/portalRegistry.d.ts +17 -0
  249. package/Portal/portalRegistry.js +92 -0
  250. package/Progress/Progress.d.ts +23 -30
  251. package/Progress/Progress.js +71 -21
  252. package/Progress/index.d.ts +3 -2
  253. package/Provider/ConfigProvider.d.ts +1 -0
  254. package/Provider/ConfigProvider.js +1 -0
  255. package/Provider/context.js +1 -0
  256. package/Radio/Radio.d.ts +37 -4
  257. package/Radio/Radio.js +23 -12
  258. package/Radio/RadioGroup.d.ts +37 -8
  259. package/Radio/RadioGroup.js +6 -5
  260. package/Radio/RadioGroupContext.d.ts +2 -1
  261. package/Radio/RadioGroupContext.js +1 -0
  262. package/Radio/index.d.ts +5 -3
  263. package/ResultState/ResultState.d.ts +52 -0
  264. package/ResultState/ResultState.js +24 -0
  265. package/ResultState/index.d.ts +2 -0
  266. package/ResultState/index.js +1 -0
  267. package/Select/AutoComplete.d.ts +1 -1
  268. package/Select/AutoComplete.js +2 -1
  269. package/Select/Option.js +1 -0
  270. package/Select/Select.d.ts +1 -1
  271. package/Select/Select.js +2 -1
  272. package/Select/SelectControlContext.js +1 -0
  273. package/Select/SelectTrigger.d.ts +1 -87
  274. package/Select/SelectTrigger.js +26 -21
  275. package/Select/SelectTriggerTags.d.ts +1 -1
  276. package/Select/SelectTriggerTags.js +47 -18
  277. package/Select/TreeSelect.d.ts +1 -1
  278. package/Select/TreeSelect.js +2 -1
  279. package/Select/index.d.ts +14 -7
  280. package/Select/typings.d.ts +99 -0
  281. package/Select/useSelectTriggerTags.d.ts +15 -8
  282. package/Select/useSelectTriggerTags.js +83 -44
  283. package/Selection/Selection.d.ts +98 -0
  284. package/Selection/Selection.js +46 -0
  285. package/Selection/index.d.ts +12 -0
  286. package/Selection/index.js +5 -0
  287. package/Skeleton/Skeleton.d.ts +10 -3
  288. package/Skeleton/Skeleton.js +12 -4
  289. package/Skeleton/index.d.ts +2 -1
  290. package/Slider/Slider.d.ts +44 -7
  291. package/Slider/Slider.js +17 -13
  292. package/Slider/index.d.ts +5 -3
  293. package/Spin/Spin.d.ts +39 -0
  294. package/{Loading/Loading.js → Spin/Spin.js} +9 -9
  295. package/Spin/index.d.ts +2 -0
  296. package/Spin/index.js +1 -0
  297. package/Stepper/Step.d.ts +1 -35
  298. package/Stepper/Step.js +43 -8
  299. package/Stepper/Stepper.d.ts +1 -14
  300. package/Stepper/Stepper.js +49 -15
  301. package/Stepper/index.d.ts +5 -2
  302. package/Stepper/index.js +1 -0
  303. package/Stepper/typings.d.ts +77 -0
  304. package/Stepper/useStepDistance.d.ts +10 -0
  305. package/Stepper/useStepDistance.js +81 -0
  306. package/Stepper/useStepper.d.ts +21 -0
  307. package/Stepper/useStepper.js +26 -0
  308. package/Tab/Tab.d.ts +32 -0
  309. package/Tab/Tab.js +57 -0
  310. package/Tab/TabItem.d.ts +27 -0
  311. package/Tab/TabItem.js +18 -0
  312. package/Tab/index.d.ts +4 -0
  313. package/Tab/index.js +2 -0
  314. package/Table/Table.d.ts +75 -94
  315. package/Table/Table.js +216 -161
  316. package/Table/TableContext.d.ts +114 -51
  317. package/Table/TableContext.js +22 -3
  318. package/Table/components/TableBody.d.ts +5 -0
  319. package/Table/components/TableBody.js +102 -0
  320. package/Table/components/TableCell.d.ts +17 -0
  321. package/Table/components/TableCell.js +74 -0
  322. package/Table/components/TableColGroup.d.ts +4 -0
  323. package/Table/components/TableColGroup.js +206 -0
  324. package/Table/components/TableDragHandleCell.d.ts +9 -0
  325. package/Table/components/TableDragHandleCell.js +37 -0
  326. package/Table/components/TableExpandCell.d.ts +11 -0
  327. package/Table/components/TableExpandCell.js +44 -0
  328. package/Table/components/TableExpandedRow.d.ts +9 -0
  329. package/Table/components/TableExpandedRow.js +46 -0
  330. package/Table/components/TableHeader.d.ts +4 -0
  331. package/Table/components/TableHeader.js +125 -0
  332. package/Table/components/TablePagination.d.ts +3 -0
  333. package/Table/components/TablePagination.js +11 -0
  334. package/Table/components/TableResizeHandle.d.ts +13 -0
  335. package/Table/components/TableResizeHandle.js +115 -0
  336. package/Table/components/TableRow.d.ts +12 -0
  337. package/Table/components/TableRow.js +126 -0
  338. package/Table/components/TableSelectionCell.d.ts +13 -0
  339. package/Table/components/TableSelectionCell.js +35 -0
  340. package/Table/components/index.d.ts +10 -0
  341. package/Table/components/index.js +10 -0
  342. package/Table/hooks/index.d.ts +9 -0
  343. package/Table/hooks/index.js +8 -0
  344. package/Table/hooks/typings.d.ts +14 -0
  345. package/Table/hooks/useTableColumns.d.ts +8 -0
  346. package/Table/hooks/useTableColumns.js +91 -0
  347. package/Table/hooks/useTableDataSource.d.ts +57 -0
  348. package/Table/hooks/useTableDataSource.js +183 -0
  349. package/Table/hooks/useTableExpansion.d.ts +7 -0
  350. package/Table/hooks/useTableExpansion.js +52 -0
  351. package/Table/hooks/useTableFixedOffsets.d.ts +29 -0
  352. package/Table/hooks/useTableFixedOffsets.js +241 -0
  353. package/Table/hooks/useTableScroll.d.ts +12 -0
  354. package/Table/hooks/useTableScroll.js +58 -0
  355. package/Table/hooks/useTableSelection.d.ts +7 -0
  356. package/Table/hooks/useTableSelection.js +94 -0
  357. package/Table/hooks/useTableSorting.d.ts +6 -0
  358. package/Table/hooks/useTableSorting.js +32 -0
  359. package/Table/hooks/useTableVirtualization.d.ts +22 -0
  360. package/Table/hooks/useTableVirtualization.js +115 -0
  361. package/Table/index.d.ts +7 -7
  362. package/Table/index.js +22 -6
  363. package/Table/utils/index.d.ts +2 -0
  364. package/Table/utils/index.js +1 -0
  365. package/Table/utils/useTableRowSelection.d.ts +18 -0
  366. package/Table/utils/useTableRowSelection.js +63 -0
  367. package/Tag/Tag.d.ts +2 -25
  368. package/Tag/Tag.js +23 -13
  369. package/Tag/TagGroup.d.ts +12 -0
  370. package/Tag/TagGroup.js +41 -0
  371. package/Tag/index.d.ts +2 -1
  372. package/Tag/typings.d.ts +78 -0
  373. package/TextField/TextField.d.ts +78 -19
  374. package/TextField/TextField.js +58 -22
  375. package/TextField/index.d.ts +2 -1
  376. package/Textarea/Textarea.d.ts +19 -51
  377. package/Textarea/Textarea.js +13 -19
  378. package/Textarea/index.d.ts +2 -2
  379. package/TimePanel/TimePanel.d.ts +1 -22
  380. package/TimePanel/TimePanel.js +31 -26
  381. package/TimePanel/TimePanelAction.d.ts +2 -8
  382. package/TimePanel/TimePanelAction.js +2 -2
  383. package/TimePanel/TimePanelColumn.d.ts +0 -13
  384. package/TimePanel/TimePanelColumn.js +9 -11
  385. package/TimePanel/index.d.ts +6 -3
  386. package/TimePicker/TimePicker.d.ts +10 -1
  387. package/TimePicker/TimePicker.js +86 -35
  388. package/TimePicker/TimePickerPanel.d.ts +1 -2
  389. package/TimePicker/TimePickerPanel.js +2 -2
  390. package/TimePicker/index.d.ts +4 -2
  391. package/Toggle/Toggle.d.ts +46 -0
  392. package/Toggle/Toggle.js +29 -0
  393. package/Toggle/index.d.ts +3 -0
  394. package/Toggle/index.js +1 -0
  395. package/Tooltip/Tooltip.d.ts +13 -2
  396. package/Tooltip/Tooltip.js +56 -10
  397. package/Tooltip/index.d.ts +2 -1
  398. package/Tooltip/useDelayMouseEnterLeave.d.ts +1 -2
  399. package/Tooltip/useDelayMouseEnterLeave.js +10 -13
  400. package/Transition/Collapse.d.ts +2 -0
  401. package/Transition/Collapse.js +5 -6
  402. package/Transition/Fade.js +4 -4
  403. package/Transition/Rotate.d.ts +42 -0
  404. package/Transition/Rotate.js +30 -0
  405. package/Transition/Scale.d.ts +13 -0
  406. package/Transition/{Grow.js → Scale.js} +19 -16
  407. package/Transition/Slide.d.ts +7 -0
  408. package/Transition/{Zoom.js → Slide.js} +14 -12
  409. package/Transition/SlideFade.d.ts +3 -0
  410. package/Transition/SlideFade.js +5 -4
  411. package/Transition/Transition.d.ts +2 -2
  412. package/Transition/Translate.d.ts +14 -0
  413. package/Transition/Translate.js +94 -0
  414. package/Transition/index.d.ts +16 -6
  415. package/Transition/index.js +4 -2
  416. package/Transition/useAutoTransitionDuration.d.ts +1 -1
  417. package/Transition/useAutoTransitionDuration.js +3 -3
  418. package/Transition/useSetNodeTransition.js +0 -2
  419. package/Tree/TreeNode.js +7 -6
  420. package/Tree/index.d.ts +10 -5
  421. package/Typography/Typography.d.ts +6 -9
  422. package/Typography/Typography.js +7 -9
  423. package/Typography/index.d.ts +2 -5
  424. package/Upload/Upload.d.ts +175 -0
  425. package/Upload/Upload.js +279 -0
  426. package/Upload/UploadItem.d.ts +82 -0
  427. package/Upload/UploadItem.js +118 -0
  428. package/Upload/UploadPictureCard.d.ts +110 -0
  429. package/Upload/UploadPictureCard.js +101 -0
  430. package/Upload/Uploader.d.ts +161 -0
  431. package/Upload/Uploader.js +120 -0
  432. package/Upload/index.d.ts +8 -6
  433. package/Upload/index.js +4 -5
  434. package/Upload/upload-utils.d.ts +41 -0
  435. package/Upload/upload-utils.js +65 -0
  436. package/_internal/InputCheck/InputCheck.d.ts +15 -1
  437. package/_internal/InputCheck/InputCheck.js +6 -2
  438. package/_internal/InputCheck/InputCheckGroup.d.ts +11 -1
  439. package/_internal/InputCheck/InputCheckGroup.js +4 -2
  440. package/_internal/InputCheck/index.d.ts +4 -2
  441. package/_internal/InputTriggerPopper/InputTriggerPopper.js +15 -25
  442. package/_internal/InputTriggerPopper/index.d.ts +2 -1
  443. package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +3 -3
  444. package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +5 -28
  445. package/_internal/SlideFadeOverlay/index.d.ts +2 -1
  446. package/_internal/SlideFadeOverlay/useTopStack.js +1 -0
  447. package/dayjs.d.ts +21 -0
  448. package/dayjs.js +2 -0
  449. package/hooks/useComposeRefs.js +1 -1
  450. package/hooks/useLastCallback.js +3 -1
  451. package/hooks/useScrollLock.d.ts +28 -0
  452. package/hooks/useScrollLock.js +134 -0
  453. package/index.d.ts +128 -58
  454. package/index.js +90 -80
  455. package/luxon.d.ts +21 -0
  456. package/luxon.js +2 -0
  457. package/moment.d.ts +21 -0
  458. package/moment.js +2 -0
  459. package/package.json +14 -17
  460. package/utils/composeRefs.js +0 -1
  461. package/utils/flatten-children.d.ts +12 -0
  462. package/utils/flatten-children.js +37 -0
  463. package/utils/get-css-variable-value.d.ts +2 -0
  464. package/utils/get-css-variable-value.js +12 -0
  465. package/Button/IconButton.d.ts +0 -21
  466. package/Button/IconButton.js +0 -13
  467. package/DateTimePicker/DateTimePickerPanel.d.ts +0 -28
  468. package/DateTimePicker/DateTimePickerPanel.js +0 -49
  469. package/Form/FormMessage.d.ts +0 -7
  470. package/Form/FormMessage.js +0 -18
  471. package/Form/useInputWithTagsModeValue.js +0 -86
  472. package/Loading/Loading.d.ts +0 -33
  473. package/Loading/index.d.ts +0 -1
  474. package/Loading/index.js +0 -1
  475. package/Overlay/Overlay.js +0 -31
  476. package/Overlay/index.d.ts +0 -1
  477. package/Overlay/index.js +0 -1
  478. package/Picker/useRangePickerValue.d.ts +0 -23
  479. package/Picker/useRangePickerValue.js +0 -99
  480. package/Switch/Switch.d.ts +0 -43
  481. package/Switch/Switch.js +0 -28
  482. package/Switch/index.d.ts +0 -2
  483. package/Switch/index.js +0 -1
  484. package/Table/TableBody.d.ts +0 -10
  485. package/Table/TableBody.js +0 -30
  486. package/Table/TableBodyRow.d.ts +0 -11
  487. package/Table/TableBodyRow.js +0 -64
  488. package/Table/TableCell.d.ts +0 -19
  489. package/Table/TableCell.js +0 -24
  490. package/Table/TableExpandedTable.d.ts +0 -11
  491. package/Table/TableExpandedTable.js +0 -28
  492. package/Table/TableHeader.d.ts +0 -3
  493. package/Table/TableHeader.js +0 -35
  494. package/Table/draggable/useTableDraggable.d.ts +0 -14
  495. package/Table/draggable/useTableDraggable.js +0 -64
  496. package/Table/editable/TableEditRenderWrapper.d.ts +0 -7
  497. package/Table/editable/TableEditRenderWrapper.js +0 -15
  498. package/Table/expandable/TableExpandable.d.ts +0 -27
  499. package/Table/expandable/TableExpandable.js +0 -24
  500. package/Table/pagination/TablePagination.d.ts +0 -10
  501. package/Table/pagination/TablePagination.js +0 -25
  502. package/Table/pagination/useTablePagination.d.ts +0 -8
  503. package/Table/pagination/useTablePagination.js +0 -29
  504. package/Table/refresh/TableRefresh.d.ts +0 -10
  505. package/Table/refresh/TableRefresh.js +0 -20
  506. package/Table/rowSelection/TableRowSelection.d.ts +0 -18
  507. package/Table/rowSelection/TableRowSelection.js +0 -92
  508. package/Table/rowSelection/useTableRowSelection.d.ts +0 -6
  509. package/Table/rowSelection/useTableRowSelection.js +0 -53
  510. package/Table/sorting/TableSortingIcon.d.ts +0 -10
  511. package/Table/sorting/TableSortingIcon.js +0 -32
  512. package/Table/sorting/useTableSorting.d.ts +0 -11
  513. package/Table/sorting/useTableSorting.js +0 -120
  514. package/Table/useTableFetchMore.d.ts +0 -10
  515. package/Table/useTableFetchMore.js +0 -50
  516. package/Table/useTableLoading.d.ts +0 -5
  517. package/Table/useTableLoading.js +0 -19
  518. package/Table/useTableScroll.d.ts +0 -596
  519. package/Table/useTableScroll.js +0 -294
  520. package/Tabs/Tab.d.ts +0 -18
  521. package/Tabs/Tab.js +0 -16
  522. package/Tabs/TabPane.d.ts +0 -14
  523. package/Tabs/TabPane.js +0 -18
  524. package/Tabs/Tabs.d.ts +0 -39
  525. package/Tabs/Tabs.js +0 -47
  526. package/Tabs/index.d.ts +0 -3
  527. package/Tabs/index.js +0 -3
  528. package/Tabs/useTabsOverflow.d.ts +0 -8
  529. package/Tabs/useTabsOverflow.js +0 -61
  530. package/Transition/Grow.d.ts +0 -12
  531. package/Transition/Zoom.d.ts +0 -7
  532. package/Upload/UploadButton.d.ts +0 -9
  533. package/Upload/UploadButton.js +0 -23
  534. package/Upload/UploadInput.d.ts +0 -20
  535. package/Upload/UploadInput.js +0 -24
  536. package/Upload/UploadPicture.d.ts +0 -49
  537. package/Upload/UploadPicture.js +0 -51
  538. package/Upload/UploadPictureBlock.d.ts +0 -20
  539. package/Upload/UploadPictureBlock.js +0 -81
  540. package/Upload/UploadPictureWall.d.ts +0 -81
  541. package/Upload/UploadPictureWall.js +0 -168
  542. package/Upload/UploadPictureWallItem.d.ts +0 -15
  543. package/Upload/UploadPictureWallItem.js +0 -18
  544. package/Upload/UploadResult.d.ts +0 -35
  545. package/Upload/UploadResult.js +0 -29
  546. package/utils/scroll-lock.d.ts +0 -2
  547. package/utils/scroll-lock.js +0 -24
@@ -0,0 +1,52 @@
1
+ import { ClipboardEventHandler, FocusEventHandler, KeyboardEvent } from 'react';
2
+ export interface UseDateInputFormatterProps {
3
+ /**
4
+ * error messages for different validation scenarios
5
+ * @default { enabled: true, invalidInput: 'Input value is not valid.', invalidPaste: 'Pasted content is not valid.' }
6
+ */
7
+ errorMessages?: {
8
+ enabled?: boolean;
9
+ invalidInput?: string;
10
+ invalidPaste?: string;
11
+ };
12
+ /**
13
+ * Format pattern (e.g., "YYYY-MM-DD", "HH:mm:ss")
14
+ */
15
+ format: string;
16
+ /**
17
+ * Current value
18
+ */
19
+ value?: string;
20
+ /**
21
+ * Change handler receiving formatted value and raw digits
22
+ */
23
+ onChange?: (formattedValue: string, rawDigits: string) => void;
24
+ /**
25
+ * Input ref for controlling selection
26
+ */
27
+ inputRef?: React.RefObject<HTMLInputElement | null>;
28
+ /**
29
+ * Focus event handler
30
+ */
31
+ onFocus?: FocusEventHandler<HTMLInputElement>;
32
+ /**
33
+ * Blur event handler
34
+ */
35
+ onBlur?: FocusEventHandler<HTMLInputElement>;
36
+ /**
37
+ * Custom validation function. Return true if valid, false to clear the value.
38
+ * Called after format validation passes.
39
+ */
40
+ validate?: (isoDate: string) => boolean;
41
+ }
42
+ /**
43
+ * Hook for formatting date/time input with mask format
44
+ */
45
+ export declare function useDateInputFormatter(props: UseDateInputFormatterProps): {
46
+ value: string;
47
+ focused: boolean;
48
+ handleKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
49
+ handleFocus: FocusEventHandler<HTMLInputElement>;
50
+ handleBlur: FocusEventHandler<HTMLInputElement>;
51
+ handlePaste: ClipboardEventHandler<HTMLInputElement>;
52
+ };
@@ -0,0 +1,382 @@
1
+ import { useRef, useState, useCallback, useEffect } from 'react';
2
+ import MaskFormat, { getMaskRange } from './MaskFormat.js';
3
+ import { getTemplateWithoutBrackets } from './formatUtils.js';
4
+ import { useCalendarContext } from '../Calendar/CalendarContext.js';
5
+ import Message from '../Message/Message.js';
6
+
7
+ /**
8
+ * Hook for formatting date/time input with mask format
9
+ */
10
+ function useDateInputFormatter(props) {
11
+ const { errorMessages = {
12
+ enabled: true,
13
+ invalidInput: 'Input value is not valid.',
14
+ invalidPaste: 'Pasted content is not valid.',
15
+ }, format, value: externalValue = '', onChange, inputRef, onFocus: onFocusProp, onBlur: onBlurProp, validate, } = props;
16
+ const { parseFormattedValue, isValid, locale, formatToString } = useCalendarContext();
17
+ const maskFormat = useRef(new MaskFormat(format)).current;
18
+ const [internalValue, setInternalValue] = useState(externalValue || getTemplateWithoutBrackets(format));
19
+ // Track focus state
20
+ const [focused, setFocused] = useState(false);
21
+ /**
22
+ * Check if value is completely filled and valid
23
+ */
24
+ const isValueComplete = useCallback((val) => {
25
+ return maskFormat.match(val);
26
+ }, [maskFormat]);
27
+ // Sync external value - only update internal when external explicitly changes
28
+ const prevExternalValue = useRef(externalValue);
29
+ useEffect(() => {
30
+ // Only sync when external value actually changes (not caused by our own onChange)
31
+ if (externalValue !== prevExternalValue.current) {
32
+ prevExternalValue.current = externalValue;
33
+ if (externalValue) {
34
+ setInternalValue(externalValue);
35
+ }
36
+ else {
37
+ // External cleared - reset to template
38
+ setInternalValue(getTemplateWithoutBrackets(format));
39
+ }
40
+ }
41
+ }, [externalValue, format]);
42
+ /**
43
+ * Trigger value change
44
+ */
45
+ const triggerChange = useCallback((newValue, cursorPosition) => {
46
+ setInternalValue(newValue);
47
+ // Only trigger onChange if value is complete and valid
48
+ if (onChange && isValueComplete(newValue)) {
49
+ // Try to parse and validate the formatted value
50
+ const isoDate = parseFormattedValue(newValue, format, locale);
51
+ // Validate format and custom validation (e.g., time step)
52
+ if (isoDate && (!validate || validate(isoDate))) {
53
+ const rawDigits = newValue.replace(/[^0-9]/g, '');
54
+ onChange(isoDate, rawDigits);
55
+ }
56
+ else {
57
+ if (errorMessages.enabled) {
58
+ Message.error(errorMessages.invalidInput);
59
+ }
60
+ }
61
+ }
62
+ // Restore cursor position after React re-renders
63
+ if (cursorPosition !== undefined && (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current)) {
64
+ requestAnimationFrame(() => {
65
+ var _a;
66
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setSelectionRange(cursorPosition, cursorPosition);
67
+ });
68
+ }
69
+ }, [
70
+ errorMessages,
71
+ onChange,
72
+ inputRef,
73
+ isValueComplete,
74
+ parseFormattedValue,
75
+ format,
76
+ validate,
77
+ locale,
78
+ ]);
79
+ /**
80
+ * Handle focus event
81
+ */
82
+ const handleFocus = useCallback((e) => {
83
+ setFocused(true);
84
+ onFocusProp === null || onFocusProp === void 0 ? void 0 : onFocusProp(e);
85
+ // If value doesn't match format, fill with format template
86
+ if (!maskFormat.match(internalValue)) {
87
+ triggerChange(getTemplateWithoutBrackets(format));
88
+ }
89
+ }, [format, internalValue, maskFormat, triggerChange, onFocusProp]);
90
+ /**
91
+ * Handle blur event - clear incomplete values
92
+ */
93
+ const handleBlur = useCallback((e) => {
94
+ setFocused(false);
95
+ onBlurProp === null || onBlurProp === void 0 ? void 0 : onBlurProp(e);
96
+ // If value is incomplete, clear it and notify parent
97
+ if (!isValueComplete(internalValue)) {
98
+ const templateValue = getTemplateWithoutBrackets(format);
99
+ setInternalValue(templateValue);
100
+ // Notify parent that value is cleared
101
+ if (onChange) {
102
+ onChange('', '');
103
+ }
104
+ }
105
+ else {
106
+ // Value is complete, validate it
107
+ const isoDate = parseFormattedValue(internalValue, format, locale);
108
+ if (!isoDate) {
109
+ // Invalid date/time format, clear it
110
+ const templateValue = getTemplateWithoutBrackets(format);
111
+ setInternalValue(templateValue);
112
+ if (onChange) {
113
+ onChange('', '');
114
+ }
115
+ }
116
+ else if (validate && !validate(isoDate)) {
117
+ // Custom validation failed (e.g., time step validation), clear it
118
+ const templateValue = getTemplateWithoutBrackets(format);
119
+ setInternalValue(templateValue);
120
+ if (onChange) {
121
+ onChange('', '');
122
+ }
123
+ }
124
+ }
125
+ }, [
126
+ format,
127
+ internalValue,
128
+ isValueComplete,
129
+ onChange,
130
+ onBlurProp,
131
+ parseFormattedValue,
132
+ validate,
133
+ locale,
134
+ ]);
135
+ /**
136
+ * Handle key down for mask input
137
+ */
138
+ const handleKeyDown = useCallback((e) => {
139
+ const { key } = e;
140
+ const templateValue = getTemplateWithoutBrackets(format);
141
+ if (key === 'Tab') {
142
+ e.stopPropagation();
143
+ return;
144
+ }
145
+ // Backspace
146
+ if (key === 'Backspace') {
147
+ e.preventDefault();
148
+ const cursorPos = e.target.selectionStart || 0;
149
+ if (cursorPos === 0)
150
+ return;
151
+ // Check if cursor is on a separator
152
+ let isSeparatorPos = true;
153
+ for (const cell of maskFormat.maskCells) {
154
+ if (cursorPos > cell.start && cursorPos <= cell.end) {
155
+ isSeparatorPos = false;
156
+ break;
157
+ }
158
+ }
159
+ if (isSeparatorPos) {
160
+ // On separator, move cursor to previous editable position
161
+ let prevPos = cursorPos - 1;
162
+ while (prevPos >= 0) {
163
+ let found = false;
164
+ for (const cell of maskFormat.maskCells) {
165
+ if (prevPos >= cell.start && prevPos < cell.end) {
166
+ // Check if this position has a digit
167
+ if (/\d/.test(internalValue[prevPos])) {
168
+ found = true;
169
+ break;
170
+ }
171
+ }
172
+ }
173
+ if (found)
174
+ break;
175
+ prevPos--;
176
+ }
177
+ if (prevPos < 0)
178
+ return;
179
+ // Clear that position
180
+ const newValue = internalValue.split('');
181
+ newValue[prevPos] = templateValue[prevPos];
182
+ triggerChange(newValue.join(''), prevPos);
183
+ return;
184
+ }
185
+ // Find which cell the cursor is in
186
+ let targetCellIndex = -1;
187
+ let posInCell = -1;
188
+ for (let i = 0; i < maskFormat.maskCells.length; i++) {
189
+ const cell = maskFormat.maskCells[i];
190
+ if (cursorPos > cell.start && cursorPos <= cell.end) {
191
+ targetCellIndex = i;
192
+ posInCell = cursorPos - cell.start;
193
+ break;
194
+ }
195
+ }
196
+ if (targetCellIndex === -1)
197
+ return;
198
+ const targetCell = maskFormat.maskCells[targetCellIndex];
199
+ const clearPos = targetCell.start + posInCell - 1;
200
+ // Check if clearing the first position of current cell
201
+ if (posInCell === 1) {
202
+ // Check if entire cell is empty (all format chars)
203
+ let cellIsEmpty = true;
204
+ for (let i = targetCell.start; i < targetCell.end; i++) {
205
+ if (/\d/.test(internalValue[i])) {
206
+ cellIsEmpty = false;
207
+ break;
208
+ }
209
+ }
210
+ if (cellIsEmpty && targetCellIndex > 0) {
211
+ // Jump to previous cell's last position
212
+ const prevCell = maskFormat.maskCells[targetCellIndex - 1];
213
+ let lastDigitPos = prevCell.end - 1;
214
+ // Find last digit in previous cell
215
+ while (lastDigitPos >= prevCell.start) {
216
+ if (/\d/.test(internalValue[lastDigitPos])) {
217
+ break;
218
+ }
219
+ lastDigitPos--;
220
+ }
221
+ if (lastDigitPos >= prevCell.start) {
222
+ const newValue = internalValue.split('');
223
+ newValue[lastDigitPos] = templateValue[lastDigitPos];
224
+ triggerChange(newValue.join(''), lastDigitPos);
225
+ return;
226
+ }
227
+ }
228
+ }
229
+ // Normal clear
230
+ const newValue = internalValue.split('');
231
+ newValue[clearPos] = templateValue[clearPos];
232
+ triggerChange(newValue.join(''), clearPos);
233
+ return;
234
+ }
235
+ // Number input
236
+ if (/^\d$/.test(key)) {
237
+ e.preventDefault();
238
+ const cursorPos = e.target.selectionStart || 0;
239
+ // Check if cursor is on a separator
240
+ let isSeparatorPos = true;
241
+ let nextEditablePos = cursorPos;
242
+ for (const cell of maskFormat.maskCells) {
243
+ if (cursorPos >= cell.start && cursorPos < cell.end) {
244
+ isSeparatorPos = false;
245
+ break;
246
+ }
247
+ }
248
+ if (isSeparatorPos) {
249
+ // Find next editable position
250
+ for (const cell of maskFormat.maskCells) {
251
+ if (cell.start >= cursorPos) {
252
+ nextEditablePos = cell.start;
253
+ break;
254
+ }
255
+ }
256
+ }
257
+ // Find which cell the cursor is in
258
+ let targetCellIndex = -1;
259
+ for (let i = 0; i < maskFormat.maskCells.length; i++) {
260
+ const cell = maskFormat.maskCells[i];
261
+ if (nextEditablePos >= cell.start && nextEditablePos < cell.end) {
262
+ targetCellIndex = i;
263
+ break;
264
+ }
265
+ }
266
+ if (targetCellIndex === -1) {
267
+ // Not in a valid cell, block input
268
+ return;
269
+ }
270
+ const targetCell = maskFormat.maskCells[targetCellIndex];
271
+ const [minVal, maxVal] = getMaskRange(targetCell.mask || '');
272
+ // Get current cell value
273
+ const currentCellValue = internalValue.slice(targetCell.start, targetCell.end);
274
+ // Build the new cell value with the input at cursor position
275
+ const newCellValue = currentCellValue.split('');
276
+ const posInCell = nextEditablePos - targetCell.start;
277
+ newCellValue[posInCell] = key;
278
+ // Validate the new cell value
279
+ const newCellStr = newCellValue.join('');
280
+ // Check if all positions are filled
281
+ if (!/^\d+$/.test(newCellStr)) {
282
+ // Not all filled, allow input
283
+ const newValue = internalValue.split('');
284
+ newValue[nextEditablePos] = key;
285
+ // Check if we need to jump to next cell
286
+ let nextPos = nextEditablePos + 1;
287
+ if (nextPos >= targetCell.end &&
288
+ targetCellIndex < maskFormat.maskCells.length - 1) {
289
+ // Jump to next cell
290
+ nextPos = maskFormat.maskCells[targetCellIndex + 1].start;
291
+ }
292
+ triggerChange(newValue.join(''), nextPos);
293
+ return;
294
+ }
295
+ // All filled, validate range
296
+ const cellNum = parseInt(newCellStr, 10);
297
+ if (cellNum < minVal || cellNum > maxVal) {
298
+ // Invalid, block input
299
+ return;
300
+ }
301
+ // Valid, update
302
+ const newValue = internalValue.split('');
303
+ newValue[nextEditablePos] = key;
304
+ // Jump to next cell after filling current cell
305
+ let nextPos = nextEditablePos + 1;
306
+ if (nextPos >= targetCell.end &&
307
+ targetCellIndex < maskFormat.maskCells.length - 1) {
308
+ // Jump to next cell
309
+ nextPos = maskFormat.maskCells[targetCellIndex + 1].start;
310
+ }
311
+ triggerChange(newValue.join(''), nextPos);
312
+ return;
313
+ }
314
+ // Block other keys (separators, letters, etc.)
315
+ if (key.length === 1 && !/[\dBackspace]/.test(key)) {
316
+ if (!(e.ctrlKey || e.metaKey || e.altKey)) {
317
+ e.preventDefault();
318
+ }
319
+ }
320
+ }, [format, internalValue, maskFormat, triggerChange]);
321
+ const handlePaste = useCallback((e) => {
322
+ e.preventDefault();
323
+ const pasteData = e.clipboardData.getData('Text');
324
+ if (isValid(pasteData)) {
325
+ // If pasted data is a valid ISO date, format it accordingly
326
+ const parsedDate = formatToString(locale, pasteData, format);
327
+ if (parsedDate) {
328
+ triggerChange(parsedDate);
329
+ return;
330
+ }
331
+ }
332
+ const newValueArray = internalValue.split('');
333
+ let pasteIndex = 0;
334
+ for (const cell of maskFormat.maskCells) {
335
+ for (let i = cell.start; i < cell.end; i++) {
336
+ if (pasteIndex >= pasteData.length) {
337
+ break;
338
+ }
339
+ const char = pasteData[pasteIndex];
340
+ if (/\d/.test(char)) {
341
+ newValueArray[i] = char;
342
+ pasteIndex++;
343
+ }
344
+ else {
345
+ // Skip non-digit characters in paste data
346
+ pasteIndex++;
347
+ i--; // Stay on the same position
348
+ }
349
+ }
350
+ if (pasteIndex >= pasteData.length) {
351
+ break;
352
+ }
353
+ }
354
+ const newValue = newValueArray.join('');
355
+ if (newValue === getTemplateWithoutBrackets(format)) {
356
+ // No valid input from paste
357
+ if (errorMessages.enabled) {
358
+ Message.error(errorMessages.invalidPaste);
359
+ }
360
+ }
361
+ triggerChange(newValue);
362
+ }, [
363
+ errorMessages,
364
+ internalValue,
365
+ maskFormat,
366
+ triggerChange,
367
+ isValid,
368
+ format,
369
+ formatToString,
370
+ locale,
371
+ ]);
372
+ return {
373
+ value: internalValue,
374
+ focused,
375
+ handleKeyDown,
376
+ handleFocus,
377
+ handleBlur,
378
+ handlePaste,
379
+ };
380
+ }
381
+
382
+ export { useDateInputFormatter };
@@ -3,14 +3,13 @@ import { FocusEventHandler, KeyboardEventHandler, RefObject } from 'react';
3
3
  export type UsePickerValueProps = {
4
4
  defaultValue?: DateType;
5
5
  format: string;
6
- formats: string[];
7
6
  inputRef: RefObject<HTMLInputElement | null>;
8
7
  value?: DateType;
9
8
  };
10
9
  /**
11
10
  * This hook keep tracks of an internal value.
12
11
  */
13
- export declare function usePickerValue({ defaultValue, format, formats, inputRef, value: valueProp, }: UsePickerValueProps): {
12
+ export declare function usePickerValue({ defaultValue, format, inputRef, value: valueProp, }: UsePickerValueProps): {
14
13
  inputValue: string;
15
14
  onBlur: FocusEventHandler<HTMLInputElement>;
16
15
  onChange: (val?: DateType) => void;
@@ -5,33 +5,28 @@ import { usePickerInputValue } from './usePickerInputValue.js';
5
5
  /**
6
6
  * This hook keep tracks of an internal value.
7
7
  */
8
- function usePickerValue({ defaultValue, format, formats, inputRef, value: valueProp, }) {
9
- const { formatToString, parse, valueLocale } = useCalendarContext();
8
+ function usePickerValue({ defaultValue, format, inputRef, value: valueProp, }) {
9
+ const { formatToString, locale } = useCalendarContext();
10
10
  const inputDefaultValue = defaultValue
11
- ? formatToString(valueLocale, defaultValue, format)
11
+ ? formatToString(locale, defaultValue, format)
12
12
  : '';
13
13
  const [value, setValue] = useState(valueProp);
14
14
  const onChange = (val) => {
15
15
  setValue(val);
16
16
  };
17
17
  const onInputChange = (val) => {
18
- const valDateType = parse(valueLocale, val, formats);
19
- onChange(valDateType);
18
+ onChange(val);
20
19
  };
21
20
  const { inputChangeHandler, inputValue, onChange: setInputValue, } = usePickerInputValue({
22
21
  defaultValue: inputDefaultValue,
23
22
  onChange: onInputChange,
24
23
  });
25
24
  useEffect(() => {
26
- const valString = valueProp
27
- ? formatToString(valueLocale, valueProp, format)
28
- : '';
29
- setInputValue(valString);
25
+ setInputValue(valueProp || '');
30
26
  onChange(valueProp);
31
- }, [valueProp]);
27
+ }, [valueProp, format, formatToString, setInputValue, locale]);
32
28
  const onSyncInputAndStateChange = (val) => {
33
- const valueString = val ? formatToString(valueLocale, val, format) : '';
34
- setInputValue(valueString);
29
+ setInputValue(val || '');
35
30
  setValue(val);
36
31
  };
37
32
  const guardValidDateTypeOnEvents = () => {
@@ -50,7 +45,7 @@ function usePickerValue({ defaultValue, format, formats, inputRef, value: valueP
50
45
  guardValidDateTypeOnEvents();
51
46
  };
52
47
  return {
53
- inputValue,
48
+ inputValue: inputValue ? formatToString(locale, inputValue, format) : '',
54
49
  onBlur,
55
50
  onChange: onSyncInputAndStateChange,
56
51
  onInputChange: inputChangeHandler,
@@ -8,7 +8,7 @@ import Icon from '../Icon/Icon.js';
8
8
  import cx from 'clsx';
9
9
 
10
10
  const Popconfirm = forwardRef(function Popconfirm(props, ref) {
11
- const { className, container, cancelButtonProps, cancelText, confirmButtonProps, confirmText, icon = ExclamationCircleFilledIcon, onCancel, onConfirm, title, ...rest } = props;
11
+ const { className, cancelButtonProps, cancelText, confirmButtonProps, confirmText, icon = ExclamationCircleFilledIcon, onCancel, onConfirm, title, ...rest } = props;
12
12
  return (jsx(Popover, { ...rest, ref: ref, className: cx(popConfirmClasses.host, className), title: jsxs(Fragment, { children: [jsx(Icon, { className: popConfirmClasses.icon, icon: icon }), title] }), children: jsx(ConfirmActions, { cancelButtonProps: cancelButtonProps, cancelText: cancelText, confirmButtonProps: confirmButtonProps, confirmText: confirmText, onCancel: onCancel, onConfirm: onConfirm, size: "small" }) }));
13
13
  });
14
14
 
@@ -1 +1,2 @@
1
- export { PopconfirmProps, default } from './Popconfirm';
1
+ export type { PopconfirmProps } from './Popconfirm';
2
+ export { default } from './Popconfirm';
@@ -1,23 +1,19 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef, useRef } from 'react';
3
3
  import { popoverClasses } from '@mezzanine-ui/core/popover';
4
+ import { offset } from '@floating-ui/react-dom';
4
5
  import { useClickAway } from '../hooks/useClickAway.js';
5
6
  import { useComposeRefs } from '../hooks/useComposeRefs.js';
6
7
  import Popper from '../Popper/Popper.js';
7
8
  import cx from 'clsx';
8
9
 
9
- const offsetModifier = {
10
- name: 'offset',
11
- options: {
12
- offset: [0, 8],
13
- },
14
- };
10
+ const offsetMiddleware = offset({ mainAxis: 8 });
15
11
  /**
16
12
  * The react component for `mezzanine` popover.
17
13
  */
18
14
  const Popover = forwardRef(function Popover(props, ref) {
19
15
  const { children, className, disableClickAway = false, onClose, open, options = {}, title, ...rest } = props;
20
- const { modifiers = [] } = options;
16
+ const { middleware = [] } = options;
21
17
  const popoverRef = useRef(null);
22
18
  const composedRef = useComposeRefs([ref, popoverRef]);
23
19
  useClickAway(() => {
@@ -32,7 +28,7 @@ const Popover = forwardRef(function Popover(props, ref) {
32
28
  }, popoverRef, [open, disableClickAway, onClose, popoverRef]);
33
29
  return (jsxs(Popper, { ...rest, ref: composedRef, className: cx(popoverClasses.host, className), open: open, options: {
34
30
  ...options,
35
- modifiers: [offsetModifier, ...modifiers],
31
+ middleware: [offsetMiddleware, ...middleware],
36
32
  }, children: [title && jsx("div", { className: popoverClasses.title, children: title }), children && jsx("div", { className: popoverClasses.content, children: children })] }));
37
33
  });
38
34
 
@@ -1 +1,2 @@
1
- export { PopoverProps, default } from './Popover';
1
+ export type { PopoverProps } from './Popover';
2
+ export { default } from './Popover';
@@ -1,21 +1,26 @@
1
- import { Options as _PopperOptions } from '@popperjs/core';
2
1
  import { Ref } from 'react';
3
- import { Modifier, usePopper } from 'react-popper';
2
+ import { UseFloatingOptions, UseFloatingReturn, Placement, Strategy } from '@floating-ui/react-dom';
4
3
  import { ElementGetter } from '../utils/getElement';
5
4
  import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
6
5
  import { PortalProps } from '../Portal';
7
- export type { Placement as PopperPlacement, PositioningStrategy as PopperPositionStrategy, } from '@popperjs/core';
8
- export type PopperOptions<Modifiers> = Omit<Partial<_PopperOptions>, 'modifiers'> & {
9
- modifiers?: ReadonlyArray<Modifier<Modifiers>>;
10
- };
11
- export type PopperController = ReturnType<typeof usePopper>;
6
+ export type PopperPlacement = Placement;
7
+ export type PopperPositionStrategy = Strategy;
8
+ export type PopperController = UseFloatingReturn;
12
9
  export interface PopperProps extends Pick<PortalProps, 'container' | 'disablePortal'>, NativeElementPropsWithoutKeyAndRef<'div'> {
13
10
  /**
14
11
  * The ref of trigger Element.
15
12
  */
16
13
  anchor?: ElementGetter;
17
14
  /**
18
- * Provide `controllerRef` if you need access to `usePopper` results.
15
+ * Whether to show arrow element on the popper
16
+ */
17
+ arrow?: {
18
+ enabled: boolean;
19
+ className: string;
20
+ padding?: number;
21
+ } | null;
22
+ /**
23
+ * Provide `controllerRef` if you need access to `useFloating` results.
19
24
  */
20
25
  controllerRef?: Ref<PopperController>;
21
26
  /**
@@ -24,9 +29,9 @@ export interface PopperProps extends Pick<PortalProps, 'container' | 'disablePor
24
29
  */
25
30
  open?: boolean;
26
31
  /**
27
- * The options of usePopper hook of react-popper.
32
+ * The options of useFloating hook from @floating-ui/react-dom.
28
33
  */
29
- options?: PopperOptions<any>;
34
+ options?: UseFloatingOptions;
30
35
  }
31
36
  declare const Popper: import("react").ForwardRefExoticComponent<PopperProps & import("react").RefAttributes<HTMLDivElement>>;
32
37
  export default Popper;