@mezzanine-ui/react 0.13.10 → 0.13.12

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 (459) hide show
  1. package/Accordion/Accordion.d.ts +24 -24
  2. package/Accordion/Accordion.js +25 -25
  3. package/Accordion/AccordionControlContext.d.ts +9 -9
  4. package/Accordion/AccordionDetails.d.ts +10 -10
  5. package/Accordion/AccordionDetails.js +16 -16
  6. package/Accordion/AccordionSummary.d.ts +18 -18
  7. package/Accordion/AccordionSummary.js +39 -39
  8. package/Accordion/index.d.ts +3 -3
  9. package/Alert/Alert.d.ts +20 -20
  10. package/Alert/Alert.js +9 -9
  11. package/Alert/index.d.ts +2 -2
  12. package/AppBar/AppBar.d.ts +14 -14
  13. package/AppBar/AppBar.js +25 -25
  14. package/AppBar/AppBarBrand.d.ts +5 -5
  15. package/AppBar/AppBarBrand.js +4 -4
  16. package/AppBar/AppBarMain.d.ts +5 -5
  17. package/AppBar/AppBarMain.js +4 -4
  18. package/AppBar/AppBarSupport.d.ts +5 -5
  19. package/AppBar/AppBarSupport.js +4 -4
  20. package/AppBar/index.d.ts +4 -4
  21. package/Badge/Badge.d.ts +19 -19
  22. package/Badge/Badge.js +20 -20
  23. package/Badge/BadgeContainer.d.ts +8 -8
  24. package/Badge/BadgeContainer.js +7 -7
  25. package/Badge/index.d.ts +2 -2
  26. package/Button/Button.d.ts +11 -11
  27. package/Button/Button.js +29 -29
  28. package/Button/ButtonGroup.d.ts +63 -63
  29. package/Button/ButtonGroup.js +29 -29
  30. package/Button/IconButton.d.ts +21 -21
  31. package/Button/IconButton.js +7 -7
  32. package/Button/index.d.ts +20 -20
  33. package/Button/index.js +1 -2
  34. package/Button/typings.d.ts +44 -44
  35. package/Calendar/Calendar.d.ts +69 -69
  36. package/Calendar/Calendar.js +38 -38
  37. package/Calendar/CalendarCell.d.ts +22 -22
  38. package/Calendar/CalendarCell.js +11 -11
  39. package/Calendar/CalendarContext.d.ts +22 -22
  40. package/Calendar/CalendarContext.js +28 -28
  41. package/Calendar/CalendarControls.d.ts +26 -26
  42. package/Calendar/CalendarControls.js +11 -11
  43. package/Calendar/CalendarDayOfWeek.d.ts +15 -15
  44. package/Calendar/CalendarDayOfWeek.js +9 -9
  45. package/Calendar/CalendarDays.d.ts +38 -38
  46. package/Calendar/CalendarDays.js +36 -36
  47. package/Calendar/CalendarMonths.d.ts +42 -42
  48. package/Calendar/CalendarMonths.js +22 -22
  49. package/Calendar/CalendarWeeks.d.ts +41 -41
  50. package/Calendar/CalendarWeeks.js +42 -42
  51. package/Calendar/CalendarYears.d.ts +40 -40
  52. package/Calendar/CalendarYears.js +25 -25
  53. package/Calendar/index.d.ts +12 -12
  54. package/Calendar/useCalendarControlModifiers.d.ts +7 -7
  55. package/Calendar/useCalendarControlModifiers.js +20 -20
  56. package/Calendar/useCalendarControls.d.ts +12 -12
  57. package/Calendar/useCalendarControls.js +27 -27
  58. package/Calendar/useCalendarModeStack.d.ts +6 -6
  59. package/Calendar/useCalendarModeStack.js +10 -10
  60. package/Card/Card.d.ts +51 -51
  61. package/Card/Card.js +12 -12
  62. package/Card/CardActions.d.ts +34 -34
  63. package/Card/CardActions.js +7 -7
  64. package/Card/index.d.ts +2 -2
  65. package/Checkbox/CheckAll.d.ts +13 -13
  66. package/Checkbox/CheckAll.js +28 -28
  67. package/Checkbox/Checkbox.d.ts +46 -46
  68. package/Checkbox/Checkbox.js +23 -23
  69. package/Checkbox/CheckboxGroup.d.ts +47 -47
  70. package/Checkbox/CheckboxGroup.js +27 -27
  71. package/Checkbox/CheckboxGroupContext.d.ts +9 -9
  72. package/Checkbox/index.d.ts +4 -4
  73. package/ConfirmActions/ConfirmActions.d.ts +45 -45
  74. package/ConfirmActions/ConfirmActions.js +8 -8
  75. package/ConfirmActions/index.d.ts +1 -1
  76. package/DatePicker/DatePicker.d.ts +32 -32
  77. package/DatePicker/DatePicker.js +119 -119
  78. package/DatePicker/DatePickerCalendar.d.ts +32 -32
  79. package/DatePicker/DatePickerCalendar.js +52 -52
  80. package/DatePicker/index.d.ts +2 -2
  81. package/DateRangePicker/DateRangePicker.d.ts +38 -38
  82. package/DateRangePicker/DateRangePicker.js +173 -173
  83. package/DateRangePicker/DateRangePickerCalendar.d.ts +26 -26
  84. package/DateRangePicker/DateRangePickerCalendar.js +86 -86
  85. package/DateRangePicker/index.d.ts +4 -4
  86. package/DateRangePicker/useDateRangeCalendarControls.d.ts +14 -14
  87. package/DateRangePicker/useDateRangeCalendarControls.js +84 -84
  88. package/DateRangePicker/useDateRangePickerValue.d.ts +23 -23
  89. package/DateRangePicker/useDateRangePickerValue.js +81 -81
  90. package/DateTimePicker/DateTimePicker.d.ts +28 -28
  91. package/DateTimePicker/DateTimePicker.js +107 -107
  92. package/DateTimePicker/DateTimePickerPanel.d.ts +29 -29
  93. package/DateTimePicker/DateTimePickerPanel.js +36 -36
  94. package/DateTimePicker/index.d.ts +2 -2
  95. package/Drawer/Drawer.d.ts +13 -13
  96. package/Drawer/Drawer.js +10 -10
  97. package/Drawer/index.d.ts +2 -2
  98. package/Dropdown/Dropdown.d.ts +25 -25
  99. package/Dropdown/Dropdown.js +52 -52
  100. package/Dropdown/index.d.ts +1 -1
  101. package/Empty/Empty.d.ts +18 -18
  102. package/Empty/Empty.js +6 -6
  103. package/Empty/index.d.ts +1 -1
  104. package/Form/FormControlContext.d.ts +9 -9
  105. package/Form/FormField.d.ts +27 -27
  106. package/Form/FormField.js +16 -16
  107. package/Form/FormLabel.d.ts +11 -11
  108. package/Form/FormLabel.js +8 -8
  109. package/Form/FormMessage.d.ts +8 -8
  110. package/Form/FormMessage.js +9 -9
  111. package/Form/index.d.ts +5 -5
  112. package/Form/typings.d.ts +4 -4
  113. package/Form/useAutoCompleteValueControl.d.ts +42 -42
  114. package/Form/useAutoCompleteValueControl.js +97 -94
  115. package/Form/useCheckboxControlValue.d.ts +11 -11
  116. package/Form/useCheckboxControlValue.js +24 -24
  117. package/Form/useControlValueState.d.ts +7 -7
  118. package/Form/useControlValueState.js +10 -10
  119. package/Form/useCustomControlValue.d.ts +5 -5
  120. package/Form/useCustomControlValue.js +12 -12
  121. package/Form/useInputControlValue.d.ts +7 -7
  122. package/Form/useInputControlValue.js +18 -18
  123. package/Form/useInputWithClearControlValue.d.ts +6 -6
  124. package/Form/useInputWithClearControlValue.js +28 -28
  125. package/Form/useInputWithTagsModeValue.d.ts +37 -37
  126. package/Form/useInputWithTagsModeValue.js +83 -83
  127. package/Form/useRadioControlValue.d.ts +11 -11
  128. package/Form/useRadioControlValue.js +19 -19
  129. package/Form/useSelectValueControl.d.ts +33 -33
  130. package/Form/useSelectValueControl.js +71 -71
  131. package/Form/useSwitchControlValue.d.ts +7 -7
  132. package/Form/useSwitchControlValue.js +18 -18
  133. package/Icon/Icon.d.ts +32 -32
  134. package/Icon/Icon.js +18 -18
  135. package/Icon/index.d.ts +3 -3
  136. package/Input/Input.d.ts +78 -78
  137. package/Input/Input.js +34 -34
  138. package/Input/index.d.ts +2 -2
  139. package/Loading/Loading.d.ts +34 -34
  140. package/Loading/Loading.js +19 -19
  141. package/Loading/index.d.ts +1 -1
  142. package/Menu/Menu.d.ts +29 -29
  143. package/Menu/Menu.js +16 -16
  144. package/Menu/MenuDivider.d.ts +8 -8
  145. package/Menu/MenuDivider.js +7 -7
  146. package/Menu/MenuItem.d.ts +24 -24
  147. package/Menu/MenuItem.js +16 -16
  148. package/Menu/MenuItemGroup.d.ts +13 -13
  149. package/Menu/MenuItemGroup.js +7 -7
  150. package/Menu/index.d.ts +5 -5
  151. package/Message/Message.d.ts +36 -36
  152. package/Message/Message.js +63 -63
  153. package/Message/index.d.ts +2 -2
  154. package/Modal/Modal.d.ts +37 -37
  155. package/Modal/Modal.js +15 -15
  156. package/Modal/ModalActions.d.ts +10 -10
  157. package/Modal/ModalActions.js +10 -10
  158. package/Modal/ModalBody.d.ts +8 -8
  159. package/Modal/ModalBody.js +7 -7
  160. package/Modal/ModalControl.d.ts +7 -7
  161. package/Modal/ModalControl.js +3 -3
  162. package/Modal/ModalFooter.d.ts +8 -8
  163. package/Modal/ModalFooter.js +7 -7
  164. package/Modal/ModalHeader.d.ts +20 -20
  165. package/Modal/ModalHeader.js +10 -10
  166. package/Modal/index.d.ts +7 -7
  167. package/Modal/useModalContainer.d.ts +6 -6
  168. package/Modal/useModalContainer.js +19 -19
  169. package/Navigation/Navigation.d.ts +29 -29
  170. package/Navigation/Navigation.js +45 -45
  171. package/Navigation/NavigationContext.d.ts +6 -6
  172. package/Navigation/NavigationContext.js +2 -2
  173. package/Navigation/NavigationItem.d.ts +31 -31
  174. package/Navigation/NavigationItem.js +13 -13
  175. package/Navigation/NavigationSubMenu.d.ts +22 -22
  176. package/Navigation/NavigationSubMenu.js +48 -48
  177. package/Navigation/index.d.ts +4 -4
  178. package/Notification/Notification.d.ts +54 -54
  179. package/Notification/Notification.js +60 -60
  180. package/Notification/index.d.ts +2 -2
  181. package/Notifier/NotifierManager.d.ts +17 -17
  182. package/Notifier/NotifierManager.js +25 -25
  183. package/Notifier/createNotifier.d.ts +21 -21
  184. package/Notifier/createNotifier.js +65 -65
  185. package/Notifier/index.d.ts +2 -2
  186. package/Notifier/typings.d.ts +28 -28
  187. package/Overlay/Overlay.d.ts +43 -43
  188. package/Overlay/Overlay.js +22 -22
  189. package/Overlay/index.d.ts +1 -1
  190. package/PageFooter/PageFooter.d.ts +15 -15
  191. package/PageFooter/PageFooter.js +4 -4
  192. package/PageFooter/index.d.ts +1 -1
  193. package/Pagination/Pagination.d.ts +105 -105
  194. package/Pagination/Pagination.js +18 -18
  195. package/Pagination/PaginationItem.d.ts +27 -27
  196. package/Pagination/PaginationItem.js +16 -16
  197. package/Pagination/PaginationJumper.d.ts +38 -38
  198. package/Pagination/PaginationJumper.js +40 -40
  199. package/Pagination/PaginationPageSize.d.ts +38 -38
  200. package/Pagination/PaginationPageSize.js +8 -8
  201. package/Pagination/index.d.ts +6 -6
  202. package/Pagination/usePagination.d.ts +16 -16
  203. package/Pagination/usePagination.js +73 -73
  204. package/Picker/PickerTrigger.d.ts +40 -40
  205. package/Picker/PickerTrigger.js +7 -7
  206. package/Picker/RangePickerTrigger.d.ts +64 -64
  207. package/Picker/RangePickerTrigger.js +7 -7
  208. package/Picker/index.d.ts +7 -7
  209. package/Picker/usePickerDocumentEventClose.d.ts +10 -10
  210. package/Picker/usePickerDocumentEventClose.js +20 -20
  211. package/Picker/usePickerInputValue.d.ts +12 -12
  212. package/Picker/usePickerInputValue.js +18 -18
  213. package/Picker/usePickerValue.d.ts +20 -20
  214. package/Picker/usePickerValue.js +51 -51
  215. package/Picker/useRangePickerValue.d.ts +20 -20
  216. package/Picker/useRangePickerValue.js +88 -88
  217. package/Picker/useTabKeyClose.d.ts +2 -2
  218. package/Picker/useTabKeyClose.js +7 -7
  219. package/Popconfirm/Popconfirm.d.ts +16 -16
  220. package/Popconfirm/Popconfirm.js +4 -4
  221. package/Popconfirm/index.d.ts +1 -1
  222. package/Popover/Popover.d.ts +23 -23
  223. package/Popover/Popover.js +34 -34
  224. package/Popover/index.d.ts +1 -1
  225. package/Popper/Popper.d.ts +32 -32
  226. package/Popper/Popper.js +21 -21
  227. package/Popper/index.d.ts +1 -1
  228. package/Portal/Portal.d.ts +20 -20
  229. package/Portal/Portal.js +15 -15
  230. package/Portal/index.d.ts +1 -1
  231. package/Progress/Progress.d.ts +59 -59
  232. package/Progress/Progress.js +21 -21
  233. package/Progress/index.d.ts +2 -2
  234. package/Provider/ConfigProvider.d.ts +8 -8
  235. package/Provider/ConfigProvider.js +6 -6
  236. package/Provider/context.d.ts +6 -6
  237. package/Provider/context.js +2 -2
  238. package/Provider/index.d.ts +4 -4
  239. package/Radio/Radio.d.ts +41 -41
  240. package/Radio/Radio.js +21 -21
  241. package/Radio/RadioGroup.d.ts +47 -47
  242. package/Radio/RadioGroup.js +20 -20
  243. package/Radio/RadioGroupContext.d.ts +9 -9
  244. package/Radio/index.d.ts +3 -3
  245. package/Select/AutoComplete.d.ts +101 -101
  246. package/Select/AutoComplete.js +101 -101
  247. package/Select/Option.d.ts +19 -19
  248. package/Select/Option.js +37 -37
  249. package/Select/Select.d.ts +94 -94
  250. package/Select/Select.js +111 -111
  251. package/Select/SelectControlContext.d.ts +3 -3
  252. package/Select/SelectTrigger.d.ts +89 -89
  253. package/Select/SelectTrigger.js +44 -44
  254. package/Select/SelectTriggerTags.d.ts +19 -19
  255. package/Select/SelectTriggerTags.js +21 -21
  256. package/Select/TreeSelect.d.ts +68 -68
  257. package/Select/TreeSelect.js +183 -183
  258. package/Select/index.d.ts +9 -9
  259. package/Select/typings.d.ts +12 -12
  260. package/Select/useSelectTriggerTags.d.ts +19 -19
  261. package/Select/useSelectTriggerTags.js +53 -53
  262. package/Skeleton/Skeleton.d.ts +22 -22
  263. package/Skeleton/Skeleton.js +7 -7
  264. package/Skeleton/index.d.ts +1 -1
  265. package/Slider/Slider.d.ts +51 -51
  266. package/Slider/Slider.js +174 -174
  267. package/Slider/index.d.ts +3 -3
  268. package/Slider/useSlider.d.ts +31 -31
  269. package/Slider/useSlider.js +99 -99
  270. package/Stepper/Step.d.ts +41 -41
  271. package/Stepper/Step.js +9 -9
  272. package/Stepper/Stepper.d.ts +19 -19
  273. package/Stepper/Stepper.js +26 -26
  274. package/Stepper/index.d.ts +2 -2
  275. package/Switch/Switch.d.ts +43 -43
  276. package/Switch/Switch.js +18 -18
  277. package/Switch/index.d.ts +2 -2
  278. package/Table/Table.d.ts +110 -110
  279. package/Table/Table.js +146 -146
  280. package/Table/TableBody.d.ts +10 -10
  281. package/Table/TableBody.js +13 -13
  282. package/Table/TableBodyRow.d.ts +12 -12
  283. package/Table/TableBodyRow.js +45 -45
  284. package/Table/TableCell.d.ts +20 -20
  285. package/Table/TableCell.js +15 -15
  286. package/Table/TableContext.d.ts +52 -52
  287. package/Table/TableContext.js +2 -2
  288. package/Table/TableExpandedTable.d.ts +12 -12
  289. package/Table/TableExpandedTable.js +14 -14
  290. package/Table/TableHeader.d.ts +4 -4
  291. package/Table/TableHeader.js +20 -20
  292. package/Table/draggable/useTableDraggable.d.ts +14 -14
  293. package/Table/draggable/useTableDraggable.js +54 -54
  294. package/Table/editable/TableEditRenderWrapper.d.ts +8 -8
  295. package/Table/editable/TableEditRenderWrapper.js +8 -8
  296. package/Table/expandable/TableExpandable.d.ts +28 -28
  297. package/Table/expandable/TableExpandable.js +15 -15
  298. package/Table/index.d.ts +6 -6
  299. package/Table/pagination/TablePagination.d.ts +10 -10
  300. package/Table/pagination/TablePagination.js +15 -15
  301. package/Table/pagination/useTablePagination.d.ts +8 -8
  302. package/Table/pagination/useTablePagination.js +21 -21
  303. package/Table/refresh/TableRefresh.d.ts +10 -10
  304. package/Table/refresh/TableRefresh.js +13 -13
  305. package/Table/rowSelection/TableRowSelection.d.ts +19 -19
  306. package/Table/rowSelection/TableRowSelection.js +70 -70
  307. package/Table/rowSelection/useTableRowSelection.d.ts +6 -6
  308. package/Table/rowSelection/useTableRowSelection.js +47 -47
  309. package/Table/sorting/TableSortingIcon.d.ts +11 -11
  310. package/Table/sorting/TableSortingIcon.js +18 -18
  311. package/Table/sorting/useTableSorting.d.ts +12 -12
  312. package/Table/sorting/useTableSorting.js +103 -103
  313. package/Table/useTableFetchMore.d.ts +10 -10
  314. package/Table/useTableFetchMore.js +42 -42
  315. package/Table/useTableLoading.d.ts +5 -5
  316. package/Table/useTableLoading.js +13 -13
  317. package/Table/useTableScroll.d.ts +550 -550
  318. package/Table/useTableScroll.js +275 -275
  319. package/Tabs/Tab.d.ts +19 -19
  320. package/Tabs/Tab.js +9 -9
  321. package/Tabs/TabPane.d.ts +14 -14
  322. package/Tabs/TabPane.js +11 -11
  323. package/Tabs/Tabs.d.ts +39 -39
  324. package/Tabs/Tabs.js +36 -36
  325. package/Tabs/index.d.ts +3 -3
  326. package/Tabs/useTabsOverflow.d.ts +8 -8
  327. package/Tabs/useTabsOverflow.js +56 -56
  328. package/Tag/Tag.d.ts +29 -29
  329. package/Tag/Tag.js +14 -14
  330. package/Tag/index.d.ts +2 -2
  331. package/TextField/TextField.d.ts +54 -54
  332. package/TextField/TextField.js +33 -33
  333. package/TextField/index.d.ts +2 -2
  334. package/TextField/useTextFieldControl.d.ts +10 -10
  335. package/TextField/useTextFieldControl.js +12 -12
  336. package/Textarea/Textarea.d.ts +58 -58
  337. package/Textarea/Textarea.js +22 -22
  338. package/Textarea/index.d.ts +2 -2
  339. package/TimePanel/TimePanel.d.ts +66 -66
  340. package/TimePanel/TimePanel.js +54 -54
  341. package/TimePanel/TimePanelAction.d.ts +18 -18
  342. package/TimePanel/TimePanelAction.js +7 -7
  343. package/TimePanel/TimePanelColumn.d.ts +37 -37
  344. package/TimePanel/TimePanelColumn.js +28 -28
  345. package/TimePanel/index.d.ts +3 -3
  346. package/TimePicker/TimePicker.d.ts +24 -24
  347. package/TimePicker/TimePicker.js +99 -99
  348. package/TimePicker/TimePickerPanel.d.ts +24 -24
  349. package/TimePicker/TimePickerPanel.js +7 -7
  350. package/TimePicker/index.d.ts +2 -2
  351. package/Tooltip/Tooltip.d.ts +25 -25
  352. package/Tooltip/Tooltip.js +27 -27
  353. package/Tooltip/index.d.ts +1 -1
  354. package/Tooltip/useDelayMouseEnterLeave.d.ts +12 -12
  355. package/Tooltip/useDelayMouseEnterLeave.js +36 -36
  356. package/Transition/Collapse.d.ts +15 -15
  357. package/Transition/Collapse.js +96 -96
  358. package/Transition/Fade.d.ts +8 -8
  359. package/Transition/Fade.js +74 -74
  360. package/Transition/Grow.d.ts +13 -13
  361. package/Transition/Grow.js +101 -101
  362. package/Transition/SlideFade.d.ts +15 -15
  363. package/Transition/SlideFade.js +83 -83
  364. package/Transition/Transition.d.ts +98 -98
  365. package/Transition/Transition.js +21 -21
  366. package/Transition/Zoom.d.ts +8 -8
  367. package/Transition/Zoom.js +74 -74
  368. package/Transition/getAutoSizeDuration.d.ts +1 -1
  369. package/Transition/getAutoSizeDuration.js +7 -7
  370. package/Transition/getTransitionStyleProps.d.ts +16 -16
  371. package/Transition/getTransitionStyleProps.js +22 -22
  372. package/Transition/index.d.ts +6 -6
  373. package/Transition/reflow.d.ts +4 -4
  374. package/Transition/reflow.js +6 -6
  375. package/Transition/useAutoTransitionDuration.d.ts +6 -6
  376. package/Transition/useAutoTransitionDuration.js +10 -10
  377. package/Transition/useSetNodeTransition.d.ts +7 -7
  378. package/Transition/useSetNodeTransition.js +30 -30
  379. package/Tree/Tree.d.ts +70 -70
  380. package/Tree/Tree.js +116 -116
  381. package/Tree/TreeNode.d.ts +41 -41
  382. package/Tree/TreeNode.js +29 -29
  383. package/Tree/TreeNodeList.d.ts +25 -25
  384. package/Tree/TreeNodeList.js +22 -22
  385. package/Tree/getTreeNodeEntities.d.ts +11 -11
  386. package/Tree/getTreeNodeEntities.js +84 -84
  387. package/Tree/index.d.ts +8 -8
  388. package/Tree/toggleValue.d.ts +4 -4
  389. package/Tree/toggleValue.js +13 -13
  390. package/Tree/traverseTree.d.ts +2 -2
  391. package/Tree/traverseTree.js +8 -8
  392. package/Tree/typings.d.ts +16 -16
  393. package/Tree/useTreeExpandedValue.d.ts +15 -15
  394. package/Tree/useTreeExpandedValue.js +26 -26
  395. package/Typography/Typography.d.ts +43 -43
  396. package/Typography/Typography.js +31 -31
  397. package/Typography/index.d.ts +11 -11
  398. package/Typography/index.js +4 -1
  399. package/Upload/UploadButton.d.ts +10 -10
  400. package/Upload/UploadButton.js +14 -14
  401. package/Upload/UploadInput.d.ts +21 -21
  402. package/Upload/UploadInput.js +18 -18
  403. package/Upload/UploadPicture.d.ts +49 -49
  404. package/Upload/UploadPicture.js +43 -43
  405. package/Upload/UploadPictureBlock.d.ts +20 -20
  406. package/Upload/UploadPictureBlock.js +70 -70
  407. package/Upload/UploadPictureWall.d.ts +81 -81
  408. package/Upload/UploadPictureWall.js +144 -144
  409. package/Upload/UploadPictureWallItem.d.ts +15 -15
  410. package/Upload/UploadPictureWallItem.js +10 -10
  411. package/Upload/UploadResult.d.ts +35 -35
  412. package/Upload/UploadResult.js +19 -19
  413. package/Upload/index.d.ts +6 -6
  414. package/_internal/InputCheck/InputCheck.d.ts +33 -33
  415. package/_internal/InputCheck/InputCheck.js +11 -11
  416. package/_internal/InputCheck/InputCheckGroup.d.ts +18 -18
  417. package/_internal/InputCheck/InputCheckGroup.js +7 -7
  418. package/_internal/InputCheck/index.d.ts +3 -3
  419. package/_internal/InputTriggerPopper/InputTriggerPopper.d.ts +18 -18
  420. package/_internal/InputTriggerPopper/InputTriggerPopper.js +35 -35
  421. package/_internal/InputTriggerPopper/index.d.ts +1 -1
  422. package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +21 -21
  423. package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +53 -53
  424. package/_internal/SlideFadeOverlay/index.d.ts +1 -1
  425. package/_internal/SlideFadeOverlay/useTopStack.d.ts +1 -1
  426. package/_internal/SlideFadeOverlay/useTopStack.js +17 -17
  427. package/hooks/useClickAway.d.ts +5 -5
  428. package/hooks/useClickAway.js +18 -18
  429. package/hooks/useComposeRefs.d.ts +2 -2
  430. package/hooks/useComposeRefs.js +2 -2
  431. package/hooks/useDocumentEscapeKeyDown.d.ts +3 -3
  432. package/hooks/useDocumentEscapeKeyDown.js +15 -15
  433. package/hooks/useDocumentEvents.d.ts +5 -5
  434. package/hooks/useDocumentEvents.js +16 -16
  435. package/hooks/useDocumentTabKeyDown.d.ts +3 -3
  436. package/hooks/useDocumentTabKeyDown.js +14 -14
  437. package/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  438. package/hooks/useIsomorphicLayoutEffect.js +2 -2
  439. package/hooks/useLastCallback.d.ts +1 -1
  440. package/hooks/useLastCallback.js +5 -5
  441. package/hooks/useLastValue.d.ts +3 -3
  442. package/hooks/useLastValue.js +4 -4
  443. package/hooks/usePreviousValue.d.ts +1 -1
  444. package/hooks/usePreviousValue.js +6 -6
  445. package/hooks/useWindowWidth.d.ts +1 -1
  446. package/hooks/useWindowWidth.js +10 -10
  447. package/index.d.ts +102 -102
  448. package/package.json +6 -20
  449. package/utils/array-move.d.ts +1 -1
  450. package/utils/array-move.js +10 -10
  451. package/utils/composeRefs.d.ts +21 -21
  452. package/utils/composeRefs.js +29 -29
  453. package/utils/cx.d.ts +1 -1
  454. package/utils/general.d.ts +8 -8
  455. package/utils/getElement.d.ts +3 -3
  456. package/utils/getElement.js +11 -11
  457. package/utils/jsx-types.d.ts +11 -11
  458. package/utils/scroll-lock.d.ts +2 -2
  459. package/utils/scroll-lock.js +17 -17
package/Radio/Radio.js CHANGED
@@ -8,27 +8,27 @@ import InputCheck from '../_internal/InputCheck/InputCheck.js';
8
8
  import { FormControlContext } from '../Form/FormControlContext.js';
9
9
  import cx from 'clsx';
10
10
 
11
- /**
12
- * The react component for `mezzanine` radio.
13
- */
14
- const Radio = forwardRef(function Radio(props, ref) {
15
- const { size: globalSize, } = useContext(MezzanineConfig);
16
- const { disabled: disabledFromFormControl, severity, } = useContext(FormControlContext) || {};
17
- const radioGroup = useContext(RadioGroupContext);
18
- const { disabled: disabledFromGroup, name: nameFromGroup, size: sizeFromGroup, } = radioGroup || {};
19
- const { checked: checkedProp, children, defaultChecked, disabled = (disabledFromGroup !== null && disabledFromGroup !== void 0 ? disabledFromGroup : disabledFromFormControl) || false, error = severity === 'error' || false, inputProps, onChange: onChangeProp, size = sizeFromGroup || globalSize, value, ...rest } = props;
20
- const { id: inputId, name = nameFromGroup, ...restInputProps } = inputProps || {};
21
- const [checked, onChange] = useRadioControlValue({
22
- checked: checkedProp,
23
- defaultChecked,
24
- onChange: onChangeProp,
25
- radioGroup,
26
- value,
27
- });
28
- return (jsx(InputCheck, { ...rest, ref: ref, control: (jsx("span", { className: cx(radioClasses.host, {
29
- [radioClasses.checked]: checked,
30
- }), children: jsx("input", { ...restInputProps, "aria-checked": checked, "aria-disabled": disabled, checked: checked, disabled: disabled, id: inputId, onChange: onChange, name: name, type: "radio", value: value }) })), disabled: disabled, error: error, htmlFor: inputId, size: size, children: children }));
31
- });
11
+ /**
12
+ * The react component for `mezzanine` radio.
13
+ */
14
+ const Radio = forwardRef(function Radio(props, ref) {
15
+ const { size: globalSize, } = useContext(MezzanineConfig);
16
+ const { disabled: disabledFromFormControl, severity, } = useContext(FormControlContext) || {};
17
+ const radioGroup = useContext(RadioGroupContext);
18
+ const { disabled: disabledFromGroup, name: nameFromGroup, size: sizeFromGroup, } = radioGroup || {};
19
+ const { checked: checkedProp, children, defaultChecked, disabled = (disabledFromGroup !== null && disabledFromGroup !== void 0 ? disabledFromGroup : disabledFromFormControl) || false, error = severity === 'error' || false, inputProps, onChange: onChangeProp, size = sizeFromGroup || globalSize, value, ...rest } = props;
20
+ const { id: inputId, name = nameFromGroup, ...restInputProps } = inputProps || {};
21
+ const [checked, onChange] = useRadioControlValue({
22
+ checked: checkedProp,
23
+ defaultChecked,
24
+ onChange: onChangeProp,
25
+ radioGroup,
26
+ value,
27
+ });
28
+ return (jsx(InputCheck, { ...rest, ref: ref, control: (jsx("span", { className: cx(radioClasses.host, {
29
+ [radioClasses.checked]: checked,
30
+ }), children: jsx("input", { ...restInputProps, "aria-checked": checked, "aria-disabled": disabled, checked: checked, disabled: disabled, id: inputId, onChange: onChange, name: name, type: "radio", value: value }) })), disabled: disabled, error: error, htmlFor: inputId, size: size, children: children }));
31
+ });
32
32
  var Radio$1 = Radio;
33
33
 
34
34
  export { Radio$1 as default };
@@ -1,47 +1,47 @@
1
- import { RadioGroupOption, RadioSize } from '@mezzanine-ui/core/radio';
2
- import { ChangeEventHandler, ReactNode } from 'react';
3
- import { InputCheckGroupProps } from '../_internal/InputCheck';
4
- export interface RadioGroupProps extends Omit<InputCheckGroupProps, 'onChange'> {
5
- /**
6
- * The radios in radio group.
7
- */
8
- children?: ReactNode;
9
- /**
10
- * The default value of radio group.
11
- */
12
- defaultValue?: string;
13
- /**
14
- * Whether the radio group is disabled.
15
- * Control the disabled of radios in group if disabled not passed to radio.
16
- */
17
- disabled?: boolean;
18
- /**
19
- * The name of radio group.
20
- * Control the name of radios in group if name not passed to radio.
21
- */
22
- name?: string;
23
- /**
24
- * The onChange of radio group.
25
- * Will be passed to each radios but composing both instead of overriding.
26
- */
27
- onChange?: ChangeEventHandler<HTMLInputElement>;
28
- /**
29
- * The options of radio group.
30
- * Will be ignored if children passed.
31
- */
32
- options?: RadioGroupOption[];
33
- /**
34
- * The size of radio group.
35
- * Control the size of radios in group if size not passed to radio.
36
- */
37
- size?: RadioSize;
38
- /**
39
- * The value of radio group.
40
- */
41
- value?: string;
42
- }
43
- /**
44
- * The react component for `mezzanine` radio group.
45
- */
46
- declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
47
- export default RadioGroup;
1
+ import { RadioGroupOption, RadioSize } from '@mezzanine-ui/core/radio';
2
+ import { ChangeEventHandler, ReactNode } from 'react';
3
+ import { InputCheckGroupProps } from '../_internal/InputCheck';
4
+ export interface RadioGroupProps extends Omit<InputCheckGroupProps, 'onChange'> {
5
+ /**
6
+ * The radios in radio group.
7
+ */
8
+ children?: ReactNode;
9
+ /**
10
+ * The default value of radio group.
11
+ */
12
+ defaultValue?: string;
13
+ /**
14
+ * Whether the radio group is disabled.
15
+ * Control the disabled of radios in group if disabled not passed to radio.
16
+ */
17
+ disabled?: boolean;
18
+ /**
19
+ * The name of radio group.
20
+ * Control the name of radios in group if name not passed to radio.
21
+ */
22
+ name?: string;
23
+ /**
24
+ * The onChange of radio group.
25
+ * Will be passed to each radios but composing both instead of overriding.
26
+ */
27
+ onChange?: ChangeEventHandler<HTMLInputElement>;
28
+ /**
29
+ * The options of radio group.
30
+ * Will be ignored if children passed.
31
+ */
32
+ options?: RadioGroupOption[];
33
+ /**
34
+ * The size of radio group.
35
+ * Control the size of radios in group if size not passed to radio.
36
+ */
37
+ size?: RadioSize;
38
+ /**
39
+ * The value of radio group.
40
+ */
41
+ value?: string;
42
+ }
43
+ /**
44
+ * The react component for `mezzanine` radio group.
45
+ */
46
+ declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
47
+ export default RadioGroup;
@@ -5,26 +5,26 @@ import { RadioGroupContext } from './RadioGroupContext.js';
5
5
  import Radio from './Radio.js';
6
6
  import InputCheckGroup from '../_internal/InputCheck/InputCheckGroup.js';
7
7
 
8
- /**
9
- * The react component for `mezzanine` radio group.
10
- */
11
- const RadioGroup = forwardRef(function RadioGroup(props, ref) {
12
- const { children: childrenProp, defaultValue, disabled, name, options = [], onChange: onChangeProp, size, value: valueProp, ...rest } = props;
13
- const [value, onChange] = useInputControlValue({
14
- defaultValue,
15
- onChange: onChangeProp,
16
- value: valueProp,
17
- });
18
- const context = useMemo(() => ({
19
- disabled,
20
- name,
21
- onChange,
22
- size,
23
- value,
24
- }), [disabled, name, onChange, size, value]);
25
- const children = childrenProp || options.map((option) => (jsx(Radio, { disabled: option.disabled, value: option.value, children: option.label }, option.value)));
26
- return (jsx(RadioGroupContext.Provider, { value: context, children: jsx(InputCheckGroup, { ...rest, ref: ref, role: "radiogroup", children: children }) }));
27
- });
8
+ /**
9
+ * The react component for `mezzanine` radio group.
10
+ */
11
+ const RadioGroup = forwardRef(function RadioGroup(props, ref) {
12
+ const { children: childrenProp, defaultValue, disabled, name, options = [], onChange: onChangeProp, size, value: valueProp, ...rest } = props;
13
+ const [value, onChange] = useInputControlValue({
14
+ defaultValue,
15
+ onChange: onChangeProp,
16
+ value: valueProp,
17
+ });
18
+ const context = useMemo(() => ({
19
+ disabled,
20
+ name,
21
+ onChange,
22
+ size,
23
+ value,
24
+ }), [disabled, name, onChange, size, value]);
25
+ const children = childrenProp || options.map((option) => (jsx(Radio, { disabled: option.disabled, value: option.value, children: option.label }, option.value)));
26
+ return (jsx(RadioGroupContext.Provider, { value: context, children: jsx(InputCheckGroup, { ...rest, ref: ref, role: "radiogroup", children: children }) }));
27
+ });
28
28
  var RadioGroup$1 = RadioGroup;
29
29
 
30
30
  export { RadioGroup$1 as default };
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
2
- import { RadioSize } from '@mezzanine-ui/core/radio';
3
- import { RadioGroupControlContextValue } from '../Form/useRadioControlValue';
4
- export interface RadioGroupContextValue extends RadioGroupControlContextValue {
5
- disabled?: boolean;
6
- name?: string;
7
- size?: RadioSize;
8
- }
9
- export declare const RadioGroupContext: import("react").Context<RadioGroupContextValue | undefined>;
1
+ /// <reference types="react" />
2
+ import { RadioSize } from '@mezzanine-ui/core/radio';
3
+ import { RadioGroupControlContextValue } from '../Form/useRadioControlValue';
4
+ export interface RadioGroupContextValue extends RadioGroupControlContextValue {
5
+ disabled?: boolean;
6
+ name?: string;
7
+ size?: RadioSize;
8
+ }
9
+ export declare const RadioGroupContext: import("react").Context<RadioGroupContextValue | undefined>;
package/Radio/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { RadioSize, RadioGroupOption, RadioGroupOrientation, } from '@mezzanine-ui/core/radio';
2
- export { RadioProps, default, } from './Radio';
3
- export { RadioGroupProps, default as RadioGroup, } from './RadioGroup';
1
+ export type { RadioSize, RadioGroupOption, RadioGroupOrientation, } from '@mezzanine-ui/core/radio';
2
+ export { RadioProps, default, } from './Radio';
3
+ export { RadioGroupProps, default as RadioGroup, } from './RadioGroup';
@@ -1,101 +1,101 @@
1
- /// <reference types="react" />
2
- import { SelectInputSize } from '@mezzanine-ui/core/select';
3
- import { SelectValue } from './typings';
4
- import { MenuProps } from '../Menu';
5
- import { PopperProps } from '../Popper';
6
- import { PickRenameMulti } from '../utils/general';
7
- import { SelectTriggerProps, SelectTriggerInputProps } from './SelectTrigger';
8
- export interface AutoCompleteBaseProps extends Omit<SelectTriggerProps, 'active' | 'clearable' | 'forceHideSuffixActionIcon' | 'mode' | 'onClick' | 'onKeyDown' | 'onChange' | 'renderValue' | 'inputProps' | 'suffixActionIcon' | 'value'>, PickRenameMulti<Pick<MenuProps, 'itemsInView' | 'maxHeight' | 'role' | 'size'>, {
9
- maxHeight: 'menuMaxHeight';
10
- role: 'menuRole';
11
- size: 'menuSize';
12
- }>, PickRenameMulti<Pick<PopperProps, 'options'>, {
13
- options: 'popperOptions';
14
- }> {
15
- /**
16
- * Set to true when options can be added dynamically
17
- * @default false
18
- */
19
- addable?: boolean;
20
- /**
21
- * Should the filter rules be disabled (If you need to control options filter by yourself)
22
- * @default false
23
- */
24
- disabledOptionsFilter?: boolean;
25
- /**
26
- * The other native props for input element.
27
- */
28
- inputProps?: Omit<SelectTriggerInputProps, 'onChange' | 'placeholder' | 'role' | 'value' | `aria-${'controls' | 'expanded' | 'owns'}`>;
29
- /**
30
- * insert callback whenever insert icon is clicked
31
- * return `true` when insert is successfully
32
- */
33
- onInsert?(text: string): SelectValue;
34
- /**
35
- * The search event handler
36
- */
37
- onSearch?(input: string): any;
38
- /**
39
- * The options that mapped autocomplete options
40
- */
41
- options: SelectValue[];
42
- /**
43
- * select input placeholder
44
- */
45
- placeholder?: string;
46
- /**
47
- * Whether the selection is required.
48
- * @default false
49
- */
50
- required?: boolean;
51
- /**
52
- * The size of input.
53
- */
54
- size?: SelectInputSize;
55
- }
56
- export declare type AutoCompleteMultipleProps = AutoCompleteBaseProps & {
57
- /**
58
- * The default selection
59
- */
60
- defaultValue?: SelectValue[];
61
- /**
62
- * Controls the layout of trigger.
63
- */
64
- mode: 'multiple';
65
- /**
66
- * The change event handler of input element.
67
- */
68
- onChange?(newOptions: SelectValue[]): any;
69
- /**
70
- * The value of selection.
71
- * @default undefined
72
- */
73
- value?: SelectValue[];
74
- };
75
- export declare type AutoCompleteSingleProps = AutoCompleteBaseProps & {
76
- /**
77
- * The default selection
78
- */
79
- defaultValue?: SelectValue;
80
- /**
81
- * Controls the layout of trigger.
82
- */
83
- mode?: 'single';
84
- /**
85
- * The change event handler of input element.
86
- */
87
- onChange?(newOptions: SelectValue): any;
88
- /**
89
- * The value of selection.
90
- * @default undefined
91
- */
92
- value?: SelectValue | null;
93
- };
94
- export declare type AutoCompleteProps = AutoCompleteMultipleProps | AutoCompleteSingleProps;
95
- /**
96
- * The AutoComplete component for react. <br />
97
- * Note that if you need search for ONLY given options, not included your typings,
98
- * should considering using the `Select` component with `onSearch` prop.
99
- */
100
- declare const AutoComplete: import("react").ForwardRefExoticComponent<AutoCompleteProps & import("react").RefAttributes<HTMLDivElement>>;
101
- export default AutoComplete;
1
+ /// <reference types="react" />
2
+ import { SelectInputSize } from '@mezzanine-ui/core/select';
3
+ import { SelectValue } from './typings';
4
+ import { MenuProps } from '../Menu';
5
+ import { PopperProps } from '../Popper';
6
+ import { PickRenameMulti } from '../utils/general';
7
+ import { SelectTriggerProps, SelectTriggerInputProps } from './SelectTrigger';
8
+ export interface AutoCompleteBaseProps extends Omit<SelectTriggerProps, 'active' | 'clearable' | 'forceHideSuffixActionIcon' | 'mode' | 'onClick' | 'onKeyDown' | 'onChange' | 'renderValue' | 'inputProps' | 'suffixActionIcon' | 'value'>, PickRenameMulti<Pick<MenuProps, 'itemsInView' | 'maxHeight' | 'role' | 'size'>, {
9
+ maxHeight: 'menuMaxHeight';
10
+ role: 'menuRole';
11
+ size: 'menuSize';
12
+ }>, PickRenameMulti<Pick<PopperProps, 'options'>, {
13
+ options: 'popperOptions';
14
+ }> {
15
+ /**
16
+ * Set to true when options can be added dynamically
17
+ * @default false
18
+ */
19
+ addable?: boolean;
20
+ /**
21
+ * Should the filter rules be disabled (If you need to control options filter by yourself)
22
+ * @default false
23
+ */
24
+ disabledOptionsFilter?: boolean;
25
+ /**
26
+ * The other native props for input element.
27
+ */
28
+ inputProps?: Omit<SelectTriggerInputProps, 'onChange' | 'placeholder' | 'role' | 'value' | `aria-${'controls' | 'expanded' | 'owns'}`>;
29
+ /**
30
+ * insert callback whenever insert icon is clicked
31
+ * return `true` when insert is successfully
32
+ */
33
+ onInsert?(text: string): SelectValue;
34
+ /**
35
+ * The search event handler
36
+ */
37
+ onSearch?(input: string): any;
38
+ /**
39
+ * The options that mapped autocomplete options
40
+ */
41
+ options: SelectValue[];
42
+ /**
43
+ * select input placeholder
44
+ */
45
+ placeholder?: string;
46
+ /**
47
+ * Whether the selection is required.
48
+ * @default false
49
+ */
50
+ required?: boolean;
51
+ /**
52
+ * The size of input.
53
+ */
54
+ size?: SelectInputSize;
55
+ }
56
+ export type AutoCompleteMultipleProps = AutoCompleteBaseProps & {
57
+ /**
58
+ * The default selection
59
+ */
60
+ defaultValue?: SelectValue[];
61
+ /**
62
+ * Controls the layout of trigger.
63
+ */
64
+ mode: 'multiple';
65
+ /**
66
+ * The change event handler of input element.
67
+ */
68
+ onChange?(newOptions: SelectValue[]): any;
69
+ /**
70
+ * The value of selection.
71
+ * @default undefined
72
+ */
73
+ value?: SelectValue[];
74
+ };
75
+ export type AutoCompleteSingleProps = AutoCompleteBaseProps & {
76
+ /**
77
+ * The default selection
78
+ */
79
+ defaultValue?: SelectValue;
80
+ /**
81
+ * Controls the layout of trigger.
82
+ */
83
+ mode?: 'single';
84
+ /**
85
+ * The change event handler of input element.
86
+ */
87
+ onChange?(newOptions: SelectValue): any;
88
+ /**
89
+ * The value of selection.
90
+ * @default undefined
91
+ */
92
+ value?: SelectValue | null;
93
+ };
94
+ export type AutoCompleteProps = AutoCompleteMultipleProps | AutoCompleteSingleProps;
95
+ /**
96
+ * The AutoComplete component for react. <br />
97
+ * Note that if you need search for ONLY given options, not included your typings,
98
+ * should considering using the `Select` component with `onSearch` prop.
99
+ */
100
+ declare const AutoComplete: import("react").ForwardRefExoticComponent<AutoCompleteProps & import("react").RefAttributes<HTMLDivElement>>;
101
+ export default AutoComplete;
@@ -15,107 +15,107 @@ import Icon from '../Icon/Icon.js';
15
15
  import { FormControlContext } from '../Form/FormControlContext.js';
16
16
  import cx from 'clsx';
17
17
 
18
- const MENU_ID = 'mzn-select-autocomplete-menu-id';
19
- /**
20
- * The AutoComplete component for react. <br />
21
- * Note that if you need search for ONLY given options, not included your typings,
22
- * should considering using the `Select` component with `onSearch` prop.
23
- */
24
- const AutoComplete = forwardRef(function Select(props, ref) {
25
- var _a, _b;
26
- const { disabled: disabledFromFormControl, fullWidth: fullWidthFromFormControl, required: requiredFromFormControl, severity, } = useContext(FormControlContext) || {};
27
- const { addable = false, className, disabled = disabledFromFormControl || false, disabledOptionsFilter = false, defaultValue, error = severity === 'error' || false, fullWidth = fullWidthFromFormControl || false, inputRef, inputProps, itemsInView = 4, menuMaxHeight, menuRole = 'listbox', menuSize, mode = 'single', onChange: onChangeProp, onClear: onClearProp, onInsert, onSearch, options: optionsProp, popperOptions = {}, placeholder = '', prefix, required = requiredFromFormControl || false, size, value: valueProp, } = props;
28
- const [open, toggleOpen] = useState(false);
29
- const { focused, onFocus, onChange, onClear, options, searchText, selectedOptions, setSearchText, unselectedOptions, value, } = useAutoCompleteValueControl({
30
- defaultValue,
31
- disabledOptionsFilter,
32
- mode,
33
- onChange: onChangeProp,
34
- onClear: onClearProp,
35
- onClose: () => toggleOpen(false),
36
- onSearch,
37
- options: optionsProp,
38
- value: valueProp,
39
- });
40
- /** insert feature */
41
- const [insertText, setInsertText] = useState('');
42
- const nodeRef = useRef(null);
43
- const controlRef = useRef(null);
44
- const popperRef = useRef(null);
45
- const composedRef = useComposeRefs([ref, controlRef]);
46
- const renderValue = focused ? () => searchText : undefined;
47
- useClickAway(() => {
48
- if (!open || focused)
49
- return;
50
- return () => {
51
- toggleOpen((prev) => !prev);
52
- };
53
- }, nodeRef, [
54
- focused,
55
- nodeRef,
56
- open,
57
- toggleOpen,
58
- ]);
59
- function getPlaceholder() {
60
- if (focused && value && !isArray(value)) {
61
- return value.name;
62
- }
63
- return placeholder;
64
- }
65
- /** Trigger input props */
66
- const onSearchInputChange = (e) => {
67
- /** should sync both search input and value */
68
- setSearchText(e.target.value);
69
- setInsertText(e.target.value);
70
- /** return current value to onSearch */
71
- onSearch === null || onSearch === void 0 ? void 0 : onSearch(e.target.value);
72
- };
73
- const onSearchInputFocus = (e) => {
74
- var _a;
75
- e.stopPropagation();
76
- toggleOpen(true);
77
- onFocus(true);
78
- (_a = inputProps === null || inputProps === void 0 ? void 0 : inputProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(inputProps, e);
79
- };
80
- const onSearchInputBlur = (e) => {
81
- var _a;
82
- onFocus(false);
83
- (_a = inputProps === null || inputProps === void 0 ? void 0 : inputProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(inputProps, e);
84
- };
85
- const onClickSuffixActionIcon = () => {
86
- toggleOpen((prev) => !prev);
87
- };
88
- const resolvedInputProps = {
89
- ...inputProps,
90
- 'aria-controls': MENU_ID,
91
- 'aria-expanded': open,
92
- 'aria-owns': MENU_ID,
93
- onBlur: onSearchInputBlur,
94
- onChange: onSearchInputChange,
95
- onFocus: onSearchInputFocus,
96
- placeholder: getPlaceholder(),
97
- role: 'combobox',
98
- };
99
- const searchTextExistWithoutOption = !!searchText && options.find((option) => option.name === searchText) === undefined;
100
- const context = useMemo(() => ({
101
- onChange,
102
- value,
103
- }), [onChange, value]);
104
- return (jsx(SelectControlContext.Provider, { value: context, children: jsxs("div", { ref: nodeRef, className: cx(selectClasses.host, {
105
- [selectClasses.hostFullWidth]: fullWidth,
106
- }), children: [jsx(SelectTrigger, { ref: composedRef, active: open, className: className, clearable: true, disabled: disabled, ellipsis: true, error: error, fullWidth: fullWidth, inputRef: inputRef, mode: mode, onTagClose: onChange, onClear: onClear, prefix: prefix, readOnly: false, required: required, inputProps: resolvedInputProps, searchText: searchText, size: size, showTextInputAfterTags: true, suffixAction: onClickSuffixActionIcon, value: value, renderValue: renderValue }), jsxs(InputTriggerPopper, { ref: popperRef, anchor: controlRef, className: selectClasses.popper, open: open, sameWidth: true, options: popperOptions, children: [options.length ? (jsx(Menu, { id: MENU_ID, "aria-activedescendant": Array.isArray(value) ? (_b = (_a = value === null || value === void 0 ? void 0 : value[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '' : value === null || value === void 0 ? void 0 : value.id, itemsInView: itemsInView, maxHeight: menuMaxHeight, role: menuRole, size: menuSize, style: { border: 0 }, children: mode === 'single' ? (jsx(Fragment, { children: options.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id))) })) : (jsxs(Fragment, { children: [selectedOptions.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id))), unselectedOptions.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id)))] })) })) : null, searchTextExistWithoutOption && addable ? (jsxs("button", { type: "button", className: selectClasses.autoComplete, onClick: (e) => {
107
- var _a;
108
- e.stopPropagation();
109
- if (insertText) {
110
- const newOption = (_a = onInsert === null || onInsert === void 0 ? void 0 : onInsert(insertText)) !== null && _a !== void 0 ? _a : null;
111
- if (newOption) {
112
- setInsertText('');
113
- setSearchText('');
114
- onChange(newOption);
115
- }
116
- }
117
- }, children: [jsx("p", { children: insertText }), jsx(Icon, { className: selectClasses.autoCompleteIcon, icon: PlusIcon })] })) : null] })] }) }));
118
- });
18
+ const MENU_ID = 'mzn-select-autocomplete-menu-id';
19
+ /**
20
+ * The AutoComplete component for react. <br />
21
+ * Note that if you need search for ONLY given options, not included your typings,
22
+ * should considering using the `Select` component with `onSearch` prop.
23
+ */
24
+ const AutoComplete = forwardRef(function Select(props, ref) {
25
+ var _a, _b;
26
+ const { disabled: disabledFromFormControl, fullWidth: fullWidthFromFormControl, required: requiredFromFormControl, severity, } = useContext(FormControlContext) || {};
27
+ const { addable = false, className, disabled = disabledFromFormControl || false, disabledOptionsFilter = false, defaultValue, error = severity === 'error' || false, fullWidth = fullWidthFromFormControl || false, inputRef, inputProps, itemsInView = 4, menuMaxHeight, menuRole = 'listbox', menuSize, mode = 'single', onChange: onChangeProp, onClear: onClearProp, onInsert, onSearch, options: optionsProp, popperOptions = {}, placeholder = '', prefix, required = requiredFromFormControl || false, size, value: valueProp, } = props;
28
+ const [open, toggleOpen] = useState(false);
29
+ const { focused, onFocus, onChange, onClear, options, searchText, selectedOptions, setSearchText, unselectedOptions, value, } = useAutoCompleteValueControl({
30
+ defaultValue,
31
+ disabledOptionsFilter,
32
+ mode,
33
+ onChange: onChangeProp,
34
+ onClear: onClearProp,
35
+ onClose: () => toggleOpen(false),
36
+ onSearch,
37
+ options: optionsProp,
38
+ value: valueProp,
39
+ });
40
+ /** insert feature */
41
+ const [insertText, setInsertText] = useState('');
42
+ const nodeRef = useRef(null);
43
+ const controlRef = useRef(null);
44
+ const popperRef = useRef(null);
45
+ const composedRef = useComposeRefs([ref, controlRef]);
46
+ const renderValue = focused ? () => searchText : undefined;
47
+ useClickAway(() => {
48
+ if (!open || focused)
49
+ return;
50
+ return () => {
51
+ toggleOpen((prev) => !prev);
52
+ };
53
+ }, nodeRef, [
54
+ focused,
55
+ nodeRef,
56
+ open,
57
+ toggleOpen,
58
+ ]);
59
+ function getPlaceholder() {
60
+ if (focused && value && !isArray(value)) {
61
+ return value.name;
62
+ }
63
+ return placeholder;
64
+ }
65
+ /** Trigger input props */
66
+ const onSearchInputChange = (e) => {
67
+ /** should sync both search input and value */
68
+ setSearchText(e.target.value);
69
+ setInsertText(e.target.value);
70
+ /** return current value to onSearch */
71
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(e.target.value);
72
+ };
73
+ const onSearchInputFocus = (e) => {
74
+ var _a;
75
+ e.stopPropagation();
76
+ toggleOpen(true);
77
+ onFocus(true);
78
+ (_a = inputProps === null || inputProps === void 0 ? void 0 : inputProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(inputProps, e);
79
+ };
80
+ const onSearchInputBlur = (e) => {
81
+ var _a;
82
+ onFocus(false);
83
+ (_a = inputProps === null || inputProps === void 0 ? void 0 : inputProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(inputProps, e);
84
+ };
85
+ const onClickSuffixActionIcon = () => {
86
+ toggleOpen((prev) => !prev);
87
+ };
88
+ const resolvedInputProps = {
89
+ ...inputProps,
90
+ 'aria-controls': MENU_ID,
91
+ 'aria-expanded': open,
92
+ 'aria-owns': MENU_ID,
93
+ onBlur: onSearchInputBlur,
94
+ onChange: onSearchInputChange,
95
+ onFocus: onSearchInputFocus,
96
+ placeholder: getPlaceholder(),
97
+ role: 'combobox',
98
+ };
99
+ const searchTextExistWithoutOption = !!searchText && options.find((option) => option.name === searchText) === undefined;
100
+ const context = useMemo(() => ({
101
+ onChange,
102
+ value,
103
+ }), [onChange, value]);
104
+ return (jsx(SelectControlContext.Provider, { value: context, children: jsxs("div", { ref: nodeRef, className: cx(selectClasses.host, {
105
+ [selectClasses.hostFullWidth]: fullWidth,
106
+ }), children: [jsx(SelectTrigger, { ref: composedRef, active: open, className: className, clearable: true, disabled: disabled, ellipsis: true, error: error, fullWidth: fullWidth, inputRef: inputRef, mode: mode, onTagClose: onChange, onClear: onClear, prefix: prefix, readOnly: false, required: required, inputProps: resolvedInputProps, searchText: searchText, size: size, showTextInputAfterTags: true, suffixAction: onClickSuffixActionIcon, value: value, renderValue: renderValue }), jsxs(InputTriggerPopper, { ref: popperRef, anchor: controlRef, className: selectClasses.popper, open: open, sameWidth: true, options: popperOptions, children: [options.length ? (jsx(Menu, { id: MENU_ID, "aria-activedescendant": Array.isArray(value) ? (_b = (_a = value === null || value === void 0 ? void 0 : value[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : '' : value === null || value === void 0 ? void 0 : value.id, itemsInView: itemsInView, maxHeight: menuMaxHeight, role: menuRole, size: menuSize, style: { border: 0 }, children: mode === 'single' ? (jsx(Fragment, { children: options.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id))) })) : (jsxs(Fragment, { children: [selectedOptions.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id))), unselectedOptions.map((option) => (jsx(Option, { value: option.id, children: option.name }, option.id)))] })) })) : null, searchTextExistWithoutOption && addable ? (jsxs("button", { type: "button", className: selectClasses.autoComplete, onClick: (e) => {
107
+ var _a;
108
+ e.stopPropagation();
109
+ if (insertText) {
110
+ const newOption = (_a = onInsert === null || onInsert === void 0 ? void 0 : onInsert(insertText)) !== null && _a !== void 0 ? _a : null;
111
+ if (newOption) {
112
+ setInsertText('');
113
+ setSearchText('');
114
+ onChange(newOption);
115
+ }
116
+ }
117
+ }, children: [jsx("p", { children: insertText }), jsx(Icon, { className: selectClasses.autoCompleteIcon, icon: PlusIcon })] })) : null] })] }) }));
118
+ });
119
119
  var AutoComplete$1 = AutoComplete;
120
120
 
121
121
  export { AutoComplete$1 as default };