@workday/canvas-kit-react 5.3.0-next.2 → 5.3.0-next.24

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