@workday/canvas-kit-react 9.0.0-alpha.368-next.6 → 9.0.0-alpha.384-next.3

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
@@ -6,7 +6,7 @@ export var BreakpointKey;
6
6
  BreakpointKey["l"] = "l";
7
7
  BreakpointKey["xl"] = "xl";
8
8
  })(BreakpointKey || (BreakpointKey = {}));
9
- export var breakpointKeys = ['zero', 's', 'm', 'l', 'xl'];
9
+ export const breakpointKeys = ['zero', 's', 'm', 'l', 'xl'];
10
10
  /**
11
11
  * ### Theme Breakpoint Values
12
12
  *
@@ -30,14 +30,14 @@ export var breakpointKeys = ['zero', 's', 'm', 'l', 'xl'];
30
30
  * Note: Some applications may only require a subset of screen sizes and not use all breakpoints.
31
31
  *
32
32
  */
33
- export var breakpoints = {
33
+ export const breakpoints = {
34
34
  zero: 0,
35
35
  s: 320,
36
36
  m: 768,
37
37
  l: 1024,
38
38
  xl: 1440,
39
39
  };
40
- var step = 0.5;
40
+ const step = 0.5;
41
41
  /**
42
42
  * ### Up
43
43
  *
@@ -62,8 +62,8 @@ var step = 0.5;
62
62
  * ```
63
63
  */
64
64
  export function up(key) {
65
- var value = typeof breakpoints[key] === 'number' ? breakpoints[key] : key;
66
- return "@media (min-width: " + value + "px)";
65
+ const value = typeof breakpoints[key] === 'number' ? breakpoints[key] : key;
66
+ return `@media (min-width: ${value}px)`;
67
67
  }
68
68
  /**
69
69
  * ### Down
@@ -111,14 +111,14 @@ export function up(key) {
111
111
  * ```
112
112
  */
113
113
  export function down(endKey) {
114
- var endIndex = breakpointKeys.indexOf(endKey) + 1;
115
- var upperbound = breakpoints[breakpointKeys[endIndex]];
114
+ const endIndex = breakpointKeys.indexOf(endKey) + 1;
115
+ const upperbound = breakpoints[breakpointKeys[endIndex]];
116
116
  if (endIndex === breakpointKeys.length) {
117
117
  // xl down applies to all sizes
118
118
  return up(BreakpointKey.zero);
119
119
  }
120
- var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : 0;
121
- return "@media (max-width: " + (value - step) + "px)";
120
+ const value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : 0;
121
+ return `@media (max-width: ${value - step}px)`;
122
122
  }
123
123
  /**
124
124
  * ### Between
@@ -167,12 +167,12 @@ export function down(endKey) {
167
167
  * ```
168
168
  */
169
169
  export function between(start, end) {
170
- var endIndex = breakpointKeys.indexOf(end) + 1;
170
+ const endIndex = breakpointKeys.indexOf(end) + 1;
171
171
  if (endIndex === breakpointKeys.length) {
172
172
  return up(start);
173
173
  }
174
- return ("@media (min-width: " + breakpoints[start] + "px) and " +
175
- ("(max-width: " + (breakpoints[breakpointKeys[endIndex]] - step) + "px)"));
174
+ return (`@media (min-width: ${breakpoints[start]}px) and ` +
175
+ `(max-width: ${breakpoints[breakpointKeys[endIndex]] - step}px)`);
176
176
  }
177
177
  /**
178
178
  * ### Only
@@ -1,25 +1,3 @@
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 chroma from 'chroma-js';
24
2
  import colors from '@workday/canvas-colors-web';
25
3
  import { defaultCanvasTheme } from './theme';
@@ -28,77 +6,70 @@ import { pickForegroundColor } from '../utils';
28
6
  // Should these be exported?
29
7
  import { deepMerge } from '../utils/deepMerge';
30
8
  import { memoize } from '../utils/memoize';
31
- export var shiftColor = memoize(function (hexColor, amount) {
32
- if (amount === void 0) { amount = 100; }
33
- var canvasColor = Object.keys(colors).find(function (color) { return colors[color] === hexColor; });
9
+ export const shiftColor = memoize((hexColor, amount = 100) => {
10
+ const canvasColor = Object.keys(colors).find(color => colors[color] === hexColor);
34
11
  if (canvasColor) {
35
- var colorRegex = /([a-zAz]*)(\d{3})/g;
36
- var match = colorRegex.exec(canvasColor);
12
+ const colorRegex = /([a-zAz]*)(\d{3})/g;
13
+ const match = colorRegex.exec(canvasColor);
37
14
  if (match) {
38
- var baseColor = match[1];
39
- var shadeNumber = parseInt(match[2], 10);
40
- var newShade = shadeNumber + amount;
15
+ const baseColor = match[1];
16
+ const shadeNumber = parseInt(match[2], 10);
17
+ const newShade = shadeNumber + amount;
41
18
  if (newShade >= 100 && newShade <= 600) {
42
19
  return colors[(baseColor + newShade)];
43
20
  }
44
21
  }
45
22
  }
46
23
  try {
47
- var newColor = amount > 0
24
+ const newColor = amount > 0
48
25
  ? chroma(hexColor).darken(amount / 100)
49
26
  : chroma(hexColor).brighten(-amount / 100);
50
27
  return newColor.hex();
51
28
  }
52
29
  catch (e) {
53
- console.warn("Invalid color '" + hexColor + "' used in theme");
30
+ console.warn(`Invalid color '${hexColor}' used in theme`);
54
31
  return hexColor;
55
32
  }
56
- }, function (color, value) { return color + "." + value; });
33
+ }, (color, value) => `${color}.${value}`);
57
34
  function fillPalette(defaultPalette, palette) {
58
35
  if (!palette) {
59
36
  return {};
60
37
  }
61
- var main = palette.main || defaultPalette.main;
62
- var dark = palette.dark || (palette.main && shiftColor(palette.main, 100)) || defaultPalette.dark;
63
- var darkest = palette.darkest || (palette.main && shiftColor(palette.main, 200)) || defaultPalette.darkest;
64
- var light = palette.light || (palette.main && shiftColor(palette.main, -100)) || defaultPalette.light;
65
- var lightest = palette.lightest || (palette.main && shiftColor(palette.main, -200)) || defaultPalette.lightest;
66
- var contrast = palette.contrast || pickForegroundColor(main) || defaultPalette.contrast;
38
+ const main = palette.main || defaultPalette.main;
39
+ const dark = palette.dark || (palette.main && shiftColor(palette.main, 100)) || defaultPalette.dark;
40
+ const darkest = palette.darkest || (palette.main && shiftColor(palette.main, 200)) || defaultPalette.darkest;
41
+ const light = palette.light || (palette.main && shiftColor(palette.main, -100)) || defaultPalette.light;
42
+ const lightest = palette.lightest || (palette.main && shiftColor(palette.main, -200)) || defaultPalette.lightest;
43
+ const contrast = palette.contrast || pickForegroundColor(main) || defaultPalette.contrast;
67
44
  return {
68
- lightest: lightest,
69
- light: light,
70
- main: main,
71
- dark: dark,
72
- darkest: darkest,
73
- contrast: contrast,
45
+ lightest,
46
+ light,
47
+ main,
48
+ dark,
49
+ darkest,
50
+ contrast,
74
51
  };
75
52
  }
76
53
  function calculateCanvasTheme(partialTheme) {
77
- var _a = partialTheme.palette, palette = _a === void 0 ? {} : _a, _b = partialTheme.breakpoints, breakpoints = _b === void 0 ? {} : _b, direction = partialTheme.direction, extraFields = __rest(partialTheme, ["palette", "breakpoints", "direction"]);
78
- var _c = palette, primary = _c.primary, alert = _c.alert, error = _c.error, success = _c.success, neutral = _c.neutral, _d = _c.common, common = _d === void 0 ? {} : _d;
79
- var mergeable = {
54
+ const { palette = {}, breakpoints = {}, direction, ...extraFields } = partialTheme;
55
+ const { primary, alert, error, success, neutral, common = {} } = palette;
56
+ const mergeable = {
80
57
  palette: {
81
- common: common,
58
+ common,
82
59
  primary: fillPalette(defaultCanvasTheme.palette.primary, primary),
83
60
  alert: fillPalette(defaultCanvasTheme.palette.alert, alert),
84
61
  error: fillPalette(defaultCanvasTheme.palette.error, error),
85
62
  success: fillPalette(defaultCanvasTheme.palette.success, success),
86
63
  neutral: fillPalette(defaultCanvasTheme.palette.neutral, neutral),
87
64
  },
88
- breakpoints: breakpoints,
65
+ breakpoints,
89
66
  direction: direction === ContentDirection.RTL ? direction : ContentDirection.LTR,
90
67
  };
91
- return deepMerge(deepMerge({}, defaultCanvasTheme), __assign(__assign({}, mergeable), extraFields));
68
+ return deepMerge(deepMerge({}, defaultCanvasTheme), { ...mergeable, ...extraFields });
92
69
  }
93
70
  /**
94
71
  * Creates a full {@link CanvasTheme} from any partial theme by deeply merging with the
95
72
  * `defaultCanvasTheme` object. The function is memoized, but it is best to run this function
96
73
  * only once and save the result.
97
74
  */
98
- export var createCanvasTheme = memoize(calculateCanvasTheme, function () {
99
- var args = [];
100
- for (var _i = 0; _i < arguments.length; _i++) {
101
- args[_i] = arguments[_i];
102
- }
103
- return JSON.stringify(args);
104
- });
75
+ export const createCanvasTheme = memoize(calculateCanvasTheme, (...args) => JSON.stringify(args));
@@ -8,17 +8,17 @@
8
8
  export function getObjectProxy(target, fallback) {
9
9
  if (target) {
10
10
  return new Proxy(target, {
11
- get: function (target, prop, receiver) {
11
+ get(target, prop, receiver) {
12
12
  if (typeof fallback[prop] === 'object') {
13
13
  return getObjectProxy(target[prop], fallback[prop]);
14
14
  }
15
- var targetProp = target[prop];
15
+ const targetProp = target[prop];
16
16
  if (targetProp !== undefined) {
17
17
  return targetProp;
18
18
  }
19
19
  return Reflect.get(fallback, prop, receiver);
20
20
  },
21
- ownKeys: function () {
21
+ ownKeys() {
22
22
  return Reflect.ownKeys(fallback);
23
23
  },
24
24
  });
@@ -4,7 +4,7 @@ export * from './types';
4
4
  export { default as styled, StyleRewriteFn } from './styled';
5
5
  export * from './theme';
6
6
  export * from './useTheme';
7
+ export * from './useThemedRing';
7
8
  export * from './useIsRTL';
8
- export * from './getCanvasTheme';
9
9
  export * from './getObjectProxy';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -4,6 +4,6 @@ export * from './types';
4
4
  export { default as styled } from './styled';
5
5
  export * from './theme';
6
6
  export * from './useTheme';
7
+ export * from './useThemedRing';
7
8
  export * from './useIsRTL';
8
- export * from './getCanvasTheme';
9
9
  export * from './getObjectProxy';
@@ -1,18 +1,14 @@
1
1
  import { default as emotionStyled } from '@emotion/styled';
2
2
  import { useTheme, ContentDirection } from './index';
3
3
  import rtlCSSJS from 'rtl-css-js';
4
- var noop = function (styles) { return styles; };
4
+ const noop = (styles) => styles;
5
5
  function styled(node) {
6
- return function () {
7
- var args = [];
8
- for (var _i = 0; _i < arguments.length; _i++) {
9
- args[_i] = arguments[_i];
10
- }
11
- var newArgs = args.map(function (interpolation) { return function (props) {
6
+ return (...args) => {
7
+ const newArgs = args.map(interpolation => (props) => {
12
8
  props.theme = useTheme(props.theme);
13
- var direction = props.theme.canvas.direction;
14
- var maybeFlip = direction === ContentDirection.RTL ? rtlCSSJS : noop;
15
- var maybeConvert = props.theme._styleRewriteFn || noop;
9
+ const direction = props.theme.canvas.direction;
10
+ const maybeFlip = direction === ContentDirection.RTL ? rtlCSSJS : noop;
11
+ const maybeConvert = props.theme._styleRewriteFn || noop;
16
12
  try {
17
13
  if (typeof interpolation === 'function') {
18
14
  return maybeFlip(maybeConvert(interpolation(props)));
@@ -22,7 +18,7 @@ function styled(node) {
22
18
  catch (e) {
23
19
  return maybeConvert(interpolation);
24
20
  }
25
- }; });
21
+ });
26
22
  return emotionStyled(node)(newArgs);
27
23
  };
28
24
  }
@@ -1,7 +1,7 @@
1
1
  import colors from '@workday/canvas-colors-web';
2
2
  import { ContentDirection } from './types';
3
3
  import { breakpoints, up, down, between, only } from './breakpoints';
4
- export var defaultCanvasTheme = {
4
+ export const defaultCanvasTheme = {
5
5
  palette: {
6
6
  primary: {
7
7
  lightest: colors.blueberry100,
@@ -49,10 +49,10 @@ export var defaultCanvasTheme = {
49
49
  },
50
50
  breakpoints: {
51
51
  values: breakpoints,
52
- up: up,
53
- down: down,
54
- between: between,
55
- only: only,
52
+ up,
53
+ down,
54
+ between,
55
+ only,
56
56
  },
57
57
  direction: ContentDirection.LTR,
58
58
  };
@@ -10,7 +10,7 @@ function useDefaultTheme(theme, config, fn) {
10
10
  * @example
11
11
  * const isRTL = useIsRTL();
12
12
  */
13
- export var useIsRTL = function (partialTheme) {
14
- var theme = useDefaultTheme(partialTheme, ThemeContext, React.useContext);
13
+ export const useIsRTL = (partialTheme) => {
14
+ const theme = useDefaultTheme(partialTheme, ThemeContext, React.useContext);
15
15
  return (theme && theme.canvas && theme.canvas.direction) === ContentDirection.RTL;
16
16
  };
@@ -1,11 +1,47 @@
1
1
  import { EmotionCanvasTheme, PartialEmotionCanvasTheme } from './index';
2
2
  /**
3
- * Hook function to get the correct theme object.
4
- * @param {Object=} theme - The theme object returned from the emotion ThemeContext
5
- * (through ThemeProvider). The Canvas Kit theme is namespaced within this variable under the `canvas` key.
3
+ * Function to get the correct theme object for `styled` and class components
4
+ * or to be used outside component.
5
+ * @param {Object=} theme - The theme object with the Canvas Kit theme.
6
+ * It should be namespaced within this variable under the `canvas` key.
7
+ * Value of `canvas` property is any partial or full theme object to overwtite default theme.
6
8
  *
7
- * NOTE: If you are using a class component, you MUST pass the theme.
8
- * If not passed, the function will try to pull the theme from ThemeContext.
9
+ * @returns An object containing updated or default Canvas Kit theme under `canvas` key.
10
+ *
11
+ * The passed partial theme object will be merged with the default Canvas theme
12
+ * (using memoized createCanvasTheme()) to establish any missing fields that have
13
+ * not been defined by the consumer's theme object.
14
+ *
15
+ * If theme is not passed, the function will try to retrieve it from the window object.
16
+ * If window theme is not found, it will return the default Canvas theme.
17
+ *
18
+ * @example
19
+ * import {getTheme} from '@workday/canvas-kit-react/common';
20
+ *
21
+ * const theme = getTheme();
22
+ * const {up, down} = theme.canvas.breakpoints;
23
+ * const small = down('m'); // Returns '@media (max-width: 768px)'
24
+ * const medium = up('m'); // Returns '@media (min-width: 768px)'
25
+ *
26
+ * const styles = {
27
+ * [small]: {
28
+ * margin: space.m
29
+ * },
30
+ * [medium]: {
31
+ * margin: space.l
32
+ * }
33
+ * }
34
+ */
35
+ export declare function getTheme(theme?: PartialEmotionCanvasTheme): EmotionCanvasTheme;
36
+ /**
37
+ * Hook function to get the correct theme object for functional components.
38
+ * @param {Object=} theme - The theme object with the Canvas Kit theme.
39
+ * It should be namespaced within this variable under the `canvas` key.
40
+ * Value of `canvas` property is any partial or full theme object to overwtite default theme.
41
+ *
42
+ * @returns An object containing updated or default Canvas Kit theme under `canvas` key.
43
+ *
44
+ * NOTE: If theme is not passed, the function will try to pull the theme from ThemeContext.
9
45
  * If that does not work, it will try to retrieve it from the window object.
10
46
  * As a last resort, it will return the default Canvas theme.
11
47
  *
@@ -16,6 +52,14 @@ import { EmotionCanvasTheme, PartialEmotionCanvasTheme } from './index';
16
52
  * Providing the default theme here is currently a work around for when no
17
53
  * ThemeProvider or context exists.
18
54
  * Tracked on https://github.com/emotion-js/emotion/issues/1193.
55
+ *
56
+ * @example
57
+ * export const ErrorMessage = () => {
58
+ * const theme = useTheme();
59
+ * return (
60
+ * <Subtext size="large" color={theme.canvas.palette.error.main}>
61
+ * );
62
+ * }
19
63
  */
20
64
  export declare function useTheme(theme?: PartialEmotionCanvasTheme): EmotionCanvasTheme;
21
65
  //# sourceMappingURL=useTheme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAOjB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAqB9E"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useTheme.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAOjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAY9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAkB9E"}
@@ -1,24 +1,64 @@
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
- };
1
+ // refactor for v5
2
+ /// <reference types="@types/node" />
12
3
  import { useTheme as useEmotionTheme } from '@emotion/react';
13
4
  import { defaultCanvasTheme, createCanvasTheme, } from './index';
14
- var getFilledTheme = function (theme) { return (__assign(__assign({}, theme), { canvas: createCanvasTheme(theme.canvas) })); };
5
+ const getFilledTheme = (theme) => ({
6
+ ...theme,
7
+ canvas: createCanvasTheme(theme.canvas),
8
+ });
9
+ /**
10
+ * Function to get the correct theme object for `styled` and class components
11
+ * or to be used outside component.
12
+ * @param {Object=} theme - The theme object with the Canvas Kit theme.
13
+ * It should be namespaced within this variable under the `canvas` key.
14
+ * Value of `canvas` property is any partial or full theme object to overwtite default theme.
15
+ *
16
+ * @returns An object containing updated or default Canvas Kit theme under `canvas` key.
17
+ *
18
+ * The passed partial theme object will be merged with the default Canvas theme
19
+ * (using memoized createCanvasTheme()) to establish any missing fields that have
20
+ * not been defined by the consumer's theme object.
21
+ *
22
+ * If theme is not passed, the function will try to retrieve it from the window object.
23
+ * If window theme is not found, it will return the default Canvas theme.
24
+ *
25
+ * @example
26
+ * import {getTheme} from '@workday/canvas-kit-react/common';
27
+ *
28
+ * const theme = getTheme();
29
+ * const {up, down} = theme.canvas.breakpoints;
30
+ * const small = down('m'); // Returns '@media (max-width: 768px)'
31
+ * const medium = up('m'); // Returns '@media (min-width: 768px)'
32
+ *
33
+ * const styles = {
34
+ * [small]: {
35
+ * margin: space.m
36
+ * },
37
+ * [medium]: {
38
+ * margin: space.l
39
+ * }
40
+ * }
41
+ */
42
+ export function getTheme(theme) {
43
+ var _a, _b, _c;
44
+ if (theme === null || theme === void 0 ? void 0 : theme.canvas) {
45
+ return getFilledTheme(theme);
46
+ }
47
+ const windowTheme = typeof window !== 'undefined' && ((_c = (_b = (_a = window) === null || _a === void 0 ? void 0 : _a.workday) === null || _b === void 0 ? void 0 : _b.canvas) === null || _c === void 0 ? void 0 : _c.theme);
48
+ if (windowTheme) {
49
+ return getFilledTheme({ canvas: windowTheme });
50
+ }
51
+ return { canvas: defaultCanvasTheme };
52
+ }
15
53
  /**
16
- * Hook function to get the correct theme object.
17
- * @param {Object=} theme - The theme object returned from the emotion ThemeContext
18
- * (through ThemeProvider). The Canvas Kit theme is namespaced within this variable under the `canvas` key.
54
+ * Hook function to get the correct theme object for functional components.
55
+ * @param {Object=} theme - The theme object with the Canvas Kit theme.
56
+ * It should be namespaced within this variable under the `canvas` key.
57
+ * Value of `canvas` property is any partial or full theme object to overwtite default theme.
19
58
  *
20
- * NOTE: If you are using a class component, you MUST pass the theme.
21
- * If not passed, the function will try to pull the theme from ThemeContext.
59
+ * @returns An object containing updated or default Canvas Kit theme under `canvas` key.
60
+ *
61
+ * NOTE: If theme is not passed, the function will try to pull the theme from ThemeContext.
22
62
  * If that does not work, it will try to retrieve it from the window object.
23
63
  * As a last resort, it will return the default Canvas theme.
24
64
  *
@@ -29,25 +69,29 @@ var getFilledTheme = function (theme) { return (__assign(__assign({}, theme), {
29
69
  * Providing the default theme here is currently a work around for when no
30
70
  * ThemeProvider or context exists.
31
71
  * Tracked on https://github.com/emotion-js/emotion/issues/1193.
72
+ *
73
+ * @example
74
+ * export const ErrorMessage = () => {
75
+ * const theme = useTheme();
76
+ * return (
77
+ * <Subtext size="large" color={theme.canvas.palette.error.main}>
78
+ * );
79
+ * }
32
80
  */
33
81
  export function useTheme(theme) {
34
- var _a, _b, _c;
35
- if (theme && theme.canvas) {
36
- return getFilledTheme(theme);
37
- }
38
- try {
39
- // eslint-disable-next-line react-hooks/rules-of-hooks
40
- var contextTheme = useEmotionTheme();
41
- if (contextTheme && contextTheme.canvas) {
42
- return getFilledTheme(contextTheme);
82
+ if (!theme) {
83
+ try {
84
+ // eslint-disable-next-line react-hooks/rules-of-hooks
85
+ const contextTheme = useEmotionTheme();
86
+ if (contextTheme === null || contextTheme === void 0 ? void 0 : contextTheme.canvas) {
87
+ return getFilledTheme(contextTheme);
88
+ }
89
+ }
90
+ catch (e) {
91
+ if (process && process.env.NODE_ENV === 'development') {
92
+ console.warn('useTheme: Context not supported or invalid. Please consider using `getTheme` function instead for `styled` or class components.');
93
+ }
43
94
  }
44
95
  }
45
- catch (e) {
46
- // Context not supported or invalid (probably called from within a class component)
47
- }
48
- var windowTheme = typeof window !== 'undefined' && ((_c = (_b = (_a = window) === null || _a === void 0 ? void 0 : _a.workday) === null || _b === void 0 ? void 0 : _b.canvas) === null || _c === void 0 ? void 0 : _c.theme);
49
- if (windowTheme) {
50
- return getFilledTheme({ canvas: windowTheme });
51
- }
52
- return { canvas: defaultCanvasTheme };
96
+ return getTheme(theme);
53
97
  }
@@ -0,0 +1,43 @@
1
+ import { EmotionCanvasTheme } from '@workday/canvas-kit-react/common';
2
+ import { CSSProperties } from '@workday/canvas-kit-react/tokens';
3
+ declare type paletteSelection = Exclude<keyof EmotionCanvasTheme['canvas']['palette'], 'common'>;
4
+ interface ContrastColors {
5
+ outer?: string;
6
+ inner?: string;
7
+ }
8
+ export declare function getPaletteColorsForFocusRing(type: paletteSelection, theme: EmotionCanvasTheme): ContrastColors;
9
+ /**
10
+ * This is a way to automatically add themed colors to your input and is helpful when showing alerts, success or errors to users.
11
+ * It supports `error`, `alert`, and `success` states. It will try and use the corresponding
12
+ * `main` colors from your `CanvasThemePalette` unless they do not meet accessibility contrast, in
13
+ * which case the outer ring will use the `darkest` color. This hook will also show a `focusOutline`
14
+ * ring when the input is focused. Note: You should not rely on these colors alone to differentiate
15
+ * alerts, but use them in combination with icons or hint text.
16
+ * ```tsx
17
+ * // Add here jsx pragma to use css
18
+ * import {jsx} from '@emotion/core';
19
+ * import React from 'react';
20
+ * import {TextInput} from '@workday/canvas-kit-preview-react/text-input';
21
+ * import {useThemedRing} from '@workday/canvas-kit-react/common';
22
+ *
23
+ * export const MyInput = ({handleChange}) => {
24
+ * const [value, setValue] = React.useState('invalid@email');
25
+ * const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
26
+ * setValue(event.target.value);
27
+ * };
28
+ *
29
+ * const alertStyles = useThemedRing('alert');
30
+ *
31
+ * return (
32
+ * <TextInput>
33
+ * <TextInput.Label>Email</TextInput.Label>
34
+ * <TextInput.Field css={alertStyles} onChange={handleChange} value={value} />
35
+ * <TextInput.Hint>Please enter a valid email.</TextInput.Hint>
36
+ * </TextInput>
37
+ * );
38
+ * };
39
+ *```
40
+ */
41
+ export declare const useThemedRing: (type: paletteSelection) => CSSProperties;
42
+ export {};
43
+ //# sourceMappingURL=useThemedRing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemedRing.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useThemedRing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAW,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAS,aAAa,EAA4B,MAAM,kCAAkC,CAAC;AAIlG,aAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzF,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAsBhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,SAAU,gBAAgB,KAAG,aAyBtD,CAAC"}