@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
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { createContext } from 'react';
2
3
 
3
4
  const AccordionControlContext = createContext(undefined);
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { forwardRef, useContext, useMemo } from 'react';
3
4
  import { accordionClasses } from '@mezzanine-ui/core/accordion';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import { forwardRef, useContext, useCallback, useMemo } from 'react';
3
4
  import { ChevronDownIcon } from '@mezzanine-ui/icons';
@@ -34,18 +35,17 @@ const AccordionSummary = forwardRef(function AccordionSummary(props, ref) {
34
35
  }
35
36
  return result;
36
37
  }, [detailsId, expanded]);
37
- const DefaultIcon = useCallback((iconProps) => {
38
- const { className: iconClassNames = '' } = iconProps;
39
- return (jsx(Icon, { color: disabled ? 'disabled' : 'primary', className: cx(accordionClasses.summaryIcon, {
40
- [accordionClasses.summaryIconExpanded]: expanded,
41
- [accordionClasses.summaryIconDisabled]: disabled,
42
- }, iconClassNames, iconClassNameProp), icon: ChevronDownIcon, onClick: onToggle, onMouseDown: (evt) => evt.preventDefault(), role: "button" }));
43
- }, [disabled, expanded, iconClassNameProp, onToggle]);
38
+ const defaultIconElement = useMemo(() => (jsx(Icon, { color: disabled ? 'neutral-faint' : 'neutral', className: cx(accordionClasses.summaryIcon, {
39
+ [accordionClasses.summaryIconExpanded]: expanded,
40
+ [accordionClasses.summaryIconDisabled]: disabled,
41
+ }, iconClassNameProp), icon: ChevronDownIcon, onClick: onToggle, onMouseDown: (evt) => evt.preventDefault(), role: "button" })), [disabled, expanded, iconClassNameProp, onToggle]);
42
+ const defaultIconWithPrefixClassName = useMemo(() => (jsx(Icon, { color: disabled ? 'neutral-faint' : 'neutral', className: cx(accordionClasses.summaryIcon, {
43
+ [accordionClasses.summaryIconExpanded]: expanded,
44
+ [accordionClasses.summaryIconDisabled]: disabled,
45
+ }, accordionClasses.summaryMainPartPrefix, iconClassNameProp), icon: ChevronDownIcon, onClick: onToggle, onMouseDown: (evt) => evt.preventDefault(), role: "button" })), [disabled, expanded, iconClassNameProp, onToggle]);
44
46
  return (jsxs("div", { ...rest, ...ariaProps, ref: ref, className: cx(accordionClasses.summary, {
45
47
  [accordionClasses.summaryDisabled]: disabled,
46
- }, className), onClick: onToggle, onKeyDown: onKeyDown, role: "button", tabIndex: 0, children: [jsxs("div", { className: accordionClasses.summaryMainPart, children: [suffixActions
47
- ? prefixIcon || (jsx(DefaultIcon, { className: accordionClasses.summaryMainPartPrefix }))
48
- : null, children] }), suffixActions || jsx(DefaultIcon, {})] }));
48
+ }, className), onClick: onToggle, onKeyDown: onKeyDown, role: "button", tabIndex: 0, children: [jsxs("div", { className: accordionClasses.summaryMainPart, children: [suffixActions ? prefixIcon || defaultIconWithPrefixClassName : null, children] }), suffixActions || defaultIconElement] }));
49
49
  });
50
50
 
51
51
  export { AccordionSummary as default };
@@ -1,3 +1,6 @@
1
- export { AccordionProps, default } from './Accordion';
2
- export { AccordionSummaryProps, default as AccordionSummary, } from './AccordionSummary';
3
- export { AccordionDetailsProps, default as AccordionDetails, } from './AccordionDetails';
1
+ export type { AccordionProps } from './Accordion';
2
+ export { default } from './Accordion';
3
+ export { default as AccordionSummary } from './AccordionSummary';
4
+ export type { AccordionSummaryProps } from './AccordionSummary';
5
+ export { default as AccordionDetails } from './AccordionDetails';
6
+ export type { AccordionDetailsProps } from './AccordionDetails';
package/Alert/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { AlertSeverity } from '@mezzanine-ui/core/alert';
2
- export { AlertProps, default } from './Alert';
1
+ export type { AlertSeverity } from '@mezzanine-ui/core/alert';
2
+ export type { AlertProps } from './Alert';
3
+ export { default } from './Alert';
@@ -0,0 +1,93 @@
1
+ import type { Key, MouseEvent, ReactElement } from 'react';
2
+ import { AlertBannerSeverity } from '@mezzanine-ui/core/alert-banner';
3
+ import { IconDefinition } from '@mezzanine-ui/icons';
4
+ import { ButtonPropsBase } from '../Button';
5
+ import { Notifier, NotifierConfig, NotifierData } from '../Notifier';
6
+ import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
7
+ export interface AlertBannerAction extends Omit<ButtonPropsBase, 'children'> {
8
+ /**
9
+ * The text content of the button.
10
+ */
11
+ content?: string;
12
+ /**
13
+ * Callback when the button is clicked.
14
+ */
15
+ onClick: (event: MouseEvent<HTMLButtonElement>) => void;
16
+ }
17
+ export type AlertBannerConfigProps = NotifierConfig;
18
+ export interface AlertBannerData extends Omit<NotifierData, 'onClose'>, AlertBannerConfigProps {
19
+ /**
20
+ * The action buttons to be rendered on the right side of the banner.
21
+ * Maximum 2 actions, minimum 0 (will not display if empty).
22
+ */
23
+ actions?: AlertBannerAction[];
24
+ /**
25
+ * Whether to show the close button.
26
+ */
27
+ closable?: boolean;
28
+ /**
29
+ * @internal
30
+ */
31
+ createdAt?: number;
32
+ /**
33
+ * Custom icon. Defaults to severity icon when omitted.
34
+ */
35
+ icon?: IconDefinition;
36
+ /**
37
+ * Main message displayed in the banner.
38
+ */
39
+ message: string;
40
+ /**
41
+ * Callback when the banner is closed.
42
+ */
43
+ onClose?: () => void;
44
+ /**
45
+ * The key of alert banner.
46
+ */
47
+ reference?: Key;
48
+ /**
49
+ * The severity of the banner.
50
+ */
51
+ severity: AlertBannerSeverity;
52
+ }
53
+ export interface AlertBannerProps extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'children' | 'title'> {
54
+ /**
55
+ * The action buttons to be rendered on the right side of the banner.
56
+ * Maximum 2 actions, minimum 0 (will not display if empty).
57
+ */
58
+ actions?: AlertBannerAction[];
59
+ /**
60
+ * Whether to show the close button.
61
+ */
62
+ closable?: boolean;
63
+ /**
64
+ * Disable portal rendering. Only used internally by grouped rendering.
65
+ * @internal
66
+ */
67
+ disablePortal?: boolean;
68
+ /**
69
+ * Custom icon. Defaults to severity icon when omitted.
70
+ */
71
+ icon?: IconDefinition;
72
+ /**
73
+ * Main message displayed in the banner.
74
+ */
75
+ message: string;
76
+ /**
77
+ * Callback when the banner is closed.
78
+ */
79
+ onClose?: () => void;
80
+ /**
81
+ * The severity of the banner.
82
+ */
83
+ severity: AlertBannerSeverity;
84
+ }
85
+ export type AlertBannerType = ((props: AlertBannerData) => ReactElement | null) & Notifier<AlertBannerData, AlertBannerConfigProps> & Record<string, (message: AlertBannerData['message'], props?: Omit<AlertBannerData, 'message' | 'severity' | 'icon'> & {
86
+ key?: Key;
87
+ }) => Key>;
88
+ /**
89
+ * The react component for `mezzanine` alert banner.
90
+ */
91
+ export declare const AlertBannerComponent: import("react").ForwardRefExoticComponent<AlertBannerProps & import("react").RefAttributes<HTMLDivElement>>;
92
+ declare const AlertBanner: AlertBannerType;
93
+ export default AlertBanner;
@@ -0,0 +1,154 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useCallback, forwardRef, useState, useRef, useEffect } from 'react';
4
+ import { alertBannerIcons, alertBannerClasses, alertBannerGroupClasses } from '@mezzanine-ui/core/alert-banner';
5
+ import Button from '../Button/Button.js';
6
+ import ClearActions from '../ClearActions/ClearActions.js';
7
+ import { useComposeRefs } from '../hooks/useComposeRefs.js';
8
+ import Icon from '../Icon/Icon.js';
9
+ import Portal from '../Portal/Portal.js';
10
+ import cx from 'clsx';
11
+ import { createNotifier } from '../Notifier/createNotifier.js';
12
+
13
+ function getPriority(severity) {
14
+ if (severity === 'info') {
15
+ return 1;
16
+ }
17
+ return 0;
18
+ }
19
+ function sortAlertNotifiers(notifiers) {
20
+ return [...notifiers].sort((a, b) => {
21
+ const priorityDiff = getPriority(a.severity) - getPriority(b.severity);
22
+ if (priorityDiff !== 0) {
23
+ return priorityDiff;
24
+ }
25
+ if (a.createdAt !== b.createdAt) {
26
+ return b.createdAt - a.createdAt;
27
+ }
28
+ return 0;
29
+ });
30
+ }
31
+ /**
32
+ * The react component for `mezzanine` alert banner.
33
+ */
34
+ const AlertBannerComponent = forwardRef(function AlertBanner(props, ref) {
35
+ var _a;
36
+ const { actions, className, closable = true, disablePortal = false, icon, message, onClose, severity, ...rest } = props;
37
+ const [visible, setVisible] = useState(true);
38
+ const [isExiting, setIsExiting] = useState(false);
39
+ const [isEntering, setIsEntering] = useState(false);
40
+ const nodeRef = useRef(null);
41
+ const composedRef = useComposeRefs([ref, nodeRef]);
42
+ const handleClose = useCallback(() => {
43
+ setIsExiting(true);
44
+ setTimeout(() => {
45
+ setVisible(false);
46
+ if (onClose) {
47
+ onClose();
48
+ }
49
+ }, 250); // moderate duration
50
+ }, [onClose]);
51
+ useEffect(() => {
52
+ if (actions && actions.length > 2) {
53
+ console.warn('AlertBanner: actions maximum is 2');
54
+ }
55
+ }, [actions]);
56
+ useEffect(() => {
57
+ if (visible && !isExiting && nodeRef.current) {
58
+ // Force reflow to ensure initial state is applied
59
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
60
+ nodeRef.current.offsetHeight;
61
+ // Trigger entering animation in next frame
62
+ requestAnimationFrame(() => {
63
+ setIsEntering(true);
64
+ });
65
+ }
66
+ }, [visible, isExiting]);
67
+ if (!visible) {
68
+ return null;
69
+ }
70
+ const resolvedIcon = icon !== null && icon !== void 0 ? icon : alertBannerIcons[severity];
71
+ const showCloseButton = closable !== null && closable !== void 0 ? closable : Boolean(onClose);
72
+ const validActions = (_a = actions === null || actions === void 0 ? void 0 : actions.slice(0, 2)) !== null && _a !== void 0 ? _a : []; // Maximum support 2 actions
73
+ const hasActions = validActions.length > 0;
74
+ const actionsArea = hasActions ? (jsx("div", { className: alertBannerClasses.actions, children: validActions.map((action, index) => {
75
+ const { content, onClick, ...buttonProps } = action;
76
+ return (jsx(Button, { onClick: onClick, size: "minor", variant: "inverse", ...buttonProps, children: content }, index));
77
+ }) })) : null;
78
+ const clearActionsArea = showCloseButton ? (jsx(ClearActions, { className: alertBannerClasses.close, onClick: handleClose, type: "standard", variant: "inverse" })) : null;
79
+ const { maxCount: _maxCount, instanceKey: _instanceKey, ...restProps } = rest;
80
+ const content = (jsxs("div", { ...restProps, ref: composedRef, "aria-live": "polite", className: cx(alertBannerClasses.host, alertBannerClasses.severity(severity), isExiting && alertBannerClasses.exiting, isEntering && !isExiting && alertBannerClasses.entering, className), role: "status", children: [jsxs("div", { className: alertBannerClasses.body, children: [jsx(Icon, { className: alertBannerClasses.icon, icon: resolvedIcon }), jsx("span", { className: alertBannerClasses.message, children: message })] }), jsxs("div", { className: alertBannerClasses.controls, children: [actionsArea, clearActionsArea] })] }));
81
+ if (disablePortal) {
82
+ return content;
83
+ }
84
+ return jsx(Portal, { layer: "alert", children: content });
85
+ });
86
+ const AlertBanner = ((props) => {
87
+ const { message, reference, onClose: onCloseProp, maxCount: _maxCount, createdAt: _createdAt, ...restProps } = props;
88
+ const onClose = useCallback(() => {
89
+ if (onCloseProp) {
90
+ onCloseProp();
91
+ }
92
+ if (reference) {
93
+ AlertBanner.remove(reference);
94
+ }
95
+ }, [onCloseProp, reference]);
96
+ return (jsx(AlertBannerComponent, { ...restProps, message: message, onClose: onClose }));
97
+ });
98
+ function initializeAlertBannerNotifier() {
99
+ const notifier = createNotifier({
100
+ maxCount: undefined,
101
+ render: (notifierProps) => {
102
+ const { key, reference: _reference, onClose: onCloseProp, createdAt: _createdAt, ...restProps } = notifierProps;
103
+ return (jsx(AlertBannerComponent, { ...restProps, disablePortal: true, onClose: () => {
104
+ if (onCloseProp) {
105
+ onCloseProp();
106
+ }
107
+ notifier.remove(key);
108
+ } }));
109
+ },
110
+ renderContainer: (children) => (jsx(Portal, { layer: "alert", children: jsx("div", { className: alertBannerGroupClasses.host, children: children }) })),
111
+ sortBeforeUpdate: sortAlertNotifiers,
112
+ });
113
+ return notifier;
114
+ }
115
+ const alertBannerNotifier = initializeAlertBannerNotifier();
116
+ AlertBanner.add = (notifier) => {
117
+ var _a;
118
+ return alertBannerNotifier.add({
119
+ ...notifier,
120
+ createdAt: (_a = notifier.createdAt) !== null && _a !== void 0 ? _a : Date.now(),
121
+ });
122
+ };
123
+ AlertBanner.config = alertBannerNotifier.config;
124
+ AlertBanner.destroy = alertBannerNotifier.destroy;
125
+ AlertBanner.remove = alertBannerNotifier.remove;
126
+ AlertBanner.getConfig = alertBannerNotifier.getConfig;
127
+ const severities = [
128
+ // support severity: info, warning, error
129
+ {
130
+ key: 'info',
131
+ icon: alertBannerIcons.info,
132
+ },
133
+ {
134
+ key: 'warning',
135
+ icon: alertBannerIcons.warning,
136
+ },
137
+ {
138
+ key: 'error',
139
+ icon: alertBannerIcons.error,
140
+ },
141
+ ];
142
+ const validSeverities = ['info', 'warning', 'error'];
143
+ severities.forEach((severity) => {
144
+ AlertBanner[severity.key] = (message, props) => AlertBanner.add({
145
+ ...props,
146
+ message,
147
+ severity: validSeverities.includes(severity.key)
148
+ ? severity.key
149
+ : 'info',
150
+ icon: severity.icon,
151
+ });
152
+ });
153
+
154
+ export { AlertBannerComponent, AlertBanner as default };
@@ -0,0 +1,2 @@
1
+ export { default } from './AlertBanner';
2
+ export type { AlertBannerProps } from './AlertBanner';
@@ -0,0 +1 @@
1
+ export { default } from './AlertBanner.js';
package/Anchor/Anchor.js CHANGED
@@ -9,7 +9,7 @@ import cx from 'clsx';
9
9
  * This component should always be full width of its parent.
10
10
  */
11
11
  const Anchor = forwardRef(function Anchor(props, ref) {
12
- const { activeAnchorId, className, children, ellipsis = false, list, maxWidth, onClick, style, ...rest } = props;
12
+ const { activeAnchorId, className, ellipsis = false, list, maxWidth, onClick, style, ...rest } = props;
13
13
  const resolvedStyle = {
14
14
  ...(style || {}),
15
15
  ...(maxWidth ? { maxWidth: `${maxWidth}px` } : {}),
package/Anchor/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { AnchorProps, default } from './Anchor';
1
+ export type { AnchorProps } from './Anchor';
2
+ export { default } from './Anchor';
package/AppBar/index.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- export { AppBarBrandProps, default as AppBarBrand } from './AppBarBrand';
2
- export { AppBarMainProps, default as AppBarMain } from './AppBarMain';
3
- export { AppBarSupportProps, default as AppBarSupport } from './AppBarSupport';
4
- export { AppBarChild, AppBarChildren, AppBarProps, default } from './AppBar';
1
+ export type { AppBarBrandProps } from './AppBarBrand';
2
+ export { default as AppBarBrand } from './AppBarBrand';
3
+ export type { AppBarMainProps } from './AppBarMain';
4
+ export { default as AppBarMain } from './AppBarMain';
5
+ export type { AppBarSupportProps } from './AppBarSupport';
6
+ export { default as AppBarSupport } from './AppBarSupport';
7
+ export type { AppBarChild, AppBarChildren, AppBarProps } from './AppBar';
8
+ export { default } from './AppBar';
@@ -1,22 +1,18 @@
1
1
  import { MouseEventHandler } from 'react';
2
+ import { BackdropVariant } from '@mezzanine-ui/core/backdrop';
2
3
  import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
3
4
  import { PortalProps } from '../Portal';
4
- export interface OverlayProps extends Pick<PortalProps, 'children' | 'container' | 'disablePortal'>, NativeElementPropsWithoutKeyAndRef<'div'> {
5
+ export interface BackdropProps extends Pick<PortalProps, 'children' | 'container' | 'disablePortal'>, NativeElementPropsWithoutKeyAndRef<'div'> {
5
6
  /**
6
7
  * Controls whether to disable closing element while backdrop clicked.
7
8
  * @default false
8
9
  */
9
10
  disableCloseOnBackdropClick?: boolean;
10
11
  /**
11
- * Whether to hide backdrop.
12
+ * Controls whether to disable scroll locking when backdrop is open.
12
13
  * @default false
13
14
  */
14
- hideBackdrop?: boolean;
15
- /**
16
- * Whether to set backdrop invisible
17
- * @default false
18
- */
19
- invisibleBackdrop?: boolean;
15
+ disableScrollLock?: boolean;
20
16
  /**
21
17
  * Click handler for backdrop.
22
18
  */
@@ -25,19 +21,19 @@ export interface OverlayProps extends Pick<PortalProps, 'children' | 'container'
25
21
  * Callback fired while the element will be closed.
26
22
  */
27
23
  onClose?: VoidFunction;
28
- /**
29
- * Overlay is use on top of a component(surface)
30
- * @default false
31
- */
32
- onSurface?: boolean;
33
24
  /**
34
25
  * Controls whether to show the element.
35
26
  * @default false
36
27
  */
37
28
  open?: boolean;
29
+ /**
30
+ * The variant of backdrop.
31
+ * @default 'dark'
32
+ */
33
+ variant?: BackdropVariant;
38
34
  }
39
35
  /**
40
- * The react component for `mezzanine` overlay.
36
+ * The react component for `mezzanine` backdrop.
41
37
  */
42
- declare const Overlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLDivElement>>;
43
- export default Overlay;
38
+ declare const Backdrop: import("react").ForwardRefExoticComponent<BackdropProps & import("react").RefAttributes<HTMLDivElement>>;
39
+ export default Backdrop;
@@ -0,0 +1,40 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { backdropClasses } from '@mezzanine-ui/core/backdrop';
5
+ import { useScrollLock } from '../hooks/useScrollLock.js';
6
+ import { MOTION_EASING, MOTION_DURATION } from '@mezzanine-ui/system/motion';
7
+ import Portal from '../Portal/Portal.js';
8
+ import Fade from '../Transition/Fade.js';
9
+ import cx from 'clsx';
10
+
11
+ /**
12
+ * The react component for `mezzanine` backdrop.
13
+ */
14
+ const Backdrop = forwardRef(function Backdrop(props, ref) {
15
+ const { children, className, container, disableCloseOnBackdropClick = false, disablePortal, disableScrollLock = false, onBackdropClick, onClose, open = false, variant = 'dark', ...rest } = props;
16
+ // Lock body scroll when backdrop is open
17
+ useScrollLock({ enabled: open && !disableScrollLock });
18
+ // When using custom container or disablePortal, overlay should be absolutely positioned
19
+ // When using default Portal (to #mzn-portal-container), overlay uses relative positioning
20
+ const applyAbsolutePosition = Boolean(disablePortal || container);
21
+ return (jsx(Portal, { container: container, disablePortal: disablePortal, layer: "default", children: jsxs("div", { ...rest, ref: ref, "aria-hidden": !open, className: cx(backdropClasses.host, {
22
+ [backdropClasses.hostAbsolute]: applyAbsolutePosition,
23
+ [backdropClasses.hostOpen]: open,
24
+ }, className), role: "presentation", children: [jsx(Fade, { in: open, duration: {
25
+ enter: MOTION_DURATION.fast,
26
+ exit: MOTION_DURATION.fast,
27
+ }, easing: {
28
+ enter: MOTION_EASING.standard,
29
+ exit: MOTION_EASING.standard,
30
+ }, children: jsx("div", { "aria-hidden": "true", className: cx(backdropClasses.backdrop, backdropClasses.backdropVariant(variant)), onClick: (event) => {
31
+ if (!disableCloseOnBackdropClick && onClose) {
32
+ onClose();
33
+ }
34
+ if (onBackdropClick) {
35
+ onBackdropClick(event);
36
+ }
37
+ } }) }), jsx("div", { className: backdropClasses.content, children: children })] }) }));
38
+ });
39
+
40
+ export { Backdrop as default };
@@ -0,0 +1,2 @@
1
+ export type { BackdropProps } from './Backdrop';
2
+ export { default } from './Backdrop';
@@ -0,0 +1 @@
1
+ export { default } from './Backdrop.js';
package/Badge/Badge.d.ts CHANGED
@@ -1,18 +1,24 @@
1
- import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
2
- export interface BadgeProps extends Omit<NativeElementPropsWithoutKeyAndRef<'span'>, 'color'> {
3
- /**
4
- * It `true`, ignore passed children and display as a dot.
5
- * @default false
6
- */
7
- dot?: boolean;
8
- /**
9
- * If the children is number and greater than overflowCount, it will show overflowCount suffixed with a "+".
10
- * @default 99
11
- */
12
- overflowCount?: number;
13
- }
1
+ import { BadgeCountVariant } from '@mezzanine-ui/core/badge';
14
2
  /**
15
3
  * The react component for `mezzanine` badge.
16
4
  */
17
- declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
5
+ declare const Badge: import("react").ForwardRefExoticComponent<(Omit<Omit<NativeElementPropsWithoutKeyAndRef<"span">, "children"> & {
6
+ children?: never;
7
+ count: number;
8
+ overflowCount?: number;
9
+ text?: never;
10
+ variant: BadgeCountVariant;
11
+ }, "ref"> | Omit<Omit<NativeElementPropsWithoutKeyAndRef<"span">, "children"> & {
12
+ children?: never;
13
+ count?: never;
14
+ overflowCount?: never;
15
+ text?: string;
16
+ variant: import("@mezzanine-ui/core/badge").BadgeDotVariant;
17
+ }, "ref"> | Omit<Omit<NativeElementPropsWithoutKeyAndRef<"span">, "children"> & {
18
+ children?: import("react").ReactNode;
19
+ count?: never;
20
+ overflowCount?: never;
21
+ text?: never;
22
+ variant: import("@mezzanine-ui/core/badge").BadgeDotVariant;
23
+ }, "ref">) & import("react").RefAttributes<HTMLSpanElement>>;
18
24
  export default Badge;
package/Badge/Badge.js CHANGED
@@ -1,27 +1,25 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { badgeClasses } from '@mezzanine-ui/core/badge';
4
4
  import cx from 'clsx';
5
5
 
6
+ const isCountVariant = (variant) => [
7
+ 'count-alert',
8
+ 'count-inactive',
9
+ 'count-inverse',
10
+ 'count-brand',
11
+ 'count-info',
12
+ ].includes(variant);
6
13
  /**
7
14
  * The react component for `mezzanine` badge.
8
15
  */
9
16
  const Badge = forwardRef(function Badge(props, ref) {
10
- const { children: childrenProp, className, dot = false, overflowCount = 99, ...rest } = props;
11
- let children;
12
- if (!dot) {
13
- if (typeof childrenProp === 'number') {
14
- const count = childrenProp;
15
- children = count > overflowCount ? `${overflowCount}+` : count;
16
- }
17
- else {
18
- children = childrenProp;
19
- }
20
- }
21
- return (jsx("span", { ...rest, ref: ref, className: cx(badgeClasses.host, {
22
- [badgeClasses.dot]: dot,
23
- [badgeClasses.hide]: !dot && children === 0,
24
- }, className), children: children }));
17
+ const { children, count, className, overflowCount, text, variant, ...rest } = props;
18
+ return (jsxs("div", { className: badgeClasses.container(!!children), children: [jsx("span", { ...rest, ref: ref, className: cx(badgeClasses.host, badgeClasses.variant(variant), { [badgeClasses.hide]: isCountVariant(variant) && count === 0 }, className), children: isCountVariant(variant)
19
+ ? overflowCount && count > overflowCount
20
+ ? `${overflowCount}+`
21
+ : count
22
+ : text }), children] }));
25
23
  });
26
24
 
27
25
  export { Badge as default };
@@ -1,7 +1,7 @@
1
1
  import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
2
2
  export type BadgeContainerProps = NativeElementPropsWithoutKeyAndRef<'span'>;
3
3
  /**
4
- * The react component for `mezzanine` badge container.
4
+ * @deprecated Use `Badge` component instead.
5
5
  */
6
6
  declare const BadgeContainer: import("react").ForwardRefExoticComponent<BadgeContainerProps & import("react").RefAttributes<HTMLSpanElement>>;
7
7
  export default BadgeContainer;
@@ -4,7 +4,7 @@ import { badgeClasses } from '@mezzanine-ui/core/badge';
4
4
  import cx from 'clsx';
5
5
 
6
6
  /**
7
- * The react component for `mezzanine` badge container.
7
+ * @deprecated Use `Badge` component instead.
8
8
  */
9
9
  const BadgeContainer = forwardRef(function BadgeContainer(props, ref) {
10
10
  const { children, className, ...rest } = props;
package/Badge/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { BadgeProps, default } from './Badge';
2
- export { BadgeContainerProps, default as BadgeContainer, } from './BadgeContainer';
1
+ export type { BadgeProps } from './typings';
2
+ export { default } from './Badge';
3
+ export { default as BadgeContainer } from './BadgeContainer';
@@ -0,0 +1,48 @@
1
+ import { BadgeCountVariant, BadgeDotVariant } from '@mezzanine-ui/core/badge';
2
+ import { ReactNode } from 'react';
3
+ import { NativeElementPropsWithoutKeyAndRef } from 'react/src/utils/jsx-types';
4
+ export type BadgeProps = Omit<NativeElementPropsWithoutKeyAndRef<'span'>, 'children'> & BadgeVariantProps;
5
+ type BadgeVariantProps = BadgeCountProps | BadgeDotWithTextProps | BadgeDotProps;
6
+ type BadgeCountProps = {
7
+ /**
8
+ * ONLY AVAILABLE FOR DOT BADGE(WITHOUT TEXT).
9
+ * When dot badges have children (typically an icon),
10
+ * the dot appears on the children's top-right corner.
11
+ */
12
+ children?: never;
13
+ /**
14
+ * ONLY AVAILABLE FOR COUNT BADGE.
15
+ * Base number rendered inside the badge when using the count variant.
16
+ */
17
+ count: number;
18
+ /**
19
+ * ONLY AVAILABLE FOR COUNT BADGE.
20
+ * If the children is number and greater than overflowCount,
21
+ * it will show overflowCount suffixed with a "+".
22
+ */
23
+ overflowCount?: number;
24
+ /**
25
+ * ONLY AVAILABLE FOR DOT WITH TEXT BADGE.
26
+ * String displayed next to the dot badge.
27
+ */
28
+ text?: never;
29
+ /**
30
+ * Controls the visual style (dot vs count variants) and enables the related overflow/hide rules.
31
+ */
32
+ variant: BadgeCountVariant;
33
+ };
34
+ type BadgeDotWithTextProps = {
35
+ children?: never;
36
+ count?: never;
37
+ overflowCount?: never;
38
+ text?: string;
39
+ variant: BadgeDotVariant;
40
+ };
41
+ type BadgeDotProps = {
42
+ children?: ReactNode;
43
+ count?: never;
44
+ overflowCount?: never;
45
+ text?: never;
46
+ variant: BadgeDotVariant;
47
+ };
48
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { BreadcrumbProps } from './typings';
2
+ /**
3
+ * The react component for `mezzanine` breadcrumb.
4
+ */
5
+ declare const Breadcrumb: import("react").ForwardRefExoticComponent<BreadcrumbProps & import("react").RefAttributes<HTMLElement>>;
6
+ export default Breadcrumb;