@pega/cosmos-react-core 2.0.0-dev.11.0 → 2.0.0-dev.14.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 (455) hide show
  1. package/README.md +3 -3
  2. package/lib/components/Actions/Actions.js +1 -1
  3. package/lib/components/Actions/Actions.js.map +1 -1
  4. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  5. package/lib/components/AppShell/AppHeader.js +1 -6
  6. package/lib/components/AppShell/AppHeader.js.map +1 -1
  7. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  8. package/lib/components/AppShell/AppShell.js +14 -32
  9. package/lib/components/AppShell/AppShell.js.map +1 -1
  10. package/lib/components/AppShell/AppShell.styles.d.ts +3 -2
  11. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  12. package/lib/components/AppShell/AppShell.styles.js +36 -24
  13. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  14. package/lib/components/AppShell/AppShellList.js +10 -13
  15. package/lib/components/AppShell/AppShellList.js.map +1 -1
  16. package/lib/components/AppShell/Drawer.js +3 -6
  17. package/lib/components/AppShell/Drawer.js.map +1 -1
  18. package/lib/components/AppShell/Operator.js +1 -3
  19. package/lib/components/AppShell/Operator.js.map +1 -1
  20. package/lib/components/AppShell/SkipNavigation.js +2 -2
  21. package/lib/components/AppShell/SkipNavigation.js.map +1 -1
  22. package/lib/components/Avatar/Avatar.js +3 -4
  23. package/lib/components/Avatar/Avatar.js.map +1 -1
  24. package/lib/components/Backdrop/Backdrop.d.ts +1 -1
  25. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  26. package/lib/components/Backdrop/Backdrop.js +6 -5
  27. package/lib/components/Backdrop/Backdrop.js.map +1 -1
  28. package/lib/components/Badges/Selection.js +7 -8
  29. package/lib/components/Badges/Selection.js.map +1 -1
  30. package/lib/components/Banner/Banner.js +2 -6
  31. package/lib/components/Banner/Banner.js.map +1 -1
  32. package/lib/components/Boolean/BooleanDisplay.js +1 -2
  33. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  34. package/lib/components/Breadcrumbs/Breadcrumbs.js +2 -5
  35. package/lib/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  36. package/lib/components/Button/Button.d.ts +5 -0
  37. package/lib/components/Button/Button.d.ts.map +1 -1
  38. package/lib/components/Button/Button.js +16 -9
  39. package/lib/components/Button/Button.js.map +1 -1
  40. package/lib/components/Card/Card.d.ts.map +1 -1
  41. package/lib/components/Card/Card.js +2 -1
  42. package/lib/components/Card/Card.js.map +1 -1
  43. package/lib/components/Card/CardContent.d.ts.map +1 -1
  44. package/lib/components/Card/CardContent.js +4 -3
  45. package/lib/components/Card/CardContent.js.map +1 -1
  46. package/lib/components/Card/CardFooter.d.ts.map +1 -1
  47. package/lib/components/Card/CardFooter.js +3 -2
  48. package/lib/components/Card/CardFooter.js.map +1 -1
  49. package/lib/components/Card/CardHeader.d.ts.map +1 -1
  50. package/lib/components/Card/CardHeader.js +5 -5
  51. package/lib/components/Card/CardHeader.js.map +1 -1
  52. package/lib/components/Card/CollapsibleCard.js +2 -6
  53. package/lib/components/Card/CollapsibleCard.js.map +1 -1
  54. package/lib/components/ColorPicker/ColorPicker.js +6 -9
  55. package/lib/components/ColorPicker/ColorPicker.js.map +1 -1
  56. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  57. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  58. package/lib/components/ComboBox/ComboBox.js +14 -20
  59. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  60. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  61. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +11 -19
  62. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  63. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
  64. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +3 -3
  65. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
  66. package/lib/components/Configuration/Configuration.js +8 -10
  67. package/lib/components/Configuration/Configuration.js.map +1 -1
  68. package/lib/components/Currency/CurrencyInput.js +2 -2
  69. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  70. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  71. package/lib/components/DateTime/Input/DateInput.js +18 -23
  72. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  73. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  74. package/lib/components/DateTime/Input/DateRangeInput.js +10 -16
  75. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  76. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  77. package/lib/components/DateTime/Input/DateTimeInput.js +27 -37
  78. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  79. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  80. package/lib/components/DateTime/Input/DayOfWeekInput.js +6 -4
  81. package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
  82. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  83. package/lib/components/DateTime/Input/Duration/DurationInput.js +2 -2
  84. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  85. package/lib/components/DateTime/Input/Duration/NumberUnit.js +3 -4
  86. package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
  87. package/lib/components/DateTime/Input/Duration/Time.js +7 -10
  88. package/lib/components/DateTime/Input/Duration/Time.js.map +1 -1
  89. package/lib/components/DateTime/Input/MonthInput.js +9 -13
  90. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  91. package/lib/components/DateTime/Input/PartInput.js +2 -3
  92. package/lib/components/DateTime/Input/PartInput.js.map +1 -1
  93. package/lib/components/DateTime/Input/TimeInput.js +16 -23
  94. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  95. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  96. package/lib/components/DateTime/Input/WeekInput.js +16 -20
  97. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  98. package/lib/components/DateTime/Input/useAutoFocusNextInput.js +4 -7
  99. package/lib/components/DateTime/Input/useAutoFocusNextInput.js.map +1 -1
  100. package/lib/components/DateTime/Input/usePickerButton.js +4 -4
  101. package/lib/components/DateTime/Input/usePickerButton.js.map +1 -1
  102. package/lib/components/DateTime/Input/utils.d.ts +2 -0
  103. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  104. package/lib/components/DateTime/Input/utils.js +38 -10
  105. package/lib/components/DateTime/Input/utils.js.map +1 -1
  106. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  107. package/lib/components/DateTime/Picker/Calendar.js +24 -30
  108. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  109. package/lib/components/DateTime/Picker/Calendar.styles.d.ts +2 -2
  110. package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
  111. package/lib/components/DateTime/Picker/Calendar.styles.js +2 -2
  112. package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
  113. package/lib/components/DateTime/Picker/DatePicker.js +5 -10
  114. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  115. package/lib/components/DateTime/Picker/DateRangePicker.js +5 -10
  116. package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
  117. package/lib/components/DateTime/Picker/TimePicker.js +5 -6
  118. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  119. package/lib/components/DateTime/Picker/Weeks.js +7 -9
  120. package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
  121. package/lib/components/Drawer/Drawer.js +5 -5
  122. package/lib/components/Drawer/Drawer.js.map +1 -1
  123. package/lib/components/EmojiPicker/EmojiDisplay.d.ts.map +1 -1
  124. package/lib/components/EmojiPicker/EmojiDisplay.js +1 -1
  125. package/lib/components/EmojiPicker/EmojiDisplay.js.map +1 -1
  126. package/lib/components/EmojiPicker/EmojiPicker.js +2 -3
  127. package/lib/components/EmojiPicker/EmojiPicker.js.map +1 -1
  128. package/lib/components/EmptyState/EmptyState.d.ts +14 -0
  129. package/lib/components/EmptyState/EmptyState.d.ts.map +1 -0
  130. package/lib/components/{NoItems/NoItems.js → EmptyState/EmptyState.js} +6 -7
  131. package/lib/components/EmptyState/EmptyState.js.map +1 -0
  132. package/lib/components/EmptyState/index.d.ts +4 -0
  133. package/lib/components/EmptyState/index.d.ts.map +1 -0
  134. package/lib/components/EmptyState/index.js +3 -0
  135. package/lib/components/EmptyState/index.js.map +1 -0
  136. package/lib/components/ErrorState/ErrorState.d.ts +2 -0
  137. package/lib/components/ErrorState/ErrorState.d.ts.map +1 -1
  138. package/lib/components/ErrorState/ErrorState.js +3 -3
  139. package/lib/components/ErrorState/ErrorState.js.map +1 -1
  140. package/lib/components/ExpandCollapse/ExpandCollapse.js +4 -4
  141. package/lib/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  142. package/lib/components/FieldGroup/FieldGroup.js +2 -5
  143. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  144. package/lib/components/FieldGroup/FieldGroupList.js +1 -2
  145. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  146. package/lib/components/FieldValueList/FieldValueList.js +2 -4
  147. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  148. package/lib/components/File/FileDisplay.d.ts +4 -1
  149. package/lib/components/File/FileDisplay.d.ts.map +1 -1
  150. package/lib/components/File/FileDisplay.js.map +1 -1
  151. package/lib/components/File/FileInput.d.ts +1 -1
  152. package/lib/components/File/FileInput.d.ts.map +1 -1
  153. package/lib/components/File/FileInput.js +7 -12
  154. package/lib/components/File/FileInput.js.map +1 -1
  155. package/lib/components/File/FileItem.js +2 -3
  156. package/lib/components/File/FileItem.js.map +1 -1
  157. package/lib/components/File/FileUploadItem.js +3 -3
  158. package/lib/components/File/FileUploadItem.js.map +1 -1
  159. package/lib/components/File/FileVisual.js +2 -4
  160. package/lib/components/File/FileVisual.js.map +1 -1
  161. package/lib/components/File/utils.js +1 -2
  162. package/lib/components/File/utils.js.map +1 -1
  163. package/lib/components/Flex/Flex.d.ts +2 -2
  164. package/lib/components/Flex/Flex.d.ts.map +1 -1
  165. package/lib/components/Flex/Flex.js.map +1 -1
  166. package/lib/components/Form/Form.js +1 -3
  167. package/lib/components/Form/Form.js.map +1 -1
  168. package/lib/components/FormControl/FormControl.d.ts +1 -1
  169. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  170. package/lib/components/FormField/FormField.js +5 -10
  171. package/lib/components/FormField/FormField.js.map +1 -1
  172. package/lib/components/Grid/Grid.d.ts +1 -1
  173. package/lib/components/Grid/Grid.d.ts.map +1 -1
  174. package/lib/components/Grid/Grid.js +5 -8
  175. package/lib/components/Grid/Grid.js.map +1 -1
  176. package/lib/components/Icon/Icon.js +2 -4
  177. package/lib/components/Icon/Icon.js.map +1 -1
  178. package/lib/components/Icon/icons/compass-solid.icon.js +1 -2
  179. package/lib/components/Icon/icons/compass-solid.icon.js.map +1 -1
  180. package/lib/components/Icon/icons/dataviz-table-with-bars.icon.js +1 -4
  181. package/lib/components/Icon/icons/dataviz-table-with-bars.icon.js.map +1 -1
  182. package/lib/components/Icon/icons/dataviz-table-with-cross.icon.js +1 -2
  183. package/lib/components/Icon/icons/dataviz-table-with-cross.icon.js.map +1 -1
  184. package/lib/components/Icon/icons/dataviz-waterfall.icon.js +1 -5
  185. package/lib/components/Icon/icons/dataviz-waterfall.icon.js.map +1 -1
  186. package/lib/components/Icon/icons/filetype-text.icon.js +1 -4
  187. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  188. package/lib/components/Icon/icons/folder-dollar.icon.js +1 -2
  189. package/lib/components/Icon/icons/folder-dollar.icon.js.map +1 -1
  190. package/lib/components/Icon/icons/freeze-column.icon.js +1 -2
  191. package/lib/components/Icon/icons/freeze-column.icon.js.map +1 -1
  192. package/lib/components/Icon/icons/galaxy.icon.js +1 -3
  193. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  194. package/lib/components/Icon/icons/grad-solid.icon.js +1 -2
  195. package/lib/components/Icon/icons/grad-solid.icon.js.map +1 -1
  196. package/lib/components/Icon/icons/grad.icon.js +1 -5
  197. package/lib/components/Icon/icons/grad.icon.js.map +1 -1
  198. package/lib/components/Icon/icons/list-number.icon.js +1 -6
  199. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  200. package/lib/components/Icon/icons/list.icon.js +1 -6
  201. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  202. package/lib/components/Icon/icons/pin.icon.js +1 -2
  203. package/lib/components/Icon/icons/pin.icon.js.map +1 -1
  204. package/lib/components/Icon/icons/search-solid.icon.js +1 -2
  205. package/lib/components/Icon/icons/search-solid.icon.js.map +1 -1
  206. package/lib/components/Icon/icons/tracer.icon.js +1 -2
  207. package/lib/components/Icon/icons/tracer.icon.js.map +1 -1
  208. package/lib/components/Icon/icons/tribox-solid.icon.js +1 -3
  209. package/lib/components/Icon/icons/tribox-solid.icon.js.map +1 -1
  210. package/lib/components/Icon/icons/tribox.icon.js +1 -3
  211. package/lib/components/Icon/icons/tribox.icon.js.map +1 -1
  212. package/lib/components/Input/Input.js +2 -2
  213. package/lib/components/Input/Input.js.map +1 -1
  214. package/lib/components/Input/Input.styles.js +2 -2
  215. package/lib/components/Input/Input.styles.js.map +1 -1
  216. package/lib/components/Link/Link.js +5 -8
  217. package/lib/components/Link/Link.js.map +1 -1
  218. package/lib/components/Location/CurrentLocationButton.js +4 -6
  219. package/lib/components/Location/CurrentLocationButton.js.map +1 -1
  220. package/lib/components/Location/LocationDisplay.js +2 -3
  221. package/lib/components/Location/LocationDisplay.js.map +1 -1
  222. package/lib/components/Location/LocationInput.js +8 -9
  223. package/lib/components/Location/LocationInput.js.map +1 -1
  224. package/lib/components/Location/LocationView.js +8 -13
  225. package/lib/components/Location/LocationView.js.map +1 -1
  226. package/lib/components/Location/utils.js +11 -15
  227. package/lib/components/Location/utils.js.map +1 -1
  228. package/lib/components/Menu/FlyoutMenuList.d.ts.map +1 -1
  229. package/lib/components/Menu/FlyoutMenuList.js +11 -14
  230. package/lib/components/Menu/FlyoutMenuList.js.map +1 -1
  231. package/lib/components/Menu/Menu.js +18 -20
  232. package/lib/components/Menu/Menu.js.map +1 -1
  233. package/lib/components/Menu/Menu.styles.d.ts +10 -0
  234. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  235. package/lib/components/Menu/Menu.styles.js +198 -3
  236. package/lib/components/Menu/Menu.styles.js.map +1 -1
  237. package/lib/components/Menu/Menu.types.d.ts +17 -8
  238. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  239. package/lib/components/Menu/Menu.types.js.map +1 -1
  240. package/lib/components/Menu/MenuGroup.d.ts +6 -0
  241. package/lib/components/Menu/MenuGroup.d.ts.map +1 -0
  242. package/lib/components/Menu/MenuGroup.js +17 -0
  243. package/lib/components/Menu/MenuGroup.js.map +1 -0
  244. package/lib/components/Menu/MenuItem.d.ts +0 -3
  245. package/lib/components/Menu/MenuItem.d.ts.map +1 -1
  246. package/lib/components/Menu/MenuItem.js +35 -151
  247. package/lib/components/Menu/MenuItem.js.map +1 -1
  248. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  249. package/lib/components/Menu/MenuList.js +19 -23
  250. package/lib/components/Menu/MenuList.js.map +1 -1
  251. package/lib/components/Menu/MenuListHeader.d.ts +0 -1
  252. package/lib/components/Menu/MenuListHeader.d.ts.map +1 -1
  253. package/lib/components/Menu/MenuListHeader.js +5 -55
  254. package/lib/components/Menu/MenuListHeader.js.map +1 -1
  255. package/lib/components/Menu/NavItemsList.d.ts.map +1 -1
  256. package/lib/components/Menu/NavItemsList.js +2 -3
  257. package/lib/components/Menu/NavItemsList.js.map +1 -1
  258. package/lib/components/Menu/helpers.d.ts +13 -12
  259. package/lib/components/Menu/helpers.d.ts.map +1 -1
  260. package/lib/components/Menu/helpers.js +40 -36
  261. package/lib/components/Menu/helpers.js.map +1 -1
  262. package/lib/components/Menu/index.d.ts +2 -3
  263. package/lib/components/Menu/index.d.ts.map +1 -1
  264. package/lib/components/Menu/index.js +1 -2
  265. package/lib/components/Menu/index.js.map +1 -1
  266. package/lib/components/MenuButton/MenuButton.js +6 -10
  267. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  268. package/lib/components/Modal/MinimizedModal.js +10 -13
  269. package/lib/components/Modal/MinimizedModal.js.map +1 -1
  270. package/lib/components/Modal/Modal.d.ts +1 -6
  271. package/lib/components/Modal/Modal.d.ts.map +1 -1
  272. package/lib/components/Modal/Modal.js +40 -137
  273. package/lib/components/Modal/Modal.js.map +1 -1
  274. package/lib/components/Modal/Modal.styles.d.ts +9 -0
  275. package/lib/components/Modal/Modal.styles.d.ts.map +1 -0
  276. package/lib/components/Modal/Modal.styles.js +133 -0
  277. package/lib/components/Modal/Modal.styles.js.map +1 -0
  278. package/lib/components/Modal/Modal.types.d.ts +19 -4
  279. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  280. package/lib/components/Modal/Modal.types.js.map +1 -1
  281. package/lib/components/Modal/ModalManager.js +12 -21
  282. package/lib/components/Modal/ModalManager.js.map +1 -1
  283. package/lib/components/MultiStep/MultiStep.js +3 -6
  284. package/lib/components/MultiStep/MultiStep.js.map +1 -1
  285. package/lib/components/MultiStep/MultiStep.styles.js +1 -1
  286. package/lib/components/MultiStep/MultiStep.styles.js.map +1 -1
  287. package/lib/components/Number/NumberInput.js +13 -19
  288. package/lib/components/Number/NumberInput.js.map +1 -1
  289. package/lib/components/Number/NumberInput.styles.d.ts +2 -2
  290. package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
  291. package/lib/components/Number/utils.js +2 -3
  292. package/lib/components/Number/utils.js.map +1 -1
  293. package/lib/components/PageTemplates/CategorySubPage.d.ts +1 -1
  294. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  295. package/lib/components/PageTemplates/CategorySubPage.js +6 -16
  296. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  297. package/lib/components/PageTemplates/DashboardPage.js +3 -8
  298. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  299. package/lib/components/PageTemplates/PageTemplates.d.ts +2 -0
  300. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  301. package/lib/components/PageTemplates/PageTemplates.js +22 -32
  302. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  303. package/lib/components/Pagination/Pagination.js +2 -4
  304. package/lib/components/Pagination/Pagination.js.map +1 -1
  305. package/lib/components/Phone/PhoneDisplay.js +1 -2
  306. package/lib/components/Phone/PhoneDisplay.js.map +1 -1
  307. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  308. package/lib/components/Phone/PhoneInput.js +12 -10
  309. package/lib/components/Phone/PhoneInput.js.map +1 -1
  310. package/lib/components/Phone/utils.js +2 -3
  311. package/lib/components/Phone/utils.js.map +1 -1
  312. package/lib/components/Popover/Popover.js +4 -7
  313. package/lib/components/Popover/Popover.js.map +1 -1
  314. package/lib/components/Progress/Bar.js +1 -1
  315. package/lib/components/Progress/Bar.js.map +1 -1
  316. package/lib/components/Progress/Ellipsis.js +1 -3
  317. package/lib/components/Progress/Ellipsis.js.map +1 -1
  318. package/lib/components/Progress/Progress.js +2 -3
  319. package/lib/components/Progress/Progress.js.map +1 -1
  320. package/lib/components/Progress/Ring.js +2 -3
  321. package/lib/components/Progress/Ring.js.map +1 -1
  322. package/lib/components/RadioCheck/RadioCheck.js +6 -7
  323. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  324. package/lib/components/RadioCheckGroup/RadioCheckGroup.js +7 -6
  325. package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
  326. package/lib/components/Rating/Rating.js +2 -6
  327. package/lib/components/Rating/Rating.js.map +1 -1
  328. package/lib/components/SearchInput/SearchInput.js +10 -12
  329. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  330. package/lib/components/Select/Select.js +2 -2
  331. package/lib/components/Select/Select.js.map +1 -1
  332. package/lib/components/Sentiment/Sentiment.js +1 -2
  333. package/lib/components/Sentiment/Sentiment.js.map +1 -1
  334. package/lib/components/Slider/Slider.js +7 -13
  335. package/lib/components/Slider/Slider.js.map +1 -1
  336. package/lib/components/Slider/Slider.styles.d.ts +1 -1
  337. package/lib/components/Slider/Slider.styles.js +1 -1
  338. package/lib/components/Slider/Slider.styles.js.map +1 -1
  339. package/lib/components/Slider/SliderTicks.js +1 -2
  340. package/lib/components/Slider/SliderTicks.js.map +1 -1
  341. package/lib/components/Slider/utils.d.ts +0 -10
  342. package/lib/components/Slider/utils.d.ts.map +1 -1
  343. package/lib/components/Slider/utils.js +3 -15
  344. package/lib/components/Slider/utils.js.map +1 -1
  345. package/lib/components/SummaryItem/SummaryItem.js +1 -4
  346. package/lib/components/SummaryItem/SummaryItem.js.map +1 -1
  347. package/lib/components/SummaryList/SummaryList.d.ts +8 -2
  348. package/lib/components/SummaryList/SummaryList.d.ts.map +1 -1
  349. package/lib/components/SummaryList/SummaryList.js +9 -10
  350. package/lib/components/SummaryList/SummaryList.js.map +1 -1
  351. package/lib/components/SummaryList/ViewAll.d.ts +1 -1
  352. package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
  353. package/lib/components/SummaryList/ViewAll.js +7 -10
  354. package/lib/components/SummaryList/ViewAll.js.map +1 -1
  355. package/lib/components/Switch/Switch.d.ts.map +1 -1
  356. package/lib/components/Switch/Switch.js +39 -30
  357. package/lib/components/Switch/Switch.js.map +1 -1
  358. package/lib/components/Table/Table.js +3 -7
  359. package/lib/components/Table/Table.js.map +1 -1
  360. package/lib/components/Tabs/Tab.js +3 -6
  361. package/lib/components/Tabs/Tab.js.map +1 -1
  362. package/lib/components/Tabs/TabPanel.d.ts +10 -2
  363. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  364. package/lib/components/Tabs/TabPanel.js +21 -8
  365. package/lib/components/Tabs/TabPanel.js.map +1 -1
  366. package/lib/components/Tabs/Tabs.js +7 -8
  367. package/lib/components/Tabs/Tabs.js.map +1 -1
  368. package/lib/components/Text/Text.d.ts +1 -1
  369. package/lib/components/Text/Text.d.ts.map +1 -1
  370. package/lib/components/Text/Text.js +1 -1
  371. package/lib/components/Text/Text.js.map +1 -1
  372. package/lib/components/TextArea/TextArea.js +3 -3
  373. package/lib/components/TextArea/TextArea.js.map +1 -1
  374. package/lib/components/Toaster/Toaster.js +6 -10
  375. package/lib/components/Toaster/Toaster.js.map +1 -1
  376. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  377. package/lib/components/Tree/StandardTree.js +10 -17
  378. package/lib/components/Tree/StandardTree.js.map +1 -1
  379. package/lib/components/Tree/StandardTree.styles.d.ts +1 -1
  380. package/lib/components/Tree/StandardTree.styles.d.ts.map +1 -1
  381. package/lib/components/Tree/StandardTree.styles.js +16 -11
  382. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  383. package/lib/components/Tree/Tree.d.ts +6 -0
  384. package/lib/components/Tree/Tree.d.ts.map +1 -1
  385. package/lib/components/Tree/Tree.js +3 -3
  386. package/lib/components/Tree/Tree.js.map +1 -1
  387. package/lib/components/Tree/helpers.js +4 -7
  388. package/lib/components/Tree/helpers.js.map +1 -1
  389. package/lib/hooks/index.d.ts +1 -0
  390. package/lib/hooks/index.d.ts.map +1 -1
  391. package/lib/hooks/index.js +1 -0
  392. package/lib/hooks/index.js.map +1 -1
  393. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  394. package/lib/hooks/useActiveDescendant.js +28 -32
  395. package/lib/hooks/useActiveDescendant.js.map +1 -1
  396. package/lib/hooks/useBreakpoint.js +2 -4
  397. package/lib/hooks/useBreakpoint.js.map +1 -1
  398. package/lib/hooks/useFocusWithin.js +9 -9
  399. package/lib/hooks/useFocusWithin.js.map +1 -1
  400. package/lib/hooks/useI18n.d.ts +57 -1
  401. package/lib/hooks/useI18n.d.ts.map +1 -1
  402. package/lib/hooks/useLongPress.d.ts +16 -0
  403. package/lib/hooks/useLongPress.d.ts.map +1 -0
  404. package/lib/hooks/useLongPress.js +57 -0
  405. package/lib/hooks/useLongPress.js.map +1 -0
  406. package/lib/hooks/useOuterEvent.js +1 -1
  407. package/lib/hooks/useOuterEvent.js.map +1 -1
  408. package/lib/hooks/useOverride.js +1 -1
  409. package/lib/hooks/useOverride.js.map +1 -1
  410. package/lib/hooks/useScrollStick.js +14 -3
  411. package/lib/hooks/useScrollStick.js.map +1 -1
  412. package/lib/i18n/default.json +59 -3
  413. package/lib/i18n/i18n.d.ts +114 -2
  414. package/lib/i18n/i18n.d.ts.map +1 -1
  415. package/lib/i18n/index.d.ts +1 -0
  416. package/lib/i18n/index.d.ts.map +1 -1
  417. package/lib/i18n/index.js.map +1 -1
  418. package/lib/index.d.ts +2 -2
  419. package/lib/index.d.ts.map +1 -1
  420. package/lib/index.js +2 -2
  421. package/lib/index.js.map +1 -1
  422. package/lib/styles/GlobalStyle.d.ts.map +1 -1
  423. package/lib/styles/GlobalStyle.js +2 -26
  424. package/lib/styles/GlobalStyle.js.map +1 -1
  425. package/lib/theme/ThemeMachine.js +7 -1
  426. package/lib/theme/ThemeMachine.js.map +1 -1
  427. package/lib/theme/index.d.ts +1 -0
  428. package/lib/theme/index.d.ts.map +1 -1
  429. package/lib/theme/index.js +1 -0
  430. package/lib/theme/index.js.map +1 -1
  431. package/lib/theme/theme.d.ts +75 -45
  432. package/lib/theme/theme.d.ts.map +1 -1
  433. package/lib/theme/themeDefinition.json +50 -30
  434. package/lib/theme/themeOverrides.schema.json +15 -3
  435. package/lib/theme/themes/buildTheme.json +2 -39
  436. package/lib/theme/themes/legacyBuildTheme.json +50 -0
  437. package/lib/types/types.d.ts +4 -1
  438. package/lib/types/types.d.ts.map +1 -1
  439. package/lib/types/types.js.map +1 -1
  440. package/lib/utils/utils.d.ts +24 -0
  441. package/lib/utils/utils.d.ts.map +1 -1
  442. package/lib/utils/utils.js +36 -1
  443. package/lib/utils/utils.js.map +1 -1
  444. package/package.json +10 -10
  445. package/lib/components/DateTime/Input/useButtonAriaLabel.d.ts +0 -3
  446. package/lib/components/DateTime/Input/useButtonAriaLabel.d.ts.map +0 -1
  447. package/lib/components/DateTime/Input/useButtonAriaLabel.js +0 -33
  448. package/lib/components/DateTime/Input/useButtonAriaLabel.js.map +0 -1
  449. package/lib/components/NoItems/NoItems.d.ts +0 -14
  450. package/lib/components/NoItems/NoItems.d.ts.map +0 -1
  451. package/lib/components/NoItems/NoItems.js.map +0 -1
  452. package/lib/components/NoItems/index.d.ts +0 -4
  453. package/lib/components/NoItems/index.d.ts.map +0 -1
  454. package/lib/components/NoItems/index.js +0 -3
  455. package/lib/components/NoItems/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MenuListHeader.js","sourceRoot":"","sources":["../../../src/components/Menu/MenuListHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FunctionComponent, KeyboardEvent, useCallback, useContext } from 'react';\nimport styled, { css } from 'styled-components';\nimport { mix } from 'polished';\n\nimport Icon, { StyledIcon } from '../Icon';\nimport { defaultThemeProp } from '../../theme';\nimport { ForwardProps } from '../../types';\nimport { useI18n, useDirection } from '../../hooks';\nimport Flex from '../Flex';\nimport BareButton, { StyledBareButton } from '../Button/BareButton';\nimport SummaryItem from '../SummaryItem';\nimport { StyledGrid } from '../Grid';\nimport { cap, tryCatch } from '../../utils';\n\nimport { MenuListHeaderProps } from './Menu.types';\nimport MenuContext from './Menu.context';\n\nexport const StyledMenuListHeader = styled.legend(({ theme: { base } }) => {\n const hoverColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n\n return css`\n width: 100%;\n background-color: ${base.palette['primary-background']};\n\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n\n &:focus-within {\n box-shadow: inset ${base.shadow.focus};\n background-color: ${hoverColor};\n }\n\n &:hover {\n background-color: ${hoverColor};\n }\n\n & > ${StyledBareButton}, & > button {\n color: ${base.palette['foreground-color']};\n width: 100%;\n padding: calc(0.5 * ${base.spacing}) ${base.spacing};\n text-align: start;\n border-radius: inherit;\n\n > ${StyledGrid} {\n grid-column-gap: ${base.spacing};\n }\n\n ${StyledIcon} {\n /* Fixes vertical align issue increasing box size beyond square */\n display: block;\n }\n }\n\n > button[data-current='true'] {\n background-color: ${hoverColor};\n }\n `;\n});\n\nStyledMenuListHeader.defaultProps = defaultThemeProp;\n\nconst MenuListHeader: FunctionComponent<MenuListHeaderProps & ForwardProps> = ({\n text,\n onClick\n}) => {\n const t = useI18n();\n const { arrowNavigationUnsupported } = useContext(MenuContext);\n const { start } = useDirection();\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLLegendElement>) => {\n if (ev.key === 'Enter' || ev.key === `Arrow${cap(start)}`) {\n onClick();\n }\n },\n [onClick, start]\n );\n\n return (\n <Flex container={{ alignItems: 'center' }} as={StyledMenuListHeader}>\n <BareButton\n onClick={onClick}\n onKeyDown={onKeyDown}\n data-collapse='true'\n aria-expanded='true'\n aria-label={`${t('collapse_noun', text || '')} ${\n arrowNavigationUnsupported\n ? t('menu_item_collapse_shift_space')\n : t('menu_item_collapse_arrow')\n }`}\n >\n <SummaryItem visual={<Icon name='caret-left' />} primary={text} />\n </BareButton>\n </Flex>\n );\n};\n\nexport default MenuListHeader;\n"]}
1
+ {"version":3,"file":"MenuListHeader.js","sourceRoot":"","sources":["../../../src/components/Menu/MenuListHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoC,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElF,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,cAAc,GAA0D,CAAC,EAC7E,IAAI,EACJ,OAAO,EACR,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,0BAA0B,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,EAAoC,EAAE,EAAE;QACvC,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;YACzD,OAAO,EAAE,CAAC;SACX;IACH,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,kBAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,oBAAoB,gBACjE,KAAC,UAAU,kBACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,mBACN,MAAM,mBACN,MAAM,gBACR,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,IAC3C,0BAA0B;gBACxB,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC;gBACrC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAClC,EAAE,gBAEF,KAAC,WAAW,IAAC,MAAM,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,KAAK,EAAE,WAAI,EAAE,OAAO,EAAE,IAAI,WAAI,YAC7D,YACR,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { FunctionComponent, KeyboardEvent, useCallback, useContext } from 'react';\n\nimport Icon from '../Icon';\nimport { ForwardProps } from '../../types';\nimport { useI18n, useDirection } from '../../hooks';\nimport Flex from '../Flex';\nimport BareButton from '../Button/BareButton';\nimport SummaryItem from '../SummaryItem';\nimport { cap } from '../../utils';\n\nimport { MenuListHeaderProps } from './Menu.types';\nimport MenuContext from './Menu.context';\nimport { StyledMenuListHeader } from './Menu.styles';\n\nconst MenuListHeader: FunctionComponent<MenuListHeaderProps & ForwardProps> = ({\n text,\n onClick\n}) => {\n const t = useI18n();\n const { arrowNavigationUnsupported } = useContext(MenuContext);\n const { start } = useDirection();\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent<HTMLLegendElement>) => {\n if (ev.key === 'Enter' || ev.key === `Arrow${cap(start)}`) {\n onClick();\n }\n },\n [onClick, start]\n );\n\n return (\n <Flex container={{ alignItems: 'center' }} as={StyledMenuListHeader}>\n <BareButton\n onClick={onClick}\n onKeyDown={onKeyDown}\n data-collapse='true'\n aria-expanded='true'\n aria-label={`${t('collapse_noun', text || '')} ${\n arrowNavigationUnsupported\n ? t('menu_item_collapse_shift_space')\n : t('menu_item_collapse_arrow')\n }`}\n >\n <SummaryItem visual={<Icon name={`caret-${start}`} />} primary={text} />\n </BareButton>\n </Flex>\n );\n};\n\nexport default MenuListHeader;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NavItemsList.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/NavItemsList.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAClB,mBAAmB,WACf,WAAW,aACT,MAAM,YACP,MAAM,SAyBjB,CAAC;;;;AAEF,wBAAgC"}
1
+ {"version":3,"file":"NavItemsList.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/NavItemsList.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAClB,mBAAmB,WACf,WAAW,aACT,MAAM,YACP,MAAM,SAyBjB,CAAC;;;;AAEF,wBAAgC"}
@@ -1,12 +1,11 @@
1
1
  export const resizeRootEl = (ele, rootEle, itemCount, scrollAt) => {
2
- var _a, _b, _c;
3
- const hasLegend = !!((_a = ele.firstElementChild) === null || _a === void 0 ? void 0 : _a.matches('legend'));
2
+ const hasLegend = !!ele.firstElementChild?.matches('legend');
4
3
  const lastVisibleLI = ele.querySelectorAll(':scope > ul > li')[Math.max(Math.min(scrollAt - (hasLegend ? 2 : 1), itemCount - 1), 0)];
5
4
  let menuRootElHeight;
6
5
  if (lastVisibleLI) {
7
6
  const containerTop = ele.getBoundingClientRect().top;
8
7
  const lastVisibleLIRect = lastVisibleLI.getBoundingClientRect();
9
- const ulScrollTop = (_c = (_b = ele.querySelector(':scope > ul')) === null || _b === void 0 ? void 0 : _b.scrollTop) !== null && _c !== void 0 ? _c : 0;
8
+ const ulScrollTop = ele.querySelector(':scope > ul')?.scrollTop ?? 0;
10
9
  let btm = lastVisibleLIRect.bottom;
11
10
  if (itemCount >= scrollAt) {
12
11
  btm = (lastVisibleLIRect.top + lastVisibleLIRect.bottom) / 2;
@@ -1 +1 @@
1
- {"version":3,"file":"NavItemsList.js","sourceRoot":"","sources":["../../../src/components/Menu/NavItemsList.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAwB,EACxB,OAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,EAAE;;IACF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,iBAAiB,0CAAE,OAAO,CAAC,QAAQ,CAAC,CAAA,CAAC;IAC7D,MAAM,aAAa,GACjB,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CACrE,CAAC;IAEJ,IAAI,gBAAoC,CAAC;IACzC,IAAI,aAAa,EAAE;QACjB,MAAM,YAAY,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QACrD,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,MAAA,MAAA,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,0CAAE,SAAS,mCAAI,CAAC,CAAC;QAErE,IAAI,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACnC,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9D;QAED,gBAAgB,GAAG,GAAG,GAAG,YAAY,GAAG,WAAW,CAAC;KACrD;IAED,qBAAqB,CAAC,GAAG,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,EAAE,YAAY,EAAE,CAAC","sourcesContent":["export const resizeRootEl = (\n ele: HTMLFieldSetElement,\n rootEle: HTMLElement,\n itemCount: number,\n scrollAt: number\n) => {\n const hasLegend = !!ele.firstElementChild?.matches('legend');\n const lastVisibleLI =\n ele.querySelectorAll(':scope > ul > li')[\n Math.max(Math.min(scrollAt - (hasLegend ? 2 : 1), itemCount - 1), 0)\n ];\n\n let menuRootElHeight: number | undefined;\n if (lastVisibleLI) {\n const containerTop = ele.getBoundingClientRect().top;\n const lastVisibleLIRect = lastVisibleLI.getBoundingClientRect();\n const ulScrollTop = ele.querySelector(':scope > ul')?.scrollTop ?? 0;\n\n let btm = lastVisibleLIRect.bottom;\n if (itemCount >= scrollAt) {\n btm = (lastVisibleLIRect.top + lastVisibleLIRect.bottom) / 2;\n }\n\n menuRootElHeight = btm - containerTop + ulScrollTop;\n }\n\n requestAnimationFrame(() => {\n rootEle.style.height = menuRootElHeight ? `${menuRootElHeight}px` : '';\n });\n};\n\nexport default { resizeRootEl };\n"]}
1
+ {"version":3,"file":"NavItemsList.js","sourceRoot":"","sources":["../../../src/components/Menu/NavItemsList.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAwB,EACxB,OAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,EAAE;IACF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,aAAa,GACjB,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CACrE,CAAC;IAEJ,IAAI,gBAAoC,CAAC;IACzC,IAAI,aAAa,EAAE;QACjB,MAAM,YAAY,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QACrD,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;QAErE,IAAI,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACnC,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9D;QAED,gBAAgB,GAAG,GAAG,GAAG,YAAY,GAAG,WAAW,CAAC;KACrD;IAED,qBAAqB,CAAC,GAAG,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,EAAE,YAAY,EAAE,CAAC","sourcesContent":["export const resizeRootEl = (\n ele: HTMLFieldSetElement,\n rootEle: HTMLElement,\n itemCount: number,\n scrollAt: number\n) => {\n const hasLegend = !!ele.firstElementChild?.matches('legend');\n const lastVisibleLI =\n ele.querySelectorAll(':scope > ul > li')[\n Math.max(Math.min(scrollAt - (hasLegend ? 2 : 1), itemCount - 1), 0)\n ];\n\n let menuRootElHeight: number | undefined;\n if (lastVisibleLI) {\n const containerTop = ele.getBoundingClientRect().top;\n const lastVisibleLIRect = lastVisibleLI.getBoundingClientRect();\n const ulScrollTop = ele.querySelector(':scope > ul')?.scrollTop ?? 0;\n\n let btm = lastVisibleLIRect.bottom;\n if (itemCount >= scrollAt) {\n btm = (lastVisibleLIRect.top + lastVisibleLIRect.bottom) / 2;\n }\n\n menuRootElHeight = btm - containerTop + ulScrollTop;\n }\n\n requestAnimationFrame(() => {\n rootEle.style.height = menuRootElHeight ? `${menuRootElHeight}px` : '';\n });\n};\n\nexport default { resizeRootEl };\n"]}
@@ -1,20 +1,21 @@
1
- import { MenuProps, MenuItemProps } from './Menu.types';
1
+ import { MenuProps, MenuObjectProps, MenuItemProps, MenuGroupProps } from './Menu.types';
2
2
  declare const helpers: {
3
- getItem(items: MenuProps['items'], id: MenuItemProps['id']): MenuItemProps | undefined;
4
- getPath(items: MenuProps['items'], id: MenuItemProps['id']): MenuItemProps[];
3
+ isItem(item: MenuItemProps | MenuGroupProps): item is MenuItemProps;
4
+ getItem(items: MenuProps['items'], id: MenuObjectProps['id']): MenuItemProps | undefined;
5
+ getPath(items: MenuProps['items'], id: MenuObjectProps['id']): MenuProps['items'];
5
6
  setItem(items: MenuProps['items'], id: MenuItemProps['id'], newItem: MenuItemProps): MenuProps['items'];
6
- mapItem(items: MenuProps['items'], id: MenuItemProps['id'], fn: (item: MenuItemProps, index: number, array: MenuItemProps[]) => MenuItemProps): MenuProps['items'];
7
- mapTree(items: MenuProps['items'], fn: (item: MenuItemProps, index: number, array: MenuItemProps[]) => MenuItemProps): MenuProps['items'];
8
- flatten(items: MenuProps['items'], ancestors?: MenuItemProps[] | undefined): MenuProps['items'];
9
- toggleSelected(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode'], bool?: boolean | undefined): MenuItemProps[];
10
- selectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']): MenuItemProps[];
11
- deselectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']): MenuItemProps[];
7
+ mapItem(items: MenuProps['items'], id: MenuItemProps['id'], fn: (item: MenuItemProps, index: number, array: MenuProps['items']) => MenuItemProps): MenuProps['items'];
8
+ mapTree(items: MenuProps['items'], fn: (item: MenuItemProps, index: number, array: MenuProps['items']) => MenuItemProps): MenuProps['items'];
9
+ flatten(items: MenuProps['items'], ancestors?: (MenuItemProps | MenuGroupProps)[] | undefined): MenuItemProps[];
10
+ toggleSelected(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode'], bool?: boolean | undefined): MenuProps['items'];
11
+ selectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']): MenuProps['items'];
12
+ deselectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']): MenuProps['items'];
12
13
  getSelected(items: MenuProps['items']): MenuItemProps[];
13
14
  prependTo(items: MenuProps['items'], newItems: MenuProps['items'], id?: string | undefined): MenuProps['items'];
14
15
  appendTo(items: MenuProps['items'], newItems: MenuProps['items'], id?: string | undefined): MenuProps['items'];
15
- getNextItem(items: MenuItemProps[], itemId?: string | undefined): MenuItemProps | undefined;
16
- getPrevItem(items: MenuItemProps[], itemId?: string | undefined): MenuItemProps | undefined;
17
- getParentItem(items: MenuItemProps[], itemId?: string | undefined): MenuItemProps | undefined;
16
+ getNextItem(items: MenuProps['items'], itemId?: string | undefined): MenuItemProps | MenuGroupProps | undefined;
17
+ getPrevItem(items: MenuProps['items'], itemId?: string | undefined): MenuItemProps | MenuGroupProps | undefined;
18
+ getParentItem(items: MenuProps['items'], itemId?: string | undefined): MenuItemProps | MenuGroupProps | undefined;
18
19
  };
19
20
  export default helpers;
20
21
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,QAAA,MAAM,OAAO;mBACI,SAAS,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,SAAS;mBAmBvE,SAAS,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE;mBAqBnE,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,WACd,aAAa,GACrB,SAAS,CAAC,OAAO,CAAC;mBAgBZ,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,aACZ,aAAa,SAAS,MAAM,SAAS,aAAa,EAAE,KAAK,aAAa,GAChF,SAAS,CAAC,OAAO,CAAC;mBAoBZ,SAAS,CAAC,OAAO,CAAC,aACd,aAAa,SAAS,MAAM,SAAS,aAAa,EAAE,KAAK,aAAa,GAChF,SAAS,CAAC,OAAO,CAAC;mBAeN,SAAS,CAAC,OAAO,CAAC,4CAAmC,SAAS,CAAC,OAAO,CAAC;0BAe7E,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,SAChB,SAAS,CAAC,MAAM,CAAC;sBAsBR,SAAS,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC;wBAInE,SAAS,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC;uBAItE,SAAS,CAAC,OAAO,CAAC;qBAe5B,SAAS,CAAC,OAAO,CAAC,YACf,SAAS,CAAC,OAAO,CAAC,4BAE3B,SAAS,CAAC,OAAO,CAAC;oBAWZ,SAAS,CAAC,OAAO,CAAC,YACf,SAAS,CAAC,OAAO,CAAC,4BAE3B,SAAS,CAAC,OAAO,CAAC;uBAUF,aAAa,EAAE,gCAAiC,aAAa,GAAG,SAAS;uBAUzE,aAAa,EAAE,gCAAiC,aAAa,GAAG,SAAS;yBAUvE,aAAa,EAAE,gCAAiC,aAAa,GAAG,SAAS;CAK/F,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzF,QAAA,MAAM,OAAO;iBACE,aAAa,GAAG,cAAc;mBAI5B,SAAS,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,SAAS;mBAmBzE,SAAS,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;mBAqBxE,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,WACd,aAAa,GACrB,SAAS,CAAC,OAAO,CAAC;mBAgBZ,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,aACZ,aAAa,SAAS,MAAM,SAAS,SAAS,CAAC,OAAO,CAAC,KAAK,aAAa,GACnF,SAAS,CAAC,OAAO,CAAC;mBAoBZ,SAAS,CAAC,OAAO,CAAC,aACd,aAAa,SAAS,MAAM,SAAS,SAAS,CAAC,OAAO,CAAC,KAAK,aAAa,GACnF,SAAS,CAAC,OAAO,CAAC;mBAeN,SAAS,CAAC,OAAO,CAAC,+DAAmC,aAAa,EAAE;0BAkB1E,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,SAChB,SAAS,CAAC,MAAM,CAAC,+BAEvB,SAAS,CAAC,OAAO,CAAC;sBAuBZ,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,SAChB,SAAS,CAAC,MAAM,CAAC,GACvB,SAAS,CAAC,OAAO,CAAC;wBAKZ,SAAS,CAAC,OAAO,CAAC,MACrB,aAAa,CAAC,IAAI,CAAC,SAChB,SAAS,CAAC,MAAM,CAAC,GACvB,SAAS,CAAC,OAAO,CAAC;uBAIF,SAAS,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE;qBAc9C,SAAS,CAAC,OAAO,CAAC,YACf,SAAS,CAAC,OAAO,CAAC,4BAE3B,SAAS,CAAC,OAAO,CAAC;oBAWZ,SAAS,CAAC,OAAO,CAAC,YACf,SAAS,CAAC,OAAO,CAAC,4BAE3B,SAAS,CAAC,OAAO,CAAC;uBAWZ,SAAS,CAAC,OAAO,CAAC,gCAExB,aAAa,GAAG,cAAc,GAAG,SAAS;uBAWpC,SAAS,CAAC,OAAO,CAAC,gCAExB,aAAa,GAAG,cAAc,GAAG,SAAS;yBAWpC,SAAS,CAAC,OAAO,CAAC,gCAExB,aAAa,GAAG,cAAc,GAAG,SAAS;CAK9C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,8 +1,12 @@
1
+ import { hasProp } from '../../utils';
1
2
  const helpers = {
3
+ isItem(item) {
4
+ return hasProp(item, 'primary');
5
+ },
2
6
  getItem(items, id) {
3
7
  let found;
4
8
  items.some(item => {
5
- if (item.id === id) {
9
+ if (this.isItem(item) && item.id === id) {
6
10
  found = item;
7
11
  return true;
8
12
  }
@@ -32,7 +36,7 @@ const helpers = {
32
36
  return path;
33
37
  },
34
38
  setItem(items, id, newItem) {
35
- return items.map(item => {
39
+ return items.map((item) => {
36
40
  if (item.id === id)
37
41
  return { ...newItem };
38
42
  if (item.items) {
@@ -53,7 +57,7 @@ const helpers = {
53
57
  items: this.mapItem(item.items, id, fn)
54
58
  };
55
59
  }
56
- if (item.id === id) {
60
+ if (this.isItem(newItem) && item.id === id) {
57
61
  newItem = fn(newItem, index, array);
58
62
  }
59
63
  return newItem;
@@ -68,34 +72,40 @@ const helpers = {
68
72
  items: this.mapTree(item.items, fn)
69
73
  };
70
74
  }
71
- return fn(newItem, index, array);
75
+ return this.isItem(newItem) ? fn(newItem, index, array) : newItem;
72
76
  });
73
77
  },
74
78
  flatten(items, ancestors) {
75
79
  return items.reduce((flatItems, item) => {
76
80
  if (item.items) {
77
- return [
78
- ...flatItems,
79
- item,
80
- ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])
81
- ];
81
+ return this.isItem(item)
82
+ ? [
83
+ ...flatItems,
84
+ item,
85
+ ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])
86
+ ]
87
+ : [...flatItems, ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])];
82
88
  }
83
- return [...flatItems, ancestors ? { ...item, ancestors } : item];
89
+ return this.isItem(item)
90
+ ? [...flatItems, ancestors ? { ...item, ancestors } : item]
91
+ : flatItems;
84
92
  }, []);
85
93
  },
86
94
  toggleSelected(items, id, mode, bool) {
87
95
  return this.mapTree(items, item => {
88
- if (item.id === id) {
89
- return {
90
- ...item,
91
- selected: bool !== undefined ? bool : !item.selected
92
- };
93
- }
94
- if (mode === 'single-select') {
95
- return {
96
- ...item,
97
- selected: false
98
- };
96
+ if (this.isItem(item)) {
97
+ if (item.id === id) {
98
+ return {
99
+ ...item,
100
+ selected: bool !== undefined ? bool : !item.selected
101
+ };
102
+ }
103
+ if (mode === 'single-select') {
104
+ return {
105
+ ...item,
106
+ selected: false
107
+ };
108
+ }
99
109
  }
100
110
  return item;
101
111
  });
@@ -108,7 +118,7 @@ const helpers = {
108
118
  },
109
119
  getSelected(items) {
110
120
  return items.reduce((selections, item) => {
111
- if (item.selected) {
121
+ if (this.isItem(item) && item.selected) {
112
122
  selections = [...selections, item];
113
123
  }
114
124
  if (item.items) {
@@ -119,25 +129,19 @@ const helpers = {
119
129
  },
120
130
  prependTo(items, newItems, id) {
121
131
  if (id) {
122
- return this.mapItem(items, id, item => {
123
- var _a;
124
- return ({
125
- ...item,
126
- items: [...newItems, ...((_a = item.items) !== null && _a !== void 0 ? _a : [])]
127
- });
128
- });
132
+ return this.mapItem(items, id, item => ({
133
+ ...item,
134
+ items: [...newItems, ...(item.items ?? [])]
135
+ }));
129
136
  }
130
137
  return [...newItems, ...items];
131
138
  },
132
139
  appendTo(items, newItems, id) {
133
140
  if (id) {
134
- return this.mapItem(items, id, item => {
135
- var _a;
136
- return ({
137
- ...item,
138
- items: [...((_a = item.items) !== null && _a !== void 0 ? _a : []), ...newItems]
139
- });
140
- });
141
+ return this.mapItem(items, id, item => ({
142
+ ...item,
143
+ items: [...(item.items ?? []), ...newItems]
144
+ }));
141
145
  }
142
146
  return [...items, ...newItems];
143
147
  },
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/Menu/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { MenuProps, MenuItemProps } from './Menu.types';\n\nconst helpers = {\n getItem(items: MenuProps['items'], id: MenuItemProps['id']): MenuItemProps | undefined {\n let found;\n items.some(item => {\n if (item.id === id) {\n found = item;\n return true;\n }\n\n if (item.items) {\n found = this.getItem(item.items, id);\n return !!found;\n }\n\n return false;\n });\n\n return found;\n },\n\n getPath(items: MenuProps['items'], id: MenuItemProps['id']): MenuItemProps[] {\n let path: MenuItemProps[] = [];\n items.some(item => {\n if (item.id === id) {\n path = [item];\n return true;\n }\n\n if (item.items) {\n const innerPath = this.getPath(item.items, id);\n if (innerPath.length) path = innerPath.concat(item);\n return !!path.length;\n }\n\n return false;\n });\n\n return path;\n },\n\n setItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n newItem: MenuItemProps\n ): MenuProps['items'] {\n return items.map(item => {\n if (item.id === id) return { ...newItem };\n\n if (item.items) {\n return {\n ...item,\n items: this.setItem(item.items, id, newItem)\n };\n }\n\n return item;\n });\n },\n\n mapItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n fn: (item: MenuItemProps, index: number, array: MenuItemProps[]) => MenuItemProps\n ): MenuProps['items'] {\n return items.map((item, index, array) => {\n let newItem = item;\n\n if (item.items) {\n newItem = {\n ...newItem,\n items: this.mapItem(item.items, id, fn)\n };\n }\n\n if (item.id === id) {\n newItem = fn(newItem, index, array);\n }\n\n return newItem;\n });\n },\n\n mapTree(\n items: MenuProps['items'],\n fn: (item: MenuItemProps, index: number, array: MenuItemProps[]) => MenuItemProps\n ): MenuProps['items'] {\n return items.map((item, index, array) => {\n let newItem = item;\n\n if (item.items) {\n newItem = {\n ...newItem,\n items: this.mapTree(item.items, fn)\n };\n }\n\n return fn(newItem, index, array);\n });\n },\n\n flatten(items: MenuProps['items'], ancestors?: MenuProps['items']): MenuProps['items'] {\n return items.reduce<MenuProps['items']>((flatItems, item) => {\n if (item.items) {\n return [\n ...flatItems,\n item,\n ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])\n ];\n }\n\n return [...flatItems, ancestors ? { ...item, ancestors } : item];\n }, []);\n },\n\n toggleSelected(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n mode?: MenuProps['mode'],\n bool?: boolean\n ) {\n return this.mapTree(items, item => {\n if (item.id === id) {\n return {\n ...item,\n selected: bool !== undefined ? bool : !item.selected\n };\n }\n\n if (mode === 'single-select') {\n return {\n ...item,\n selected: false\n };\n }\n\n return item;\n });\n },\n\n selectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']) {\n return this.toggleSelected(items, id, mode, true);\n },\n\n deselectItem(items: MenuProps['items'], id: MenuItemProps['id'], mode?: MenuProps['mode']) {\n return this.toggleSelected(items, id, mode, false);\n },\n\n getSelected(items: MenuProps['items']) {\n return items.reduce<MenuProps['items']>((selections, item): MenuProps['items'] => {\n if (item.selected) {\n selections = [...selections, item];\n }\n\n if (item.items) {\n selections = [...selections, ...this.getSelected(item.items)];\n }\n\n return selections;\n }, []);\n },\n\n prependTo(\n items: MenuProps['items'],\n newItems: MenuProps['items'],\n id?: MenuItemProps['id']\n ): MenuProps['items'] {\n if (id) {\n return this.mapItem(items, id, item => ({\n ...item,\n items: [...newItems, ...(item.items ?? [])]\n }));\n }\n return [...newItems, ...items];\n },\n\n appendTo(\n items: MenuProps['items'],\n newItems: MenuProps['items'],\n id?: MenuItemProps['id']\n ): MenuProps['items'] {\n if (id) {\n return this.mapItem(items, id, item => ({\n ...item,\n items: [...(item.items ?? []), ...newItems]\n }));\n }\n return [...items, ...newItems];\n },\n\n getNextItem(items: MenuItemProps[], itemId?: MenuItemProps['id']): MenuItemProps | undefined {\n if (!itemId) return items[0];\n let nextItem: MenuItemProps | undefined;\n this.mapItem(items, itemId, (item, index, list) => {\n nextItem = list[index + 1];\n return item;\n });\n return nextItem;\n },\n\n getPrevItem(items: MenuItemProps[], itemId?: MenuItemProps['id']): MenuItemProps | undefined {\n if (!itemId) return items[0];\n let prevItem: MenuItemProps | undefined;\n this.mapItem(items, itemId, (item, index, list) => {\n prevItem = list[index - 1];\n return item;\n });\n return prevItem;\n },\n\n getParentItem(items: MenuItemProps[], itemId?: MenuItemProps['id']): MenuItemProps | undefined {\n if (!itemId) return undefined;\n const [, parentItem] = this.getPath(items, itemId);\n return parentItem;\n }\n};\n\nexport default helpers;\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/Menu/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasProp } from '../../utils';\n\nimport { MenuProps, MenuObjectProps, MenuItemProps, MenuGroupProps } from './Menu.types';\n\nconst helpers = {\n isItem(item: MenuItemProps | MenuGroupProps): item is MenuItemProps {\n return hasProp(item, 'primary');\n },\n\n getItem(items: MenuProps['items'], id: MenuObjectProps['id']): MenuItemProps | undefined {\n let found: MenuItemProps | undefined;\n items.some(item => {\n if (this.isItem(item) && item.id === id) {\n found = item;\n return true;\n }\n\n if (item.items) {\n found = this.getItem(item.items, id);\n return !!found;\n }\n\n return false;\n });\n\n return found;\n },\n\n getPath(items: MenuProps['items'], id: MenuObjectProps['id']): MenuProps['items'] {\n let path: (MenuItemProps | MenuGroupProps)[] = [];\n items.some(item => {\n if (item.id === id) {\n path = [item];\n return true;\n }\n\n if (item.items) {\n const innerPath = this.getPath(item.items, id);\n if (innerPath.length) path = innerPath.concat(item);\n return !!path.length;\n }\n\n return false;\n });\n\n return path;\n },\n\n setItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n newItem: MenuItemProps\n ): MenuProps['items'] {\n return items.map((item: MenuItemProps | MenuGroupProps) => {\n if (item.id === id) return { ...newItem };\n\n if (item.items) {\n return {\n ...item,\n items: this.setItem(item.items, id, newItem) as MenuItemProps[]\n };\n }\n\n return item;\n });\n },\n\n mapItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n fn: (item: MenuItemProps, index: number, array: MenuProps['items']) => MenuItemProps\n ): MenuProps['items'] {\n return items.map((item, index, array) => {\n let newItem = item;\n\n if (item.items) {\n newItem = {\n ...newItem,\n items: this.mapItem(item.items, id, fn) as MenuItemProps[]\n };\n }\n\n if (this.isItem(newItem) && item.id === id) {\n newItem = fn(newItem, index, array);\n }\n\n return newItem;\n });\n },\n\n mapTree(\n items: MenuProps['items'],\n fn: (item: MenuItemProps, index: number, array: MenuProps['items']) => MenuItemProps\n ): MenuProps['items'] {\n return items.map((item, index, array) => {\n let newItem = item;\n\n if (item.items) {\n newItem = {\n ...newItem,\n items: this.mapTree(item.items, fn) as MenuItemProps[]\n };\n }\n\n return this.isItem(newItem) ? fn(newItem, index, array) : newItem;\n });\n },\n\n flatten(items: MenuProps['items'], ancestors?: MenuProps['items']): MenuItemProps[] {\n return items.reduce<MenuItemProps[]>((flatItems, item) => {\n if (item.items) {\n return this.isItem(item)\n ? [\n ...flatItems,\n item,\n ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])\n ]\n : [...flatItems, ...this.flatten(item.items, ancestors ? [...ancestors, item] : [item])];\n }\n return this.isItem(item)\n ? [...flatItems, ancestors ? { ...item, ancestors } : item]\n : flatItems;\n }, []);\n },\n\n toggleSelected(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n mode?: MenuProps['mode'],\n bool?: boolean\n ): MenuProps['items'] {\n return this.mapTree(items, item => {\n if (this.isItem(item)) {\n if (item.id === id) {\n return {\n ...item,\n selected: bool !== undefined ? bool : !item.selected\n };\n }\n\n if (mode === 'single-select') {\n return {\n ...item,\n selected: false\n };\n }\n }\n\n return item;\n });\n },\n\n selectItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n mode?: MenuProps['mode']\n ): MenuProps['items'] {\n return this.toggleSelected(items, id, mode, true);\n },\n\n deselectItem(\n items: MenuProps['items'],\n id: MenuItemProps['id'],\n mode?: MenuProps['mode']\n ): MenuProps['items'] {\n return this.toggleSelected(items, id, mode, false);\n },\n\n getSelected(items: MenuProps['items']): MenuItemProps[] {\n return items.reduce<MenuItemProps[]>((selections, item) => {\n if (this.isItem(item) && item.selected) {\n selections = [...selections, item];\n }\n\n if (item.items) {\n selections = [...selections, ...this.getSelected(item.items)];\n }\n return selections;\n }, []);\n },\n\n prependTo(\n items: MenuProps['items'],\n newItems: MenuProps['items'],\n id?: MenuObjectProps['id']\n ): MenuProps['items'] {\n if (id) {\n return this.mapItem(items, id, item => ({\n ...item,\n items: [...newItems, ...(item.items ?? [])]\n }));\n }\n return [...newItems, ...items];\n },\n\n appendTo(\n items: MenuProps['items'],\n newItems: MenuProps['items'],\n id?: MenuObjectProps['id']\n ): MenuProps['items'] {\n if (id) {\n return this.mapItem(items, id, item => ({\n ...item,\n items: [...(item.items ?? []), ...newItems]\n }));\n }\n return [...items, ...newItems];\n },\n\n getNextItem(\n items: MenuProps['items'],\n itemId?: MenuObjectProps['id']\n ): MenuItemProps | MenuGroupProps | undefined {\n if (!itemId) return items[0];\n let nextItem: MenuItemProps | MenuGroupProps | undefined;\n this.mapItem(items, itemId, (item, index, list) => {\n nextItem = list[index + 1];\n return item;\n });\n return nextItem;\n },\n\n getPrevItem(\n items: MenuProps['items'],\n itemId?: MenuObjectProps['id']\n ): MenuItemProps | MenuGroupProps | undefined {\n if (!itemId) return items[0];\n let prevItem: MenuItemProps | MenuGroupProps | undefined;\n this.mapItem(items, itemId, (item, index, list) => {\n prevItem = list[index - 1];\n return item;\n });\n return prevItem;\n },\n\n getParentItem(\n items: MenuProps['items'],\n itemId?: MenuItemProps['id']\n ): MenuItemProps | MenuGroupProps | undefined {\n if (!itemId) return undefined;\n const [, parentItem] = this.getPath(items, itemId);\n return parentItem;\n }\n};\n\nexport default helpers;\n"]}
@@ -1,6 +1,5 @@
1
1
  export { default } from './Menu';
2
- export { StyledMenuItem } from './MenuItem';
3
- export { StyledMenuListWrapper } from './Menu.styles';
4
- export { MenuItemProps, MenuProps } from './Menu.types';
2
+ export { StyledMenuListWrapper, StyledMenuItem } from './Menu.styles';
3
+ export { MenuItemProps, MenuProps, MenuGroupProps } from './Menu.types';
5
4
  export { default as menuHelpers } from './helpers';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export { default } from './Menu';
2
- export { StyledMenuItem } from './MenuItem';
3
- export { StyledMenuListWrapper } from './Menu.styles';
2
+ export { StyledMenuListWrapper, StyledMenuItem } from './Menu.styles';
4
3
  export { default as menuHelpers } from './helpers';
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { default } from './Menu';\nexport { StyledMenuItem } from './MenuItem';\nexport { StyledMenuListWrapper } from './Menu.styles';\nexport { MenuItemProps, MenuProps } from './Menu.types';\nexport { default as menuHelpers } from './helpers';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { default } from './Menu';\nexport { StyledMenuListWrapper, StyledMenuItem } from './Menu.styles';\nexport { MenuItemProps, MenuProps, MenuGroupProps } from './Menu.types';\nexport { default as menuHelpers } from './helpers';\n"]}
@@ -26,8 +26,8 @@ const MenuButton = forwardRef((props, ref) => {
26
26
  const { id = uid, text, menu, popover, onClick, icon, count, iconOnly = false, ...restProps } = props;
27
27
  const [isOpen, setIsOpen] = useState(false);
28
28
  const buttonRef = useConsolidatedRef(ref);
29
- const popoverRef = useConsolidatedRef(popover === null || popover === void 0 ? void 0 : popover.ref);
30
- const menuRef = useConsolidatedRef(menu === null || menu === void 0 ? void 0 : menu.ref);
29
+ const popoverRef = useConsolidatedRef(popover?.ref);
30
+ const menuRef = useConsolidatedRef(menu?.ref);
31
31
  // FIXME: Type assertion required for issue in useFocusWithin generic
32
32
  useFocusWithin([popoverRef, buttonRef], useCallback(isFocused => {
33
33
  if (!isFocused)
@@ -40,27 +40,23 @@ const MenuButton = forwardRef((props, ref) => {
40
40
  // Close the menu if it is open and either:
41
41
  // It is a *mouse* click on the button.
42
42
  // Or, the menu mode is not multiselect.
43
- if (isOpen && (clickCount > 0 || (menu === null || menu === void 0 ? void 0 : menu.mode) !== 'multi-select')) {
43
+ if (isOpen && (clickCount > 0 || menu?.mode !== 'multi-select')) {
44
44
  setIsOpen(false);
45
45
  }
46
46
  else {
47
47
  setIsOpen(true);
48
48
  }
49
- onClick === null || onClick === void 0 ? void 0 : onClick(e);
49
+ onClick?.(e);
50
50
  }, onKeyDown: (e) => {
51
51
  if (e.key === 'Escape')
52
52
  setIsOpen(false);
53
- }, icon: iconOnly }, { children: _jsxs(Flex, Object.assign({ container: { alignItems: 'center', gap: 1 } }, { children: [icon && _jsx(Icon, { name: icon }, void 0),
54
- !iconOnly && (_jsxs(Text, { children: [text, " ", count !== undefined && _jsx(Count, { children: count }, void 0),
55
- text && _jsx(Icon, { name: 'arrow-micro-down' }, void 0)] }, void 0))] }), void 0) }), void 0),
56
- _jsx(StyledMenuButtonPopover, Object.assign({ placement: rtl ? 'bottom-end' : 'bottom-start', id: `${id}-popover` }, popover, { show: !!menu && isOpen, target: buttonRef.current, ref: popoverRef }, { children: menu && (_jsx(Menu, Object.assign({}, menu, { ref: menuRef, items: menu.items, onItemClick: (itemId, e) => {
57
- var _a;
53
+ }, icon: iconOnly }, { children: _jsxs(Flex, Object.assign({ container: { alignItems: 'center', gap: 1 } }, { children: [icon && _jsx(Icon, { name: icon }, void 0), !iconOnly && (_jsxs(Text, { children: [text, " ", count !== undefined && _jsx(Count, { children: count }, void 0), text && _jsx(Icon, { name: 'arrow-micro-down' }, void 0)] }, void 0))] }), void 0) }), void 0), _jsx(StyledMenuButtonPopover, Object.assign({ placement: rtl ? 'bottom-end' : 'bottom-start', id: `${id}-popover` }, popover, { show: !!menu && isOpen, target: buttonRef.current, ref: popoverRef }, { children: menu && (_jsx(Menu, Object.assign({}, menu, { ref: menuRef, items: menu.items, onItemClick: (itemId, e) => {
58
54
  if (menu.mode !== 'multi-select' &&
59
55
  e
60
56
  .detail > 0) {
61
57
  setIsOpen(false);
62
58
  }
63
- (_a = menu.onItemClick) === null || _a === void 0 ? void 0 : _a.call(menu, itemId, e);
59
+ menu.onItemClick?.(itemId, e);
64
60
  }, focusControlEl: buttonRef.current || undefined }), void 0)) }), void 0)] }, void 0));
65
61
  });
66
62
  export default MenuButton;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../src/components/MenuButton/MenuButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useState,\n FunctionComponent,\n KeyboardEvent,\n MouseEventHandler,\n MouseEvent,\n UIEvent,\n PropsWithoutRef,\n useCallback\n} from 'react';\nimport styled from 'styled-components';\n\nimport { BaseProps, ForwardProps, NoChildrenProp, OmitStrict } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport { useConsolidatedRef, useUID, useFocusWithin, useDirection } from '../../hooks';\nimport Button, { ButtonProps, StyledButton } from '../Button';\nimport Popover, { PopoverProps, StyledPopover } from '../Popover';\nimport Menu from '../Menu';\nimport { AcceptedMouseEventElement } from '../Menu/Menu.types';\nimport Icon from '../Icon';\nimport Flex from '../Flex';\nimport Text from '../Text';\nimport { Count } from '../Badges';\nimport type { MenuProps } from '../Menu/Menu.types';\nimport type { CountProps } from '../Badges/Count';\n\nexport interface MenuButtonProps extends BaseProps, NoChildrenProp {\n /** The text for the MenuButton also used to set the aria-label. */\n text: string;\n /**\n * Determines the Button variant for the MenuButton.\n * @default \"secondary\"\n */\n variant?: ButtonProps['variant'];\n /** The name of the icon for the MenuButton. */\n icon?: string;\n /** Only display the icon. The text prop will be forwarded to a tooltip. */\n iconOnly?: ButtonProps['icon'];\n /** The total count representing the list data which was selected. */\n count?: CountProps['children'];\n /** The click handler for the MenuButton. */\n onClick?: MouseEventHandler;\n /** Menu related props. */\n menu?: MenuProps;\n /** Popover related props. */\n popover?: OmitStrict<PopoverProps, 'show' | 'target' | 'children'>;\n /** DOM id for the button element. */\n id?: string;\n /** Ref for the button element. */\n ref?: ButtonProps['ref'];\n}\n\nconst StyledMenuButton = styled.button`\n flex-shrink: 0;\n\n & + ${StyledPopover} + ${StyledButton} {\n margin-inline-start: ${props => props.theme.base.spacing};\n }\n`;\n\nStyledMenuButton.defaultProps = defaultThemeProp;\n\nconst StyledMenuButtonPopover = styled(Popover)`\n min-width: 20ch;\n`;\n\nconst MenuButton: FunctionComponent<ForwardProps & MenuButtonProps> = forwardRef(\n (props: PropsWithoutRef<MenuButtonProps>, ref: MenuButtonProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n text,\n menu,\n popover,\n onClick,\n icon,\n count,\n iconOnly = false,\n ...restProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const buttonRef = useConsolidatedRef(ref);\n const popoverRef = useConsolidatedRef<HTMLDivElement>(popover?.ref);\n const menuRef = useConsolidatedRef<HTMLDivElement>(menu?.ref);\n\n // FIXME: Type assertion required for issue in useFocusWithin generic\n useFocusWithin<HTMLElement>(\n [popoverRef, buttonRef],\n useCallback(isFocused => {\n if (!isFocused) setIsOpen(false);\n }, [])\n );\n\n const { rtl } = useDirection();\n\n return (\n <>\n <Button\n as={StyledMenuButton}\n {...restProps}\n id={id}\n ref={buttonRef}\n aria-expanded={isOpen}\n aria-haspopup='menu'\n aria-controls={`${id}-popover`}\n aria-label={text}\n label={iconOnly && !isOpen ? text : undefined}\n onClick={(e: MouseEvent<HTMLButtonElement> & UIEvent<HTMLButtonElement>) => {\n // clickCount is 0 when triggered by keyboard.\n const clickCount = e.detail;\n\n // Close the menu if it is open and either:\n // It is a *mouse* click on the button.\n // Or, the menu mode is not multiselect.\n if (isOpen && (clickCount > 0 || menu?.mode !== 'multi-select')) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n\n onClick?.(e);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Escape') setIsOpen(false);\n }}\n icon={iconOnly}\n >\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n {icon && <Icon name={icon} />}\n {!iconOnly && (\n <Text>\n {text} {count !== undefined && <Count>{count}</Count>}\n {text && <Icon name='arrow-micro-down' />}\n </Text>\n )}\n </Flex>\n </Button>\n <StyledMenuButtonPopover\n placement={rtl ? 'bottom-end' : 'bottom-start'}\n id={`${id}-popover`}\n {...popover}\n show={!!menu && isOpen}\n target={buttonRef.current}\n ref={popoverRef}\n >\n {menu && (\n <Menu\n {...menu}\n ref={menuRef}\n items={menu.items}\n onItemClick={(itemId, e) => {\n if (\n menu.mode !== 'multi-select' &&\n (e as MouseEvent<AcceptedMouseEventElement> & UIEvent<AcceptedMouseEventElement>)\n .detail > 0\n ) {\n setIsOpen(false);\n }\n menu.onItemClick?.(itemId, e);\n }}\n focusControlEl={buttonRef.current || undefined}\n />\n )}\n </StyledMenuButtonPopover>\n </>\n );\n }\n);\n\nexport default MenuButton;\n"]}
1
+ {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../src/components/MenuButton/MenuButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useState,\n FunctionComponent,\n KeyboardEvent,\n MouseEventHandler,\n MouseEvent,\n UIEvent,\n PropsWithoutRef,\n useCallback\n} from 'react';\nimport styled from 'styled-components';\n\nimport { BaseProps, ForwardProps, NoChildrenProp, OmitStrict } from '../../types';\nimport { defaultThemeProp } from '../../theme';\nimport { useConsolidatedRef, useUID, useFocusWithin, useDirection } from '../../hooks';\nimport Button, { ButtonProps, StyledButton } from '../Button';\nimport Popover, { PopoverProps, StyledPopover } from '../Popover';\nimport Menu from '../Menu';\nimport { AcceptedMouseEventElement } from '../Menu/Menu.types';\nimport Icon from '../Icon';\nimport Flex from '../Flex';\nimport Text from '../Text';\nimport { Count } from '../Badges';\nimport type { MenuProps } from '../Menu/Menu.types';\nimport type { CountProps } from '../Badges/Count';\n\nexport interface MenuButtonProps extends BaseProps, NoChildrenProp {\n /** The text for the MenuButton also used to set the aria-label. */\n text: string;\n /**\n * Determines the Button variant for the MenuButton.\n * @default \"secondary\"\n */\n variant?: ButtonProps['variant'];\n /** The name of the icon for the MenuButton. */\n icon?: string;\n /** Only display the icon. The text prop will be forwarded to a tooltip. */\n iconOnly?: ButtonProps['icon'];\n /** The total count representing the list data which was selected. */\n count?: CountProps['children'];\n /** The click handler for the MenuButton. */\n onClick?: MouseEventHandler;\n /** Menu related props. */\n menu?: MenuProps;\n /** Popover related props. */\n popover?: OmitStrict<PopoverProps, 'show' | 'target' | 'children'>;\n /** DOM id for the button element. */\n id?: string;\n /** Ref for the button element. */\n ref?: ButtonProps['ref'];\n}\n\nconst StyledMenuButton = styled.button`\n flex-shrink: 0;\n\n & + ${StyledPopover} + ${StyledButton} {\n margin-inline-start: ${props => props.theme.base.spacing};\n }\n`;\n\nStyledMenuButton.defaultProps = defaultThemeProp;\n\nconst StyledMenuButtonPopover = styled(Popover)`\n min-width: 20ch;\n`;\n\nconst MenuButton: FunctionComponent<ForwardProps & MenuButtonProps> = forwardRef(\n (props: PropsWithoutRef<MenuButtonProps>, ref: MenuButtonProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n text,\n menu,\n popover,\n onClick,\n icon,\n count,\n iconOnly = false,\n ...restProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const buttonRef = useConsolidatedRef(ref);\n const popoverRef = useConsolidatedRef<HTMLDivElement>(popover?.ref);\n const menuRef = useConsolidatedRef<HTMLDivElement>(menu?.ref);\n\n // FIXME: Type assertion required for issue in useFocusWithin generic\n useFocusWithin<HTMLElement>(\n [popoverRef, buttonRef],\n useCallback(isFocused => {\n if (!isFocused) setIsOpen(false);\n }, [])\n );\n\n const { rtl } = useDirection();\n\n return (\n <>\n <Button\n as={StyledMenuButton}\n {...restProps}\n id={id}\n ref={buttonRef}\n aria-expanded={isOpen}\n aria-haspopup='menu'\n aria-controls={`${id}-popover`}\n aria-label={text}\n label={iconOnly && !isOpen ? text : undefined}\n onClick={(e: MouseEvent<HTMLButtonElement> & UIEvent<HTMLButtonElement>) => {\n // clickCount is 0 when triggered by keyboard.\n const clickCount = e.detail;\n\n // Close the menu if it is open and either:\n // It is a *mouse* click on the button.\n // Or, the menu mode is not multiselect.\n if (isOpen && (clickCount > 0 || menu?.mode !== 'multi-select')) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n\n onClick?.(e);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Escape') setIsOpen(false);\n }}\n icon={iconOnly}\n >\n <Flex container={{ alignItems: 'center', gap: 1 }}>\n {icon && <Icon name={icon} />}\n {!iconOnly && (\n <Text>\n {text} {count !== undefined && <Count>{count}</Count>}\n {text && <Icon name='arrow-micro-down' />}\n </Text>\n )}\n </Flex>\n </Button>\n <StyledMenuButtonPopover\n placement={rtl ? 'bottom-end' : 'bottom-start'}\n id={`${id}-popover`}\n {...popover}\n show={!!menu && isOpen}\n target={buttonRef.current}\n ref={popoverRef}\n >\n {menu && (\n <Menu\n {...menu}\n ref={menuRef}\n items={menu.items}\n onItemClick={(itemId, e) => {\n if (\n menu.mode !== 'multi-select' &&\n (e as MouseEvent<AcceptedMouseEventElement> & UIEvent<AcceptedMouseEventElement>)\n .detail > 0\n ) {\n setIsOpen(false);\n }\n menu.onItemClick?.(itemId, e);\n }}\n focusControlEl={buttonRef.current || undefined}\n />\n )}\n </StyledMenuButtonPopover>\n </>\n );\n }\n);\n\nexport default MenuButton;\n"]}
@@ -43,27 +43,24 @@ const MinimizedModal = ({ heading, onBeforeClose, onAfterClose, onRequestDismiss
43
43
  const { dismissible, dockable, maximizable, dock, maximize, activate, unmount } = useContext(ModalContext);
44
44
  const t = useI18n();
45
45
  return (_jsxs(Flex, Object.assign({}, restProps, { container: { alignItems: 'center' }, as: StyledMinimizedModal }, { children: [_jsx(BareButton, Object.assign({ "aria-label": `${t('activate')} ${heading}`, onClick: () => {
46
- if ((onRequestActivate === null || onRequestActivate === void 0 ? void 0 : onRequestActivate()) !== false && !dockable)
46
+ if (onRequestActivate?.() !== false && !dockable)
47
47
  activate();
48
- if ((onRequestDock === null || onRequestDock === void 0 ? void 0 : onRequestDock()) !== false && dockable) {
48
+ if (onRequestDock?.() !== false && dockable) {
49
49
  dock();
50
50
  }
51
- } }, { children: heading }), void 0),
52
- maximizable && (_jsx(Button, Object.assign({ icon: true, variant: 'simple', "aria-label": t('modal_maximize'), onClick: () => {
53
- if ((onRequestMaximize === null || onRequestMaximize === void 0 ? void 0 : onRequestMaximize()) !== false) {
51
+ } }, { children: heading }), void 0), maximizable && (_jsx(Button, Object.assign({ icon: true, variant: 'simple', "aria-label": t('modal_maximize'), onClick: () => {
52
+ if (onRequestMaximize?.() !== false) {
54
53
  maximize();
55
54
  }
56
- } }, { children: _jsx(Icon, { name: 'scale-up' }, void 0) }), void 0)),
57
- dockable && (_jsx(Button, Object.assign({ "aria-label": t('modal_dock'), variant: 'simple', onClick: () => {
58
- if ((onRequestDock === null || onRequestDock === void 0 ? void 0 : onRequestDock()) !== false) {
55
+ } }, { children: _jsx(Icon, { name: 'scale-up' }, void 0) }), void 0)), dockable && (_jsx(Button, Object.assign({ "aria-label": t('modal_dock'), variant: 'simple', onClick: () => {
56
+ if (onRequestDock?.() !== false) {
59
57
  dock();
60
58
  }
61
- }, icon: true }, { children: _jsx(Icon, { name: 'scale-down' }, void 0) }), void 0)),
62
- dismissible && (_jsx(Button, Object.assign({ "aria-label": `${t('close')} ${heading}`, variant: 'simple', onClick: () => {
63
- if ((onRequestDismiss === null || onRequestDismiss === void 0 ? void 0 : onRequestDismiss()) !== false) {
64
- onBeforeClose === null || onBeforeClose === void 0 ? void 0 : onBeforeClose();
59
+ }, icon: true }, { children: _jsx(Icon, { name: 'scale-down' }, void 0) }), void 0)), dismissible && (_jsx(Button, Object.assign({ "aria-label": `${t('close')} ${heading}`, variant: 'simple', onClick: () => {
60
+ if (onRequestDismiss?.() !== false) {
61
+ onBeforeClose?.();
65
62
  unmount();
66
- onAfterClose === null || onAfterClose === void 0 ? void 0 : onAfterClose();
63
+ onAfterClose?.();
67
64
  }
68
65
  }, icon: true }, { children: _jsx(Icon, { name: 'times' }, void 0) }), void 0))] }), void 0));
69
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MinimizedModal.js","sourceRoot":"","sources":["../../../src/components/Modal/MinimizedModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FunctionComponent, useContext } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Button, { StyledButton } from '../Button';\nimport Icon from '../Icon';\nimport { defaultThemeProp } from '../../theme';\nimport { ForwardProps } from '../../types';\nimport BareButton, { StyledBareButton } from '../Button/BareButton';\nimport Flex from '../Flex';\nimport { useI18n } from '../../hooks';\n\nimport { ModalProps } from './Modal.types';\nimport { ModalManagerContext } from './Contexts';\n\nconst StyledMinimizedModal = styled.div(({ theme: { base } }) => {\n return css`\n height: 3rem;\n background-color: ${base.palette['primary-background']};\n\n &:hover {\n box-shadow: ${base.shadow.high};\n }\n\n &:focus {\n box-shadow: ${base.shadow.focus};\n }\n\n > ${StyledBareButton}:first-child {\n padding: ${base.spacing} calc(6 * ${base.spacing}) ${base.spacing} ${base.spacing};\n max-width: 20ch;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: ${base.palette['foreground-color']};\n background-color: ${base.palette['primary-background']};\n border-radius: calc(0.25 * ${base['border-radius']}) calc(0.25 * ${base['border-radius']}) 0;\n transition: box-shadow ${base.animation.speed} ${base.animation.timing.ease};\n }\n > ${StyledButton}:last-child {\n margin-inline-end: ${base.spacing};\n }\n `;\n});\n\nStyledMinimizedModal.defaultProps = defaultThemeProp;\n\nconst MinimizedModal: FunctionComponent<ModalProps & ForwardProps> = ({\n heading,\n onBeforeClose,\n onAfterClose,\n onRequestDismiss,\n onRequestActivate,\n onRequestMinimize,\n onRequestMaximize,\n onRequestDock,\n ...restProps\n}) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismissible, dockable, maximizable, dock, maximize, activate, unmount } =\n useContext(ModalContext);\n\n const t = useI18n();\n\n return (\n <Flex {...restProps} container={{ alignItems: 'center' }} as={StyledMinimizedModal}>\n <BareButton\n aria-label={`${t('activate')} ${heading}`}\n onClick={() => {\n if (onRequestActivate?.() !== false && !dockable) activate();\n if (onRequestDock?.() !== false && dockable) {\n dock();\n }\n }}\n >\n {heading}\n </BareButton>\n\n {maximizable && (\n <Button\n icon\n variant='simple'\n aria-label={t('modal_maximize')}\n onClick={() => {\n if (onRequestMaximize?.() !== false) {\n maximize();\n }\n }}\n >\n <Icon name='scale-up' />\n </Button>\n )}\n\n {dockable && (\n <Button\n aria-label={t('modal_dock')}\n variant='simple'\n onClick={() => {\n if (onRequestDock?.() !== false) {\n dock();\n }\n }}\n icon\n >\n <Icon name='scale-down' />\n </Button>\n )}\n\n {dismissible && (\n <Button\n aria-label={`${t('close')} ${heading}`}\n variant='simple'\n onClick={() => {\n if (onRequestDismiss?.() !== false) {\n onBeforeClose?.();\n unmount();\n onAfterClose?.();\n }\n }}\n icon\n >\n <Icon name='times' />\n </Button>\n )}\n </Flex>\n );\n};\n\nexport default MinimizedModal;\n"]}
1
+ {"version":3,"file":"MinimizedModal.js","sourceRoot":"","sources":["../../../src/components/Modal/MinimizedModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FunctionComponent, useContext } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Button, { StyledButton } from '../Button';\nimport Icon from '../Icon';\nimport { defaultThemeProp } from '../../theme';\nimport { ForwardProps } from '../../types';\nimport BareButton, { StyledBareButton } from '../Button/BareButton';\nimport Flex from '../Flex';\nimport { useI18n } from '../../hooks';\n\nimport { ModalProps } from './Modal.types';\nimport { ModalManagerContext } from './Contexts';\n\nconst StyledMinimizedModal = styled.div(({ theme: { base } }) => {\n return css`\n height: 3rem;\n background-color: ${base.palette['primary-background']};\n\n &:hover {\n box-shadow: ${base.shadow.high};\n }\n\n &:focus {\n box-shadow: ${base.shadow.focus};\n }\n\n > ${StyledBareButton}:first-child {\n padding: ${base.spacing} calc(6 * ${base.spacing}) ${base.spacing} ${base.spacing};\n max-width: 20ch;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: ${base.palette['foreground-color']};\n background-color: ${base.palette['primary-background']};\n border-radius: calc(0.25 * ${base['border-radius']}) calc(0.25 * ${base['border-radius']}) 0;\n transition: box-shadow ${base.animation.speed} ${base.animation.timing.ease};\n }\n > ${StyledButton}:last-child {\n margin-inline-end: ${base.spacing};\n }\n `;\n});\n\nStyledMinimizedModal.defaultProps = defaultThemeProp;\n\nconst MinimizedModal: FunctionComponent<ModalProps & ForwardProps> = ({\n heading,\n onBeforeClose,\n onAfterClose,\n onRequestDismiss,\n onRequestActivate,\n onRequestMinimize,\n onRequestMaximize,\n onRequestDock,\n ...restProps\n}) => {\n const { ModalContext } = useContext(ModalManagerContext);\n const { dismissible, dockable, maximizable, dock, maximize, activate, unmount } =\n useContext(ModalContext);\n\n const t = useI18n();\n\n return (\n <Flex {...restProps} container={{ alignItems: 'center' }} as={StyledMinimizedModal}>\n <BareButton\n aria-label={`${t('activate')} ${heading}`}\n onClick={() => {\n if (onRequestActivate?.() !== false && !dockable) activate();\n if (onRequestDock?.() !== false && dockable) {\n dock();\n }\n }}\n >\n {heading}\n </BareButton>\n\n {maximizable && (\n <Button\n icon\n variant='simple'\n aria-label={t('modal_maximize')}\n onClick={() => {\n if (onRequestMaximize?.() !== false) {\n maximize();\n }\n }}\n >\n <Icon name='scale-up' />\n </Button>\n )}\n\n {dockable && (\n <Button\n aria-label={t('modal_dock')}\n variant='simple'\n onClick={() => {\n if (onRequestDock?.() !== false) {\n dock();\n }\n }}\n icon\n >\n <Icon name='scale-down' />\n </Button>\n )}\n\n {dismissible && (\n <Button\n aria-label={`${t('close')} ${heading}`}\n variant='simple'\n onClick={() => {\n if (onRequestDismiss?.() !== false) {\n onBeforeClose?.();\n unmount();\n onAfterClose?.();\n }\n }}\n icon\n >\n <Icon name='times' />\n </Button>\n )}\n </Flex>\n );\n};\n\nexport default MinimizedModal;\n"]}
@@ -1,11 +1,6 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { ForwardProps } from '../../types';
3
- import { ModalProps } from './Modal.types';
4
- export declare const StyledModalHeader: import("styled-components").StyledComponent<"header", import("styled-components").DefaultTheme, {
5
- hasAction?: boolean | undefined;
6
- }, never>;
7
- export declare const StyledModalContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
8
- export declare const StyledModalActions: import("styled-components").StyledComponent<"footer", import("styled-components").DefaultTheme, {}, never>;
3
+ import type { ModalProps } from './Modal.types';
9
4
  declare const Modal: FunctionComponent<ModalProps & ForwardProps>;
10
5
  export default Modal;
11
6
  //# sourceMappingURL=Modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAQ9D,OAAO,EAAqB,UAAU,EAAE,MAAM,eAAe,CAAC;AAoE9D,eAAO,MAAM,iBAAiB;;SAuB7B,CAAC;AAIF,eAAO,MAAM,kBAAkB,yGAU7B,CAAC;AAIH,eAAO,MAAM,kBAAkB,4GAI7B,CAAC;AAIH,QAAA,MAAM,KAAK,EAAE,iBAAiB,CAAC,UAAU,GAAG,YAAY,CAoPvD,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAOf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAc3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAShD,QAAA,MAAM,KAAK,EAAE,iBAAiB,CAAC,UAAU,GAAG,YAAY,CAiRvD,CAAC;AAEF,eAAe,KAAK,CAAC"}