@workday/canvas-kit-react 5.2.11 → 5.3.0-next.18

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 (643) 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/PageList.d.ts +1 -1
  96. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  97. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  98. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  99. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  100. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  101. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  102. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  103. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  104. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  105. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  106. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  107. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  108. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  109. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  110. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  111. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  112. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  113. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  114. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  115. package/dist/commonjs/tabs/index.d.ts +5 -0
  116. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  117. package/dist/commonjs/tabs/index.js +11 -0
  118. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  119. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  120. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  121. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  122. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  123. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  124. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  125. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  126. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  127. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  128. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  129. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  130. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  131. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  132. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  133. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  134. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  135. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  136. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  137. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  138. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  139. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  140. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  141. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  142. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  143. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  144. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  145. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  146. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  147. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  148. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  149. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  150. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  151. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  152. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  153. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  154. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  155. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  156. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  157. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  158. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  159. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  160. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  161. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  162. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  163. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  164. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  165. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  166. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  167. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  168. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  169. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  170. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  171. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  172. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  173. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  174. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  175. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  176. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  177. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  178. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  179. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  180. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  181. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  182. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  183. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  184. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  185. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  186. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  187. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  188. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  189. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  190. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  191. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  192. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  193. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  194. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  195. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  196. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  197. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  198. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  199. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  200. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  201. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  202. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  203. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  204. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  205. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  206. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  207. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  208. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  209. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  210. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  211. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  212. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  213. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  214. package/dist/commonjs/tokens/index.d.ts +3 -20
  215. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  216. package/dist/commonjs/tokens/index.js +3 -6
  217. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  218. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  219. package/dist/commonjs/tokens/lib/depth.js +40 -5
  220. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  221. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  222. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  223. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  224. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  225. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  226. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  227. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  228. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  229. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  230. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  231. package/dist/es6/button/lib/TertiaryButton.js +25 -21
  232. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  233. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  234. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  235. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  236. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  237. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  238. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  239. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  240. package/dist/es6/button/lib/types.d.ts +9 -0
  241. package/dist/es6/button/lib/types.d.ts.map +1 -1
  242. package/dist/es6/common/index.d.ts +1 -0
  243. package/dist/es6/common/index.d.ts.map +1 -1
  244. package/dist/es6/common/index.js +1 -0
  245. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  246. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  247. package/dist/es6/common/lib/EllipsisText.js +8 -0
  248. package/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  249. package/dist/es6/common/lib/styles/accessibleHide.d.ts.map +1 -1
  250. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  251. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  252. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  253. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  254. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  255. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  256. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  257. package/dist/es6/common/lib/utils/components.js +12 -2
  258. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  259. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  260. package/dist/es6/common/lib/utils/index.js +1 -0
  261. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  262. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  263. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  264. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  265. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  266. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  267. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  268. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  269. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  270. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  271. package/dist/es6/cookie-banner/index.d.ts +3 -3
  272. package/dist/es6/cookie-banner/index.d.ts.map +1 -1
  273. package/dist/es6/cookie-banner/index.js +3 -3
  274. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  275. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  276. package/dist/es6/cookie-banner/lib/CookieBanner.js +19 -8
  277. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  278. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  279. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  280. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  281. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  282. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  283. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  284. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  285. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  286. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  287. package/dist/es6/page-header/index.d.ts +3 -3
  288. package/dist/es6/page-header/index.d.ts.map +1 -1
  289. package/dist/es6/page-header/index.js +3 -3
  290. package/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  291. package/dist/es6/page-header/lib/PageHeader.d.ts.map +1 -1
  292. package/dist/es6/page-header/lib/PageHeader.js +18 -7
  293. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  294. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  295. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  296. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  297. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  298. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  299. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  300. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  301. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  302. package/dist/es6/popup/lib/PopupCard.js +3 -4
  303. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  304. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  305. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  306. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  307. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  308. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  309. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  310. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  311. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  312. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  313. package/dist/es6/tabs/index.d.ts +5 -0
  314. package/dist/es6/tabs/index.d.ts.map +1 -1
  315. package/dist/es6/tabs/index.js +5 -0
  316. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  317. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  318. package/dist/es6/tabs/lib/Tabs.js +28 -7
  319. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  320. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  321. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  322. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  323. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  324. package/dist/es6/tabs/lib/TabsList.js +44 -0
  325. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  326. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  327. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  328. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  329. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  330. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  331. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  332. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  333. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  334. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  335. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  336. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  337. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  338. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  339. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  340. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  341. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  342. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  343. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  344. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  345. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  346. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  347. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  348. package/dist/es6/tabs/lib/list/index.js +2 -1
  349. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  350. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  351. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  352. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  353. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  354. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  355. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  356. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  357. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  358. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  359. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  360. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  361. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  362. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  363. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  364. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  365. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  366. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  367. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  368. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  369. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  370. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  371. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  372. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  373. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  374. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  375. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  376. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  377. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  378. package/dist/es6/tabs/lib/menu/index.js +7 -0
  379. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  380. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  381. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  382. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  383. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  384. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  385. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  386. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  387. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  388. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  389. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  390. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  391. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  392. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  393. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  394. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  395. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  396. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  397. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  398. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  399. package/dist/es6/tabs/lib/selection/index.js +3 -0
  400. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  401. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  402. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  403. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  404. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  405. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  406. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  407. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  408. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  409. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  410. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  411. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  412. package/dist/es6/tokens/index.d.ts +3 -20
  413. package/dist/es6/tokens/index.d.ts.map +1 -1
  414. package/dist/es6/tokens/index.js +1 -1
  415. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  416. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  417. package/dist/es6/tokens/lib/depth.js +40 -2
  418. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  419. package/package.json +7 -6
  420. package/page-header/README.md +11 -6
  421. package/page-header/index.ts +3 -3
  422. package/page-header/lib/PageHeader.tsx +28 -3
  423. package/popup/lib/PopupCard.tsx +3 -2
  424. package/tabs/index.ts +6 -0
  425. package/tabs/lib/Tabs.tsx +34 -9
  426. package/tabs/lib/TabsItem.tsx +250 -0
  427. package/tabs/lib/TabsList.tsx +67 -0
  428. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  429. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  430. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  431. package/tabs/lib/TabsPanels.tsx +28 -0
  432. package/tabs/lib/cursor/index.ts +1 -1
  433. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  434. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  435. package/tabs/lib/list/index.ts +2 -1
  436. package/tabs/lib/list/renderItem.tsx +19 -0
  437. package/tabs/lib/list/useListModel.tsx +48 -23
  438. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  439. package/tabs/lib/menu/Menu.tsx +95 -0
  440. package/tabs/lib/menu/MenuCard.tsx +96 -0
  441. package/tabs/lib/menu/MenuItem.tsx +195 -0
  442. package/tabs/lib/menu/MenuList.tsx +59 -0
  443. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  444. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  445. package/tabs/lib/menu/index.ts +8 -0
  446. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  447. package/tabs/lib/overflow/index.ts +4 -0
  448. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  449. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  450. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  451. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  452. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  453. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  454. package/tabs/lib/selection/index.ts +3 -0
  455. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  456. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  457. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  458. package/tabs/lib/useTabsModel.tsx +93 -78
  459. package/tokens/README.md +5 -12
  460. package/tokens/index.ts +2 -2
  461. package/tokens/lib/depth.ts +125 -3
  462. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  463. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  464. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  465. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  466. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  467. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  468. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  469. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  470. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  471. package/ts3.5/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  472. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  473. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  474. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  475. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  476. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  477. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  478. package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +3 -3
  479. package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  480. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  481. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  482. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  483. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  484. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  485. package/ts3.5/dist/commonjs/page-header/index.d.ts +3 -3
  486. package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  487. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  488. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  489. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  490. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  491. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  492. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  493. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  494. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  495. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  496. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  497. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  498. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  499. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  500. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  501. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  502. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  503. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  504. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  505. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  506. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  507. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  508. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  509. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  510. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  511. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  512. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  513. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  514. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  515. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  516. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  517. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  518. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  519. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  520. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  521. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  522. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  523. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  524. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  525. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  526. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  527. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  528. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  529. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  530. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  531. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  532. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  533. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  534. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  535. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  536. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  537. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  538. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  539. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  540. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  541. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  542. package/ts3.5/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  543. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  544. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  545. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  546. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  547. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  548. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  549. package/ts3.5/dist/es6/cookie-banner/index.d.ts +3 -3
  550. package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  551. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  552. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  553. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  554. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  555. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  556. package/ts3.5/dist/es6/page-header/index.d.ts +3 -3
  557. package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  558. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  559. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  560. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  561. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  562. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  563. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  564. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  565. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  566. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  567. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  568. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  569. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  570. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  571. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  572. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  573. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  574. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  575. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  576. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  577. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  578. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  579. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  580. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  581. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  582. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  583. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  584. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  585. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  586. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  587. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  588. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  589. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  590. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  591. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  592. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  593. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  594. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  595. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  596. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  597. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  598. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  599. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  600. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  601. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  602. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  603. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  604. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  605. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  606. package/dist/commonjs/tabs/lib/Tab.js +0 -95
  607. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  608. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  609. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  610. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  611. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  612. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  613. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  614. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  615. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  616. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  617. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  618. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  619. package/dist/es6/tabs/lib/Tab.js +0 -86
  620. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  621. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  622. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  623. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  624. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  625. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  626. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  627. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  628. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  629. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  630. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  631. package/tabs/lib/Tab.tsx +0 -170
  632. package/tabs/lib/TabList.tsx +0 -59
  633. package/tabs/lib/cursor/hooks.tsx +0 -122
  634. package/tabs/lib/hooks.tsx +0 -31
  635. package/tabs/lib/list/hooks.tsx +0 -45
  636. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  637. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  638. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  639. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  640. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  641. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  642. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  643. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -1,2 +1,40 @@
1
- import depth from '@workday/canvas-depth-web';
2
- export default depth;
1
+ /**
2
+ * ### Depth Tokens
3
+ *
4
+ * Depth is the relative distance between surfaces in the z-axis.
5
+ * It provides delineation, focus, and priority with shadows and layering.
6
+ * There are five depth levels, `inset`, `1`, `2`, `3`, and `4`.
7
+ * Most levels only apply box-shadow styles, but `depth[4]` also applies border styles.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { depth } from '@workday/canvas-kit-react/tokens';
12
+ *
13
+ * const CustomCard = () => {
14
+ * return (
15
+ * <div css={depth[2]}>
16
+ * A standard-depth card
17
+ * </div>
18
+ * );
19
+ * }
20
+ * ```
21
+ *
22
+ */
23
+ export var depth = {
24
+ inset: {
25
+ boxShadow: 'inset 0px 0px 8px 0 rgba(82, 97, 115, 0.09)',
26
+ },
27
+ 1: {
28
+ boxShadow: '0px 2px 4px 0 rgba(0, 0, 0, 0.08)',
29
+ },
30
+ 2: {
31
+ boxShadow: '0px 4px 8px 0 rgba(0, 0, 0, 0.1)',
32
+ },
33
+ 3: {
34
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)',
35
+ },
36
+ 4: {
37
+ border: '1px solid rgba(218, 226, 230, 1)',
38
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)',
39
+ },
40
+ };
@@ -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.2.11",
3
+ "version": "5.3.0-next.18+6a7c92ab",
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.2.11",
61
- "@workday/canvas-kit-popup-stack": "^5.2.11",
62
- "@workday/canvas-kit-preview-react": "^5.2.11",
59
+ "@workday/canvas-kit-labs-react": "^5.3.0-next.18+6a7c92ab",
60
+ "@workday/canvas-kit-popup-stack": "^5.3.0-next.18+6a7c92ab",
61
+ "@workday/canvas-kit-preview-react": "^5.3.0-next.18+6a7c92ab",
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": "1fba31836daf2b965432b99a4bd857694fda7e0c"
79
+ "gitHead": "6a7c92ab26c236a362790dceab7a2f10d84fe9ae"
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)) {
@@ -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
+ );
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+
3
+ import {commonColors} from '@workday/canvas-kit-react/tokens';
4
+ import {
5
+ composeHooks,
6
+ createComponent,
7
+ createHook,
8
+ ExtractProps,
9
+ useModelContext,
10
+ } from '@workday/canvas-kit-react/common';
11
+ import {Stack} from '@workday/canvas-kit-labs-react/layout';
12
+ import {useOverflowMeasureContainer} from './overflow';
13
+ import {useRenderItems} from './list';
14
+ import {useResetCursorOnBlur} from './selection';
15
+
16
+ import {TabsModelContext} from './Tabs';
17
+ import {TabsModel} from './useTabsModel';
18
+
19
+ // Use `Partial` here to make `spacing` optional
20
+ export interface TabListProps<T = unknown> extends Partial<ExtractProps<typeof Stack, never>> {
21
+ /**
22
+ * If items are passed to a `TabsModel`, the child of `Tabs.List` should be a render prop. The
23
+ * List will determine how and when the item will be rendered.
24
+ *
25
+ * @example
26
+ * <Tabs.List>
27
+ * {(item) => <Tabs.Item key={item.id} name={item.name}>{item.text}</Tabs.Item>}
28
+ * </Tabs.List>
29
+ */
30
+ children: ((item: T) => React.ReactNode) | React.ReactNode;
31
+ /**
32
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
33
+ * model as the container component which uses React context. Only use this for advanced use-cases.
34
+ */
35
+ model?: TabsModel<T>;
36
+ overflowButton?: React.ReactNode;
37
+ }
38
+
39
+ export const TabsList = createComponent('div')({
40
+ displayName: 'Tabs.List',
41
+ Component: ({children, model, overflowButton, ...elemProps}: TabListProps, ref, Element) => {
42
+ const localModel = useModelContext(TabsModelContext, model);
43
+ const props = useTabsList(localModel, elemProps, ref);
44
+
45
+ return (
46
+ <Stack
47
+ as={Element}
48
+ position="relative"
49
+ borderBottom={`1px solid ${commonColors.divider}`}
50
+ marginX="m"
51
+ spacing="xxxs"
52
+ {...props}
53
+ >
54
+ {useRenderItems(localModel, children)}
55
+ {overflowButton}
56
+ </Stack>
57
+ );
58
+ },
59
+ });
60
+
61
+ export const useTabsList = composeHooks(
62
+ createHook((_: TabsModel) => {
63
+ return {role: 'tablist'};
64
+ }),
65
+ useOverflowMeasureContainer,
66
+ useResetCursorOnBlur
67
+ );
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+
3
+ import {createComponent, ExtractProps, useModelContext} from '@workday/canvas-kit-react/common';
4
+ import {usePopupPopper, Popper} from '@workday/canvas-kit-react/popup';
5
+
6
+ import {TabsModelContext} from './Tabs';
7
+ import {TabsModel} from './useTabsModel';
8
+
9
+ export interface MenuPopperProps<T = unknown> extends ExtractProps<typeof Popper> {
10
+ /**
11
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
12
+ * model as the container component which uses React context. Only use this for advanced use-cases
13
+ */
14
+ model?: TabsModel<T>;
15
+ }
16
+
17
+ export const TabsMenuPopper = createComponent('div')({
18
+ displayName: 'Tabs.MenuPopper',
19
+ Component: ({children, model, ...elemProps}: MenuPopperProps, ref) => {
20
+ const localModel = useModelContext(TabsModelContext, model);
21
+
22
+ const props = useTabsMenuPopper(localModel.menu, elemProps, ref);
23
+ return <Popper {...props}>{children}</Popper>;
24
+ },
25
+ });
26
+
27
+ export const useTabsMenuPopper = usePopupPopper;