@mezzanine-ui/react 0.15.3 → 1.0.0-alpha.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 (490) hide show
  1. package/Accordion/Accordion.js +1 -2
  2. package/Accordion/AccordionControlContext.js +1 -0
  3. package/Accordion/AccordionDetails.js +2 -2
  4. package/Accordion/AccordionSummary.d.ts +1 -1
  5. package/Accordion/AccordionSummary.js +11 -12
  6. package/Accordion/index.d.ts +6 -3
  7. package/Alert/Alert.js +1 -2
  8. package/Alert/index.d.ts +3 -2
  9. package/AlertBanner/AlertBanner.d.ts +93 -0
  10. package/AlertBanner/AlertBanner.js +154 -0
  11. package/AlertBanner/index.d.ts +2 -0
  12. package/AlertBanner/index.js +1 -0
  13. package/Anchor/Anchor.js +2 -3
  14. package/Anchor/index.d.ts +2 -1
  15. package/AppBar/AppBar.js +1 -2
  16. package/AppBar/AppBarBrand.js +1 -2
  17. package/AppBar/AppBarMain.js +1 -2
  18. package/AppBar/AppBarSupport.js +1 -2
  19. package/AppBar/index.d.ts +8 -4
  20. package/{Overlay/Overlay.d.ts → Backdrop/Backdrop.d.ts} +12 -16
  21. package/Backdrop/Backdrop.js +40 -0
  22. package/Backdrop/index.d.ts +2 -0
  23. package/Backdrop/index.js +1 -0
  24. package/Badge/Badge.d.ts +20 -14
  25. package/Badge/Badge.js +15 -18
  26. package/Badge/BadgeContainer.d.ts +1 -1
  27. package/Badge/BadgeContainer.js +2 -3
  28. package/Badge/index.d.ts +3 -2
  29. package/Badge/typings.d.ts +48 -0
  30. package/Breadcrumb/Breadcrumb.d.ts +6 -0
  31. package/Breadcrumb/Breadcrumb.js +25 -0
  32. package/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  33. package/Breadcrumb/BreadcrumbItem.js +45 -0
  34. package/Breadcrumb/index.d.ts +2 -0
  35. package/Breadcrumb/index.js +1 -0
  36. package/Breadcrumb/typings.d.ts +70 -0
  37. package/Button/Button.js +24 -19
  38. package/Button/ButtonGroup.d.ts +6 -28
  39. package/Button/ButtonGroup.js +8 -18
  40. package/Button/index.d.ts +6 -12
  41. package/Button/index.js +2 -3
  42. package/Button/typings.d.ts +11 -26
  43. package/Calendar/Calendar.d.ts +31 -2
  44. package/Calendar/Calendar.js +75 -21
  45. package/Calendar/CalendarCell.d.ts +4 -0
  46. package/Calendar/CalendarCell.js +3 -3
  47. package/Calendar/CalendarConfigProviderDayjs.d.ts +21 -0
  48. package/Calendar/CalendarConfigProviderDayjs.js +15 -0
  49. package/Calendar/CalendarConfigProviderLuxon.d.ts +21 -0
  50. package/Calendar/CalendarConfigProviderLuxon.js +15 -0
  51. package/Calendar/CalendarConfigProviderMoment.d.ts +21 -0
  52. package/Calendar/CalendarConfigProviderMoment.js +15 -0
  53. package/Calendar/CalendarContext.d.ts +14 -7
  54. package/Calendar/CalendarContext.js +8 -13
  55. package/Calendar/CalendarControls.d.ts +16 -0
  56. package/Calendar/CalendarControls.js +3 -7
  57. package/Calendar/CalendarDayOfWeek.js +4 -3
  58. package/Calendar/CalendarDays.d.ts +9 -1
  59. package/Calendar/CalendarDays.js +63 -38
  60. package/Calendar/CalendarFooterActions.d.ts +13 -0
  61. package/Calendar/CalendarFooterActions.js +14 -0
  62. package/Calendar/CalendarFooterControl.d.ts +16 -0
  63. package/Calendar/CalendarFooterControl.js +14 -0
  64. package/Calendar/CalendarHalfYears.d.ts +39 -0
  65. package/Calendar/CalendarHalfYears.js +62 -0
  66. package/Calendar/CalendarMonths.js +17 -5
  67. package/Calendar/CalendarQuarters.d.ts +37 -0
  68. package/Calendar/CalendarQuarters.js +64 -0
  69. package/Calendar/CalendarQuickSelect.d.ts +21 -0
  70. package/Calendar/CalendarQuickSelect.js +15 -0
  71. package/Calendar/CalendarWeeks.d.ts +1 -1
  72. package/Calendar/CalendarWeeks.js +89 -44
  73. package/Calendar/CalendarYears.js +14 -4
  74. package/Calendar/RangeCalendar.d.ts +59 -0
  75. package/Calendar/RangeCalendar.js +232 -0
  76. package/Calendar/index.d.ts +33 -10
  77. package/Calendar/index.js +7 -0
  78. package/Calendar/useCalendarControlModifiers.d.ts +4 -4
  79. package/Calendar/useCalendarControlModifiers.js +40 -8
  80. package/Calendar/useCalendarControls.d.ts +2 -0
  81. package/Calendar/useCalendarControls.js +19 -2
  82. package/Calendar/useCalendarModeStack.js +1 -0
  83. package/Calendar/useRangeCalendarControls.d.ts +18 -0
  84. package/Calendar/useRangeCalendarControls.js +115 -0
  85. package/Card/Card.js +1 -2
  86. package/Card/CardActions.js +2 -3
  87. package/Card/index.d.ts +4 -2
  88. package/Checkbox/CheckAll.d.ts +16 -6
  89. package/Checkbox/CheckAll.js +41 -28
  90. package/Checkbox/Checkbox.d.ts +100 -22
  91. package/Checkbox/Checkbox.js +74 -18
  92. package/Checkbox/CheckboxGroup.d.ts +100 -18
  93. package/Checkbox/CheckboxGroup.js +169 -25
  94. package/Checkbox/CheckboxGroupContext.d.ts +0 -2
  95. package/Checkbox/CheckboxGroupContext.js +1 -0
  96. package/Checkbox/index.d.ts +16 -4
  97. package/Checkbox/index.js +6 -2
  98. package/Checkbox/typings.d.ts +37 -0
  99. package/ClearActions/ClearActions.d.ts +41 -0
  100. package/ClearActions/ClearActions.js +23 -0
  101. package/ClearActions/index.d.ts +3 -0
  102. package/ClearActions/index.js +5 -0
  103. package/ConfirmActions/ConfirmActions.d.ts +2 -1
  104. package/ConfirmActions/ConfirmActions.js +1 -2
  105. package/ConfirmActions/index.d.ts +2 -1
  106. package/DatePicker/DatePicker.d.ts +12 -1
  107. package/DatePicker/DatePicker.js +42 -11
  108. package/DatePicker/DatePickerCalendar.d.ts +3 -6
  109. package/DatePicker/DatePickerCalendar.js +38 -39
  110. package/DatePicker/index.d.ts +4 -2
  111. package/DateRangePicker/DateRangePicker.d.ts +18 -2
  112. package/DateRangePicker/DateRangePicker.js +144 -102
  113. package/DateRangePicker/DateRangePickerCalendar.d.ts +13 -9
  114. package/DateRangePicker/DateRangePickerCalendar.js +8 -96
  115. package/DateRangePicker/index.d.ts +6 -3
  116. package/DateRangePicker/useDateRangeCalendarControls.js +11 -6
  117. package/DateRangePicker/useDateRangePickerValue.d.ts +38 -15
  118. package/DateRangePicker/useDateRangePickerValue.js +142 -63
  119. package/DateTimePicker/DateTimePicker.d.ts +31 -10
  120. package/DateTimePicker/DateTimePicker.js +180 -96
  121. package/DateTimePicker/index.d.ts +2 -2
  122. package/DateTimePicker/index.js +0 -1
  123. package/Drawer/Drawer.js +3 -4
  124. package/Drawer/index.d.ts +2 -1
  125. package/Dropdown/Dropdown.js +13 -24
  126. package/Dropdown/index.d.ts +2 -1
  127. package/Empty/Empty.d.ts +1 -16
  128. package/Empty/Empty.js +37 -9
  129. package/Empty/icons/EmptyMainInitialDataIcon.d.ts +4 -0
  130. package/Empty/icons/EmptyMainInitialDataIcon.js +9 -0
  131. package/Empty/icons/EmptyMainResultIcon.d.ts +4 -0
  132. package/Empty/icons/EmptyMainResultIcon.js +9 -0
  133. package/Empty/icons/EmptyMainSystemIcon.d.ts +4 -0
  134. package/Empty/icons/EmptyMainSystemIcon.js +9 -0
  135. package/Empty/index.d.ts +2 -1
  136. package/Empty/typings.d.ts +52 -0
  137. package/Form/FormControlContext.js +1 -0
  138. package/Form/FormField.js +1 -2
  139. package/Form/FormHintText.d.ts +18 -0
  140. package/Form/FormHintText.js +17 -0
  141. package/Form/FormLabel.js +2 -2
  142. package/Form/index.d.ts +9 -5
  143. package/Form/index.js +1 -1
  144. package/Form/useAutoCompleteValueControl.js +2 -0
  145. package/Form/useCheckboxControlValue.js +0 -1
  146. package/Form/useInputWithClearControlValue.d.ts +1 -1
  147. package/Form/useInputWithTagsModeValue.d.ts +1 -1
  148. package/Form/useSelectValueControl.js +2 -0
  149. package/Icon/Icon.js +1 -2
  150. package/InlineMessage/InlineMessage.d.ts +33 -0
  151. package/InlineMessage/InlineMessage.js +42 -0
  152. package/InlineMessage/InlineMessageGroup.d.ts +24 -0
  153. package/InlineMessage/InlineMessageGroup.js +21 -0
  154. package/InlineMessage/index.d.ts +4 -0
  155. package/InlineMessage/index.js +2 -0
  156. package/Input/ActionButton/ActionButton.d.ts +26 -0
  157. package/Input/ActionButton/ActionButton.js +14 -0
  158. package/Input/ActionButton/index.d.ts +2 -0
  159. package/Input/ActionButton/index.js +1 -0
  160. package/Input/Input.d.ts +147 -42
  161. package/Input/Input.js +196 -31
  162. package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.d.ts +31 -0
  163. package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.js +18 -0
  164. package/Input/PasswordStrengthIndicator/index.d.ts +2 -0
  165. package/Input/PasswordStrengthIndicator/index.js +1 -0
  166. package/Input/SelectButton/SelectButton.d.ts +20 -0
  167. package/Input/SelectButton/SelectButton.js +21 -0
  168. package/Input/SelectButton/index.d.ts +2 -0
  169. package/Input/SelectButton/index.js +1 -0
  170. package/Input/SpinnerButton/SpinnerButton.d.ts +19 -0
  171. package/Input/SpinnerButton/SpinnerButton.js +14 -0
  172. package/Input/SpinnerButton/index.d.ts +2 -0
  173. package/Input/SpinnerButton/index.js +1 -0
  174. package/Input/index.d.ts +3 -2
  175. package/Menu/Menu.js +2 -2
  176. package/Menu/MenuDivider.js +1 -2
  177. package/Menu/MenuItem.js +1 -2
  178. package/Menu/MenuItemGroup.js +1 -2
  179. package/Menu/index.d.ts +8 -4
  180. package/Message/Message.d.ts +6 -4
  181. package/Message/Message.js +87 -11
  182. package/Message/MessageTimerController.d.ts +14 -0
  183. package/Message/MessageTimerController.js +27 -0
  184. package/Message/index.d.ts +3 -2
  185. package/Modal/Modal.js +3 -4
  186. package/Modal/ModalActions.js +2 -2
  187. package/Modal/ModalBody.js +1 -2
  188. package/Modal/ModalControl.js +1 -0
  189. package/Modal/ModalFooter.js +1 -2
  190. package/Modal/ModalHeader.js +3 -3
  191. package/Modal/index.d.ts +10 -5
  192. package/Modal/useModalContainer.d.ts +1 -1
  193. package/Modal/useModalContainer.js +2 -4
  194. package/Navigation/Navigation.js +38 -36
  195. package/Navigation/NavigationContext.js +1 -0
  196. package/Navigation/NavigationItem.js +2 -2
  197. package/Navigation/NavigationSubMenu.js +17 -28
  198. package/Navigation/index.d.ts +8 -4
  199. package/Notification/Notification.js +1 -3
  200. package/Notification/index.d.ts +3 -2
  201. package/Notifier/NotifierManager.d.ts +16 -3
  202. package/Notifier/NotifierManager.js +60 -18
  203. package/Notifier/createNotifier.d.ts +9 -0
  204. package/Notifier/createNotifier.js +3 -2
  205. package/Notifier/typings.d.ts +3 -1
  206. package/OverflowTooltip/OverflowCounterTag.d.ts +12 -0
  207. package/OverflowTooltip/OverflowCounterTag.js +48 -0
  208. package/OverflowTooltip/OverflowTooltip.d.ts +34 -0
  209. package/OverflowTooltip/OverflowTooltip.js +53 -0
  210. package/OverflowTooltip/index.d.ts +2 -0
  211. package/OverflowTooltip/index.js +2 -0
  212. package/PageFooter/PageFooter.d.ts +73 -8
  213. package/PageFooter/PageFooter.js +35 -5
  214. package/PageFooter/index.d.ts +2 -1
  215. package/PageHeader/PageHeader.d.ts +36 -0
  216. package/PageHeader/PageHeader.js +65 -0
  217. package/PageHeader/index.d.ts +2 -0
  218. package/PageHeader/index.js +1 -0
  219. package/PageToolbar/PageToolbar.d.ts +67 -0
  220. package/PageToolbar/PageToolbar.js +114 -0
  221. package/PageToolbar/index.d.ts +2 -0
  222. package/PageToolbar/index.js +1 -0
  223. package/Pagination/Pagination.d.ts +23 -29
  224. package/Pagination/Pagination.js +4 -6
  225. package/Pagination/PaginationItem.d.ts +1 -1
  226. package/Pagination/PaginationItem.js +7 -5
  227. package/Pagination/PaginationJumper.d.ts +7 -9
  228. package/Pagination/PaginationJumper.js +4 -7
  229. package/Pagination/PaginationPageSize.d.ts +8 -11
  230. package/Pagination/PaginationPageSize.js +6 -6
  231. package/Pagination/index.d.ts +8 -4
  232. package/Pagination/usePagination.d.ts +3 -1
  233. package/Pagination/usePagination.js +30 -21
  234. package/Picker/FormattedInput.d.ts +17 -0
  235. package/Picker/FormattedInput.js +74 -0
  236. package/Picker/MaskFormat.d.ts +39 -0
  237. package/Picker/MaskFormat.js +94 -0
  238. package/Picker/PickerTrigger.d.ts +14 -4
  239. package/Picker/PickerTrigger.js +18 -4
  240. package/Picker/PickerTriggerWithSeparator.d.ts +124 -0
  241. package/Picker/PickerTriggerWithSeparator.js +80 -0
  242. package/Picker/RangePickerTrigger.d.ts +57 -6
  243. package/Picker/RangePickerTrigger.js +66 -9
  244. package/Picker/formatUtils.d.ts +34 -0
  245. package/Picker/formatUtils.js +124 -0
  246. package/Picker/index.d.ts +17 -6
  247. package/Picker/index.js +4 -1
  248. package/Picker/useDateInputFormatter.d.ts +52 -0
  249. package/Picker/useDateInputFormatter.js +382 -0
  250. package/Picker/usePickerDocumentEventClose.d.ts +3 -3
  251. package/Picker/usePickerValue.d.ts +2 -3
  252. package/Picker/usePickerValue.js +8 -13
  253. package/Picker/useTabKeyClose.d.ts +1 -1
  254. package/Popconfirm/Popconfirm.js +3 -4
  255. package/Popconfirm/index.d.ts +2 -1
  256. package/Popover/Popover.js +5 -10
  257. package/Popover/index.d.ts +2 -1
  258. package/Popper/Popper.d.ts +15 -10
  259. package/Popper/Popper.js +89 -19
  260. package/Popper/index.d.ts +2 -1
  261. package/Portal/Portal.d.ts +13 -5
  262. package/Portal/Portal.js +26 -12
  263. package/Portal/index.d.ts +4 -1
  264. package/Portal/index.js +1 -0
  265. package/Portal/portalRegistry.d.ts +17 -0
  266. package/Portal/portalRegistry.js +92 -0
  267. package/Progress/Progress.d.ts +23 -30
  268. package/Progress/Progress.js +72 -23
  269. package/Progress/index.d.ts +3 -2
  270. package/Provider/ConfigProvider.d.ts +2 -1
  271. package/Provider/ConfigProvider.js +1 -0
  272. package/Provider/context.js +1 -0
  273. package/Radio/Radio.d.ts +1 -1
  274. package/Radio/Radio.js +3 -3
  275. package/Radio/RadioGroup.d.ts +1 -1
  276. package/Radio/RadioGroup.js +2 -3
  277. package/Radio/RadioGroupContext.js +1 -0
  278. package/Radio/index.d.ts +4 -2
  279. package/ResultState/ResultState.d.ts +52 -0
  280. package/ResultState/ResultState.js +24 -0
  281. package/ResultState/index.d.ts +2 -0
  282. package/ResultState/index.js +1 -0
  283. package/Select/AutoComplete.d.ts +3 -3
  284. package/Select/AutoComplete.js +6 -13
  285. package/Select/Option.js +2 -2
  286. package/Select/Select.d.ts +1 -1
  287. package/Select/Select.js +3 -3
  288. package/Select/SelectControlContext.js +1 -0
  289. package/Select/SelectTrigger.d.ts +1 -87
  290. package/Select/SelectTrigger.js +27 -23
  291. package/Select/SelectTriggerTags.d.ts +1 -1
  292. package/Select/SelectTriggerTags.js +48 -20
  293. package/Select/TreeSelect.d.ts +1 -1
  294. package/Select/TreeSelect.js +3 -3
  295. package/Select/index.d.ts +14 -7
  296. package/Select/typings.d.ts +99 -0
  297. package/Select/useSelectTriggerTags.d.ts +15 -8
  298. package/Select/useSelectTriggerTags.js +79 -43
  299. package/Selection/Selection.d.ts +98 -0
  300. package/Selection/Selection.js +46 -0
  301. package/Selection/index.d.ts +12 -0
  302. package/Selection/index.js +5 -0
  303. package/Skeleton/Skeleton.d.ts +10 -3
  304. package/Skeleton/Skeleton.js +13 -6
  305. package/Skeleton/index.d.ts +2 -1
  306. package/Slider/Slider.d.ts +44 -7
  307. package/Slider/Slider.js +18 -15
  308. package/Slider/index.d.ts +5 -3
  309. package/Slider/useSlider.d.ts +1 -1
  310. package/Slider/useSlider.js +1 -1
  311. package/Spin/Spin.d.ts +39 -0
  312. package/{Loading/Loading.js → Spin/Spin.js} +9 -10
  313. package/Spin/index.d.ts +2 -0
  314. package/Spin/index.js +1 -0
  315. package/Stepper/Step.d.ts +1 -35
  316. package/Stepper/Step.js +44 -10
  317. package/Stepper/Stepper.d.ts +1 -14
  318. package/Stepper/Stepper.js +50 -17
  319. package/Stepper/index.d.ts +5 -2
  320. package/Stepper/index.js +1 -0
  321. package/Stepper/typings.d.ts +77 -0
  322. package/Stepper/useStepDistance.d.ts +10 -0
  323. package/Stepper/useStepDistance.js +81 -0
  324. package/Stepper/useStepper.d.ts +21 -0
  325. package/Stepper/useStepper.js +26 -0
  326. package/Table/Table.d.ts +1 -1
  327. package/Table/Table.js +3 -4
  328. package/Table/TableBody.js +3 -2
  329. package/Table/TableBodyRow.js +1 -0
  330. package/Table/TableCell.js +1 -2
  331. package/Table/TableContext.js +1 -0
  332. package/Table/TableExpandedTable.js +1 -0
  333. package/Table/TableHeader.js +1 -0
  334. package/Table/draggable/useTableDraggable.d.ts +1 -1
  335. package/Table/editable/TableEditRenderWrapper.js +1 -0
  336. package/Table/expandable/TableExpandable.js +1 -1
  337. package/Table/index.d.ts +7 -4
  338. package/Table/pagination/TablePagination.d.ts +1 -1
  339. package/Table/pagination/TablePagination.js +1 -0
  340. package/Table/pagination/useTablePagination.d.ts +1 -1
  341. package/Table/pagination/useTablePagination.js +1 -0
  342. package/Table/refresh/TableRefresh.js +4 -3
  343. package/Table/rowSelection/TableRowSelection.js +3 -2
  344. package/Table/sorting/TableSortingIcon.js +2 -1
  345. package/Table/sorting/useTableSorting.js +1 -0
  346. package/Table/useTableFetchMore.js +1 -1
  347. package/Table/useTableScroll.d.ts +44 -14
  348. package/Table/useTableScroll.js +10 -8
  349. package/Tabs/Tab.js +1 -2
  350. package/Tabs/TabPane.js +2 -2
  351. package/Tabs/Tabs.js +10 -6
  352. package/Tabs/index.d.ts +6 -3
  353. package/Tabs/useTabsOverflow.d.ts +1 -1
  354. package/Tabs/useTabsOverflow.js +4 -3
  355. package/Tag/Tag.d.ts +2 -25
  356. package/Tag/Tag.js +24 -15
  357. package/Tag/TagGroup.d.ts +12 -0
  358. package/Tag/TagGroup.js +41 -0
  359. package/Tag/index.d.ts +2 -1
  360. package/Tag/typings.d.ts +78 -0
  361. package/TextField/TextField.d.ts +78 -20
  362. package/TextField/TextField.js +59 -24
  363. package/TextField/index.d.ts +2 -1
  364. package/Textarea/Textarea.d.ts +19 -51
  365. package/Textarea/Textarea.js +14 -21
  366. package/Textarea/index.d.ts +2 -2
  367. package/TimePanel/TimePanel.d.ts +1 -22
  368. package/TimePanel/TimePanel.js +32 -28
  369. package/TimePanel/TimePanelAction.d.ts +2 -8
  370. package/TimePanel/TimePanelAction.js +3 -4
  371. package/TimePanel/TimePanelColumn.d.ts +0 -13
  372. package/TimePanel/TimePanelColumn.js +10 -13
  373. package/TimePanel/index.d.ts +6 -3
  374. package/TimePicker/TimePicker.d.ts +10 -1
  375. package/TimePicker/TimePicker.js +87 -37
  376. package/TimePicker/TimePickerPanel.d.ts +1 -2
  377. package/TimePicker/TimePickerPanel.js +3 -4
  378. package/TimePicker/index.d.ts +4 -2
  379. package/Toggle/Toggle.d.ts +46 -0
  380. package/Toggle/Toggle.js +29 -0
  381. package/Toggle/index.d.ts +3 -0
  382. package/Toggle/index.js +1 -0
  383. package/Tooltip/Tooltip.d.ts +14 -3
  384. package/Tooltip/Tooltip.js +53 -18
  385. package/Tooltip/index.d.ts +2 -1
  386. package/Tooltip/useDelayMouseEnterLeave.d.ts +1 -2
  387. package/Tooltip/useDelayMouseEnterLeave.js +10 -13
  388. package/Transition/Collapse.d.ts +2 -0
  389. package/Transition/Collapse.js +7 -12
  390. package/Transition/Fade.js +5 -6
  391. package/Transition/Rotate.d.ts +42 -0
  392. package/Transition/Rotate.js +30 -0
  393. package/Transition/Scale.d.ts +13 -0
  394. package/Transition/{Grow.js → Scale.js} +19 -17
  395. package/Transition/Slide.d.ts +7 -0
  396. package/Transition/{Zoom.js → Slide.js} +14 -13
  397. package/Transition/SlideFade.d.ts +3 -0
  398. package/Transition/SlideFade.js +6 -6
  399. package/Transition/Transition.d.ts +3 -3
  400. package/Transition/Translate.d.ts +14 -0
  401. package/Transition/Translate.js +94 -0
  402. package/Transition/index.d.ts +16 -6
  403. package/Transition/index.js +4 -2
  404. package/Transition/useAutoTransitionDuration.d.ts +1 -1
  405. package/Transition/useAutoTransitionDuration.js +3 -3
  406. package/Transition/useSetNodeTransition.js +0 -2
  407. package/Tree/Tree.js +1 -2
  408. package/Tree/TreeNode.js +8 -8
  409. package/Tree/TreeNodeList.js +1 -2
  410. package/Tree/index.d.ts +10 -5
  411. package/Tree/typings.d.ts +2 -2
  412. package/Typography/Typography.d.ts +6 -9
  413. package/Typography/Typography.js +7 -9
  414. package/Typography/index.d.ts +4 -7
  415. package/Upload/Upload.d.ts +175 -0
  416. package/Upload/Upload.js +279 -0
  417. package/Upload/UploadItem.d.ts +82 -0
  418. package/Upload/UploadItem.js +118 -0
  419. package/Upload/UploadPictureCard.d.ts +110 -0
  420. package/Upload/UploadPictureCard.js +101 -0
  421. package/Upload/Uploader.d.ts +161 -0
  422. package/Upload/Uploader.js +120 -0
  423. package/Upload/index.d.ts +8 -6
  424. package/Upload/index.js +4 -5
  425. package/Upload/upload-utils.d.ts +41 -0
  426. package/Upload/upload-utils.js +65 -0
  427. package/_internal/InputCheck/InputCheck.js +1 -2
  428. package/_internal/InputCheck/InputCheckGroup.js +1 -2
  429. package/_internal/InputCheck/index.d.ts +4 -2
  430. package/_internal/InputTriggerPopper/InputTriggerPopper.js +16 -27
  431. package/_internal/InputTriggerPopper/index.d.ts +2 -1
  432. package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +2 -2
  433. package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +5 -29
  434. package/_internal/SlideFadeOverlay/index.d.ts +2 -1
  435. package/_internal/SlideFadeOverlay/useTopStack.js +1 -0
  436. package/dayjs.d.ts +21 -0
  437. package/dayjs.js +2 -0
  438. package/hooks/useClickAway.d.ts +1 -1
  439. package/hooks/useComposeRefs.js +1 -1
  440. package/hooks/useLastCallback.js +3 -1
  441. package/hooks/useScrollLock.d.ts +28 -0
  442. package/hooks/useScrollLock.js +134 -0
  443. package/index.d.ts +126 -58
  444. package/index.js +103 -90
  445. package/luxon.d.ts +21 -0
  446. package/luxon.js +2 -0
  447. package/moment.d.ts +21 -0
  448. package/moment.js +2 -0
  449. package/package.json +16 -20
  450. package/utils/composeRefs.js +0 -1
  451. package/utils/get-css-variable-value.d.ts +1 -0
  452. package/utils/get-css-variable-value.js +9 -0
  453. package/utils/jsx-types.d.ts +1 -1
  454. package/Button/IconButton.d.ts +0 -21
  455. package/Button/IconButton.js +0 -13
  456. package/DateTimePicker/DateTimePickerPanel.d.ts +0 -28
  457. package/DateTimePicker/DateTimePickerPanel.js +0 -50
  458. package/Form/FormMessage.d.ts +0 -7
  459. package/Form/FormMessage.js +0 -19
  460. package/Form/useInputWithTagsModeValue.js +0 -86
  461. package/Loading/Loading.d.ts +0 -33
  462. package/Loading/index.d.ts +0 -1
  463. package/Loading/index.js +0 -1
  464. package/Overlay/Overlay.js +0 -32
  465. package/Overlay/index.d.ts +0 -1
  466. package/Overlay/index.js +0 -1
  467. package/Picker/useRangePickerValue.d.ts +0 -23
  468. package/Picker/useRangePickerValue.js +0 -99
  469. package/Switch/Switch.d.ts +0 -43
  470. package/Switch/Switch.js +0 -29
  471. package/Switch/index.d.ts +0 -2
  472. package/Switch/index.js +0 -1
  473. package/Transition/Grow.d.ts +0 -12
  474. package/Transition/Zoom.d.ts +0 -7
  475. package/Upload/UploadButton.d.ts +0 -9
  476. package/Upload/UploadButton.js +0 -24
  477. package/Upload/UploadInput.d.ts +0 -20
  478. package/Upload/UploadInput.js +0 -24
  479. package/Upload/UploadPicture.d.ts +0 -49
  480. package/Upload/UploadPicture.js +0 -52
  481. package/Upload/UploadPictureBlock.d.ts +0 -20
  482. package/Upload/UploadPictureBlock.js +0 -82
  483. package/Upload/UploadPictureWall.d.ts +0 -81
  484. package/Upload/UploadPictureWall.js +0 -169
  485. package/Upload/UploadPictureWallItem.d.ts +0 -15
  486. package/Upload/UploadPictureWallItem.js +0 -18
  487. package/Upload/UploadResult.d.ts +0 -35
  488. package/Upload/UploadResult.js +0 -30
  489. package/utils/scroll-lock.d.ts +0 -2
  490. package/utils/scroll-lock.js +0 -24
@@ -0,0 +1,94 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { MOTION_DURATION, MOTION_EASING } from '@mezzanine-ui/system/motion';
3
+ import { forwardRef, useRef, cloneElement } from 'react';
4
+ import { useComposeRefs } from '../hooks/useComposeRefs.js';
5
+ import Transition from './Transition.js';
6
+ import { reflow } from './reflow.js';
7
+ import { useSetNodeTransition } from './useSetNodeTransition.js';
8
+
9
+ function getStyle(state, inProp, from) {
10
+ if (state === 'entering' || state === 'entered') {
11
+ return {
12
+ opacity: 1,
13
+ transform: 'translate3d(0, 0, 0)',
14
+ };
15
+ }
16
+ const style = {
17
+ opacity: 0,
18
+ transform: {
19
+ top: 'translate3d(0, -4px, 0)',
20
+ right: 'translate3d(4px, 0, 0)',
21
+ bottom: 'translate3d(0, 4px, 0)',
22
+ left: 'translate3d(-4px, 0, 0)',
23
+ }[from],
24
+ };
25
+ if (state === 'exited' && !inProp) {
26
+ style.visibility = 'hidden';
27
+ }
28
+ return style;
29
+ }
30
+ const defaultDuration = {
31
+ enter: MOTION_DURATION.moderate,
32
+ exit: MOTION_DURATION.moderate,
33
+ };
34
+ const defaultEasing = {
35
+ enter: MOTION_EASING.standard,
36
+ exit: MOTION_EASING.standard,
37
+ };
38
+ /**
39
+ * The react component for `mezzanine` transition translate in/out.
40
+ */
41
+ const Translate = forwardRef(function Translate(props, ref) {
42
+ const { children, delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, from = 'top', in: inProp = false, onEnter, onEntered, onExit, onExited, ...rest } = props;
43
+ const duration = durationProp === 'auto' ? defaultDuration : durationProp;
44
+ const nodeRef = useRef(null);
45
+ const composedNodeRef = useComposeRefs([ref, nodeRef]);
46
+ const [setNodeTransition, resetNodeTransition] = useSetNodeTransition({
47
+ delay,
48
+ duration,
49
+ easing,
50
+ properties: ['opacity', 'transform'],
51
+ }, children === null || children === void 0 ? void 0 : children.props.style);
52
+ const transitionProps = {
53
+ ...rest,
54
+ duration,
55
+ in: inProp,
56
+ nodeRef,
57
+ onEnter(node, isAppearing) {
58
+ setNodeTransition(node, 'enter');
59
+ reflow(node);
60
+ if (onEnter) {
61
+ onEnter(node, isAppearing);
62
+ }
63
+ },
64
+ onEntered(node, isAppearing) {
65
+ resetNodeTransition(node);
66
+ if (onEntered) {
67
+ onEntered(node, isAppearing);
68
+ }
69
+ },
70
+ onExit(node) {
71
+ setNodeTransition(node, 'exit');
72
+ if (onExit) {
73
+ onExit(node);
74
+ }
75
+ },
76
+ onExited(node) {
77
+ resetNodeTransition(node);
78
+ if (onExited) {
79
+ onExited(node);
80
+ }
81
+ },
82
+ };
83
+ return (jsx(Transition, { ...transitionProps, children: children &&
84
+ ((state) => cloneElement(children, {
85
+ ...children.props,
86
+ ref: composedNodeRef,
87
+ style: {
88
+ ...getStyle(state, inProp, from),
89
+ ...children.props.style,
90
+ },
91
+ })) }));
92
+ });
93
+
94
+ export { Translate as default };
@@ -1,6 +1,16 @@
1
- export { TransitionState, TransitionMode, TransitionDelay, TransitionDuration, TransitionEasing, TransitionImplementationChildProps, TransitionImplementationProps, TransitionProps, default, } from './Transition';
2
- export { CollapseProps, default as Collapse } from './Collapse';
3
- export { FadeProps, default as Fade } from './Fade';
4
- export { GrowProps, default as Grow } from './Grow';
5
- export { SlideFadeDirection, SlideFadeProps, default as SlideFade, } from './SlideFade';
6
- export { ZoomProps, default as Zoom } from './Zoom';
1
+ export { default } from './Transition';
2
+ export type { TransitionState, TransitionMode, TransitionDelay, TransitionDuration, TransitionEasing, TransitionImplementationChildProps, TransitionImplementationProps, TransitionProps, } from './Transition';
3
+ export type { CollapseProps } from './Collapse';
4
+ export { default as Collapse } from './Collapse';
5
+ export type { FadeProps } from './Fade';
6
+ export { default as Fade } from './Fade';
7
+ export type { RotateProps } from './Rotate';
8
+ export { default as Rotate } from './Rotate';
9
+ export type { ScaleProps } from './Scale';
10
+ export { default as Scale } from './Scale';
11
+ export { default as Slide } from './Slide';
12
+ export type { SlideProps } from './Slide';
13
+ export { default as SlideFade } from './SlideFade';
14
+ export type { SlideFadeDirection, SlideFadeProps } from './SlideFade';
15
+ export { default as Translate } from './Translate';
16
+ export type { TranslateFrom, TranslateProps } from './Translate';
@@ -1,6 +1,8 @@
1
1
  export { default } from './Transition.js';
2
2
  export { default as Collapse } from './Collapse.js';
3
3
  export { default as Fade } from './Fade.js';
4
- export { default as Grow } from './Grow.js';
4
+ export { default as Rotate } from './Rotate.js';
5
+ export { default as Scale } from './Scale.js';
6
+ export { default as Slide } from './Slide.js';
5
7
  export { default as SlideFade } from './SlideFade.js';
6
- export { default as Zoom } from './Zoom.js';
8
+ export { default as Translate } from './Translate.js';
@@ -1,5 +1,5 @@
1
1
  import { TransitionDuration } from './Transition';
2
2
  export declare function useAutoTransitionDuration(duration?: TransitionDuration): {
3
- autoTransitionDuration: import("react").MutableRefObject<number>;
3
+ autoTransitionDurationRef: import("react").RefObject<number>;
4
4
  addEndListener: (node: HTMLElement, next: VoidFunction) => void;
5
5
  };
@@ -2,14 +2,14 @@ import { useRef, useEffect } from 'react';
2
2
 
3
3
  function useAutoTransitionDuration(duration) {
4
4
  const timer = useRef(NaN);
5
- const autoTransitionDuration = useRef(NaN);
5
+ const autoTransitionDurationRef = useRef(NaN);
6
6
  const addEndListener = (_, next) => {
7
7
  if (duration === 'auto') {
8
- timer.current = window.setTimeout(() => next(), autoTransitionDuration.current || 0);
8
+ timer.current = window.setTimeout(() => next(), autoTransitionDurationRef.current || 0);
9
9
  }
10
10
  };
11
11
  useEffect(() => () => window.clearTimeout(timer.current), []);
12
- return { autoTransitionDuration, addEndListener };
12
+ return { autoTransitionDurationRef, addEndListener };
13
13
  }
14
14
 
15
15
  export { useAutoTransitionDuration };
@@ -1,7 +1,6 @@
1
1
  import { getTransitionStyleProps } from './getTransitionStyleProps.js';
2
2
 
3
3
  function useSetNodeTransition(props, style) {
4
- /* eslint-disable no-param-reassign */
5
4
  const setNodeTransition = (node, mode) => {
6
5
  const transitionProps = getTransitionStyleProps(mode, props);
7
6
  const { properties } = props;
@@ -28,7 +27,6 @@ function useSetNodeTransition(props, style) {
28
27
  node.style.transition = transition;
29
28
  }
30
29
  };
31
- /* eslint-enable no-param-reassign */
32
30
  return [setNodeTransition, resetNodeTransition];
33
31
  }
34
32
 
package/Tree/Tree.js CHANGED
@@ -135,6 +135,5 @@ const Tree = forwardRef(function Tree(props, ref) {
135
135
  const onSelect = selectable ? selectHandler : undefined;
136
136
  return (jsx("div", { ref: ref, className: cx(treeClasses.host, className), ...restRootProp, children: jsx(TreeNodeList, { ...treeNodeListProps, multiple: multiple, nodes: displayNodes, onExpand: onExpand, onSelect: onSelect, selectable: selectable, size: size, treeNodeProps: treeNodeProps, treeNodeRefs: treeNodeRefs }) }));
137
137
  });
138
- var Tree$1 = Tree;
139
138
 
140
- export { Tree$1 as default };
139
+ export { Tree as default };
package/Tree/TreeNode.js CHANGED
@@ -1,12 +1,13 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { treeClasses } from '@mezzanine-ui/core/tree';
3
4
  import { CaretRightIcon } from '@mezzanine-ui/icons';
4
5
  import { forwardRef, useContext, useMemo } from 'react';
6
+ import Checkbox from '../Checkbox/Checkbox.js';
5
7
  import Typography from '../Typography/Typography.js';
6
8
  import { MezzanineConfig } from '../Provider/context.js';
7
- import Loading from '../Loading/Loading.js';
9
+ import Spin from '../Spin/Spin.js';
8
10
  import Icon from '../Icon/Icon.js';
9
- import Checkbox from '../Checkbox/Checkbox.js';
10
11
  import Collapse from '../Transition/Collapse.js';
11
12
  import cx from 'clsx';
12
13
 
@@ -18,12 +19,12 @@ const TreeNode = forwardRef(function TreeNode(props, ref) {
18
19
  const { children, className, disabled, dynamicNodesFetching, expanded, indeterminate, label, multiple = false, onExpand: onExpandProp, onSelect: onSelectProp, selectable = false, selected, size = globalSize, value, ...restRootProps } = props;
19
20
  const variant = useMemo(() => {
20
21
  if (size === 'small') {
21
- return 'input3';
22
+ return 'input';
22
23
  }
23
24
  if (size === 'large') {
24
- return 'input1';
25
+ return 'input';
25
26
  }
26
- return 'input2';
27
+ return 'input';
27
28
  }, [size]);
28
29
  const onExpand = onExpandProp
29
30
  ? () => {
@@ -43,8 +44,7 @@ const TreeNode = forwardRef(function TreeNode(props, ref) {
43
44
  [treeClasses.nodeLabelIndeterminate]: indeterminate,
44
45
  [treeClasses.nodeLabelActive]: selected,
45
46
  [treeClasses.nodeLabelDisabled]: disabled,
46
- }), children: label }))] }), mayHaveChildren && (jsx(Collapse, { in: expanded, appear: false, children: children || jsx(Loading, { loading: true, iconProps: { size: 16 } }) }))] }));
47
+ }), children: label }))] }), mayHaveChildren && (jsx(Collapse, { in: expanded, appear: false, children: children || jsx(Spin, { loading: true, iconProps: { size: 16 } }) }))] }));
47
48
  });
48
- var TreeNode$1 = TreeNode;
49
49
 
50
- export { TreeNode$1 as default };
50
+ export { TreeNode as default };
@@ -24,6 +24,5 @@ const TreeNodeList = forwardRef((props, ref) => {
24
24
  return (jsx(TreeNode, { ref: getNodeRefHandler === null || getNodeRefHandler === void 0 ? void 0 : getNodeRefHandler(value), ...treeNodeProps, multiple: multiple, onExpand: onExpand, onSelect: onSelect, selectable: selectable, size: size, value: value, ...restNodeProps, children: (siblingNodes === null || siblingNodes === void 0 ? void 0 : siblingNodes.length) ? (jsx(TreeNodeList, { ...restRootProp, className: className, multiple: multiple, nodes: siblingNodes, onExpand: onExpand, onSelect: onSelect, selectable: selectable, size: size, treeNodeRefs: treeNodeRefs })) : undefined }, value));
25
25
  }) }));
26
26
  });
27
- var TreeNodeList$1 = TreeNodeList;
28
27
 
29
- export { TreeNodeList$1 as default };
28
+ export { TreeNodeList as default };
package/Tree/index.d.ts CHANGED
@@ -1,8 +1,13 @@
1
1
  export * from './typings';
2
2
  export { uniqueArray, toggleValue, toggleValueWithStatusControl, } from './toggleValue';
3
3
  export { traverseTree } from './traverseTree';
4
- export { UseTreeExpandedValueProps, useTreeExpandedValue, } from './useTreeExpandedValue';
5
- export { GetTreeNodeEntitiesProps, getTreeNodeEntities, } from './getTreeNodeEntities';
6
- export { TreeNodeElementProps, TreeNodeProps, default as TreeNode, } from './TreeNode';
7
- export { TreeNodeListElementProps, TreeNodeListProps, default as TreeNodeList, } from './TreeNodeList';
8
- export { TreeProps, default } from './Tree';
4
+ export { useTreeExpandedValue } from './useTreeExpandedValue';
5
+ export type { UseTreeExpandedValueProps } from './useTreeExpandedValue';
6
+ export { getTreeNodeEntities } from './getTreeNodeEntities';
7
+ export type { GetTreeNodeEntitiesProps } from './getTreeNodeEntities';
8
+ export { default as TreeNode } from './TreeNode';
9
+ export type { TreeNodeElementProps, TreeNodeProps } from './TreeNode';
10
+ export { default as TreeNodeList } from './TreeNodeList';
11
+ export type { TreeNodeListElementProps, TreeNodeListProps, } from './TreeNodeList';
12
+ export type { TreeProps } from './Tree';
13
+ export { default } from './Tree';
package/Tree/typings.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { MutableRefObject, ReactNode } from 'react';
1
+ import { RefObject, ReactNode } from 'react';
2
2
  import { TreeNodeDataShape, TreeNodeEntityShape, TreeNodePropShape, TreeNodeValue } from '@mezzanine-ui/core/tree';
3
3
  export type TreeNodeProp = TreeNodePropShape<ReactNode>;
4
4
  export type TreeNodeData = TreeNodeDataShape<ReactNode>;
5
5
  export type TreeNodeEntity = TreeNodeEntityShape<ReactNode>;
6
6
  export type TreeNodeEntities = Map<TreeNodeValue, TreeNodeEntity>;
7
7
  export type TreeNodeRefsShape = Record<TreeNodeValue, HTMLLIElement>;
8
- export type TreeNodeRefs = MutableRefObject<TreeNodeRefsShape | undefined>;
8
+ export type TreeNodeRefs = RefObject<TreeNodeRefsShape | undefined>;
9
9
  export type TreeExpandControl = {
10
10
  collapse: (value: TreeNodeValue) => void;
11
11
  collapseAll: () => void;
@@ -1,5 +1,6 @@
1
1
  import { JSXElementConstructor } from 'react';
2
- import { TypographyAlign, TypographyColor, TypographyDisplay, TypographyVariant, TypographyWeight } from '@mezzanine-ui/core/typography';
2
+ import { TypographyAlign, TypographyColor, TypographyDisplay } from '@mezzanine-ui/core/typography';
3
+ import { TypographySemanticType } from '@mezzanine-ui/system/typography';
3
4
  import { ComponentOverridableForwardRefComponentPropsFactory } from '../utils/jsx-types';
4
5
  export type TypographyComponent = `h${1 | 2 | 3 | 4 | 5 | 6}` | 'p' | 'span' | 'label' | 'div' | 'caption' | 'a' | JSXElementConstructor<any>;
5
6
  interface TypographyPropsBase {
@@ -8,7 +9,7 @@ interface TypographyPropsBase {
8
9
  */
9
10
  align?: TypographyAlign;
10
11
  /**
11
- * The color name provided by palette.
12
+ * The text semantic color from the palette.
12
13
  */
13
14
  color?: TypographyColor;
14
15
  /**
@@ -28,14 +29,10 @@ interface TypographyPropsBase {
28
29
  */
29
30
  noWrap?: boolean;
30
31
  /**
31
- * Applies the typography variant.
32
- * @default 'body1'
32
+ * Applies the typography semantic type.
33
+ * @default 'body'
33
34
  */
34
- variant?: TypographyVariant;
35
- /**
36
- * The css variable for customizing `font-weight`.
37
- */
38
- weight?: TypographyWeight;
35
+ variant?: TypographySemanticType;
39
36
  }
40
37
  export type TypographyProps<C extends TypographyComponent = 'p'> = ComponentOverridableForwardRefComponentPropsFactory<TypographyComponent, C, TypographyPropsBase>;
41
38
  /**
@@ -3,11 +3,11 @@ import { forwardRef } from 'react';
3
3
  import { toTypographyCssVars, typographyClasses } from '@mezzanine-ui/core/typography';
4
4
  import cx from 'clsx';
5
5
 
6
- function getComponentFromVariant(variant) {
7
- if (variant.startsWith('h')) {
8
- return variant;
6
+ function getComponentFromType(type) {
7
+ if (type === 'h1' || type === 'h2' || type === 'h3') {
8
+ return type;
9
9
  }
10
- if (variant.startsWith('body')) {
10
+ if (type.startsWith('body') || type.startsWith('text-link-body')) {
11
11
  return 'p';
12
12
  }
13
13
  return 'span';
@@ -16,26 +16,24 @@ function getComponentFromVariant(variant) {
16
16
  * The react component for `mezzanine` typography.
17
17
  */
18
18
  const Typography = forwardRef(function Typography(props, ref) {
19
- const { align, children, className, color, component, display, ellipsis = false, noWrap = false, variant = 'body1', style: styleProp, weight, ...rest } = props;
20
- const Component = component || getComponentFromVariant(variant);
19
+ const { align, children, className, color, component, display, ellipsis = false, noWrap = false, variant = 'body', style: styleProp, ...rest } = props;
20
+ const Component = component || getComponentFromType(variant);
21
21
  const cssVars = toTypographyCssVars({
22
22
  align,
23
23
  color,
24
24
  display,
25
- weight,
26
25
  });
27
26
  const style = {
28
27
  ...cssVars,
29
28
  ...styleProp,
30
29
  };
31
30
  const title = ellipsis && typeof children === 'string' ? children : undefined;
32
- return (jsx(Component, { ...rest, ref: ref, className: cx(typographyClasses.variant(variant), {
31
+ return (jsx(Component, { ...rest, ref: ref, className: cx(typographyClasses.type(variant), {
33
32
  [typographyClasses.align]: align,
34
33
  [typographyClasses.color]: color,
35
34
  [typographyClasses.display]: display,
36
35
  [typographyClasses.ellipsis]: ellipsis,
37
36
  [typographyClasses.noWrap]: noWrap,
38
- [typographyClasses.weight]: weight,
39
37
  }, className), style: style, title: title, children: children }));
40
38
  });
41
39
 
@@ -1,11 +1,8 @@
1
- import { ElementRef, PropsWithoutRef, ReactElement, RefAttributes } from 'react';
1
+ import { PropsWithoutRef, ReactElement, RefAttributes } from 'react';
2
2
  import { TypographyComponent, TypographyProps } from './Typography';
3
- export type { TypographyAlign, TypographyColor, TypographyDisplay, TypographyVariant, TypographyWeight, } from '@mezzanine-ui/core/typography';
3
+ export type { TypographyAlign, TypographyColor, TypographyDisplay, } from '@mezzanine-ui/core/typography';
4
+ export type { TypographySemanticType } from '@mezzanine-ui/system/typography';
4
5
  export type { TypographyComponent, TypographyProps };
5
- /**
6
- * @remark
7
- * Add type alias here for parsable to react docgen typescript.
8
- */
9
- type GenericTypography = <C extends TypographyComponent = 'p'>(props: PropsWithoutRef<TypographyProps<C>> & RefAttributes<ElementRef<C>>) => ReactElement;
6
+ type GenericTypography = <C extends TypographyComponent = 'p'>(props: PropsWithoutRef<TypographyProps<C>> & RefAttributes<HTMLElement>) => ReactElement<any>;
10
7
  declare const _default: GenericTypography;
11
8
  export default _default;
@@ -0,0 +1,175 @@
1
+ import { type UploadItemStatus, type UploadMode, type UploadSize } from '@mezzanine-ui/core/upload';
2
+ import { type ReactNode } from 'react';
3
+ import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
4
+ import type { UploaderProps } from './Uploader';
5
+ export interface UploadFile {
6
+ /**
7
+ * The file object.
8
+ * Required when uploading new files.
9
+ * Optional when `url` is provided for already uploaded files.
10
+ */
11
+ file?: File;
12
+ /**
13
+ * The URL of the uploaded file.
14
+ * When provided, this will be used to display files that have already been uploaded to the server.
15
+ * Useful for loading file lists from the backend.
16
+ */
17
+ url?: string;
18
+ /**
19
+ * The unique id of the file.
20
+ */
21
+ id: string;
22
+ /**
23
+ * The upload status of the file.
24
+ * @default 'loading'
25
+ */
26
+ status: UploadItemStatus;
27
+ /**
28
+ * The upload progress percentage (0-100).
29
+ * @default 0
30
+ */
31
+ progress?: number;
32
+ /**
33
+ * Error message to display when status is 'error'.
34
+ * If not provided, the default error message from Upload component will be used.
35
+ */
36
+ errorMessage?: string;
37
+ /**
38
+ * Error icon to display when status is 'error'.
39
+ * If not provided, the default error icon from Upload component will be used.
40
+ */
41
+ errorIcon?: ReactNode;
42
+ }
43
+ export interface UploadProps extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'onChange'> {
44
+ /**
45
+ * The accept attributes of native input element.
46
+ * @example 'image/*', '.pdf,.doc,.docx'
47
+ */
48
+ accept?: string;
49
+ /**
50
+ * Whether the upload is disabled.
51
+ * @default false
52
+ */
53
+ disabled?: boolean;
54
+ /**
55
+ * Controlled file list for the upload component.
56
+ * Provide this along with `onChange` to fully control the file state.
57
+ */
58
+ files?: UploadFile[];
59
+ /**
60
+ * Array of hints to display with the upload component.
61
+ */
62
+ hints?: UploaderProps['hints'];
63
+ /**
64
+ * Icon configuration for different actions and states.
65
+ */
66
+ uploaderIcon?: UploaderProps['icon'];
67
+ /**
68
+ * The id of input element.
69
+ */
70
+ id?: string;
71
+ /**
72
+ * Since at Mezzanine we use a host element to wrap our input, most derived props will be passed to the host element.
73
+ * If you need direct control to the input element, use this prop to provide to it.
74
+ */
75
+ inputProps?: UploaderProps['inputProps'];
76
+ /**
77
+ * The react ref passed to input element.
78
+ */
79
+ inputRef?: UploaderProps['inputRef'];
80
+ /**
81
+ * Whether to fill the width of the container.
82
+ * @default false
83
+ */
84
+ isFillWidth?: boolean;
85
+ /**
86
+ * Maximum number of files allowed to upload.
87
+ * If exceeded, the excess files will be ignored.
88
+ */
89
+ maxFiles?: number;
90
+ /**
91
+ * The display mode for the upload component.
92
+ * - 'list': Display files as a list using UploadItem
93
+ * - 'button-list': Display uploader as a button with files in list format
94
+ * - 'cards': Display image files as picture cards using UploadPictureCard
95
+ * - 'card-wall': Display uploader at top with image files as picture cards below
96
+ * @default 'list'
97
+ */
98
+ mode?: UploadMode;
99
+ /**
100
+ * Whether can select multiple files to upload.
101
+ * @default false
102
+ */
103
+ multiple?: boolean;
104
+ /**
105
+ * The name attribute of the input element.
106
+ */
107
+ name?: string;
108
+ /**
109
+ * The size of the upload component.
110
+ * @default 'main'
111
+ */
112
+ size?: UploadSize;
113
+ /**
114
+ * Whether to show file size in list mode.
115
+ * @default true
116
+ */
117
+ showFileSize?: boolean;
118
+ /**
119
+ * Label configuration for different states.
120
+ */
121
+ uploaderLabel?: UploaderProps['label'];
122
+ /**
123
+ * Default error message to display when upload fails.
124
+ * This will be used when a file's status becomes 'error' and no errorMessage is provided.
125
+ */
126
+ errorMessage?: string;
127
+ /**
128
+ * Default error icon to display when upload fails.
129
+ * This will be used when a file's status becomes 'error' and no errorIcon is provided.
130
+ */
131
+ errorIcon?: ReactNode;
132
+ /**
133
+ * Fired when files list changes.
134
+ */
135
+ onChange?: (files: UploadFile[]) => void;
136
+ /**
137
+ * Fired when a file is deleted.
138
+ */
139
+ onDelete?: (fileId: string, file: File) => void;
140
+ /**
141
+ * Fired when a file is downloaded (done state).
142
+ */
143
+ onDownload?: (fileId: string, file: File) => void;
144
+ /**
145
+ * Fired when the maximum number of files is exceeded.
146
+ * @param maxFiles - The maximum number of files allowed
147
+ * @param selectedCount - The number of files selected
148
+ * @param currentCount - The current number of files in the list
149
+ */
150
+ onMaxFilesExceeded?: (maxFiles: number, selectedCount: number, currentCount: number) => void;
151
+ /**
152
+ * Fired when a file upload is retried (error state).
153
+ */
154
+ onReload?: (fileId: string, file: File) => void;
155
+ /**
156
+ * Fired when files are selected for upload.
157
+ * @param files - The files to upload
158
+ * @param setProgress - Callback to update upload progress for a specific file (file index, progress 0-100)
159
+ * @returns Can return:
160
+ * - UploadFile[]: Full file objects with backend-provided IDs and status
161
+ * - { id: string }[]: Array of objects with backend-provided IDs (status will be set to 'done')
162
+ * - void/Promise<void>: For backward compatibility (status will be set to 'done')
163
+ */
164
+ onUpload?: (files: File[], setProgress?: (fileIndex: number, progress: number) => void) => Promise<UploadFile[]> | UploadFile[] | Promise<Array<{
165
+ id: string;
166
+ }>> | Array<{
167
+ id: string;
168
+ }> | Promise<void> | void;
169
+ /**
170
+ * Fired when zoom in is clicked on a picture card (done state).
171
+ */
172
+ onZoomIn?: (fileId: string, file: File) => void;
173
+ }
174
+ declare const Upload: import("react").ForwardRefExoticComponent<UploadProps & import("react").RefAttributes<HTMLDivElement>>;
175
+ export default Upload;