@workday/canvas-kit-react 5.3.17 → 5.4.0-next.1

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 (705) hide show
  1. package/action-bar/lib/ActionBar.tsx +42 -29
  2. package/avatar/lib/Avatar.tsx +4 -0
  3. package/button/lib/PrimaryButton.tsx +110 -32
  4. package/button/lib/SecondaryButton.tsx +31 -16
  5. package/button/lib/TertiaryButton.tsx +45 -35
  6. package/button/lib/parts/ButtonContainer.tsx +18 -5
  7. package/button/lib/parts/ButtonLabelIcon.tsx +34 -14
  8. package/button/lib/types.ts +11 -0
  9. package/checkbox/lib/Checkbox.tsx +1 -1
  10. package/common/README.md +78 -0
  11. package/common/index.ts +1 -0
  12. package/common/lib/EllipsisText.tsx +11 -0
  13. package/common/lib/parts/_brand-assets.ts +6 -6
  14. package/common/lib/styles/accessibleHide.ts +2 -2
  15. package/common/lib/theming/README.md +189 -25
  16. package/common/lib/theming/breakpoints.ts +296 -16
  17. package/common/lib/theming/types.ts +191 -1
  18. package/common/lib/utils/components.ts +50 -23
  19. package/common/lib/utils/elements.ts +5 -1
  20. package/common/lib/utils/index.ts +2 -0
  21. package/common/lib/utils/mergeProps.ts +4 -0
  22. package/common/lib/utils/useConstant.ts +18 -0
  23. package/common/lib/utils/useResizeObserver.ts +29 -0
  24. package/common/lib/utils/useUniqueId.ts +46 -4
  25. package/cookie-banner/README.md +15 -10
  26. package/cookie-banner/index.ts +3 -3
  27. package/cookie-banner/lib/CookieBanner.tsx +29 -4
  28. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  29. package/dist/commonjs/action-bar/lib/ActionBar.js +33 -22
  30. package/dist/commonjs/avatar/lib/Avatar.d.ts.map +1 -1
  31. package/dist/commonjs/avatar/lib/Avatar.js +3 -0
  32. package/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  33. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  34. package/dist/commonjs/button/lib/PrimaryButton.js +80 -26
  35. package/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  36. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  37. package/dist/commonjs/button/lib/SecondaryButton.js +22 -12
  38. package/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  39. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  40. package/dist/commonjs/button/lib/TertiaryButton.js +24 -19
  41. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  42. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  43. package/dist/commonjs/button/lib/parts/ButtonContainer.js +7 -9
  44. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  45. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  46. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  47. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  48. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +28 -13
  49. package/dist/commonjs/button/lib/types.d.ts +9 -0
  50. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  51. package/dist/commonjs/checkbox/lib/Checkbox.d.ts +1 -1
  52. package/dist/commonjs/common/index.d.ts +1 -0
  53. package/dist/commonjs/common/index.d.ts.map +1 -1
  54. package/dist/commonjs/common/index.js +1 -0
  55. package/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  56. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -0
  57. package/dist/commonjs/common/lib/EllipsisText.js +13 -0
  58. package/dist/commonjs/common/lib/parts/_brand-assets.d.ts.map +1 -1
  59. package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
  60. package/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  61. package/dist/commonjs/common/lib/styles/accessibleHide.d.ts.map +1 -1
  62. package/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  63. package/dist/commonjs/common/lib/theming/breakpoints.d.ts.map +1 -1
  64. package/dist/commonjs/common/lib/theming/breakpoints.js +192 -10
  65. package/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  66. package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
  67. package/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  68. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  69. package/dist/commonjs/common/lib/utils/components.js +12 -2
  70. package/dist/commonjs/common/lib/utils/elements.d.ts +2 -2
  71. package/dist/commonjs/common/lib/utils/elements.d.ts.map +1 -1
  72. package/dist/commonjs/common/lib/utils/elements.js +4 -1
  73. package/dist/commonjs/common/lib/utils/index.d.ts +2 -0
  74. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  75. package/dist/commonjs/common/lib/utils/index.js +2 -0
  76. package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
  77. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -0
  78. package/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  79. package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +1 -0
  80. package/dist/commonjs/common/lib/utils/useConstant.js +18 -0
  81. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  82. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  83. package/dist/commonjs/common/lib/utils/useResizeObserver.js +42 -0
  84. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts +28 -0
  85. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
  86. package/dist/commonjs/common/lib/utils/useUniqueId.js +42 -14
  87. package/dist/commonjs/cookie-banner/index.d.ts +3 -3
  88. package/dist/commonjs/cookie-banner/index.d.ts.map +1 -1
  89. package/dist/commonjs/cookie-banner/index.js +1 -1
  90. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  91. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  92. package/dist/commonjs/cookie-banner/lib/CookieBanner.js +19 -8
  93. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  94. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  95. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  96. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  97. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  98. package/dist/commonjs/form-field/lib/FormField.js +1 -2
  99. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  100. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  101. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  102. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  103. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  104. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  105. package/dist/commonjs/page-header/index.d.ts +3 -3
  106. package/dist/commonjs/page-header/index.d.ts.map +1 -1
  107. package/dist/commonjs/page-header/index.js +1 -1
  108. package/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  109. package/dist/commonjs/page-header/lib/PageHeader.d.ts.map +1 -1
  110. package/dist/commonjs/page-header/lib/PageHeader.js +18 -7
  111. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  112. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  113. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  114. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  115. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  116. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  117. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  118. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  119. package/dist/commonjs/popup/lib/hooks/focus-trap-js.d.ts.map +1 -1
  120. package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +1 -0
  121. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  122. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  123. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  124. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  125. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  126. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  127. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  128. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  129. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  130. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  131. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  132. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +1 -1
  133. package/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  134. package/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  135. package/dist/commonjs/table/lib/TableRow.d.ts +5 -4
  136. package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -1
  137. package/dist/commonjs/table/lib/TableRow.js +12 -26
  138. package/dist/commonjs/tabs/index.d.ts +5 -0
  139. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  140. package/dist/commonjs/tabs/index.js +11 -0
  141. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  142. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  143. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  144. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  145. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  146. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  147. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  148. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  149. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  150. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  151. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  152. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  153. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  154. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  155. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  156. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  157. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  158. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  159. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  160. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  161. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  162. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  163. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  164. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  165. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  166. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  167. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  168. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  169. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  170. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  171. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  172. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  173. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  174. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  175. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  176. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  177. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  178. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  179. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  180. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  181. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  182. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  183. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  184. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  185. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  186. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  187. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  188. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  189. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  190. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  191. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  192. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  193. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  194. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  195. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  196. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  197. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  198. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  199. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  200. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  201. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  202. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  203. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  204. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  205. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  206. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  207. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  208. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  209. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  210. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  211. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  212. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  213. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  214. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  215. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  216. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  217. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  218. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +126 -0
  219. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  220. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  221. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  222. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  223. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  224. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  225. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  226. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  227. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  228. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  229. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  230. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  231. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  232. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  233. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  234. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  235. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  236. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  237. package/dist/commonjs/tokens/index.d.ts +3 -20
  238. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  239. package/dist/commonjs/tokens/index.js +3 -6
  240. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  241. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  242. package/dist/commonjs/tokens/lib/depth.js +40 -5
  243. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  244. package/dist/commonjs/tooltip/lib/useTooltip.js +2 -5
  245. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  246. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  247. package/dist/es6/avatar/lib/Avatar.d.ts.map +1 -1
  248. package/dist/es6/avatar/lib/Avatar.js +3 -0
  249. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  250. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  251. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  252. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  253. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  254. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  255. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  256. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  257. package/dist/es6/button/lib/TertiaryButton.js +25 -20
  258. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  259. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  260. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  261. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  262. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  263. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  264. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  265. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  266. package/dist/es6/button/lib/types.d.ts +9 -0
  267. package/dist/es6/button/lib/types.d.ts.map +1 -1
  268. package/dist/es6/checkbox/lib/Checkbox.d.ts +1 -1
  269. package/dist/es6/common/index.d.ts +1 -0
  270. package/dist/es6/common/index.d.ts.map +1 -1
  271. package/dist/es6/common/index.js +1 -0
  272. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  273. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  274. package/dist/es6/common/lib/EllipsisText.js +8 -0
  275. package/dist/es6/common/lib/parts/_brand-assets.d.ts.map +1 -1
  276. package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
  277. package/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  278. package/dist/es6/common/lib/styles/accessibleHide.d.ts.map +1 -1
  279. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  280. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  281. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  282. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  283. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  284. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  285. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  286. package/dist/es6/common/lib/utils/components.js +12 -2
  287. package/dist/es6/common/lib/utils/elements.d.ts +2 -2
  288. package/dist/es6/common/lib/utils/elements.d.ts.map +1 -1
  289. package/dist/es6/common/lib/utils/elements.js +4 -1
  290. package/dist/es6/common/lib/utils/index.d.ts +2 -0
  291. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  292. package/dist/es6/common/lib/utils/index.js +2 -0
  293. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  294. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  295. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  296. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  297. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  298. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  299. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  300. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  301. package/dist/es6/common/lib/utils/useUniqueId.d.ts +28 -0
  302. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  303. package/dist/es6/common/lib/utils/useUniqueId.js +42 -4
  304. package/dist/es6/cookie-banner/index.d.ts +3 -3
  305. package/dist/es6/cookie-banner/index.d.ts.map +1 -1
  306. package/dist/es6/cookie-banner/index.js +3 -3
  307. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  308. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  309. package/dist/es6/cookie-banner/lib/CookieBanner.js +19 -8
  310. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  311. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  312. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  313. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  314. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  315. package/dist/es6/form-field/lib/FormField.js +2 -3
  316. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  317. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  318. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  319. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  320. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  321. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  322. package/dist/es6/page-header/index.d.ts +3 -3
  323. package/dist/es6/page-header/index.d.ts.map +1 -1
  324. package/dist/es6/page-header/index.js +3 -3
  325. package/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  326. package/dist/es6/page-header/lib/PageHeader.d.ts.map +1 -1
  327. package/dist/es6/page-header/lib/PageHeader.js +18 -7
  328. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  329. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  330. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  331. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  332. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  333. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  334. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  335. package/dist/es6/popup/lib/PopupCard.js +3 -4
  336. package/dist/es6/popup/lib/hooks/focus-trap-js.d.ts.map +1 -1
  337. package/dist/es6/popup/lib/hooks/focus-trap-js.js +1 -0
  338. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  339. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  340. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  341. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  342. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  343. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  344. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  345. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  346. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  347. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  348. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  349. package/dist/es6/popup/lib/hooks/useReturnFocus.js +1 -1
  350. package/dist/es6/radio/lib/Radio.d.ts +1 -1
  351. package/dist/es6/switch/lib/Switch.d.ts +1 -1
  352. package/dist/es6/table/lib/TableRow.d.ts +5 -4
  353. package/dist/es6/table/lib/TableRow.d.ts.map +1 -1
  354. package/dist/es6/table/lib/TableRow.js +12 -26
  355. package/dist/es6/tabs/index.d.ts +5 -0
  356. package/dist/es6/tabs/index.d.ts.map +1 -1
  357. package/dist/es6/tabs/index.js +5 -0
  358. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  359. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  360. package/dist/es6/tabs/lib/Tabs.js +28 -7
  361. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  362. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  363. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  364. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  365. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  366. package/dist/es6/tabs/lib/TabsList.js +44 -0
  367. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  368. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  369. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  370. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  371. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  372. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  373. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  374. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  375. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  376. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  377. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  378. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  379. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  380. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  381. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  382. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  383. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  384. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  385. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  386. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  387. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  388. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  389. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  390. package/dist/es6/tabs/lib/list/index.js +2 -1
  391. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  392. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  393. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  394. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  395. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  396. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  397. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  398. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  399. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  400. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  401. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  402. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  403. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  404. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  405. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  406. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  407. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  408. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  409. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  410. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  411. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  412. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  413. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  414. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  415. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  416. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  417. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  418. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  419. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  420. package/dist/es6/tabs/lib/menu/index.js +7 -0
  421. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  422. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  423. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  424. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  425. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  426. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  427. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  428. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  429. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  430. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  431. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  432. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  433. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  434. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  435. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +120 -0
  436. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  437. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  438. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  439. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  440. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  441. package/dist/es6/tabs/lib/selection/index.js +3 -0
  442. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  443. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  444. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  445. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  446. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  447. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  448. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  449. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  450. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  451. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  452. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  453. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  454. package/dist/es6/tokens/index.d.ts +3 -20
  455. package/dist/es6/tokens/index.d.ts.map +1 -1
  456. package/dist/es6/tokens/index.js +1 -1
  457. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  458. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  459. package/dist/es6/tokens/lib/depth.js +40 -2
  460. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  461. package/dist/es6/tooltip/lib/useTooltip.js +2 -2
  462. package/form-field/lib/FormField.tsx +8 -3
  463. package/package.json +7 -7
  464. package/page-header/README.md +11 -6
  465. package/page-header/index.ts +3 -3
  466. package/page-header/lib/PageHeader.tsx +28 -3
  467. package/popup/lib/PopupCard.tsx +3 -3
  468. package/popup/lib/hooks/focus-trap-js.ts +1 -0
  469. package/popup/lib/hooks/useReturnFocus.tsx +1 -1
  470. package/radio/lib/Radio.tsx +1 -1
  471. package/switch/lib/Switch.tsx +1 -1
  472. package/table/lib/TableRow.tsx +19 -13
  473. package/tabs/index.ts +6 -0
  474. package/tabs/lib/Tabs.tsx +34 -9
  475. package/tabs/lib/TabsItem.tsx +250 -0
  476. package/tabs/lib/TabsList.tsx +67 -0
  477. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  478. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  479. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  480. package/tabs/lib/TabsPanels.tsx +28 -0
  481. package/tabs/lib/cursor/index.ts +1 -1
  482. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  483. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  484. package/tabs/lib/list/index.ts +2 -1
  485. package/tabs/lib/list/renderItem.tsx +19 -0
  486. package/tabs/lib/list/useListModel.tsx +48 -23
  487. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  488. package/tabs/lib/menu/Menu.tsx +95 -0
  489. package/tabs/lib/menu/MenuCard.tsx +96 -0
  490. package/tabs/lib/menu/MenuItem.tsx +195 -0
  491. package/tabs/lib/menu/MenuList.tsx +58 -0
  492. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  493. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  494. package/tabs/lib/menu/index.ts +8 -0
  495. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  496. package/tabs/lib/overflow/index.ts +4 -0
  497. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  498. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  499. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  500. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  501. package/tabs/lib/overflow/useOverflowModel.tsx +207 -0
  502. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  503. package/tabs/lib/selection/index.ts +3 -0
  504. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  505. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  506. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  507. package/tabs/lib/useTabsModel.tsx +93 -78
  508. package/tokens/README.md +5 -12
  509. package/tokens/index.ts +2 -2
  510. package/tokens/lib/depth.ts +125 -3
  511. package/tooltip/lib/useTooltip.tsx +2 -2
  512. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  513. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  514. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  515. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  516. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  517. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  518. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  519. package/ts3.5/dist/commonjs/checkbox/lib/Checkbox.d.ts +1 -1
  520. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  521. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  522. package/ts3.5/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  523. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  524. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  525. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  526. package/ts3.5/dist/commonjs/common/lib/utils/elements.d.ts +2 -2
  527. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +2 -0
  528. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  529. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  530. package/ts3.5/dist/commonjs/common/lib/utils/useUniqueId.d.ts +28 -0
  531. package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +3 -3
  532. package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  533. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  534. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  535. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  536. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  537. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  538. package/ts3.5/dist/commonjs/page-header/index.d.ts +3 -3
  539. package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  540. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  541. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  542. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  543. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  544. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  545. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  546. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  547. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  548. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  549. package/ts3.5/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  550. package/ts3.5/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  551. package/ts3.5/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  552. package/ts3.5/dist/commonjs/table/lib/TableRow.d.ts +5 -4
  553. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  554. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  555. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  556. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  557. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  558. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  559. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  560. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  561. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  562. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  563. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  564. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  565. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  566. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  567. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  568. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  569. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  570. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  571. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  572. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  573. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  574. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  575. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  576. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  577. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  578. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  579. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  580. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  581. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  582. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  583. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  584. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  585. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  586. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  587. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  588. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  589. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  590. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  591. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  592. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  593. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  594. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  595. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  596. package/ts3.5/dist/es6/checkbox/lib/Checkbox.d.ts +1 -1
  597. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  598. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  599. package/ts3.5/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  600. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  601. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  602. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  603. package/ts3.5/dist/es6/common/lib/utils/elements.d.ts +2 -2
  604. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +2 -0
  605. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  606. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  607. package/ts3.5/dist/es6/common/lib/utils/useUniqueId.d.ts +28 -0
  608. package/ts3.5/dist/es6/cookie-banner/index.d.ts +3 -3
  609. package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  610. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  611. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  612. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  613. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  614. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  615. package/ts3.5/dist/es6/page-header/index.d.ts +3 -3
  616. package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  617. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  618. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  619. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  620. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  621. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  622. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  623. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  624. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  625. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  626. package/ts3.5/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  627. package/ts3.5/dist/es6/radio/lib/Radio.d.ts +1 -1
  628. package/ts3.5/dist/es6/switch/lib/Switch.d.ts +1 -1
  629. package/ts3.5/dist/es6/table/lib/TableRow.d.ts +5 -4
  630. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  631. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  632. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  633. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  634. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  635. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  636. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  637. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  638. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  639. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  640. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  641. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  642. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  643. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  644. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  645. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  646. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  647. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  648. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  649. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  650. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  651. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  652. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  653. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  654. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  655. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  656. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  657. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  658. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  659. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  660. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  661. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  662. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  663. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  664. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  665. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  666. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  667. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  668. package/dist/commonjs/tabs/lib/Tab.js +0 -95
  669. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  670. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  671. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  672. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  673. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  674. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  675. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  676. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  677. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  678. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  679. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  680. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  681. package/dist/es6/tabs/lib/Tab.js +0 -86
  682. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  683. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  684. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  685. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  686. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  687. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  688. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  689. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  690. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  691. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  692. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  693. package/tabs/lib/Tab.tsx +0 -170
  694. package/tabs/lib/TabList.tsx +0 -59
  695. package/tabs/lib/cursor/hooks.tsx +0 -122
  696. package/tabs/lib/hooks.tsx +0 -31
  697. package/tabs/lib/list/hooks.tsx +0 -45
  698. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  699. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  700. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  701. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  702. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  703. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  704. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  705. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import {styled} from '@workday/canvas-kit-react/common';
3
- import {colors, commonColors, space} from '@workday/canvas-kit-react/tokens';
3
+ import {colors, commonColors, space, CSSProperties} from '@workday/canvas-kit-react/tokens';
4
4
 
5
5
  export interface ActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
6
6
  /**
@@ -10,45 +10,58 @@ export interface ActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
10
10
  fixed?: boolean;
11
11
  }
12
12
 
13
- const ActionBarContainer = styled('div')(
13
+ function getFixedStyles(fixed = false): CSSProperties {
14
+ return fixed
15
+ ? {
16
+ position: 'fixed',
17
+ left: 0,
18
+ bottom: 0,
19
+ right: 0,
20
+ }
21
+ : {};
22
+ }
23
+
24
+ const ActionBarContainer = styled('div')<ActionBarProps>(
14
25
  {
15
26
  borderTop: `solid 1px ${colors.soap400}`,
16
27
  background: commonColors.background,
17
28
  padding: space.s,
18
29
  boxShadow: '0 -2px 4px rgba(0, 0, 0, 0.08)',
19
- '@media (max-width: 575px)': {
20
- padding: space.xxs,
21
- },
22
30
  },
23
- ({fixed}: ActionBarProps) =>
24
- fixed && {
25
- position: 'fixed',
26
- left: 0,
27
- bottom: 0,
28
- right: 0,
29
- }
31
+ ({fixed, theme}) => {
32
+ return {
33
+ ...getFixedStyles(fixed),
34
+ [theme.canvas.breakpoints.down('s')]: {
35
+ padding: space.xxs,
36
+ },
37
+ };
38
+ }
30
39
  );
31
40
 
32
- const ChildrenContainer = styled('div')({
33
- display: 'inline-block',
34
- padding: `0 ${space.m}`,
35
- '*:not(:first-of-type)': {
36
- marginLeft: space.s,
41
+ const ChildrenContainer = styled('div')(
42
+ {
43
+ display: 'inline-block',
44
+ padding: `0 ${space.m}`,
45
+ '> *:not(style) ~ *:not(style)': {
46
+ marginLeft: space.s,
47
+ },
37
48
  },
38
- '@media (max-width: 575px)': {
39
- display: 'flex',
40
- padding: space.xxs,
41
- justifyContent: 'center',
42
- flexDirection: 'row-reverse',
43
- '> *': {
44
- flex: 1,
45
- '&:not(:first-of-type)': {
46
- marginRight: space.s,
47
- marginLeft: 0,
49
+ ({theme}) => ({
50
+ [theme.canvas.breakpoints.down('s')]: {
51
+ display: 'flex',
52
+ padding: space.xxs,
53
+ justifyContent: 'center',
54
+ flexDirection: 'row-reverse',
55
+ '> *': {
56
+ flex: 1,
57
+ '&:not(style) ~ *:not(style)': {
58
+ marginRight: space.s,
59
+ marginLeft: 0,
60
+ },
48
61
  },
49
62
  },
50
- },
51
- });
63
+ })
64
+ );
52
65
 
53
66
  export default class ActionBar extends React.Component<ActionBarProps> {
54
67
  public render() {
@@ -139,6 +139,10 @@ const Avatar: AvatarOverload = React.forwardRef(
139
139
  }
140
140
  };
141
141
 
142
+ React.useLayoutEffect(() => {
143
+ setImageLoaded(false);
144
+ }, [url]);
145
+
142
146
  const background = variant === AvatarVariant.Dark ? colors.blueberry400 : colors.soap300;
143
147
 
144
148
  return (
@@ -6,17 +6,27 @@ import {
6
6
  Themeable,
7
7
  EmotionCanvasTheme,
8
8
  createComponent,
9
+ focusRing,
9
10
  } from '@workday/canvas-kit-react/common';
11
+ import {colors} from '@workday/canvas-kit-react/tokens';
10
12
  import {CanvasSystemIcon} from '@workday/design-assets-types';
11
- import {ButtonColors} from './types';
13
+
12
14
  import {ButtonContainer, ButtonLabel, ButtonLabelData, ButtonLabelIcon} from './parts';
15
+ import {ButtonSizes, IconPositions} from './types';
13
16
 
14
17
  export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
15
18
  /**
16
- * The size of the Button.
19
+ * The variant of the PrimaryButton.
20
+ * @default undefined
21
+ */
22
+ variant?: 'inverse';
23
+ /**
24
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
25
+ * If no size is provided, it will default to `medium`.
26
+ *
17
27
  * @default 'medium'
18
28
  */
19
- size?: 'small' | 'medium' | 'large';
29
+ size?: ButtonSizes;
20
30
  /**
21
31
  * The data label of the Button.
22
32
  * Note: not displayed at `small` size
@@ -28,10 +38,11 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
28
38
  */
29
39
  icon?: CanvasSystemIcon;
30
40
  /**
31
- * The position of the TertiaryButton icon.
41
+ * Button icon positions can either be `left` or `right`.
42
+ * If no value is provided, it defaults to `left`.
32
43
  * @default 'left'
33
44
  */
34
- iconPosition?: 'left' | 'right';
45
+ iconPosition?: IconPositions;
35
46
  /**
36
47
  * If set to `true`, transform the icon's x-axis to mirror the graphic
37
48
  * @default false
@@ -40,6 +51,16 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
40
51
  children?: React.ReactNode;
41
52
  }
42
53
 
54
+ // Button sizes where data labels are enabled
55
+ const dataLabelSizes = ['medium', 'large'];
56
+ // All disabled buttons are set to 40% opacity.
57
+ // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
58
+ const disabledButtonOpacity = {
59
+ '&:disabled, &:disabled:active': {
60
+ opacity: 0.4,
61
+ },
62
+ };
63
+
43
64
  export const PrimaryButton = createComponent('button')({
44
65
  displayName: 'PrimaryButton',
45
66
  Component: (
@@ -49,6 +70,7 @@ export const PrimaryButton = createComponent('button')({
49
70
  theme = useTheme(),
50
71
  size = 'medium',
51
72
  iconPosition = 'left',
73
+ variant,
52
74
  dataLabel,
53
75
  icon,
54
76
  shouldMirrorIcon = false,
@@ -61,11 +83,12 @@ export const PrimaryButton = createComponent('button')({
61
83
  <ButtonContainer
62
84
  ref={ref}
63
85
  as={Element}
64
- colors={getPrimaryButtonColors(theme)}
86
+ colors={getPrimaryButtonColors(variant, theme)}
65
87
  size={size}
88
+ extraStyles={disabledButtonOpacity}
66
89
  {...elemProps}
67
90
  >
68
- {icon && size !== 'small' && iconPosition === 'left' && (
91
+ {icon && iconPosition === 'left' && (
69
92
  <ButtonLabelIcon
70
93
  size={size}
71
94
  iconPosition={iconPosition}
@@ -74,8 +97,8 @@ export const PrimaryButton = createComponent('button')({
74
97
  />
75
98
  )}
76
99
  <ButtonLabel>{children}</ButtonLabel>
77
- {dataLabel && size !== 'small' && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
78
- {icon && size !== 'small' && iconPosition === 'right' && (
100
+ {dataLabel && dataLabelSizes.includes(size) && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
101
+ {icon && iconPosition === 'right' && (
79
102
  <ButtonLabelIcon
80
103
  size={size}
81
104
  iconPosition={iconPosition}
@@ -87,26 +110,81 @@ export const PrimaryButton = createComponent('button')({
87
110
  ),
88
111
  });
89
112
 
90
- export const getPrimaryButtonColors = ({
91
- canvas: {
92
- palette: {primary: themePrimary},
93
- },
94
- }: EmotionCanvasTheme): ButtonColors => ({
95
- default: {
96
- background: themePrimary.main,
97
- icon: themePrimary.contrast,
98
- label: themePrimary.contrast,
99
- },
100
- hover: {
101
- background: themePrimary.dark,
102
- },
103
- active: {
104
- background: themePrimary.darkest,
105
- },
106
- focus: {
107
- background: themePrimary.main,
108
- },
109
- disabled: {
110
- background: themePrimary.light,
111
- },
112
- });
113
+ export const getPrimaryButtonColors = (
114
+ variant: 'inverse' | undefined,
115
+ theme: EmotionCanvasTheme
116
+ ) => {
117
+ const {
118
+ canvas: {
119
+ palette: {primary: themePrimary},
120
+ },
121
+ } = theme;
122
+
123
+ switch (variant) {
124
+ case undefined:
125
+ default:
126
+ return {
127
+ default: {
128
+ background: themePrimary.main,
129
+ icon: themePrimary.contrast,
130
+ label: themePrimary.contrast,
131
+ },
132
+ hover: {
133
+ background: themePrimary.dark,
134
+ },
135
+ active: {
136
+ background: themePrimary.darkest,
137
+ },
138
+ focus: {
139
+ background: themePrimary.main,
140
+ },
141
+ disabled: {
142
+ background: themePrimary.main,
143
+ },
144
+ };
145
+
146
+ case 'inverse':
147
+ return {
148
+ default: {
149
+ background: colors.frenchVanilla100,
150
+ icon: colors.blackPepper400,
151
+ label: colors.blackPepper400,
152
+ labelData: colors.blackPepper400,
153
+ },
154
+ hover: {
155
+ background: colors.soap300,
156
+ icon: colors.blackPepper500,
157
+ label: colors.blackPepper500,
158
+ labelData: colors.blackPepper500,
159
+ },
160
+ active: {
161
+ background: colors.soap300,
162
+ icon: colors.blackPepper500,
163
+ label: colors.blackPepper500,
164
+ labelData: colors.blackPepper500,
165
+ },
166
+ focus: {
167
+ background: colors.frenchVanilla100,
168
+ border: colors.blackPepper400,
169
+ icon: colors.blackPepper400,
170
+ label: colors.blackPepper400,
171
+ labelData: colors.blackPepper400,
172
+ focusRing: focusRing(
173
+ {
174
+ separation: 1,
175
+ innerColor: colors.blackPepper500,
176
+ outerColor: colors.frenchVanilla100,
177
+ },
178
+ theme
179
+ ),
180
+ },
181
+ // Identical to inverse 'default' styles. ButtonContainer will set opacity to 40%
182
+ disabled: {
183
+ background: colors.frenchVanilla100,
184
+ icon: colors.blackPepper400,
185
+ label: colors.blackPepper400,
186
+ labelData: colors.blackPepper400,
187
+ },
188
+ };
189
+ }
190
+ };
@@ -10,7 +10,7 @@ import {
10
10
  focusRing,
11
11
  } from '@workday/canvas-kit-react/common';
12
12
  import {CanvasSystemIcon} from '@workday/design-assets-types';
13
- import {ButtonColors} from './types';
13
+ import {ButtonColors, ButtonSizes, IconPositions} from './types';
14
14
  import {ButtonContainer, ButtonLabel, ButtonLabelData, ButtonLabelIcon} from './parts';
15
15
 
16
16
  export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
@@ -20,10 +20,12 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
20
20
  */
21
21
  variant?: 'inverse' | undefined;
22
22
  /**
23
- * The size of the Button.
23
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
24
+ * If no size is provided, it will default to `medium`.
25
+ *
24
26
  * @default 'medium'
25
27
  */
26
- size?: 'small' | 'medium' | 'large';
28
+ size?: ButtonSizes;
27
29
  /**
28
30
  * The data label of the Button.
29
31
  * Note: not displayed at `small` size
@@ -35,10 +37,11 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
35
37
  */
36
38
  icon?: CanvasSystemIcon;
37
39
  /**
38
- * The position of the TertiaryButton icon.
40
+ * Button icon positions can either be `left` or `right`.
41
+ * If no value is provided, it defaults to `left`.
39
42
  * @default 'left'
40
43
  */
41
- iconPosition?: 'left' | 'right';
44
+ iconPosition?: IconPositions;
42
45
  /**
43
46
  * If set to `true`, transform the icon's x-axis to mirror the graphic
44
47
  * @default false
@@ -47,6 +50,16 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
47
50
  children?: React.ReactNode;
48
51
  }
49
52
 
53
+ // Button sizes where data labels are enabled
54
+ const dataLabelSizes = ['medium', 'large'];
55
+ // All disabled buttons are set to 40% opacity.
56
+ // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
57
+ const disabledButtonOpacity = {
58
+ '&:disabled, &:disabled:active': {
59
+ opacity: 0.4,
60
+ },
61
+ };
62
+
50
63
  export const SecondaryButton = createComponent('button')({
51
64
  displayName: 'SecondaryButton',
52
65
  Component: (
@@ -71,9 +84,10 @@ export const SecondaryButton = createComponent('button')({
71
84
  as={Element}
72
85
  colors={getSecondaryButtonColors(variant, theme)}
73
86
  size={size}
87
+ extraStyles={disabledButtonOpacity}
74
88
  {...elemProps}
75
89
  >
76
- {icon && size !== 'small' && iconPosition === 'left' && (
90
+ {icon && iconPosition === 'left' && (
77
91
  <ButtonLabelIcon
78
92
  size={size}
79
93
  iconPosition={iconPosition}
@@ -82,8 +96,8 @@ export const SecondaryButton = createComponent('button')({
82
96
  />
83
97
  )}
84
98
  <ButtonLabel>{children}</ButtonLabel>
85
- {dataLabel && size !== 'small' && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
86
- {icon && size !== 'small' && iconPosition === 'right' && (
99
+ {dataLabel && dataLabelSizes.includes(size) && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
100
+ {icon && iconPosition === 'right' && (
87
101
  <ButtonLabelIcon
88
102
  size={size}
89
103
  iconPosition={iconPosition}
@@ -136,12 +150,13 @@ export const getSecondaryButtonColors = (
136
150
  label: colors.blackPepper400,
137
151
  labelData: colors.blackPepper400,
138
152
  },
153
+ // Identical to 'default' styles. ButtonContainer will set opacity to 40%
139
154
  disabled: {
140
155
  background: 'transparent',
141
- border: 'rgba(30, 30, 30, 0.4)', // Black Pepper 400 @ 40%
142
- icon: 'rgba(30, 30, 30, 0.4)', // Black Pepper 400 @ 40%
143
- label: 'rgba(30, 30, 30, 0.4)', // Black Pepper 400 @ 40%
144
- labelData: 'rgba(30, 30, 30, 0.4)', // Black Pepper 400 @ 40%
156
+ border: colors.blackPepper400,
157
+ icon: colors.blackPepper400,
158
+ label: colors.blackPepper400,
159
+ labelData: colors.blackPepper400,
145
160
  },
146
161
  };
147
162
  case 'inverse':
@@ -180,12 +195,12 @@ export const getSecondaryButtonColors = (
180
195
  theme
181
196
  ),
182
197
  },
198
+ // Identical to inverse 'default' styles. ButtonContainer will set opacity to 40%
183
199
  disabled: {
184
200
  background: 'transparent',
185
- border: 'rgba(255, 255, 255, 0.4)', // French Vanilla 400 @ 40%
186
- icon: 'rgba(255, 255, 255, 0.4)', // French Vanilla 400 @ 40%
187
- label: 'rgba(255, 255, 255, 0.4)', // French Vanilla 400 @ 40%
188
- labelData: 'rgba(255, 255, 255, 0.4)', // French Vanilla 400 @ 40%
201
+ border: colors.frenchVanilla100,
202
+ icon: colors.frenchVanilla100,
203
+ label: colors.frenchVanilla100,
189
204
  },
190
205
  };
191
206
  }
@@ -7,9 +7,9 @@ import {
7
7
  EmotionCanvasTheme,
8
8
  createComponent,
9
9
  } from '@workday/canvas-kit-react/common';
10
- import {colors, space, type, borderRadius} from '@workday/canvas-kit-react/tokens';
10
+ import {colors, space, borderRadius} from '@workday/canvas-kit-react/tokens';
11
11
  import {CanvasSystemIcon} from '@workday/design-assets-types';
12
- import {ButtonColors} from './types';
12
+ import {ButtonColors, TertiaryButtonSizes, IconPositions} from './types';
13
13
  import {ButtonContainer, ButtonLabelIcon, ButtonLabel} from './parts';
14
14
 
15
15
  export interface TertiaryButtonProps extends Themeable {
@@ -19,15 +19,18 @@ export interface TertiaryButtonProps extends Themeable {
19
19
  */
20
20
  variant?: 'inverse' | undefined;
21
21
  /**
22
- * The size of the TertiaryButton.
22
+ * There are three button sizes: `extraSmall`, `small`, and `medium`.
23
+ * If no size is provided, it will default to `medium`.
24
+ *
23
25
  * @default 'medium'
24
26
  */
25
- size?: 'small' | 'medium';
27
+ size?: TertiaryButtonSizes;
26
28
  /**
27
- * The position of the TertiaryButton icon.
29
+ * Button icon positions can either be `left` or `right`.
30
+ * If no value is provided, it defaults to `left`.
28
31
  * @default 'left'
29
32
  */
30
- iconPosition?: 'left' | 'right';
33
+ iconPosition?: IconPositions;
31
34
  /**
32
35
  * The icon of the TertiaryButton.
33
36
  */
@@ -87,8 +90,8 @@ const getTertiaryButtonColors = (
87
90
  },
88
91
  disabled: {
89
92
  background: 'transparent',
90
- icon: 'rgba(255, 255, 255, 0.5)',
91
- label: 'rgba(255, 255, 255, 0.5)',
93
+ icon: colors.frenchVanilla100,
94
+ label: colors.frenchVanilla100,
92
95
  },
93
96
  };
94
97
  } else {
@@ -114,25 +117,34 @@ const getTertiaryButtonColors = (
114
117
  },
115
118
  disabled: {
116
119
  background: 'transparent',
117
- icon: themePrimary.light,
118
- label: themePrimary.light,
120
+ icon: themePrimary.main,
121
+ label: themePrimary.main,
119
122
  },
120
123
  };
121
124
  }
122
125
  };
123
126
 
124
- const containerStyles = {
125
- borderRadius: borderRadius.m,
126
- border: '0',
127
- padding: `0 ${space.xxs}`,
128
- minWidth: 'auto',
129
- '.wdc-text-button-label': {
130
- borderBottom: '2px solid transparent',
131
- paddingTop: '2px',
132
- transition: 'border-color 0.3s',
133
- },
134
- '&:hover:not([disabled]) .wdc-text-button-label': {
135
- borderBottomColor: 'currentColor',
127
+ const getPaddingStyles = (
128
+ icon: CanvasSystemIcon | undefined,
129
+ iconPosition: 'left' | 'right'
130
+ ): string => {
131
+ // if there is an icon on the left, add 4px extra padding to the right for visual balance
132
+ if (icon && iconPosition === 'left') {
133
+ return `0 ${space.xs} 0 ${space.xxs}`;
134
+ }
135
+ // if there is an icon on the right, add 4px extra padding to the left for visual balance
136
+ if (icon && iconPosition === 'right') {
137
+ return `0 ${space.xxs} 0 ${space.xs}`;
138
+ }
139
+ // if there is no icon, return the default padding
140
+ return `0 ${space.xxs}`;
141
+ };
142
+
143
+ // All disabled buttons are set to 40% opacity.
144
+ // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
145
+ const disabledButtonOpacity = {
146
+ '&:disabled, &:disabled:active': {
147
+ opacity: 0.4,
136
148
  },
137
149
  };
138
150
 
@@ -155,19 +167,17 @@ export const TertiaryButton = createComponent('button')({
155
167
  ref,
156
168
  Element
157
169
  ) => {
158
- // Note: We don't use ButtonLabel because the label styles differ from other button types
159
- const allContainerStyles: CSSObject = allCaps
160
- ? {
161
- ...containerStyles,
162
- textTransform: 'uppercase',
163
- fontWeight: type.properties.fontWeights.bold,
164
- fontSize: size === 'medium' ? type.properties.fontSizes[16] : undefined,
165
- letterSpacing: '.5px',
166
- }
167
- : {
168
- ...containerStyles,
169
- fontSize: size === 'medium' ? type.properties.fontSizes[14] : undefined,
170
- };
170
+ const allContainerStyles: CSSObject = {
171
+ borderRadius: borderRadius.m,
172
+ border: '0',
173
+ padding: getPaddingStyles(icon, iconPosition),
174
+ minWidth: 'auto',
175
+ textTransform: allCaps ? 'uppercase' : undefined,
176
+ '.wdc-text-button-label': {
177
+ textDecoration: 'underline',
178
+ },
179
+ ...disabledButtonOpacity,
180
+ };
171
181
 
172
182
  return (
173
183
  <ButtonContainer
@@ -10,7 +10,7 @@ import {
10
10
  EmotionCanvasTheme,
11
11
  StyledType,
12
12
  } from '@workday/canvas-kit-react/common';
13
- import {ButtonColors} from '../types';
13
+ import {ButtonColors, ButtonSizes} from '../types';
14
14
  import {buttonLabelDataClassName} from './ButtonLabelData';
15
15
 
16
16
  export interface ButtonContainerProps
@@ -18,10 +18,12 @@ export interface ButtonContainerProps
18
18
  GrowthBehavior {
19
19
  colors?: ButtonColors;
20
20
  /**
21
- * The size of the Button.
21
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
22
+ * If no size is provided, it will default to `medium`.
23
+ *
22
24
  * @default 'medium'
23
25
  */
24
- size?: 'small' | 'medium' | 'large';
26
+ size?: ButtonSizes;
25
27
  /**
26
28
  * The ref to the button that the styled component renders.
27
29
  */
@@ -110,12 +112,13 @@ export const ButtonContainer = styled('button', {
110
112
  switch (size) {
111
113
  case 'large':
112
114
  return {
113
- fontSize: type.properties.fontSizes[16],
115
+ ...type.levels.body.small,
116
+ fontWeight: type.properties.fontWeights.bold,
114
117
  minWidth: '112px',
115
118
  height: '48px',
116
119
  padding: `0 ${space.l}`,
117
120
  '& > * ': {
118
- margin: `0 ${spaceNumbers.xs / 2}px`,
121
+ margin: `0 ${spaceNumbers.xxs / 2}px`,
119
122
  },
120
123
  };
121
124
  case 'medium':
@@ -137,6 +140,16 @@ export const ButtonContainer = styled('button', {
137
140
  margin: `0 ${spaceNumbers.xxxs / 2}px`,
138
141
  },
139
142
  };
143
+ case 'extraSmall':
144
+ return {
145
+ ...type.levels.subtext.medium,
146
+ fontWeight: type.properties.fontWeights.bold,
147
+ height: space.m,
148
+ padding: `0 ${space.xs}`,
149
+ '& > * ': {
150
+ margin: `0 ${spaceNumbers.xxxs / 2}px`,
151
+ },
152
+ };
140
153
  }
141
154
  },
142
155
  ({grow}) => grow && {width: '100%', maxWidth: '100%'},