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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) 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/modal/lib/ModalOverlay.d.ts +4 -2
  84. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  85. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  86. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  87. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  88. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  89. package/dist/commonjs/page-header/index.d.ts +3 -3
  90. package/dist/commonjs/page-header/index.d.ts.map +1 -1
  91. package/dist/commonjs/page-header/index.js +1 -1
  92. package/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  93. package/dist/commonjs/page-header/lib/PageHeader.d.ts.map +1 -1
  94. package/dist/commonjs/page-header/lib/PageHeader.js +18 -7
  95. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  96. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  97. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  98. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  99. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  100. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  101. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  102. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  103. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  104. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  105. package/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  106. package/dist/commonjs/pagination/lib/Pagination/types.d.ts.map +1 -1
  107. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  108. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  109. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  110. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  111. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  112. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  113. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  114. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  115. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  116. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  117. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  118. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  119. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  120. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  121. package/dist/commonjs/tabs/index.d.ts +5 -0
  122. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  123. package/dist/commonjs/tabs/index.js +11 -0
  124. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  125. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  126. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  127. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  128. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  129. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  130. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  131. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  132. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  133. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  134. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  135. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  136. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  137. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  138. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  139. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  140. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  141. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  142. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  143. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  144. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  145. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  146. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  147. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  148. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  149. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  150. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  151. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  152. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  153. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  154. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  155. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  156. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  157. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  158. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  159. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  160. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  161. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  162. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  163. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  164. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  165. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  166. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  167. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  168. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  169. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  170. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  171. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  172. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  173. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  174. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  175. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  176. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  177. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  178. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  179. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  180. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  181. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  182. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  183. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  184. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  185. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  186. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  187. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  188. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  189. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  190. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  191. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  192. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  193. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  194. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  195. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  196. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  197. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  198. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  199. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  200. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  201. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  202. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  203. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  204. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  205. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  206. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  207. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  208. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  209. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  210. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  211. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  212. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  213. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  214. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  215. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  216. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  217. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  218. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  219. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  220. package/dist/commonjs/tokens/index.d.ts +3 -20
  221. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  222. package/dist/commonjs/tokens/index.js +3 -6
  223. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  224. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  225. package/dist/commonjs/tokens/lib/depth.js +40 -5
  226. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  227. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  228. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +8 -6
  229. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  230. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  231. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  232. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  233. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  234. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  235. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  236. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  237. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  238. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  239. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  240. package/dist/es6/button/lib/TertiaryButton.js +25 -21
  241. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  242. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  243. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  244. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  245. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  246. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  247. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  248. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  249. package/dist/es6/button/lib/types.d.ts +9 -0
  250. package/dist/es6/button/lib/types.d.ts.map +1 -1
  251. package/dist/es6/common/index.d.ts +1 -0
  252. package/dist/es6/common/index.d.ts.map +1 -1
  253. package/dist/es6/common/index.js +1 -0
  254. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  255. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  256. package/dist/es6/common/lib/EllipsisText.js +8 -0
  257. package/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  258. package/dist/es6/common/lib/styles/accessibleHide.d.ts.map +1 -1
  259. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  260. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  261. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  262. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  263. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  264. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  265. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  266. package/dist/es6/common/lib/utils/components.js +12 -2
  267. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  268. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  269. package/dist/es6/common/lib/utils/index.js +1 -0
  270. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  271. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  272. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  273. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  274. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  275. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  276. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  277. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  278. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  279. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  280. package/dist/es6/cookie-banner/index.d.ts +3 -3
  281. package/dist/es6/cookie-banner/index.d.ts.map +1 -1
  282. package/dist/es6/cookie-banner/index.js +3 -3
  283. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  284. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  285. package/dist/es6/cookie-banner/lib/CookieBanner.js +19 -8
  286. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  287. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  288. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  289. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  290. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  291. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  292. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  293. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  294. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  295. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  296. package/dist/es6/page-header/index.d.ts +3 -3
  297. package/dist/es6/page-header/index.d.ts.map +1 -1
  298. package/dist/es6/page-header/index.js +3 -3
  299. package/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  300. package/dist/es6/page-header/lib/PageHeader.d.ts.map +1 -1
  301. package/dist/es6/page-header/lib/PageHeader.js +18 -7
  302. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  303. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  304. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  305. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  306. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  307. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  308. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  309. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  310. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  311. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  312. package/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  313. package/dist/es6/pagination/lib/Pagination/types.d.ts.map +1 -1
  314. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  315. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  316. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  317. package/dist/es6/popup/lib/PopupCard.js +3 -4
  318. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  319. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  320. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  321. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  322. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  323. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  324. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  325. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  326. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  327. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  328. package/dist/es6/tabs/index.d.ts +5 -0
  329. package/dist/es6/tabs/index.d.ts.map +1 -1
  330. package/dist/es6/tabs/index.js +5 -0
  331. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  332. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  333. package/dist/es6/tabs/lib/Tabs.js +28 -7
  334. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  335. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  336. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  337. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  338. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  339. package/dist/es6/tabs/lib/TabsList.js +44 -0
  340. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  341. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  342. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  343. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  344. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  345. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  346. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  347. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  348. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  349. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  350. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  351. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  352. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  353. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  354. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  355. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  356. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  357. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  358. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  359. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  360. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  361. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  362. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  363. package/dist/es6/tabs/lib/list/index.js +2 -1
  364. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  365. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  366. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  367. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  368. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  369. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  370. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  371. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  372. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  373. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  374. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  375. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  376. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  377. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  378. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  379. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  380. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  381. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  382. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  383. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  384. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  385. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  386. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  387. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  388. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  389. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  390. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  391. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  392. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  393. package/dist/es6/tabs/lib/menu/index.js +7 -0
  394. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  395. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  396. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  397. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  398. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  399. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  400. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  401. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  402. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  403. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  404. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  405. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  406. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  407. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  408. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  409. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  410. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  411. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  412. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  413. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  414. package/dist/es6/tabs/lib/selection/index.js +3 -0
  415. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  416. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  417. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  418. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  419. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  420. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  421. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  422. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  423. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  424. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  425. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  426. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  427. package/dist/es6/tokens/index.d.ts +3 -20
  428. package/dist/es6/tokens/index.d.ts.map +1 -1
  429. package/dist/es6/tokens/index.js +1 -1
  430. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  431. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  432. package/dist/es6/tokens/lib/depth.js +40 -2
  433. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  434. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  435. package/dist/es6/tooltip/lib/OverflowTooltip.js +5 -3
  436. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  437. package/package.json +7 -6
  438. package/page-header/README.md +11 -6
  439. package/page-header/index.ts +3 -3
  440. package/page-header/lib/PageHeader.tsx +28 -3
  441. package/pagination/lib/Pagination/GoTo/Label.tsx +3 -0
  442. package/pagination/lib/Pagination/types.ts +44 -5
  443. package/pagination/lib/Pagination/usePaginationModel.ts +19 -0
  444. package/popup/lib/PopupCard.tsx +3 -2
  445. package/tabs/index.ts +6 -0
  446. package/tabs/lib/Tabs.tsx +34 -9
  447. package/tabs/lib/TabsItem.tsx +250 -0
  448. package/tabs/lib/TabsList.tsx +67 -0
  449. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  450. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  451. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  452. package/tabs/lib/TabsPanels.tsx +28 -0
  453. package/tabs/lib/cursor/index.ts +1 -1
  454. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  455. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  456. package/tabs/lib/list/index.ts +2 -1
  457. package/tabs/lib/list/renderItem.tsx +19 -0
  458. package/tabs/lib/list/useListModel.tsx +48 -23
  459. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  460. package/tabs/lib/menu/Menu.tsx +95 -0
  461. package/tabs/lib/menu/MenuCard.tsx +96 -0
  462. package/tabs/lib/menu/MenuItem.tsx +195 -0
  463. package/tabs/lib/menu/MenuList.tsx +59 -0
  464. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  465. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  466. package/tabs/lib/menu/index.ts +8 -0
  467. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  468. package/tabs/lib/overflow/index.ts +4 -0
  469. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  470. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  471. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  472. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  473. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  474. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  475. package/tabs/lib/selection/index.ts +3 -0
  476. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  477. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  478. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  479. package/tabs/lib/useTabsModel.tsx +93 -78
  480. package/tokens/README.md +5 -12
  481. package/tokens/index.ts +2 -2
  482. package/tokens/lib/depth.ts +125 -3
  483. package/tooltip/lib/OverflowTooltip.tsx +5 -3
  484. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  485. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  486. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  487. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  488. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  489. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  490. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  491. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  492. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  493. package/ts3.5/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  494. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  495. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  496. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  497. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  498. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  499. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  500. package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +3 -3
  501. package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  502. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  503. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  504. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  505. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  506. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  507. package/ts3.5/dist/commonjs/page-header/index.d.ts +3 -3
  508. package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  509. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  510. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  511. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  512. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  513. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  514. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  515. package/ts3.5/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  516. package/ts3.5/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  517. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  518. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  519. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  520. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  521. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  522. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  523. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  524. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  525. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  526. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  527. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  528. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  529. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  530. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  531. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  532. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  533. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  534. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  535. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  536. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  537. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  538. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  539. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  540. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  541. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  542. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  543. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  544. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  545. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  546. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  547. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  548. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  549. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  550. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  551. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  552. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  553. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  554. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  555. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  556. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  557. package/ts3.5/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  558. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  559. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  560. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  561. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  562. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  563. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  564. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  565. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  566. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  567. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  568. package/ts3.5/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  569. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  570. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  571. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  572. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  573. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  574. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  575. package/ts3.5/dist/es6/cookie-banner/index.d.ts +3 -3
  576. package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  577. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  578. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  579. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  580. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  581. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  582. package/ts3.5/dist/es6/page-header/index.d.ts +3 -3
  583. package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  584. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  585. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  586. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  587. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  588. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  589. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  590. package/ts3.5/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  591. package/ts3.5/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  592. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  593. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  594. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  595. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  596. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  597. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  598. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  599. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  600. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  601. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  602. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  603. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  604. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  605. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  606. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  607. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  608. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  609. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  610. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  611. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  612. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  613. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  614. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  615. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  616. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  617. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  618. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  619. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  620. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  621. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  622. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  623. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  624. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  625. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  626. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  627. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  628. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  629. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  630. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  631. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  632. package/ts3.5/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  633. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  634. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  635. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  636. package/dist/commonjs/tabs/lib/Tab.js +0 -101
  637. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  638. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  639. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  640. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  641. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  642. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  643. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  644. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  645. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  646. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  647. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  648. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  649. package/dist/es6/tabs/lib/Tab.js +0 -92
  650. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  651. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  652. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  653. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  654. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  655. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  656. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  657. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  658. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  659. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  660. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  661. package/tabs/lib/Tab.tsx +0 -176
  662. package/tabs/lib/TabList.tsx +0 -59
  663. package/tabs/lib/cursor/hooks.tsx +0 -122
  664. package/tabs/lib/hooks.tsx +0 -31
  665. package/tabs/lib/list/hooks.tsx +0 -45
  666. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  667. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  668. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  669. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  670. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  671. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  672. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  673. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -29,7 +29,7 @@ import { useTooltip } from './useTooltip';
29
29
  * Look for an element within the tree for an overflow element (auto, scroll, clip, or hidden).
30
30
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
31
31
  */
32
- var findOverflowElement = function (element) {
32
+ export var findOverflowElement = function (element) {
33
33
  var style = getComputedStyle(element);
34
34
  if (style.overflow === 'auto' ||
35
35
  style.overflow === 'scroll' ||
@@ -53,12 +53,13 @@ var findOverflowElement = function (element) {
53
53
  * Look for an element within the tree for a `text-overflow` CSS property of `ellipsis`.
54
54
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
55
55
  */
56
- var findEllipsisElement = function (element) {
56
+ export var findEllipsisElement = function (element) {
57
57
  var style = getComputedStyle(element);
58
58
  if (style.textOverflow === 'ellipsis' || Number(style.webkitLineClamp) > 0) {
59
59
  return element;
60
60
  }
61
- else {
61
+ else if (element.children) {
62
+ // `children` is not defined for SVGElement in IE11
62
63
  for (var i = 0; i < element.children.length; i++) {
63
64
  var overflowElement = findEllipsisElement(element.children[i]);
64
65
  if (overflowElement) {
@@ -67,6 +68,7 @@ var findEllipsisElement = function (element) {
67
68
  }
68
69
  return null;
69
70
  }
71
+ return null;
70
72
  };
71
73
  var isOverflowed = function (element) {
72
74
  var overflowElement = findEllipsisElement(element) || findOverflowElement(element);
@@ -33,7 +33,7 @@ export declare function useTooltip<T extends Element = Element>({ type, titleTex
33
33
  onMouseEnter: (event: React.SyntheticEvent<Element, Event>) => void;
34
34
  onMouseLeave: () => void;
35
35
  onMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void;
36
- onFocus: (event: React.FocusEvent<Element>) => void;
36
+ onFocus: (event: React.FocusEvent<Element, Element>) => void;
37
37
  onBlur: () => void;
38
38
  };
39
39
  /** Mix these properties into the `Popper` component */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "5.3.0-next.2+eccb106b",
3
+ "version": "5.3.0",
4
4
  "description": "The parent module that contains all Workday Canvas Kit React components",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -56,10 +56,9 @@
56
56
  "@emotion/styled": "^10.0.27",
57
57
  "@popperjs/core": "^2.5.4",
58
58
  "@workday/canvas-colors-web": "^2.0.0",
59
- "@workday/canvas-depth-web": "^0.16.4",
60
- "@workday/canvas-kit-labs-react": "^5.3.0-next.2+eccb106b",
61
- "@workday/canvas-kit-popup-stack": "^5.3.0-next.2+eccb106b",
62
- "@workday/canvas-kit-preview-react": "^5.3.0-next.2+eccb106b",
59
+ "@workday/canvas-kit-labs-react": "^5.3.0",
60
+ "@workday/canvas-kit-popup-stack": "^5.3.0",
61
+ "@workday/canvas-kit-preview-react": "^5.3.0",
63
62
  "@workday/canvas-system-icons-web": "1.0.41",
64
63
  "@workday/design-assets-types": "^0.2.4",
65
64
  "chroma-js": "^2.1.0",
@@ -68,12 +67,14 @@
68
67
  "lodash": "^4.17.14",
69
68
  "polished": "^4.1.3",
70
69
  "react-innertext": "^1.1.5",
70
+ "resize-observer-polyfill": "^1.5.1",
71
71
  "rtl-css-js": "^1.14.1",
72
+ "use-resize-observer": "~7.0.1",
72
73
  "uuid": "^3.3.3"
73
74
  },
74
75
  "devDependencies": {
75
76
  "@workday/canvas-accent-icons-web": "^1.0.0",
76
77
  "@workday/canvas-applet-icons-web": "^0.17.50"
77
78
  },
78
- "gitHead": "eccb106b919fe5959334db591b44efd81e5e2aad"
79
+ "gitHead": "0cf3030eb73935b5679f8c9bb79fb6178a721a4a"
79
80
  }
@@ -1,4 +1,9 @@
1
- # Canvas Kit Page Header
1
+ # Canvas Kit Page Header (Deprecated)
2
+
3
+ > Note: As of Canvas Kit v6, PageHeader is being soft-deprecated. It will be hard-deprecated
4
+ > (completely removed) in v7. Please see the
5
+ > [migration guide](https://workday.github.io/canvas-kit/?path=/story/welcome-migration-guides-v6-0--page)
6
+ > for more information.
2
7
 
3
8
  A Canvas component that displays the header of a specific page within a website or application. It
4
9
  is generally used as a sub-header to the main application header
@@ -16,19 +21,19 @@ yarn add @workday/canvas-kit-react
16
21
 
17
22
  ```tsx
18
23
  import * as React from 'react';
19
- import {PageHeader} from '@workday/canvas-kit-react/page-header';
24
+ import {DeprecatedPageHeader} from '@workday/canvas-kit-react/page-header';
20
25
  import {IconButton} from '@workday/canvas-kit-react/button';
21
26
  import {exportIcon, fullscreenIcon} from '@workday/canvas-system-icons-web';
22
27
 
23
- <PageHeader title="Product">
28
+ <DeprecatedPageHeader title="Product">
24
29
  <IconButton icon={exportIcon} />
25
30
  <IconButton icon={fullscreenIcon} />
26
- </PageHeader>
31
+ </DeprecatedPageHeader>
27
32
 
28
- <PageHeader title="With Cap Width" capWidth={true}>
33
+ <DeprecatedPageHeader title="With Cap Width" capWidth={true}>
29
34
  <IconButton icon={exportIcon} />
30
35
  <IconButton icon={fullscreenIcon} />
31
- </PageHeader>
36
+ </DeprecatedPageHeader>
32
37
  ```
33
38
 
34
39
  ## Static Properties
@@ -1,5 +1,5 @@
1
- import PageHeader from './lib/PageHeader';
1
+ import DeprecatedPageHeader from './lib/PageHeader';
2
2
 
3
- export default PageHeader;
4
- export {PageHeader};
3
+ export default DeprecatedPageHeader;
4
+ export {DeprecatedPageHeader};
5
5
  export * from './lib/PageHeader';
@@ -3,7 +3,15 @@ import styled from '@emotion/styled';
3
3
  import {colors, gradients, space, type} from '@workday/canvas-kit-react/tokens';
4
4
  import {IconButton, IconButtonProps} from '@workday/canvas-kit-react/button';
5
5
 
6
- export interface PageHeaderProps {
6
+ /**
7
+ * ### Deprecated Page Header Props
8
+ *
9
+ * As of Canvas Kit v6, PageHeader is being soft-deprecated.
10
+ * It will be hard-deprecated (completely removed) in v7. Please see the
11
+ * [migration guide](https://workday.github.io/canvas-kit/?path=/story/welcome-migration-guides-v6-0--page)
12
+ * for more information.
13
+ */
14
+ export interface DeprecatedPageHeaderProps {
7
15
  /**
8
16
  * The text of the PageHeader title.
9
17
  */
@@ -28,7 +36,7 @@ const Header = styled('header')({
28
36
  MozOsxFontSmoothing: 'grayscale',
29
37
  });
30
38
 
31
- const Container = styled('div')<Pick<PageHeaderProps, 'breakpoint' | 'capWidth'>>(
39
+ const Container = styled('div')<Pick<DeprecatedPageHeaderProps, 'breakpoint' | 'capWidth'>>(
32
40
  {
33
41
  display: 'flex',
34
42
  alignItems: 'center',
@@ -68,7 +76,24 @@ const IconList = styled('div')({
68
76
  },
69
77
  });
70
78
 
71
- export default class PageHeader extends React.Component<PageHeaderProps> {
79
+ /**
80
+ * ### Deprecated Page Header
81
+ *
82
+ * As of Canvas Kit v6, this component is being soft-deprecated.
83
+ * It will be hard-deprecated (completely removed) in v7. Please see the
84
+ * [migration guide](https://workday.github.io/canvas-kit/?path=/story/welcome-migration-guides-v6-0--page)
85
+ * for more information.
86
+ */
87
+ export default class DeprecatedPageHeader extends React.Component<DeprecatedPageHeaderProps> {
88
+ componentDidMount() {
89
+ console.warn(
90
+ `This component is being deprecated and will be removed in Canvas Kit V7.\n
91
+ For more information, please see the V6 migration guide:\n
92
+ https://workday.github.io/canvas-kit/?path=/story/welcome-migration-guides-v6-0--page
93
+ `
94
+ );
95
+ }
96
+
72
97
  private renderChildren(children: React.ReactNode): React.ReactNode {
73
98
  return React.Children.map(children, child => {
74
99
  if (!React.isValidElement(child)) {
@@ -7,6 +7,9 @@ import {PaginationModel} from '../types';
7
7
 
8
8
  export interface GoToLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
9
9
  model: PaginationModel;
10
+ /**
11
+ * Accepts child elements or a render prop.
12
+ */
10
13
  children?: (model: PaginationModel) => React.ReactNode | React.ReactNode;
11
14
  }
12
15
 
@@ -1,17 +1,56 @@
1
1
  export interface PaginationState {
2
- currentPage: number; // current page
3
- firstPage: number; // first page
4
- lastPage: number; // last page
5
- range: number[]; // array of page numbers
6
- rangeSize: number; // size of the range
2
+ /**
3
+ * The page number for the current page
4
+ */
5
+ currentPage: number;
6
+ /**
7
+ * The page number for the first page
8
+ */
9
+ firstPage: number;
10
+ /**
11
+ * The page number for the last page (it can also be used as a total page
12
+ * count)
13
+ */
14
+ lastPage: number;
15
+ /**
16
+ * An array of page numbers included in the pagination range
17
+ */
18
+ range: number[];
19
+ /**
20
+ * The size of the pagination range
21
+ */
22
+ rangeSize: number;
7
23
  }
8
24
 
9
25
  export interface PaginationEvents {
26
+ /**
27
+ * Sets the current page to a given page number (no safeguards)
28
+ */
10
29
  setCurrentPage: (page: number) => void;
30
+ /**
31
+ * Sets the current page to the first page
32
+ */
11
33
  first: () => void;
34
+ /**
35
+ * Sets the current page to the last page
36
+ */
12
37
  last: () => void;
38
+ /**
39
+ * Increments the current page by 1
40
+ */
13
41
  next: () => void;
42
+ /**
43
+ * Decrements the current page by 1
44
+ */
14
45
  previous: () => void;
46
+ /**
47
+ * Sets the current page to a given page number (with safeguards). `goTo`
48
+ * is very similar to `setCurrentPage`, but it has some built-in safeguards.
49
+ * If the page number provided is below the first page (e.g: `0`),
50
+ * `currentPage` will be set to the `firstPage`. Similarly, if the number
51
+ * provided is larger than the `lastPage`, it will set `currentPage` to the
52
+ * `lastPage`.
53
+ */
15
54
  goTo: (page: number) => void;
16
55
  }
17
56
 
@@ -5,10 +5,29 @@ import {getRangeMax, getRangeMin} from './common/utils/helpers';
5
5
  import {PaginationModel} from './types';
6
6
 
7
7
  export type UsePaginationModelConfig = {
8
+ /**
9
+ * The page number for the last page (it can also be used as a total page
10
+ * count)
11
+ */
8
12
  lastPage: number;
13
+ /**
14
+ * The page number for the first page
15
+ * @default 1
16
+ */
9
17
  firstPage?: number;
18
+ /**
19
+ * The initial current page
20
+ * @default 1
21
+ */
10
22
  initialCurrentPage?: number;
23
+ /**
24
+ * The function called when the page changes
25
+ */
11
26
  onPageChange?: (pageNumber: number) => void;
27
+ /**
28
+ * The size of the pagination range
29
+ * @default 5
30
+ */
12
31
  rangeSize?: number;
13
32
  };
14
33
 
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import {keyframes} from '@emotion/core';
3
3
 
4
4
  import {Card} from '@workday/canvas-kit-react/card';
5
- import {space} from '@workday/canvas-kit-react/tokens';
5
+ import {space, type} from '@workday/canvas-kit-react/tokens';
6
6
  import {
7
7
  styled,
8
8
  TransformOrigin,
@@ -43,6 +43,7 @@ const popupAnimation = (transformOrigin: TransformOrigin) => {
43
43
  const StyledPopupCard = styled(Card)<
44
44
  StyledType & {width?: number | string; transformOrigin?: TransformOrigin}
45
45
  >(
46
+ type.levels.subtext.large,
46
47
  {
47
48
  position: 'relative',
48
49
  maxWidth: `calc(100vw - ${space.l})`,
@@ -87,7 +88,7 @@ export const PopupCard = createComponent('div')({
87
88
  padding={padding}
88
89
  {...props}
89
90
  >
90
- <Card.Body>{children}</Card.Body>
91
+ {children}
91
92
  </StyledPopupCard>
92
93
  );
93
94
  },
package/tabs/index.ts CHANGED
@@ -1,2 +1,8 @@
1
1
  export * from './lib/Tabs';
2
2
  export * from './lib/useTabsModel';
3
+
4
+ export {StyledTabItem, useTabsItem} from './lib/TabsItem';
5
+ export {useTabsList} from './lib/TabsList';
6
+ export {useTabsMenuPopper} from './lib/TabsMenuPopper';
7
+ export {useTabsOverflowButton} from './lib/TabsOverflowButton';
8
+ export {useTabsPanel} from './lib/TabsPanel';
package/tabs/lib/Tabs.tsx CHANGED
@@ -1,15 +1,20 @@
1
1
  import React from 'react';
2
2
 
3
3
  import {createComponent, useDefaultModel} from '@workday/canvas-kit-react/common';
4
+ import {Menu} from './menu';
4
5
 
5
- import {Tab} from './Tab';
6
- import {TabList} from './TabList';
7
- import {TabPanel} from './TabPanel';
6
+ import {TabsItem} from './TabsItem';
7
+ import {TabsList} from './TabsList';
8
+ import {TabsPanel} from './TabsPanel';
8
9
  import {useTabsModel, TabsModel, TabsModelConfig} from './useTabsModel';
10
+ import {TabsOverflowButton} from './TabsOverflowButton';
11
+ import {TabsMenuPopper} from './TabsMenuPopper';
12
+ import {TabsPanels} from './TabsPanels';
9
13
 
10
14
  export const TabsModelContext = React.createContext<TabsModel>({} as any);
11
15
 
12
- export interface TabsProps extends TabsModelConfig {
16
+ // use `T = any` here because there's no way to pass generics to a compound component...
17
+ export interface TabsProps<T = any> extends TabsModelConfig<T> {
13
18
  /**
14
19
  * The contents of the Tabs. Can be `Tabs` children or any valid elements.
15
20
  */
@@ -19,7 +24,7 @@ export interface TabsProps extends TabsModelConfig {
19
24
  * config passed to this component.
20
25
  * @default useTabsModel(config)
21
26
  */
22
- model?: TabsModel;
27
+ model?: TabsModel<T>;
23
28
  }
24
29
 
25
30
  export const Tabs = createComponent()({
@@ -27,11 +32,31 @@ export const Tabs = createComponent()({
27
32
  Component: ({children, model, ...config}: TabsProps) => {
28
33
  const value = useDefaultModel(model, config, useTabsModel);
29
34
 
30
- return <TabsModelContext.Provider value={value}>{children}</TabsModelContext.Provider>;
35
+ return (
36
+ <TabsModelContext.Provider value={value}>
37
+ <Menu model={value.menu}>{children}</Menu>
38
+ </TabsModelContext.Provider>
39
+ );
31
40
  },
32
41
  subComponents: {
33
- List: TabList,
34
- Item: Tab,
35
- Panel: TabPanel,
42
+ List: TabsList,
43
+ Item: TabsItem,
44
+ Panel: TabsPanel,
45
+ Panels: TabsPanels,
46
+ OverflowButton: TabsOverflowButton,
47
+ MenuPopper: TabsMenuPopper,
48
+ /**
49
+ * The overflow menu of the Tabs component. If there isn't enough room to render all the tab
50
+ * items, the extra tabs that don't fit will be overflowed into this menu.
51
+ * @example
52
+ * <Tabs.Menu.Popper>
53
+ * <Tabs.Menu.Card>
54
+ * <Tabs.Menu.List>
55
+ * {(item: MyTabItem) => <Tabs.Menu.Item name={item.id}>{item.text}</Tabs.Menu.Item>}
56
+ * </Tabs.Menu.List>
57
+ * </Tabs.Menu.Card>
58
+ * </Tabs.Menu.Popper>
59
+ */
60
+ Menu,
36
61
  },
37
62
  });
@@ -0,0 +1,250 @@
1
+ import * as React from 'react';
2
+
3
+ import {colors, space, type, borderRadius, iconColors} from '@workday/canvas-kit-react/tokens';
4
+ import {
5
+ createComponent,
6
+ focusRing,
7
+ hideMouseFocus,
8
+ styled,
9
+ StyledType,
10
+ useModelContext,
11
+ createHook,
12
+ composeHooks,
13
+ ExtractProps,
14
+ ellipsisStyles,
15
+ EllipsisText,
16
+ useLocalRef,
17
+ useMount,
18
+ } from '@workday/canvas-kit-react/common';
19
+ import {Box} from '@workday/canvas-kit-labs-react/common';
20
+ import {OverflowTooltip} from '@workday/canvas-kit-react/tooltip';
21
+ import {SystemIcon} from '@workday/canvas-kit-react/icon';
22
+ import {useListRegisterItem} from './list';
23
+ import {useRovingFocus} from './cursor';
24
+ import {isSelected, useSelectionItem} from './selection';
25
+ import {useOverflowMeasureItem} from './overflow';
26
+
27
+ import {TabsModelContext} from './Tabs';
28
+ import {TabsModel} from './useTabsModel';
29
+ import {StackProps} from '@workday/canvas-kit-labs-react/layout';
30
+ export interface TabsItemProps
31
+ extends ExtractProps<typeof Box, never>,
32
+ Partial<Pick<StackProps, 'spacing'>> {
33
+ /**
34
+ * Optionally pass index to tab item. This should be done if `Tabs.Item` components were created
35
+ * via a `Array::map` function. This index will ensure keyboard navigation works even if items are
36
+ * inserted out of order.
37
+ */
38
+ index?: number;
39
+ /**
40
+ * The contents of the tab item. This will be the accessible name of the tab for screen readers.
41
+ * Often, this is text. Icons are also supported. Using `Tabs.Icon` will render an icon that is
42
+ * not visible to screen readers and therefore the icon should not be necessary to understand the
43
+ * tab. In most circumstances, `aria-label` should not be used.
44
+ *
45
+ * ```tsx
46
+ * <Tabs.Item>First Tab</Tabs.Item>
47
+ * <Tabs.Item hasIcon>
48
+ * <Tabs.Icon icon={canvasIcon} />
49
+ * <Tabs.Text>Second Tab</Tabs.Text>
50
+ * </Tabs.Item>
51
+ * ```
52
+ */
53
+ children: React.ReactNode;
54
+ /**
55
+ * The name of the tab. This name will be used in change events and for `initialTab`. Must match
56
+ * the `name` of the associated tab panel. If this property is not provided, it will default to a
57
+ * string representation of the the zero-based index of the Tab when it was initialized.
58
+ */
59
+ name?: string;
60
+ /**
61
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
62
+ * model as the container component which uses React context. Only use this for advanced use-cases
63
+ */
64
+ model?: TabsModel;
65
+ /**
66
+ * Optional id. If not set, it will inherit the ID passed to the `Tabs` component and append the
67
+ * index at the end. Only set this for advanced cases.
68
+ */
69
+ id?: string;
70
+ /**
71
+ * Part of the ARIA specification for tabs. This attributes links a `role=tab` to a
72
+ * `role=tabpanel`. This value must be the same as the associated `id` attribute of the tab panel.
73
+ * This is automatically set by the component and should only be used in advanced cases.
74
+ */
75
+ 'aria-controls'?: string;
76
+ /**
77
+ * Part of the ARIA specification for tabs. Lets screen readers know which tab is active. This
78
+ * should either be `true` or `undefined` and never `false`. This is automatically set by the
79
+ * component and should only be used in advanced cases.
80
+ */
81
+ 'aria-selected'?: boolean;
82
+ /**
83
+ * Part of the ARIA specification for tabs. The currently active tab should not have a `tabIndex`
84
+ * set while all inactive tabs should have a `tabIndex={-1}`
85
+ */
86
+ tabIndex?: number;
87
+ /**
88
+ * Use `hasIcon={true}` when the Tab item contains an icon. This instructs the tab item to render
89
+ * children as a flex container to accommodate icons. You will have to use `Tabs.Item.Text` as a
90
+ * child element if this is set to true.
91
+ *
92
+ * @example
93
+ * <Tabs.Item hasIcon>
94
+ * <Tabs.Item.Icon icon={someIcon} />
95
+ * <Tabs.Item.Text>Tab Text</Tabs.Item.Text>
96
+ * </Tabs.Item>
97
+ */
98
+ hasIcon?: boolean;
99
+ }
100
+
101
+ export const StyledTabItem = styled(Box.as('button'))<
102
+ StyledType & {hasIcon?: boolean} & Pick<TabsItemProps, 'spacing'>
103
+ >(
104
+ ({theme, spacing}) => ({
105
+ ...type.levels.subtext.large,
106
+ '& > *:not(style) ~ *:not(style)': {
107
+ marginLeft: spacing || space.xxs,
108
+ },
109
+ fontWeight: type.properties.fontWeights.medium,
110
+ border: 'none',
111
+ backgroundColor: 'transparent',
112
+ flex: '0 0 auto',
113
+ alignItems: 'center',
114
+ maxWidth: '280px',
115
+ padding: `${space.xs} ${space.s}`,
116
+ height: 52,
117
+ boxSizing: 'border-box',
118
+ cursor: 'pointer',
119
+ color: colors.licorice300,
120
+ position: 'relative',
121
+ borderRadius: `${borderRadius.m} ${borderRadius.m} 0px 0px`,
122
+ transition: 'background 150ms ease, color 150ms ease',
123
+
124
+ ...hideMouseFocus,
125
+
126
+ '.wd-icon-background ~ .wd-icon-accent, .wd-icon-background ~ .wd-icon-accent2': {
127
+ fill: iconColors.active,
128
+ },
129
+
130
+ '&:hover, &:focus': {
131
+ backgroundColor: colors.soap200,
132
+ color: colors.blackPepper400,
133
+ '.wd-icon-fill, .wd-icon-accent, .wd-icon-accent2': {
134
+ fill: iconColors.hover,
135
+ },
136
+ '.wd-icon-background ~ .wd-icon-accent, .wd-icon-background ~ .wd-icon-accent2': {
137
+ fill: iconColors.active,
138
+ },
139
+ },
140
+
141
+ '&:focus': {
142
+ outline: `none`,
143
+ ...focusRing({inset: 'outer', width: 0, separation: 2}, theme),
144
+ },
145
+
146
+ '&:disabled, &[aria-disabled]': {
147
+ color: colors.licorice100,
148
+ '.wd-icon-fill, .wd-icon-accent, .wd-icon-accent2': {
149
+ fill: iconColors.disabled,
150
+ },
151
+ '&:hover': {
152
+ cursor: 'auto',
153
+ backgroundColor: `transparent`,
154
+ '.wd-icon-fill, .wd-icon-accent, .wd-icon-accent2': {
155
+ fill: iconColors.disabled,
156
+ },
157
+ },
158
+ },
159
+
160
+ '&[aria-selected=true]': {
161
+ color: theme.canvas.palette.primary.main,
162
+ cursor: 'default',
163
+ '.wd-icon-fill, .wd-icon-accent, .wd-icon-accent2': {
164
+ fill: theme.canvas.palette.primary.main,
165
+ },
166
+ '&:after': {
167
+ position: 'absolute',
168
+ height: space.xxxs,
169
+ borderRadius: `${borderRadius.m} ${borderRadius.m} 0px 0px`,
170
+ backgroundColor: theme.canvas.palette.primary.main,
171
+ bottom: 0,
172
+ content: `''`,
173
+ left: 0,
174
+ marginTop: '-2px',
175
+ width: '100%',
176
+ },
177
+ '&:hover, &:focus': {
178
+ backgroundColor: `transparent`,
179
+ color: theme.canvas.palette.primary.main,
180
+ },
181
+ },
182
+ }),
183
+ ({hasIcon}) => {
184
+ if (hasIcon) {
185
+ return {
186
+ display: 'flex',
187
+ };
188
+ } else {
189
+ return ellipsisStyles;
190
+ }
191
+ }
192
+ );
193
+
194
+ export const TabsItem = createComponent('button')({
195
+ displayName: 'Tabs.Item',
196
+ Component: ({model, children, ...elemProps}: TabsItemProps, ref, Element) => {
197
+ const localModel = useModelContext(TabsModelContext, model);
198
+
199
+ const props = useTabsItem(localModel, elemProps, ref);
200
+
201
+ if ('production' !== process.env.NODE_ENV) {
202
+ // ensure `hasIcon` is used when a child has an icon
203
+ // eslint-disable-next-line react-hooks/rules-of-hooks
204
+ const {elementRef, localRef} = useLocalRef(props.ref);
205
+ props.ref = elementRef;
206
+ // eslint-disable-next-line react-hooks/rules-of-hooks
207
+ useMount(() => {
208
+ if (localRef.current.querySelector('svg') && !props.hasIcon) {
209
+ console.warn(
210
+ `A Tabs.Item with an icon should have the 'hasIcon' prop set to true. This ensures correct rendering`
211
+ );
212
+ }
213
+ });
214
+ }
215
+
216
+ return (
217
+ <OverflowTooltip>
218
+ <StyledTabItem as={Element} {...props}>
219
+ {children}
220
+ </StyledTabItem>
221
+ </OverflowTooltip>
222
+ );
223
+ },
224
+ subComponents: {
225
+ Icon: SystemIcon,
226
+ Text: EllipsisText,
227
+ },
228
+ });
229
+
230
+ export const useTabsItem = composeHooks(
231
+ createHook(
232
+ (model: TabsModel, _?: React.Ref<HTMLButtonElement>, elemProps: {name?: string} = {}) => {
233
+ const {state} = model;
234
+ const name = elemProps.name || '';
235
+
236
+ const selected = !!elemProps.name && isSelected(name, state);
237
+
238
+ return {
239
+ type: 'button' as 'button', // keep Typescript happy
240
+ role: 'tab',
241
+ 'aria-selected': selected,
242
+ 'aria-controls': `tabpanel-${state.id}-${name}`,
243
+ };
244
+ }
245
+ ),
246
+ useSelectionItem,
247
+ useOverflowMeasureItem,
248
+ useRovingFocus,
249
+ useListRegisterItem
250
+ );