@workday/canvas-kit-react 9.0.0-alpha.368-next.6 → 9.0.0-alpha.382-next.2

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 (602) hide show
  1. package/action-bar/lib/ActionBarList.tsx +2 -2
  2. package/banner/lib/hooks/index.ts +2 -0
  3. package/banner/lib/hooks/useThemedPalette.ts +3 -3
  4. package/common/lib/theming/README.md +97 -0
  5. package/common/lib/theming/index.ts +1 -1
  6. package/common/lib/theming/useTheme.ts +79 -22
  7. package/common/lib/theming/useThemedRing.ts +114 -0
  8. package/common/lib/utils/colorUtils.ts +20 -7
  9. package/common/lib/utils/components.ts +4 -0
  10. package/common/lib/utils/memoize.ts +1 -1
  11. package/dist/commonjs/action-bar/lib/ActionBar.js +8 -9
  12. package/dist/commonjs/action-bar/lib/ActionBarItem.js +7 -18
  13. package/dist/commonjs/action-bar/lib/ActionBarList.js +13 -38
  14. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +13 -24
  15. package/dist/commonjs/action-bar/lib/useActionBarModel.js +39 -38
  16. package/dist/commonjs/avatar/lib/Avatar.js +52 -74
  17. package/dist/commonjs/badge/lib/CountBadge.js +23 -43
  18. package/dist/commonjs/banner/lib/Banner.js +32 -48
  19. package/dist/commonjs/banner/lib/BannerActionText.js +7 -30
  20. package/dist/commonjs/banner/lib/BannerIcon.js +9 -31
  21. package/dist/commonjs/banner/lib/BannerLabel.js +6 -29
  22. package/dist/commonjs/banner/lib/hooks/index.d.ts +2 -0
  23. package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -1
  24. package/dist/commonjs/banner/lib/hooks/index.js +3 -0
  25. package/dist/commonjs/banner/lib/hooks/useBanner.js +5 -6
  26. package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +4 -5
  27. package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +6 -7
  28. package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +4 -5
  29. package/dist/commonjs/banner/lib/hooks/useBannerModel.js +8 -16
  30. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +1 -1
  31. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  32. package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +11 -11
  33. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +12 -35
  34. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +14 -37
  35. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +14 -39
  36. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +15 -36
  37. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +10 -33
  38. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +7 -19
  39. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +15 -38
  40. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +38 -37
  41. package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +4 -4
  42. package/dist/commonjs/button/lib/BaseButton.js +128 -78
  43. package/dist/commonjs/button/lib/DeleteButton.js +27 -58
  44. package/dist/commonjs/button/lib/ExternalHyperlink.js +25 -39
  45. package/dist/commonjs/button/lib/Hyperlink.js +9 -34
  46. package/dist/commonjs/button/lib/PrimaryButton.js +9 -32
  47. package/dist/commonjs/button/lib/SecondaryButton.js +9 -32
  48. package/dist/commonjs/button/lib/TertiaryButton.js +23 -49
  49. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +13 -39
  50. package/dist/commonjs/button/lib/ToolbarIconButton.js +16 -43
  51. package/dist/commonjs/button/lib/deprecated_Button.js +51 -54
  52. package/dist/commonjs/button/lib/parts/ButtonLabel.js +6 -29
  53. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +7 -30
  54. package/dist/commonjs/card/lib/Card.js +8 -31
  55. package/dist/commonjs/card/lib/CardBody.js +6 -29
  56. package/dist/commonjs/card/lib/CardHeading.js +5 -28
  57. package/dist/commonjs/checkbox/lib/Checkbox.js +120 -129
  58. package/dist/commonjs/collection/lib/ListBox.js +11 -34
  59. package/dist/commonjs/collection/lib/react-virtual.js +2 -2
  60. package/dist/commonjs/collection/lib/useBaseListModel.js +57 -61
  61. package/dist/commonjs/collection/lib/useCursorListModel.js +98 -130
  62. package/dist/commonjs/collection/lib/useGridModel.js +14 -32
  63. package/dist/commonjs/collection/lib/useListItemRegister.js +16 -18
  64. package/dist/commonjs/collection/lib/useListItemRovingFocus.js +35 -40
  65. package/dist/commonjs/collection/lib/useListItemSelect.js +6 -8
  66. package/dist/commonjs/collection/lib/useListModel.js +2 -2
  67. package/dist/commonjs/collection/lib/useListRenderItem.js +9 -9
  68. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +9 -10
  69. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +10 -11
  70. package/dist/commonjs/collection/lib/useOverflowListMeasure.js +8 -8
  71. package/dist/commonjs/collection/lib/useOverflowListModel.js +61 -56
  72. package/dist/commonjs/collection/lib/useOverflowListTarget.js +10 -10
  73. package/dist/commonjs/collection/lib/useSelectionListModel.js +31 -37
  74. package/dist/commonjs/color-picker/lib/ColorInput.js +45 -81
  75. package/dist/commonjs/color-picker/lib/ColorPreview.js +7 -32
  76. package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +15 -43
  77. package/dist/commonjs/common/lib/CanvasProvider.js +15 -57
  78. package/dist/commonjs/common/lib/EllipsisText.js +6 -18
  79. package/dist/commonjs/common/lib/InputProvider.js +73 -93
  80. package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
  81. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +22 -49
  82. package/dist/commonjs/common/lib/styles/errorRing.js +11 -10
  83. package/dist/commonjs/common/lib/styles/focusRing.js +19 -21
  84. package/dist/commonjs/common/lib/styles/hideMouseFocus.js +13 -9
  85. package/dist/commonjs/common/lib/theming/breakpoints.js +10 -10
  86. package/dist/commonjs/common/lib/theming/createCanvasTheme.js +36 -65
  87. package/dist/commonjs/common/lib/theming/getObjectProxy.js +3 -3
  88. package/dist/commonjs/common/lib/theming/index.d.ts +1 -1
  89. package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
  90. package/dist/commonjs/common/lib/theming/index.js +1 -1
  91. package/dist/commonjs/common/lib/theming/styled.js +10 -14
  92. package/dist/commonjs/common/lib/theming/theme.js +3 -3
  93. package/dist/commonjs/common/lib/theming/useIsRTL.js +5 -5
  94. package/dist/commonjs/common/lib/theming/useTheme.d.ts +49 -5
  95. package/dist/commonjs/common/lib/theming/useTheme.d.ts.map +1 -1
  96. package/dist/commonjs/common/lib/theming/useTheme.js +82 -37
  97. package/dist/commonjs/common/lib/theming/useThemedRing.d.ts +43 -0
  98. package/dist/commonjs/common/lib/theming/useThemedRing.d.ts.map +1 -0
  99. package/dist/commonjs/common/lib/theming/useThemedRing.js +100 -0
  100. package/dist/commonjs/common/lib/utils/changeFocus.js +3 -3
  101. package/dist/commonjs/common/lib/utils/colorUtils.d.ts +7 -0
  102. package/dist/commonjs/common/lib/utils/colorUtils.d.ts.map +1 -1
  103. package/dist/commonjs/common/lib/utils/colorUtils.js +28 -15
  104. package/dist/commonjs/common/lib/utils/components.d.ts +3 -1
  105. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  106. package/dist/commonjs/common/lib/utils/components.js +46 -89
  107. package/dist/commonjs/common/lib/utils/deepMerge.js +4 -4
  108. package/dist/commonjs/common/lib/utils/elements.js +16 -16
  109. package/dist/commonjs/common/lib/utils/getTranslateFromOrigin.js +2 -2
  110. package/dist/commonjs/common/lib/utils/isWithinBreakpoint.js +1 -1
  111. package/dist/commonjs/common/lib/utils/makeMq.js +4 -4
  112. package/dist/commonjs/common/lib/utils/memoize.d.ts +1 -1
  113. package/dist/commonjs/common/lib/utils/memoize.d.ts.map +1 -1
  114. package/dist/commonjs/common/lib/utils/memoize.js +4 -8
  115. package/dist/commonjs/common/lib/utils/mergeCallback.js +1 -5
  116. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -16
  117. package/dist/commonjs/common/lib/utils/models.js +48 -70
  118. package/dist/commonjs/common/lib/utils/useConstant.js +2 -2
  119. package/dist/commonjs/common/lib/utils/useIsFullscreen.js +7 -7
  120. package/dist/commonjs/common/lib/utils/useModalityType.js +9 -9
  121. package/dist/commonjs/common/lib/utils/useMount.js +3 -3
  122. package/dist/commonjs/common/lib/utils/useResizeObserver.js +9 -21
  123. package/dist/commonjs/common/lib/utils/useUniqueId.js +8 -8
  124. package/dist/commonjs/common/lib/utils/useWindowSize.js +10 -10
  125. package/dist/commonjs/dialog/lib/Dialog.js +7 -8
  126. package/dist/commonjs/dialog/lib/DialogCard.js +6 -17
  127. package/dist/commonjs/dialog/lib/DialogPopper.js +9 -32
  128. package/dist/commonjs/dialog/lib/hooks/useDialogCard.js +4 -5
  129. package/dist/commonjs/dialog/lib/hooks/useDialogModel.js +4 -4
  130. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +4 -5
  131. package/dist/commonjs/disclosure/lib/useDisclosureModel.js +12 -12
  132. package/dist/commonjs/form-field/lib/FormField.js +41 -84
  133. package/dist/commonjs/form-field/lib/Hint.js +13 -47
  134. package/dist/commonjs/form-field/lib/Label.js +43 -86
  135. package/dist/commonjs/icon/lib/AccentIcon.d.ts +3 -2
  136. package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
  137. package/dist/commonjs/icon/lib/AccentIcon.js +15 -41
  138. package/dist/commonjs/icon/lib/AppletIcon.js +16 -40
  139. package/dist/commonjs/icon/lib/Graphic.js +9 -33
  140. package/dist/commonjs/icon/lib/Icon.js +12 -31
  141. package/dist/commonjs/icon/lib/Svg.js +11 -34
  142. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  143. package/dist/commonjs/icon/lib/SystemIcon.js +36 -63
  144. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +2 -1
  145. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
  146. package/dist/commonjs/icon/lib/SystemIconCircle.js +18 -47
  147. package/dist/commonjs/icon/lib/utils.d.ts +0 -2
  148. package/dist/commonjs/icon/lib/utils.d.ts.map +1 -1
  149. package/dist/commonjs/icon/lib/utils.js +2 -10
  150. package/dist/commonjs/layout/lib/Box.js +26 -51
  151. package/dist/commonjs/layout/lib/Flex.js +8 -31
  152. package/dist/commonjs/layout/lib/Grid.js +11 -35
  153. package/dist/commonjs/layout/lib/utils/background.js +1 -1
  154. package/dist/commonjs/layout/lib/utils/border/color.js +1 -1
  155. package/dist/commonjs/layout/lib/utils/border/index.js +20 -24
  156. package/dist/commonjs/layout/lib/utils/border/lineStyle.js +1 -1
  157. package/dist/commonjs/layout/lib/utils/border/radius.js +1 -1
  158. package/dist/commonjs/layout/lib/utils/border/shorthand.js +1 -1
  159. package/dist/commonjs/layout/lib/utils/border/width.js +1 -1
  160. package/dist/commonjs/layout/lib/utils/buildStyleFns.js +40 -43
  161. package/dist/commonjs/layout/lib/utils/color.js +1 -1
  162. package/dist/commonjs/layout/lib/utils/depth.js +1 -1
  163. package/dist/commonjs/layout/lib/utils/flex.js +1 -1
  164. package/dist/commonjs/layout/lib/utils/flexItem.js +1 -1
  165. package/dist/commonjs/layout/lib/utils/getValidChildren.js +2 -4
  166. package/dist/commonjs/layout/lib/utils/grid.js +1 -1
  167. package/dist/commonjs/layout/lib/utils/gridItem.js +1 -1
  168. package/dist/commonjs/layout/lib/utils/layout.js +1 -1
  169. package/dist/commonjs/layout/lib/utils/other.js +1 -1
  170. package/dist/commonjs/layout/lib/utils/position.d.ts +4 -0
  171. package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -1
  172. package/dist/commonjs/layout/lib/utils/position.js +6 -1
  173. package/dist/commonjs/layout/lib/utils/space.js +1 -1
  174. package/dist/commonjs/layout/lib/utils/text.js +1 -1
  175. package/dist/commonjs/loading-dots/lib/LoadingDots.js +20 -42
  176. package/dist/commonjs/menu/lib/Menu.js +10 -11
  177. package/dist/commonjs/menu/lib/MenuCard.js +14 -26
  178. package/dist/commonjs/menu/lib/MenuContextTarget.js +9 -32
  179. package/dist/commonjs/menu/lib/MenuDivider.js +9 -20
  180. package/dist/commonjs/menu/lib/MenuItem.js +77 -86
  181. package/dist/commonjs/menu/lib/MenuList.js +8 -31
  182. package/dist/commonjs/menu/lib/MenuPopper.js +6 -29
  183. package/dist/commonjs/menu/lib/MenuTarget.js +11 -35
  184. package/dist/commonjs/menu/lib/useMenuModel.js +22 -24
  185. package/dist/commonjs/modal/lib/Modal.js +10 -10
  186. package/dist/commonjs/modal/lib/ModalBody.js +13 -26
  187. package/dist/commonjs/modal/lib/ModalCard.js +13 -27
  188. package/dist/commonjs/modal/lib/ModalHeading.js +13 -26
  189. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +8 -19
  190. package/dist/commonjs/modal/lib/ModalOverlay.js +39 -52
  191. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.js +17 -17
  192. package/dist/commonjs/modal/lib/hooks/useModalCard.js +3 -3
  193. package/dist/commonjs/modal/lib/hooks/useModalHeading.js +7 -7
  194. package/dist/commonjs/modal/lib/hooks/useModalModel.js +5 -5
  195. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +15 -36
  196. package/dist/commonjs/pagination/lib/Pagination/Controls.js +37 -63
  197. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +11 -34
  198. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +7 -30
  199. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +7 -18
  200. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
  201. package/dist/commonjs/pagination/lib/Pagination/Nav.js +4 -15
  202. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +15 -39
  203. package/dist/commonjs/pagination/lib/Pagination/PageList.js +10 -34
  204. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +15 -37
  205. package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +9 -15
  206. package/dist/commonjs/pagination/lib/Pagination/common/List.js +8 -32
  207. package/dist/commonjs/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
  208. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.js +2 -4
  209. package/dist/commonjs/pagination/lib/Pagination/common/utils/useRTL.js +5 -5
  210. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +31 -31
  211. package/dist/commonjs/popup/lib/Popper.js +34 -56
  212. package/dist/commonjs/popup/lib/Popup.js +11 -12
  213. package/dist/commonjs/popup/lib/PopupBody.js +6 -17
  214. package/dist/commonjs/popup/lib/PopupCard.js +33 -55
  215. package/dist/commonjs/popup/lib/PopupCloseButton.js +6 -29
  216. package/dist/commonjs/popup/lib/PopupCloseIcon.js +8 -31
  217. package/dist/commonjs/popup/lib/PopupHeading.js +6 -29
  218. package/dist/commonjs/popup/lib/PopupPopper.js +6 -29
  219. package/dist/commonjs/popup/lib/PopupTarget.js +6 -17
  220. package/dist/commonjs/popup/lib/getTransformFromPlacement.js +6 -6
  221. package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +23 -27
  222. package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +9 -9
  223. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +14 -17
  224. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +11 -11
  225. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +9 -9
  226. package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.js +9 -9
  227. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +12 -12
  228. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.js +12 -12
  229. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +10 -10
  230. package/dist/commonjs/popup/lib/hooks/useFocusRedirect.js +10 -10
  231. package/dist/commonjs/popup/lib/hooks/useFocusTrap.js +9 -9
  232. package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +10 -10
  233. package/dist/commonjs/popup/lib/hooks/usePopupCard.js +3 -4
  234. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +3 -4
  235. package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +3 -4
  236. package/dist/commonjs/popup/lib/hooks/usePopupModel.js +29 -34
  237. package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +8 -9
  238. package/dist/commonjs/popup/lib/hooks/usePopupStack.js +15 -15
  239. package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +5 -6
  240. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.js +5 -6
  241. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +19 -19
  242. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.js +10 -10
  243. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.js +10 -10
  244. package/dist/commonjs/radio/lib/Radio.js +113 -133
  245. package/dist/commonjs/radio/lib/RadioGroup.js +33 -78
  246. package/dist/commonjs/segmented-control/lib/SegmentedControl.js +7 -30
  247. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +40 -61
  248. package/dist/commonjs/select/lib/Select.js +47 -64
  249. package/dist/commonjs/select/lib/SelectOption.js +6 -48
  250. package/dist/commonjs/side-panel/lib/SidePanel.js +60 -122
  251. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.js +5 -30
  252. package/dist/commonjs/skeleton/lib/parts/skeletonShape.js +12 -40
  253. package/dist/commonjs/skeleton/lib/parts/skeletonText.js +12 -38
  254. package/dist/commonjs/skeleton/lib/skeleton.js +15 -40
  255. package/dist/commonjs/status-indicator/lib/StatusIndicator.js +28 -61
  256. package/dist/commonjs/switch/lib/Switch.js +55 -65
  257. package/dist/commonjs/table/lib/Table.js +10 -52
  258. package/dist/commonjs/table/lib/TableRow.js +40 -67
  259. package/dist/commonjs/tabs/lib/Tabs.js +11 -12
  260. package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
  261. package/dist/commonjs/tabs/lib/TabsItem.js +81 -86
  262. package/dist/commonjs/tabs/lib/TabsList.js +25 -51
  263. package/dist/commonjs/tabs/lib/TabsMenuPopper.js +6 -29
  264. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +12 -35
  265. package/dist/commonjs/tabs/lib/TabsPanel.js +17 -42
  266. package/dist/commonjs/tabs/lib/TabsPanels.js +5 -6
  267. package/dist/commonjs/tabs/lib/useTabsModel.js +44 -43
  268. package/dist/commonjs/testing/lib/ComponentStatesTable.js +11 -20
  269. package/dist/commonjs/testing/lib/StaticStates.js +10 -34
  270. package/dist/commonjs/testing/lib/permutateProps.js +13 -26
  271. package/dist/commonjs/text/lib/LabelText.js +6 -29
  272. package/dist/commonjs/text/lib/Text.js +13 -39
  273. package/dist/commonjs/text/lib/TypeLevelComponents.js +15 -41
  274. package/dist/commonjs/text-area/lib/TextArea.js +42 -55
  275. package/dist/commonjs/text-input/lib/InputIconContainer.js +11 -17
  276. package/dist/commonjs/text-input/lib/TextInput.js +38 -51
  277. package/dist/commonjs/toast/lib/Toast.js +13 -36
  278. package/dist/commonjs/toast/lib/ToastBody.js +5 -28
  279. package/dist/commonjs/toast/lib/ToastCloseIcon.js +5 -16
  280. package/dist/commonjs/toast/lib/ToastIcon.js +5 -16
  281. package/dist/commonjs/toast/lib/ToastLink.js +5 -28
  282. package/dist/commonjs/toast/lib/ToastMessage.js +6 -29
  283. package/dist/commonjs/toast/lib/hooks/useToastModel.js +8 -16
  284. package/dist/commonjs/tokens/index.d.ts +2 -2
  285. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  286. package/dist/commonjs/tokens/index.js +6 -6
  287. package/dist/commonjs/tokens/lib/type/fontFamilies.js +3 -3
  288. package/dist/commonjs/tokens/lib/type/index.js +7 -7
  289. package/dist/commonjs/tokens/lib/type/levels.js +4 -4
  290. package/dist/commonjs/tokens/lib/type/variants.js +1 -1
  291. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +34 -54
  292. package/dist/commonjs/tooltip/lib/Tooltip.js +26 -47
  293. package/dist/commonjs/tooltip/lib/TooltipContainer.js +37 -35
  294. package/dist/commonjs/tooltip/lib/useTooltip.js +32 -34
  295. package/dist/es6/action-bar/lib/ActionBar.js +3 -4
  296. package/dist/es6/action-bar/lib/ActionBarItem.js +4 -15
  297. package/dist/es6/action-bar/lib/ActionBarList.js +10 -35
  298. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +6 -17
  299. package/dist/es6/action-bar/lib/useActionBarModel.js +36 -35
  300. package/dist/es6/avatar/lib/Avatar.js +46 -68
  301. package/dist/es6/badge/lib/CountBadge.js +20 -40
  302. package/dist/es6/banner/lib/Banner.js +25 -41
  303. package/dist/es6/banner/lib/BannerActionText.js +4 -27
  304. package/dist/es6/banner/lib/BannerIcon.js +5 -27
  305. package/dist/es6/banner/lib/BannerLabel.js +3 -26
  306. package/dist/es6/banner/lib/hooks/index.d.ts +2 -0
  307. package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -1
  308. package/dist/es6/banner/lib/hooks/index.js +2 -0
  309. package/dist/es6/banner/lib/hooks/useBanner.js +3 -4
  310. package/dist/es6/banner/lib/hooks/useBannerActionText.js +2 -3
  311. package/dist/es6/banner/lib/hooks/useBannerIcon.js +2 -3
  312. package/dist/es6/banner/lib/hooks/useBannerLabel.js +2 -3
  313. package/dist/es6/banner/lib/hooks/useBannerModel.js +8 -16
  314. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +1 -1
  315. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  316. package/dist/es6/banner/lib/hooks/useThemedPalette.js +7 -7
  317. package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +3 -26
  318. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +9 -32
  319. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +6 -31
  320. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +11 -32
  321. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +5 -28
  322. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +6 -18
  323. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +6 -29
  324. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +34 -33
  325. package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +4 -4
  326. package/dist/es6/button/lib/BaseButton.js +123 -73
  327. package/dist/es6/button/lib/DeleteButton.js +25 -56
  328. package/dist/es6/button/lib/ExternalHyperlink.js +21 -35
  329. package/dist/es6/button/lib/Hyperlink.js +7 -32
  330. package/dist/es6/button/lib/PrimaryButton.js +6 -29
  331. package/dist/es6/button/lib/SecondaryButton.js +6 -29
  332. package/dist/es6/button/lib/TertiaryButton.js +20 -46
  333. package/dist/es6/button/lib/ToolbarDropdownButton.js +9 -35
  334. package/dist/es6/button/lib/ToolbarIconButton.js +13 -40
  335. package/dist/es6/button/lib/deprecated_Button.js +48 -51
  336. package/dist/es6/button/lib/parts/ButtonLabel.js +4 -27
  337. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -28
  338. package/dist/es6/card/lib/Card.js +3 -26
  339. package/dist/es6/card/lib/CardBody.js +3 -26
  340. package/dist/es6/card/lib/CardHeading.js +3 -26
  341. package/dist/es6/checkbox/lib/Checkbox.js +116 -125
  342. package/dist/es6/collection/lib/ListBox.js +7 -30
  343. package/dist/es6/collection/lib/react-virtual.js +1 -1
  344. package/dist/es6/collection/lib/useBaseListModel.js +55 -59
  345. package/dist/es6/collection/lib/useCursorListModel.js +110 -142
  346. package/dist/es6/collection/lib/useGridModel.js +12 -30
  347. package/dist/es6/collection/lib/useListItemRegister.js +13 -15
  348. package/dist/es6/collection/lib/useListItemRovingFocus.js +33 -38
  349. package/dist/es6/collection/lib/useListItemSelect.js +4 -6
  350. package/dist/es6/collection/lib/useListModel.js +1 -1
  351. package/dist/es6/collection/lib/useListRenderItem.js +8 -8
  352. package/dist/es6/collection/lib/useListResetCursorOnBlur.js +5 -6
  353. package/dist/es6/collection/lib/useOverflowListItemMeasure.js +8 -9
  354. package/dist/es6/collection/lib/useOverflowListMeasure.js +5 -5
  355. package/dist/es6/collection/lib/useOverflowListModel.js +59 -54
  356. package/dist/es6/collection/lib/useOverflowListTarget.js +7 -7
  357. package/dist/es6/collection/lib/useSelectionListModel.js +31 -37
  358. package/dist/es6/color-picker/lib/ColorInput.js +41 -77
  359. package/dist/es6/color-picker/lib/ColorPreview.js +3 -28
  360. package/dist/es6/color-picker/lib/parts/ColorSwatch.js +8 -36
  361. package/dist/es6/common/lib/CanvasProvider.js +11 -54
  362. package/dist/es6/common/lib/EllipsisText.js +5 -17
  363. package/dist/es6/common/lib/InputProvider.js +72 -93
  364. package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
  365. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +20 -47
  366. package/dist/es6/common/lib/styles/accessibleHide.js +1 -1
  367. package/dist/es6/common/lib/styles/errorRing.js +8 -7
  368. package/dist/es6/common/lib/styles/focusRing.js +16 -18
  369. package/dist/es6/common/lib/styles/hideMouseFocus.js +13 -9
  370. package/dist/es6/common/lib/theming/breakpoints.js +12 -12
  371. package/dist/es6/common/lib/theming/createCanvasTheme.js +29 -58
  372. package/dist/es6/common/lib/theming/getObjectProxy.js +3 -3
  373. package/dist/es6/common/lib/theming/index.d.ts +1 -1
  374. package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
  375. package/dist/es6/common/lib/theming/index.js +1 -1
  376. package/dist/es6/common/lib/theming/styled.js +7 -11
  377. package/dist/es6/common/lib/theming/theme.js +5 -5
  378. package/dist/es6/common/lib/theming/useIsRTL.js +2 -2
  379. package/dist/es6/common/lib/theming/useTheme.d.ts +49 -5
  380. package/dist/es6/common/lib/theming/useTheme.d.ts.map +1 -1
  381. package/dist/es6/common/lib/theming/useTheme.js +78 -34
  382. package/dist/es6/common/lib/theming/useThemedRing.d.ts +43 -0
  383. package/dist/es6/common/lib/theming/useThemedRing.d.ts.map +1 -0
  384. package/dist/es6/common/lib/theming/useThemedRing.js +92 -0
  385. package/dist/es6/common/lib/utils/changeFocus.js +3 -3
  386. package/dist/es6/common/lib/utils/colorUtils.d.ts +7 -0
  387. package/dist/es6/common/lib/utils/colorUtils.d.ts.map +1 -1
  388. package/dist/es6/common/lib/utils/colorUtils.js +24 -12
  389. package/dist/es6/common/lib/utils/components.d.ts +3 -1
  390. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  391. package/dist/es6/common/lib/utils/components.js +43 -86
  392. package/dist/es6/common/lib/utils/deepMerge.js +4 -4
  393. package/dist/es6/common/lib/utils/elements.js +16 -16
  394. package/dist/es6/common/lib/utils/getTranslateFromOrigin.js +2 -2
  395. package/dist/es6/common/lib/utils/isWithinBreakpoint.js +1 -1
  396. package/dist/es6/common/lib/utils/makeMq.js +4 -4
  397. package/dist/es6/common/lib/utils/memoize.d.ts +1 -1
  398. package/dist/es6/common/lib/utils/memoize.d.ts.map +1 -1
  399. package/dist/es6/common/lib/utils/memoize.js +4 -8
  400. package/dist/es6/common/lib/utils/mergeCallback.js +1 -5
  401. package/dist/es6/common/lib/utils/mergeProps.js +4 -15
  402. package/dist/es6/common/lib/utils/models.js +47 -69
  403. package/dist/es6/common/lib/utils/useConstant.js +1 -1
  404. package/dist/es6/common/lib/utils/useIsFullscreen.js +5 -5
  405. package/dist/es6/common/lib/utils/useModalityType.js +8 -8
  406. package/dist/es6/common/lib/utils/useMount.js +2 -2
  407. package/dist/es6/common/lib/utils/useResizeObserver.js +6 -18
  408. package/dist/es6/common/lib/utils/useUniqueId.js +8 -8
  409. package/dist/es6/common/lib/utils/useWindowSize.js +8 -8
  410. package/dist/es6/dialog/lib/Dialog.js +2 -3
  411. package/dist/es6/dialog/lib/DialogCard.js +3 -14
  412. package/dist/es6/dialog/lib/DialogPopper.js +6 -29
  413. package/dist/es6/dialog/lib/hooks/useDialogCard.js +2 -3
  414. package/dist/es6/dialog/lib/hooks/useDialogModel.js +3 -3
  415. package/dist/es6/dialog/lib/hooks/useDialogPopper.js +2 -3
  416. package/dist/es6/disclosure/lib/useDisclosureModel.js +11 -11
  417. package/dist/es6/form-field/lib/FormField.js +35 -79
  418. package/dist/es6/form-field/lib/Hint.js +9 -43
  419. package/dist/es6/form-field/lib/Label.js +39 -82
  420. package/dist/es6/icon/lib/AccentIcon.d.ts +3 -2
  421. package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
  422. package/dist/es6/icon/lib/AccentIcon.js +12 -38
  423. package/dist/es6/icon/lib/AppletIcon.js +12 -36
  424. package/dist/es6/icon/lib/Graphic.js +6 -30
  425. package/dist/es6/icon/lib/Icon.js +10 -29
  426. package/dist/es6/icon/lib/Svg.js +8 -31
  427. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  428. package/dist/es6/icon/lib/SystemIcon.js +33 -60
  429. package/dist/es6/icon/lib/SystemIconCircle.d.ts +2 -1
  430. package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
  431. package/dist/es6/icon/lib/SystemIconCircle.js +14 -43
  432. package/dist/es6/icon/lib/utils.d.ts +0 -2
  433. package/dist/es6/icon/lib/utils.d.ts.map +1 -1
  434. package/dist/es6/icon/lib/utils.js +1 -8
  435. package/dist/es6/layout/lib/Box.js +12 -37
  436. package/dist/es6/layout/lib/Flex.js +4 -27
  437. package/dist/es6/layout/lib/Grid.js +7 -31
  438. package/dist/es6/layout/lib/utils/background.js +3 -3
  439. package/dist/es6/layout/lib/utils/border/color.js +2 -2
  440. package/dist/es6/layout/lib/utils/border/index.js +14 -18
  441. package/dist/es6/layout/lib/utils/border/lineStyle.js +2 -2
  442. package/dist/es6/layout/lib/utils/border/radius.js +2 -2
  443. package/dist/es6/layout/lib/utils/border/shorthand.js +2 -2
  444. package/dist/es6/layout/lib/utils/border/width.js +2 -2
  445. package/dist/es6/layout/lib/utils/buildStyleFns.js +39 -42
  446. package/dist/es6/layout/lib/utils/color.js +3 -3
  447. package/dist/es6/layout/lib/utils/depth.js +3 -3
  448. package/dist/es6/layout/lib/utils/flex.js +3 -3
  449. package/dist/es6/layout/lib/utils/flexItem.js +3 -3
  450. package/dist/es6/layout/lib/utils/getValidChildren.js +1 -3
  451. package/dist/es6/layout/lib/utils/grid.js +3 -3
  452. package/dist/es6/layout/lib/utils/gridItem.js +3 -3
  453. package/dist/es6/layout/lib/utils/layout.js +3 -3
  454. package/dist/es6/layout/lib/utils/other.js +3 -3
  455. package/dist/es6/layout/lib/utils/position.d.ts +4 -0
  456. package/dist/es6/layout/lib/utils/position.d.ts.map +1 -1
  457. package/dist/es6/layout/lib/utils/position.js +8 -3
  458. package/dist/es6/layout/lib/utils/space.js +3 -3
  459. package/dist/es6/layout/lib/utils/text.js +3 -3
  460. package/dist/es6/loading-dots/lib/LoadingDots.js +16 -38
  461. package/dist/es6/menu/lib/Menu.js +2 -3
  462. package/dist/es6/menu/lib/MenuCard.js +9 -21
  463. package/dist/es6/menu/lib/MenuContextTarget.js +7 -30
  464. package/dist/es6/menu/lib/MenuDivider.js +6 -17
  465. package/dist/es6/menu/lib/MenuItem.js +70 -79
  466. package/dist/es6/menu/lib/MenuList.js +4 -27
  467. package/dist/es6/menu/lib/MenuPopper.js +4 -27
  468. package/dist/es6/menu/lib/MenuTarget.js +10 -34
  469. package/dist/es6/menu/lib/useMenuModel.js +20 -22
  470. package/dist/es6/modal/lib/Modal.js +2 -2
  471. package/dist/es6/modal/lib/ModalBody.js +10 -23
  472. package/dist/es6/modal/lib/ModalCard.js +10 -24
  473. package/dist/es6/modal/lib/ModalHeading.js +10 -23
  474. package/dist/es6/modal/lib/ModalOverflowOverlay.js +4 -15
  475. package/dist/es6/modal/lib/ModalOverlay.js +33 -46
  476. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.js +13 -13
  477. package/dist/es6/modal/lib/hooks/useModalCard.js +1 -1
  478. package/dist/es6/modal/lib/hooks/useModalHeading.js +5 -5
  479. package/dist/es6/modal/lib/hooks/useModalModel.js +3 -3
  480. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +10 -31
  481. package/dist/es6/pagination/lib/Pagination/Controls.js +35 -61
  482. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +7 -30
  483. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +4 -27
  484. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +4 -15
  485. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
  486. package/dist/es6/pagination/lib/Pagination/Nav.js +2 -13
  487. package/dist/es6/pagination/lib/Pagination/PageButton.js +11 -35
  488. package/dist/es6/pagination/lib/Pagination/PageList.js +7 -31
  489. package/dist/es6/pagination/lib/Pagination/Pagination.js +16 -38
  490. package/dist/es6/pagination/lib/Pagination/buildPageRange.js +9 -15
  491. package/dist/es6/pagination/lib/Pagination/common/List.js +7 -31
  492. package/dist/es6/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
  493. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.js +1 -3
  494. package/dist/es6/pagination/lib/Pagination/common/utils/useRTL.js +4 -4
  495. package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +29 -29
  496. package/dist/es6/popup/lib/Popper.js +29 -51
  497. package/dist/es6/popup/lib/Popup.js +2 -3
  498. package/dist/es6/popup/lib/PopupBody.js +3 -14
  499. package/dist/es6/popup/lib/PopupCard.js +26 -48
  500. package/dist/es6/popup/lib/PopupCloseButton.js +3 -26
  501. package/dist/es6/popup/lib/PopupCloseIcon.js +3 -26
  502. package/dist/es6/popup/lib/PopupHeading.js +3 -26
  503. package/dist/es6/popup/lib/PopupPopper.js +3 -26
  504. package/dist/es6/popup/lib/PopupTarget.js +3 -14
  505. package/dist/es6/popup/lib/getTransformFromPlacement.js +6 -6
  506. package/dist/es6/popup/lib/hooks/focus-trap-js.js +23 -27
  507. package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +5 -5
  508. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +11 -14
  509. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +7 -7
  510. package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +5 -5
  511. package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.js +5 -5
  512. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +8 -8
  513. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.js +9 -9
  514. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +7 -7
  515. package/dist/es6/popup/lib/hooks/useFocusRedirect.js +7 -7
  516. package/dist/es6/popup/lib/hooks/useFocusTrap.js +5 -5
  517. package/dist/es6/popup/lib/hooks/useInitialFocus.js +7 -7
  518. package/dist/es6/popup/lib/hooks/usePopupCard.js +1 -2
  519. package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +1 -2
  520. package/dist/es6/popup/lib/hooks/usePopupHeading.js +1 -2
  521. package/dist/es6/popup/lib/hooks/usePopupModel.js +28 -33
  522. package/dist/es6/popup/lib/hooks/usePopupPopper.js +5 -6
  523. package/dist/es6/popup/lib/hooks/usePopupStack.js +12 -12
  524. package/dist/es6/popup/lib/hooks/usePopupTarget.js +3 -4
  525. package/dist/es6/popup/lib/hooks/usePopupTargetContext.js +3 -4
  526. package/dist/es6/popup/lib/hooks/useReturnFocus.js +15 -15
  527. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.js +5 -5
  528. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.js +5 -5
  529. package/dist/es6/radio/lib/Radio.js +110 -130
  530. package/dist/es6/radio/lib/RadioGroup.js +29 -75
  531. package/dist/es6/segmented-control/lib/SegmentedControl.js +5 -28
  532. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +37 -58
  533. package/dist/es6/select/lib/Select.js +44 -61
  534. package/dist/es6/select/lib/SelectOption.js +5 -48
  535. package/dist/es6/side-panel/lib/SidePanel.js +54 -117
  536. package/dist/es6/skeleton/lib/parts/skeletonHeader.js +2 -27
  537. package/dist/es6/skeleton/lib/parts/skeletonShape.js +9 -37
  538. package/dist/es6/skeleton/lib/parts/skeletonText.js +9 -35
  539. package/dist/es6/skeleton/lib/skeleton.js +9 -34
  540. package/dist/es6/status-indicator/lib/StatusIndicator.js +25 -59
  541. package/dist/es6/switch/lib/Switch.js +54 -64
  542. package/dist/es6/table/lib/Table.js +9 -52
  543. package/dist/es6/table/lib/TableRow.js +35 -62
  544. package/dist/es6/tabs/lib/Tabs.js +2 -3
  545. package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
  546. package/dist/es6/tabs/lib/TabsItem.js +74 -79
  547. package/dist/es6/tabs/lib/TabsList.js +20 -46
  548. package/dist/es6/tabs/lib/TabsMenuPopper.js +4 -27
  549. package/dist/es6/tabs/lib/TabsOverflowButton.js +5 -28
  550. package/dist/es6/tabs/lib/TabsPanel.js +13 -38
  551. package/dist/es6/tabs/lib/TabsPanels.js +2 -3
  552. package/dist/es6/tabs/lib/useTabsModel.js +41 -40
  553. package/dist/es6/testing/lib/ComponentStatesTable.js +9 -18
  554. package/dist/es6/testing/lib/StaticStates.js +8 -32
  555. package/dist/es6/testing/lib/permutateProps.js +13 -26
  556. package/dist/es6/text/lib/LabelText.js +3 -26
  557. package/dist/es6/text/lib/Text.js +10 -36
  558. package/dist/es6/text/lib/TypeLevelComponents.js +16 -42
  559. package/dist/es6/text-area/lib/TextArea.js +41 -54
  560. package/dist/es6/text-input/lib/InputIconContainer.js +8 -14
  561. package/dist/es6/text-input/lib/TextInput.js +37 -50
  562. package/dist/es6/toast/lib/Toast.js +4 -27
  563. package/dist/es6/toast/lib/ToastBody.js +3 -26
  564. package/dist/es6/toast/lib/ToastCloseIcon.js +3 -14
  565. package/dist/es6/toast/lib/ToastIcon.js +3 -14
  566. package/dist/es6/toast/lib/ToastLink.js +3 -26
  567. package/dist/es6/toast/lib/ToastMessage.js +3 -26
  568. package/dist/es6/toast/lib/hooks/useToastModel.js +8 -16
  569. package/dist/es6/tokens/index.d.ts +2 -2
  570. package/dist/es6/tokens/index.d.ts.map +1 -1
  571. package/dist/es6/tokens/index.js +16 -16
  572. package/dist/es6/tokens/lib/depth.js +1 -1
  573. package/dist/es6/tokens/lib/radius.js +1 -1
  574. package/dist/es6/tokens/lib/space.js +2 -2
  575. package/dist/es6/tokens/lib/type/fontFamilies.js +6 -6
  576. package/dist/es6/tokens/lib/type/fontSizes.js +1 -1
  577. package/dist/es6/tokens/lib/type/fontWeights.js +1 -1
  578. package/dist/es6/tokens/lib/type/index.js +8 -8
  579. package/dist/es6/tokens/lib/type/levels.js +1 -1
  580. package/dist/es6/tokens/lib/type/variants.js +1 -1
  581. package/dist/es6/tooltip/lib/OverflowTooltip.js +29 -49
  582. package/dist/es6/tooltip/lib/Tooltip.js +21 -42
  583. package/dist/es6/tooltip/lib/TooltipContainer.js +33 -31
  584. package/dist/es6/tooltip/lib/useTooltip.js +29 -31
  585. package/icon/lib/AccentIcon.tsx +5 -6
  586. package/icon/lib/SystemIcon.tsx +1 -2
  587. package/icon/lib/SystemIconCircle.tsx +4 -3
  588. package/icon/lib/utils.ts +0 -8
  589. package/layout/lib/utils/position.ts +9 -0
  590. package/modal/lib/ModalBody.tsx +2 -2
  591. package/modal/lib/ModalCard.tsx +2 -2
  592. package/modal/lib/ModalHeading.tsx +2 -2
  593. package/modal/lib/ModalOverlay.tsx +2 -2
  594. package/package.json +3 -3
  595. package/tokens/index.ts +3 -3
  596. package/common/lib/theming/getCanvasTheme.ts +0 -40
  597. package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts +0 -28
  598. package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
  599. package/dist/commonjs/common/lib/theming/getCanvasTheme.js +0 -42
  600. package/dist/es6/common/lib/theming/getCanvasTheme.d.ts +0 -28
  601. package/dist/es6/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
  602. package/dist/es6/common/lib/theming/getCanvasTheme.js +0 -37
@@ -1,38 +1,16 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
1
  import * as React from 'react';
24
2
  import { createComponent, ErrorType, useUniqueId, focusRing, mouseFocusBehavior, getErrorColors, styled, useTheme, } from '@workday/canvas-kit-react/common';
25
3
  import { borderRadius, colors, inputColors, spaceNumbers } from '@workday/canvas-kit-react/tokens';
26
4
  import { SystemIcon } from '@workday/canvas-kit-react/icon';
27
5
  import { checkSmallIcon } from '@workday/canvas-system-icons-web';
28
6
  import { LabelText } from '@workday/canvas-kit-react/text';
29
- var checkboxHeight = 18;
30
- var checkboxTapArea = spaceNumbers.m;
31
- var checkboxContainerHeight = checkboxTapArea;
32
- var checkboxLabelDistance = spaceNumbers.xs;
33
- var checkboxWidth = 18;
34
- var rippleRadius = (spaceNumbers.l - checkboxWidth) / 2;
35
- var CheckboxContainer = styled('div')({
7
+ const checkboxHeight = 18;
8
+ const checkboxTapArea = spaceNumbers.m;
9
+ const checkboxContainerHeight = checkboxTapArea;
10
+ const checkboxLabelDistance = spaceNumbers.xs;
11
+ const checkboxWidth = 18;
12
+ const rippleRadius = (spaceNumbers.l - checkboxWidth) / 2;
13
+ const CheckboxContainer = styled('div')({
36
14
  display: 'flex',
37
15
  alignItems: 'center',
38
16
  minHeight: checkboxContainerHeight,
@@ -43,74 +21,94 @@ var CheckboxContainer = styled('div')({
43
21
  * :hover on the checkbox when you hover on it's corresponding label.
44
22
  * This stops the ripple from showing when you hover on the label.
45
23
  */
46
- var CheckboxInputWrapper = styled('div')({
24
+ const CheckboxInputWrapper = styled('div')({
47
25
  display: 'flex',
48
26
  height: checkboxHeight,
49
27
  minWidth: checkboxWidth,
50
28
  marginTop: '3px',
51
29
  alignSelf: 'flex-start',
52
30
  });
53
- var CheckboxRipple = styled('span')({
31
+ const CheckboxRipple = styled('span')({
54
32
  borderRadius: borderRadius.circle,
55
- boxShadow: "0 0 0 0 " + colors.soap200,
33
+ boxShadow: `0 0 0 0 ${colors.soap200}`,
56
34
  height: checkboxHeight,
57
35
  transition: 'box-shadow 150ms ease-out',
58
36
  width: checkboxWidth,
59
37
  position: 'absolute',
60
38
  pointerEvents: 'none', // This is a decorative element we don't want it to block clicks to input
61
- }, function (_a) {
62
- var variant = _a.variant;
63
- return ({
64
- opacity: variant === 'inverse' ? '0.4' : '1',
65
- });
66
- });
39
+ }, ({ variant }) => ({
40
+ opacity: variant === 'inverse' ? '0.4' : '1',
41
+ }));
67
42
  /**
68
43
  * Note: `~ div:first-of-type` refers to `CheckboxBackground`
69
44
  * and was easier to use than a component selector in this case.
70
45
  */
71
- var CheckboxInput = styled('input')(function (_a) {
72
- var _b = _a.theme.canvas.palette, themePrimary = _b.primary, themeFocusOutline = _b.common.focusOutline, variant = _a.variant;
73
- return (__assign({ borderRadius: borderRadius.s, width: checkboxTapArea, height: checkboxTapArea, margin: 0, marginTop: '-3px', marginLeft: '-3px', position: 'absolute', opacity: 0, '&:not(:disabled)': {
74
- cursor: 'pointer',
75
- },
76
- // States
77
- '&:not(:checked):not(:disabled):not(:focus):hover, &:not(:checked):not(:disabled):active': {
78
- '~ div:first-of-type': {
79
- borderColor: variant === 'inverse' ? colors.soap300 : inputColors.hoverBorder,
80
- },
81
- }, '&:checked ~ div:first-of-type': {
82
- borderColor: variant === 'inverse' ? colors.soap300 : themePrimary.main,
83
- backgroundColor: variant === 'inverse' ? colors.frenchVanilla100 : themePrimary.main,
84
- }, '&:disabled ~ div:first-of-type': {
85
- borderColor: inputColors.disabled.border,
86
- backgroundColor: variant === 'inverse' ? colors.soap300 : inputColors.disabled.background,
87
- opacity: variant === 'inverse' ? '.4' : '1',
88
- }, '&:disabled:checked ~ div:first-of-type': {
89
- borderColor: variant === 'inverse' ? colors.soap300 : themePrimary.light,
90
- backgroundColor: variant === 'inverse' ? colors.soap300 : themePrimary.light,
91
- },
92
- // Focus
93
- '&:focus, &:active': {
94
- outline: 'none',
95
- }, '&:focus ~ div:first-of-type': __assign({ borderColor: variant === 'inverse' ? colors.blackPepper400 : themePrimary.main, borderWidth: '2px', boxShadow: 'none' }, focusRing({
46
+ const CheckboxInput = styled('input')(({ theme: { canvas: { palette: { primary: themePrimary, common: { focusOutline: themeFocusOutline }, }, }, }, variant, }) => ({
47
+ borderRadius: borderRadius.s,
48
+ width: checkboxTapArea,
49
+ height: checkboxTapArea,
50
+ margin: 0,
51
+ marginTop: '-3px',
52
+ marginLeft: '-3px',
53
+ position: 'absolute',
54
+ opacity: 0,
55
+ '&:not(:disabled)': {
56
+ cursor: 'pointer',
57
+ },
58
+ // States
59
+ '&:not(:checked):not(:disabled):not(:focus):hover, &:not(:checked):not(:disabled):active': {
60
+ '~ div:first-of-type': {
61
+ borderColor: variant === 'inverse' ? colors.soap300 : inputColors.hoverBorder,
62
+ },
63
+ },
64
+ '&:checked ~ div:first-of-type': {
65
+ borderColor: variant === 'inverse' ? colors.soap300 : themePrimary.main,
66
+ backgroundColor: variant === 'inverse' ? colors.frenchVanilla100 : themePrimary.main,
67
+ },
68
+ '&:disabled ~ div:first-of-type': {
69
+ borderColor: inputColors.disabled.border,
70
+ backgroundColor: variant === 'inverse' ? colors.soap300 : inputColors.disabled.background,
71
+ opacity: variant === 'inverse' ? '.4' : '1',
72
+ },
73
+ '&:disabled:checked ~ div:first-of-type': {
74
+ borderColor: variant === 'inverse' ? colors.soap300 : themePrimary.light,
75
+ backgroundColor: variant === 'inverse' ? colors.soap300 : themePrimary.light,
76
+ },
77
+ // Focus
78
+ '&:focus, &:active': {
79
+ outline: 'none',
80
+ },
81
+ '&:focus ~ div:first-of-type': {
82
+ borderColor: variant === 'inverse' ? colors.blackPepper400 : themePrimary.main,
83
+ borderWidth: '2px',
84
+ boxShadow: 'none',
85
+ ...focusRing({
96
86
  width: variant === 'inverse' ? 2 : 0,
97
87
  separation: 0,
98
88
  animate: false,
99
89
  innerColor: variant === 'inverse' ? colors.blackPepper400 : undefined,
100
90
  outerColor: variant === 'inverse' ? colors.frenchVanilla100 : undefined,
101
- })), '&:checked:focus ~ div:first-of-type': __assign(__assign({}, focusRing({
91
+ }),
92
+ },
93
+ '&:checked:focus ~ div:first-of-type': {
94
+ ...focusRing({
102
95
  width: 2,
103
96
  separation: 2,
104
97
  animate: false,
105
98
  innerColor: variant === 'inverse' ? colors.blackPepper400 : undefined,
106
99
  outerColor: variant === 'inverse' ? colors.frenchVanilla100 : themeFocusOutline,
107
- })), { borderColor: variant === 'inverse' ? colors.frenchVanilla100 : themePrimary.main, borderWidth: '2px', '& span': {
108
- marginLeft: '-7px',
109
- } }) }, mouseFocusBehavior({
100
+ }),
101
+ borderColor: variant === 'inverse' ? colors.frenchVanilla100 : themePrimary.main,
102
+ borderWidth: '2px',
103
+ '& span': {
104
+ marginLeft: '-7px',
105
+ },
106
+ },
107
+ ...mouseFocusBehavior({
110
108
  '&:focus ~ div:first-of-type': {
111
109
  border: variant === 'inverse'
112
- ? "1px solid " + colors.soap300
113
- : "1px solid " + inputColors.hoverBorder,
110
+ ? `1px solid ${colors.soap300}`
111
+ : `1px solid ${inputColors.hoverBorder}`,
114
112
  boxShadow: 'none',
115
113
  '& span': {
116
114
  marginLeft: '-6px',
@@ -123,41 +121,47 @@ var CheckboxInput = styled('input')(function (_a) {
123
121
  borderColor: themePrimary.light,
124
122
  backgroundColor: variant === 'inverse' ? colors.soap300 : themePrimary.light,
125
123
  },
126
- })));
127
- }, function (_a) {
128
- var disabled = _a.disabled;
129
- return ({
130
- '&:hover ~ span:first-of-type': {
131
- boxShadow: disabled ? undefined : "0 0 0 " + rippleRadius + "px " + colors.soap200,
132
- },
133
- });
134
- }, function (_a) {
135
- var theme = _a.theme, error = _a.error, variant = _a.variant;
136
- var errorColors = getErrorColors(error, theme);
124
+ }),
125
+ }), ({ disabled }) => ({
126
+ '&:hover ~ span:first-of-type': {
127
+ boxShadow: disabled ? undefined : `0 0 0 ${rippleRadius}px ${colors.soap200}`,
128
+ },
129
+ }), ({ theme, error, variant }) => {
130
+ const errorColors = getErrorColors(error, theme);
137
131
  if (errorColors.outer === errorColors.inner) {
138
132
  errorColors.outer = 'transparent';
139
133
  }
140
- var errorStyles = {
134
+ const errorStyles = {
141
135
  '& ~ div:first-of-type': {
142
- border: variant === 'inverse' ? "1px solid " + colors.soap300 : "1px solid " + errorColors.inner,
143
- boxShadow: "0 0 0 1px " + errorColors.inner + ", 0 0 0 2px " + errorColors.outer,
136
+ border: variant === 'inverse' ? `1px solid ${colors.soap300}` : `1px solid ${errorColors.inner}`,
137
+ boxShadow: `0 0 0 1px ${errorColors.inner}, 0 0 0 2px ${errorColors.outer}`,
144
138
  },
145
139
  '&:not(:checked):not(:disabled):not(:focus):hover, &:not(:checked):not(:disabled):active': {
146
140
  '~ div:first-of-type': {
147
- borderColor: variant === 'inverse' ? "1px solid " + colors.soap300 : errorColors.inner,
141
+ borderColor: variant === 'inverse' ? `1px solid ${colors.soap300}` : errorColors.inner,
148
142
  },
149
143
  },
150
144
  '&:checked ~ div:first-of-type': {
151
145
  borderColor: variant === 'inverse' ? colors.soap300 : theme.canvas.palette.primary.main,
152
- boxShadow: "\n 0 0 0 2px " + colors.frenchVanilla100 + ",\n 0 0 0 4px " + errorColors.inner + ",\n 0 0 0 5px " + errorColors.outer,
146
+ boxShadow: `
147
+ 0 0 0 2px ${colors.frenchVanilla100},
148
+ 0 0 0 4px ${errorColors.inner},
149
+ 0 0 0 5px ${errorColors.outer}`,
153
150
  },
154
151
  };
155
- return __assign(__assign({}, mouseFocusBehavior(__assign(__assign({}, errorStyles), { '&:not(:checked):focus ~ div:first-of-type': {
156
- border: "1px solid " + errorColors.inner,
157
- boxShadow: "0 0 0 1px " + errorColors.inner + ", 0 0 0 2px " + errorColors.outer,
158
- } }))), errorStyles);
152
+ return {
153
+ // Error rings take precedence over focus
154
+ ...mouseFocusBehavior({
155
+ ...errorStyles,
156
+ '&:not(:checked):focus ~ div:first-of-type': {
157
+ border: `1px solid ${errorColors.inner}`,
158
+ boxShadow: `0 0 0 1px ${errorColors.inner}, 0 0 0 2px ${errorColors.outer}`,
159
+ },
160
+ }),
161
+ ...errorStyles,
162
+ };
159
163
  });
160
- var CheckboxBackground = styled('div')({
164
+ const CheckboxBackground = styled('div')({
161
165
  alignItems: 'center',
162
166
  backgroundColor: colors.frenchVanilla100,
163
167
  borderRadius: borderRadius.s,
@@ -170,13 +174,10 @@ var CheckboxBackground = styled('div')({
170
174
  position: 'absolute',
171
175
  transition: 'border 200ms ease, background 200ms',
172
176
  width: checkboxWidth,
173
- }, function (_a) {
174
- var variant = _a.variant;
175
- return ({
176
- border: "1px solid " + (variant === 'inverse' ? colors.soap300 : inputColors.border),
177
- });
178
- });
179
- var CheckboxCheck = styled('div')({
177
+ }, ({ variant }) => ({
178
+ border: `1px solid ${variant === 'inverse' ? colors.soap300 : inputColors.border}`,
179
+ }));
180
+ const CheckboxCheck = styled('div')({
180
181
  display: 'flex',
181
182
  flexDirection: 'column',
182
183
  // When using align-items: center on a flex container in the column direction,
@@ -192,38 +193,28 @@ var CheckboxCheck = styled('div')({
192
193
  marginLeft: '-6px',
193
194
  transition: 'margin 200ms ease',
194
195
  },
195
- }, function (_a) {
196
- var checked = _a.checked;
197
- return ({
198
- opacity: checked ? 1 : 0,
199
- transform: checked ? 'scale(1)' : 'scale(0.5)',
200
- });
201
- });
202
- var IndeterminateBox = styled('div')({
196
+ }, ({ checked }) => ({
197
+ opacity: checked ? 1 : 0,
198
+ transform: checked ? 'scale(1)' : 'scale(0.5)',
199
+ }));
200
+ const IndeterminateBox = styled('div')({
203
201
  width: '10px',
204
202
  height: '2px',
205
- }, function (_a) {
206
- var theme = _a.theme, variant = _a.variant;
207
- return ({
208
- backgroundColor: variant === 'inverse'
209
- ? theme.canvas.palette.primary.main
210
- : theme.canvas.palette.primary.contrast,
211
- });
212
- });
213
- export var Checkbox = createComponent('input')({
203
+ }, ({ theme, variant }) => ({
204
+ backgroundColor: variant === 'inverse'
205
+ ? theme.canvas.palette.primary.main
206
+ : theme.canvas.palette.primary.contrast,
207
+ }));
208
+ export const Checkbox = createComponent('input')({
214
209
  displayName: 'Checkbox',
215
- Component: function (_a, ref, Element) {
216
- var _b = _a.checked, checked = _b === void 0 ? false : _b, _c = _a.label, label = _c === void 0 ? '' : _c,
217
- // TODO: Fix useTheme and make it a real hook
218
- // eslint-disable-next-line react-hooks/rules-of-hooks
219
- _d = _a.theme,
220
- // TODO: Fix useTheme and make it a real hook
221
- // eslint-disable-next-line react-hooks/rules-of-hooks
222
- theme = _d === void 0 ? useTheme() : _d, id = _a.id, disabled = _a.disabled, indeterminate = _a.indeterminate, variant = _a.variant, elemProps = __rest(_a, ["checked", "label", "theme", "id", "disabled", "indeterminate", "variant"]);
223
- var inputId = useUniqueId(id);
210
+ Component: ({ checked = false, label = '',
211
+ // TODO: Fix useTheme and make it a real hook
212
+ // eslint-disable-next-line react-hooks/rules-of-hooks
213
+ theme = useTheme(), id, disabled, indeterminate, variant, ...elemProps }, ref, Element) => {
214
+ const inputId = useUniqueId(id);
224
215
  return (React.createElement(CheckboxContainer, null,
225
216
  React.createElement(CheckboxInputWrapper, { disabled: disabled },
226
- React.createElement(CheckboxInput, __assign({ as: Element, checked: checked, disabled: disabled, id: inputId, ref: ref, type: "checkbox", variant: variant, "aria-checked": indeterminate ? 'mixed' : checked }, elemProps)),
217
+ React.createElement(CheckboxInput, Object.assign({ as: Element, checked: checked, disabled: disabled, id: inputId, ref: ref, type: "checkbox", variant: variant, "aria-checked": indeterminate ? 'mixed' : checked }, elemProps)),
227
218
  React.createElement(CheckboxRipple, { variant: variant }),
228
219
  React.createElement(CheckboxBackground, { variant: variant, checked: checked, disabled: disabled },
229
220
  React.createElement(CheckboxCheck, { checked: checked }, indeterminate ? (React.createElement(IndeterminateBox, { variant: variant })) : (React.createElement(SystemIcon, { icon: checkSmallIcon, color: variant === 'inverse'
@@ -232,6 +223,6 @@ export var Checkbox = createComponent('input')({
232
223
  label && (React.createElement(LabelText, { htmlFor: inputId, disabled: disabled, variant: variant, paddingLeft: checkboxLabelDistance }, label))));
233
224
  },
234
225
  subComponents: {
235
- ErrorType: ErrorType,
226
+ ErrorType,
236
227
  },
237
228
  });
@@ -1,39 +1,17 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
1
  import React from 'react';
24
2
  import { createContainer, createElemPropsHook, createSubcomponent, } from '@workday/canvas-kit-react/common';
25
3
  import { Box } from '@workday/canvas-kit-react/layout';
26
4
  import { useListModel } from './useListModel';
27
5
  import { useListRenderItems } from './useListRenderItem';
28
6
  import { useListItemRegister } from './useListItemRegister';
29
- export var ListBoxItem = createSubcomponent('li')({
7
+ export const ListBoxItem = createSubcomponent('li')({
30
8
  displayName: 'Item',
31
9
  modelHook: useListModel,
32
10
  elemPropsHook: useListItemRegister,
33
- })(function (elemProps, Element) {
34
- return React.createElement(Box, __assign({ as: Element }, elemProps));
11
+ })((elemProps, Element) => {
12
+ return React.createElement(Box, Object.assign({ as: Element }, elemProps));
35
13
  });
36
- export var useListBox = createElemPropsHook(useListModel)(function (model) {
14
+ export const useListBox = createElemPropsHook(useListModel)(model => {
37
15
  return {
38
16
  style: {
39
17
  position: 'relative',
@@ -58,7 +36,7 @@ export var useListBox = createElemPropsHook(useListModel)(function (model) {
58
36
  * - Inner Box: The element responsible for the virtual container. Height is controlled by the model
59
37
  * and cannot be changed by the developer. All props and ref will be spread to this element.
60
38
  */
61
- export var ListBox = createContainer('ul')({
39
+ export const ListBox = createContainer('ul')({
62
40
  displayName: 'ListBox',
63
41
  modelHook: useListModel,
64
42
  elemPropsHook: useListBox,
@@ -74,9 +52,8 @@ export var ListBox = createContainer('ul')({
74
52
  */
75
53
  Item: ListBoxItem,
76
54
  },
77
- })(function (_a, Element, model) {
78
- var height = _a.height, maxHeight = _a.maxHeight, elemProps = __rest(_a, ["height", "maxHeight"]);
55
+ })(({ height, maxHeight, ...elemProps }, Element, model) => {
79
56
  // TODO figure out what style props should go to which `Box`
80
57
  return (React.createElement(Box, { ref: model.state.containerRef, height: height || model.state.isVirtualized ? model.state.UNSTABLE_virtual.totalSize : undefined, maxHeight: maxHeight, overflowY: model.state.orientation === 'vertical' ? 'auto' : undefined },
81
- React.createElement(Box, __assign({ as: Element }, elemProps), useListRenderItems(model, elemProps.children))));
58
+ React.createElement(Box, Object.assign({ as: Element }, elemProps), useListRenderItems(model, elemProps.children))));
82
59
  });
@@ -1,5 +1,5 @@
1
1
  // retype interfaces
2
2
  // delete when `react-virtual` accepts this PR: https://github.com/TanStack/react-virtual/pull/277
3
3
  import { useVirtual as useVirtualReactVirtual, defaultRangeExtractor } from 'react-virtual';
4
- var useVirtual = useVirtualReactVirtual;
4
+ const useVirtual = useVirtualReactVirtual;
5
5
  export { defaultRangeExtractor, useVirtual };
@@ -1,22 +1,11 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import React from 'react';
13
2
  import { useVirtual } from './react-virtual';
14
3
  import { useUniqueId, assert, createModelHook } from '@workday/canvas-kit-react/common';
15
- export var defaultGetId = function (item) {
4
+ export const defaultGetId = (item) => {
16
5
  assert(item.id, 'A list item must have an `id` field or a `getId` function defined');
17
6
  return item.id;
18
7
  };
19
- export var defaultGetTextValue = function (item) {
8
+ export const defaultGetTextValue = (item) => {
20
9
  return item.text || '';
21
10
  };
22
11
  // interface Collection<T> {
@@ -51,13 +40,14 @@ export var defaultGetTextValue = function (item) {
51
40
  // }
52
41
  // }
53
42
  // force Typescript to use `Generic` as a symbol
54
- var genericDefaultConfig = {
43
+ const genericDefaultConfig = {
55
44
  items: [],
56
45
  };
57
- export var useBaseListModel = createModelHook({
58
- defaultConfig: __assign(__assign({}, genericDefaultConfig), {
46
+ export const useBaseListModel = createModelHook({
47
+ defaultConfig: {
48
+ ...genericDefaultConfig,
59
49
  /** IDREF of the list. Children ids can be derived from this id */
60
- id: '',
50
+ id: '',
61
51
  /**
62
52
  * Optional function to return an id of an item. If not provided, the default function will return
63
53
  * the `id` property from the object of each item. If you did not provide `items`, do not override
@@ -65,72 +55,78 @@ export var useBaseListModel = createModelHook({
65
55
  * will create an internal array of items where `id` is the only property and the default `getId`
66
56
  * will return the desired result.
67
57
  */
68
- getId: function (item) { return item.id; }, getTextValue: function (item) { return (item.text || ''); },
58
+ getId: (item) => item.id,
59
+ getTextValue: (item) => (item.text || ''),
69
60
  /**
70
61
  * Array of all ids which are currently disabled. This is used for navigation to skip over items
71
62
  * which are not focusable.
72
63
  */
73
- nonInteractiveIds: [],
64
+ nonInteractiveIds: [],
74
65
  /**
75
66
  * The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
76
67
  * effect which ids activate progression through a list. For example, `horizontal` will activate with
77
68
  * left and right arrows while `vertical` will activate with up and down arrows.
78
69
  * @default 'vertical'
79
70
  */
80
- orientation: 'vertical',
71
+ orientation: 'vertical',
81
72
  /**
82
73
  * Best guess to the default item height for virtualization. Getting this number correct
83
74
  * avoids a rerender while the list is initializing.
84
75
  *
85
76
  * @default 50
86
77
  */
87
- defaultItemHeight: 50, shouldVirtualize: true }),
88
- })(function (config) {
78
+ defaultItemHeight: 50,
79
+ shouldVirtualize: true,
80
+ },
81
+ })(config => {
89
82
  var _a;
90
- var id = useUniqueId(config.id);
91
- var getId = config.getId || defaultGetId;
92
- var getTextValue = config.getTextValue || defaultGetTextValue;
93
- var orientation = React.useState(config.orientation || 'vertical')[0];
94
- var _b = React.useState(config.defaultItemHeight), UNSTABLE_defaultItemHeight = _b[0], setDefaultItemHeight = _b[1];
95
- var isVirtualized = config.shouldVirtualize && !!((_a = config.items) === null || _a === void 0 ? void 0 : _a.length);
96
- var indexRef = React.useRef(0);
97
- var containerRef = React.useRef(null);
98
- var items = React.useMemo(function () {
99
- return (config.items || []).map(function (item, index) {
100
- return {
101
- id: getId(item),
102
- index: index,
103
- value: item,
104
- textValue: getTextValue(item),
105
- };
106
- });
107
- }, [config.items, getId, getTextValue]);
108
- var _c = React.useState([]), staticItems = _c[0], setStaticItems = _c[1];
109
- var UNSTABLE_virtual = useVirtual({
83
+ const id = useUniqueId(config.id);
84
+ const getId = config.getId || defaultGetId;
85
+ const getTextValue = config.getTextValue || defaultGetTextValue;
86
+ const [orientation] = React.useState(config.orientation || 'vertical');
87
+ const [UNSTABLE_defaultItemHeight, setDefaultItemHeight] = React.useState(config.defaultItemHeight);
88
+ const isVirtualized = config.shouldVirtualize && !!((_a = config.items) === null || _a === void 0 ? void 0 : _a.length);
89
+ const indexRef = React.useRef(0);
90
+ const containerRef = React.useRef(null);
91
+ const items = React.useMemo(() => (config.items || []).map((item, index) => {
92
+ return {
93
+ id: getId(item),
94
+ index,
95
+ value: item,
96
+ textValue: getTextValue(item),
97
+ };
98
+ }), [config.items, getId, getTextValue]);
99
+ const [staticItems, setStaticItems] = React.useState([]);
100
+ const UNSTABLE_virtual = useVirtual({
110
101
  size: items.length,
111
102
  parentRef: containerRef,
112
- estimateSize: React.useCallback(function () { return UNSTABLE_defaultItemHeight; }, [UNSTABLE_defaultItemHeight]),
103
+ estimateSize: React.useCallback(() => UNSTABLE_defaultItemHeight, [UNSTABLE_defaultItemHeight]),
113
104
  horizontal: config.orientation === 'horizontal',
114
105
  overscan: 3, // overscan of 3 helps rapid navigation
115
106
  });
116
107
  // Force Typescript to recognize the `Generic` symbol
117
- var genericState = {
108
+ const genericState = {
118
109
  items: items.length ? items : staticItems,
119
110
  };
120
- var state = __assign(__assign({}, genericState), { UNSTABLE_virtual: UNSTABLE_virtual,
121
- UNSTABLE_defaultItemHeight: UNSTABLE_defaultItemHeight,
122
- containerRef: containerRef,
123
- id: id,
124
- orientation: orientation,
125
- indexRef: indexRef, nonInteractiveIds: config.nonInteractiveIds || [], isVirtualized: isVirtualized });
126
- var events = {
111
+ const state = {
112
+ ...genericState,
113
+ UNSTABLE_virtual,
114
+ UNSTABLE_defaultItemHeight,
115
+ containerRef,
116
+ id,
117
+ orientation,
118
+ indexRef,
119
+ nonInteractiveIds: config.nonInteractiveIds || [],
120
+ isVirtualized,
121
+ };
122
+ const events = {
127
123
  /**
128
124
  * Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
129
125
  * should be called on component mount. This event is only called for static rendering.
130
126
  */
131
- registerItem: function (data) {
127
+ registerItem(data) {
132
128
  indexRef.current++;
133
- setStaticItems(function (items) {
129
+ setStaticItems(items => {
134
130
  return items.concat({
135
131
  id: getId(data.item),
136
132
  value: data.item,
@@ -143,11 +139,11 @@ export var useBaseListModel = createModelHook({
143
139
  * Unregister an item by its identifier. This should be called when the component is unmounted.
144
140
  * This event is only called for static rendering.
145
141
  */
146
- unregisterItem: function (data) {
147
- setStaticItems(function (items) {
142
+ unregisterItem(data) {
143
+ setStaticItems(items => {
148
144
  // this extra `if` ensures reference stability for no-ops
149
- if (items.find(function (item) { return getId(item.value) === data.id; })) {
150
- return items.filter(function (item) { return getId(item.value) !== data.id; });
145
+ if (items.find(item => getId(item.value) === data.id)) {
146
+ return items.filter(item => getId(item.value) !== data.id);
151
147
  }
152
148
  else {
153
149
  return items;
@@ -163,9 +159,9 @@ export var useBaseListModel = createModelHook({
163
159
  * "detached" since the browser recalculates scroll bar position while the overflow container is
164
160
  * updated.
165
161
  */
166
- updateItemHeight: function (data) {
162
+ updateItemHeight(data) {
167
163
  setDefaultItemHeight(data.value);
168
164
  },
169
165
  };
170
- return { state: state, events: events, getId: getId };
166
+ return { state, events, getId };
171
167
  });