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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) 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/theming/README.md +189 -25
  11. package/common/lib/theming/breakpoints.ts +296 -16
  12. package/common/lib/theming/types.ts +191 -1
  13. package/common/lib/utils/components.ts +50 -23
  14. package/common/lib/utils/index.ts +1 -0
  15. package/common/lib/utils/mergeProps.ts +4 -0
  16. package/common/lib/utils/useConstant.ts +18 -0
  17. package/common/lib/utils/useResizeObserver.ts +29 -0
  18. package/common/lib/utils/useUniqueId.ts +4 -3
  19. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  20. package/dist/commonjs/action-bar/lib/ActionBar.js +35 -27
  21. package/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  22. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  23. package/dist/commonjs/button/lib/PrimaryButton.js +80 -26
  24. package/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  25. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  26. package/dist/commonjs/button/lib/SecondaryButton.js +22 -12
  27. package/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  28. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  29. package/dist/commonjs/button/lib/TertiaryButton.js +24 -20
  30. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  31. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  32. package/dist/commonjs/button/lib/parts/ButtonContainer.js +7 -9
  33. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  34. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  35. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  36. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  37. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +28 -13
  38. package/dist/commonjs/button/lib/types.d.ts +9 -0
  39. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  40. package/dist/commonjs/common/index.d.ts +1 -0
  41. package/dist/commonjs/common/index.d.ts.map +1 -1
  42. package/dist/commonjs/common/index.js +1 -0
  43. package/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  44. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -0
  45. package/dist/commonjs/common/lib/EllipsisText.js +13 -0
  46. package/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  47. package/dist/commonjs/common/lib/theming/breakpoints.d.ts.map +1 -1
  48. package/dist/commonjs/common/lib/theming/breakpoints.js +192 -10
  49. package/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  50. package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
  51. package/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  52. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  53. package/dist/commonjs/common/lib/utils/components.js +12 -2
  54. package/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  55. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  56. package/dist/commonjs/common/lib/utils/index.js +1 -0
  57. package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
  58. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -0
  59. package/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  60. package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +1 -0
  61. package/dist/commonjs/common/lib/utils/useConstant.js +18 -0
  62. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  63. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  64. package/dist/commonjs/common/lib/utils/useResizeObserver.js +42 -0
  65. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
  66. package/dist/commonjs/common/lib/utils/useUniqueId.js +3 -10
  67. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  68. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  69. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  70. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  71. package/dist/commonjs/loading-animation/lib/LoadingDots.js +3 -6
  72. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  73. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  74. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  75. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  76. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  77. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  78. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  79. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  80. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  81. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  82. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  83. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  84. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  85. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  86. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  87. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  88. package/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  89. package/dist/commonjs/pagination/lib/Pagination/types.d.ts.map +1 -1
  90. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  91. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  92. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  93. package/dist/commonjs/popup/lib/PopupCard.js +3 -10
  94. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  95. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  96. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  97. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  98. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  99. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  100. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  101. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  102. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  103. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  104. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  105. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +1 -1
  106. package/dist/commonjs/tabs/index.d.ts +5 -0
  107. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  108. package/dist/commonjs/tabs/index.js +11 -0
  109. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  110. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  111. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  112. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  113. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  114. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  115. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  116. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  117. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  118. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  119. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  120. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  121. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  122. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  123. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  124. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  125. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  126. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  127. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  128. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  129. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  130. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  131. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  132. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  133. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  134. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  135. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  136. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  137. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  138. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  139. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  140. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  141. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  142. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  143. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  144. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  145. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  146. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  147. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  148. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  149. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  150. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  151. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  152. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  153. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  154. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  155. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  156. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  157. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  158. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  159. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  160. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  161. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  162. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  163. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  164. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  165. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  166. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  167. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  168. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  169. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  170. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  171. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  172. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  173. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  174. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  175. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  176. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  177. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  178. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  179. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  180. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  181. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  182. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  183. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  184. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  185. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  186. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  187. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  188. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  189. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  190. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  191. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  192. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  193. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  194. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  195. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  196. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  197. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  198. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  199. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  200. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  201. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  202. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  203. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  204. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  205. package/dist/commonjs/tokens/index.d.ts +3 -20
  206. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  207. package/dist/commonjs/tokens/index.js +3 -6
  208. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  209. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  210. package/dist/commonjs/tokens/lib/depth.js +40 -5
  211. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  212. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  213. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +8 -6
  214. package/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
  215. package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
  216. package/dist/commonjs/tooltip/lib/Tooltip.js +7 -2
  217. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
  218. package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
  219. package/dist/commonjs/tooltip/lib/useTooltip.js +13 -8
  220. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  221. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  222. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  223. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  224. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  225. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  226. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  227. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  228. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  229. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  230. package/dist/es6/button/lib/TertiaryButton.js +25 -21
  231. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  232. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  233. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  234. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  235. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  236. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  237. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  238. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  239. package/dist/es6/button/lib/types.d.ts +9 -0
  240. package/dist/es6/button/lib/types.d.ts.map +1 -1
  241. package/dist/es6/common/index.d.ts +1 -0
  242. package/dist/es6/common/index.d.ts.map +1 -1
  243. package/dist/es6/common/index.js +1 -0
  244. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  245. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  246. package/dist/es6/common/lib/EllipsisText.js +8 -0
  247. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  248. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  249. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  250. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  251. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  252. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  253. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  254. package/dist/es6/common/lib/utils/components.js +12 -2
  255. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  256. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  257. package/dist/es6/common/lib/utils/index.js +1 -0
  258. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  259. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  260. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  261. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  262. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  263. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  264. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  265. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  266. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  267. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  268. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  269. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  270. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  271. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  272. package/dist/es6/loading-animation/lib/LoadingDots.js +1 -1
  273. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  274. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  275. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  276. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  277. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  278. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  279. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  280. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  281. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  282. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  283. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  284. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  285. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  286. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  287. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  288. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  289. package/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  290. package/dist/es6/pagination/lib/Pagination/types.d.ts.map +1 -1
  291. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  292. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  293. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  294. package/dist/es6/popup/lib/PopupCard.js +4 -11
  295. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  296. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  297. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  298. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  299. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  300. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  301. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  302. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  303. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  304. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  305. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  306. package/dist/es6/popup/lib/hooks/useReturnFocus.js +1 -1
  307. package/dist/es6/tabs/index.d.ts +5 -0
  308. package/dist/es6/tabs/index.d.ts.map +1 -1
  309. package/dist/es6/tabs/index.js +5 -0
  310. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  311. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  312. package/dist/es6/tabs/lib/Tabs.js +28 -7
  313. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  314. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  315. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  316. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  317. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  318. package/dist/es6/tabs/lib/TabsList.js +44 -0
  319. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  320. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  321. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  322. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  323. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  324. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  325. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  326. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  327. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  328. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  329. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  330. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  331. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  332. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  333. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  334. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  335. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  336. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  337. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  338. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  339. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  340. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  341. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  342. package/dist/es6/tabs/lib/list/index.js +2 -1
  343. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  344. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  345. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  346. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  347. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  348. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  349. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  350. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  351. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  352. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  353. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  354. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  355. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  356. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  357. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  358. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  359. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  360. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  361. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  362. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  363. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  364. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  365. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  366. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  367. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  368. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  369. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  370. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  371. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  372. package/dist/es6/tabs/lib/menu/index.js +7 -0
  373. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  374. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  375. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  376. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  377. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  378. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  379. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  380. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  381. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  382. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  383. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  384. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  385. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  386. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  387. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  388. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  389. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  390. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  391. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  392. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  393. package/dist/es6/tabs/lib/selection/index.js +3 -0
  394. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  395. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  396. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  397. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  398. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  399. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  400. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  401. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  402. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  403. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  404. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  405. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  406. package/dist/es6/tokens/index.d.ts +3 -20
  407. package/dist/es6/tokens/index.d.ts.map +1 -1
  408. package/dist/es6/tokens/index.js +1 -1
  409. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  410. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  411. package/dist/es6/tokens/lib/depth.js +40 -2
  412. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  413. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  414. package/dist/es6/tooltip/lib/OverflowTooltip.js +5 -3
  415. package/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
  416. package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
  417. package/dist/es6/tooltip/lib/Tooltip.js +7 -2
  418. package/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
  419. package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
  420. package/dist/es6/tooltip/lib/useTooltip.js +13 -8
  421. package/loading-animation/lib/LoadingDots.tsx +1 -1
  422. package/package.json +9 -7
  423. package/pagination/lib/Pagination/GoTo/Label.tsx +3 -0
  424. package/pagination/lib/Pagination/types.ts +44 -5
  425. package/pagination/lib/Pagination/usePaginationModel.ts +19 -0
  426. package/popup/lib/PopupCard.tsx +21 -31
  427. package/popup/lib/hooks/useReturnFocus.tsx +1 -1
  428. package/tabs/index.ts +6 -0
  429. package/tabs/lib/Tabs.tsx +34 -9
  430. package/tabs/lib/TabsItem.tsx +250 -0
  431. package/tabs/lib/TabsList.tsx +67 -0
  432. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  433. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  434. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  435. package/tabs/lib/TabsPanels.tsx +28 -0
  436. package/tabs/lib/cursor/index.ts +1 -1
  437. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  438. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  439. package/tabs/lib/list/index.ts +2 -1
  440. package/tabs/lib/list/renderItem.tsx +19 -0
  441. package/tabs/lib/list/useListModel.tsx +48 -23
  442. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  443. package/tabs/lib/menu/Menu.tsx +95 -0
  444. package/tabs/lib/menu/MenuCard.tsx +96 -0
  445. package/tabs/lib/menu/MenuItem.tsx +195 -0
  446. package/tabs/lib/menu/MenuList.tsx +59 -0
  447. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  448. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  449. package/tabs/lib/menu/index.ts +8 -0
  450. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  451. package/tabs/lib/overflow/index.ts +4 -0
  452. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  453. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  454. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  455. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  456. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  457. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  458. package/tabs/lib/selection/index.ts +3 -0
  459. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  460. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  461. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  462. package/tabs/lib/useTabsModel.tsx +93 -78
  463. package/tokens/README.md +5 -12
  464. package/tokens/index.ts +2 -2
  465. package/tokens/lib/depth.ts +125 -3
  466. package/tooltip/lib/OverflowTooltip.tsx +5 -3
  467. package/tooltip/lib/Tooltip.tsx +16 -1
  468. package/tooltip/lib/useTooltip.tsx +21 -6
  469. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  470. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  471. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  472. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  473. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  474. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  475. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  476. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  477. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  478. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  479. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  480. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  481. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  482. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  483. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  484. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  485. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  486. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  487. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  488. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  489. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  490. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  491. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  492. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  493. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  494. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  495. package/ts3.5/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  496. package/ts3.5/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  497. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  498. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  499. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  500. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  501. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  502. package/ts3.5/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  503. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  504. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  505. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  506. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  507. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  508. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  509. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  510. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  511. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  512. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  513. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  514. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  515. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  516. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  517. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  518. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  519. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  520. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  521. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  522. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  523. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  524. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  525. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  526. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  527. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  528. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  529. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  530. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  531. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  532. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  533. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  534. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  535. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  536. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  537. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  538. package/ts3.5/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  539. package/ts3.5/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
  540. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
  541. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  542. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  543. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  544. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  545. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  546. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  547. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  548. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  549. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  550. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  551. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  552. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  553. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  554. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  555. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  556. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  557. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  558. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  559. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  560. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  561. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  562. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  563. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  564. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  565. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  566. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  567. package/ts3.5/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  568. package/ts3.5/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  569. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  570. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  571. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  572. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  573. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  574. package/ts3.5/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  575. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  576. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  577. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  578. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  579. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  580. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  581. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  582. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  583. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  584. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  585. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  586. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  587. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  588. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  589. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  590. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  591. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  592. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  593. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  594. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  595. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  596. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  597. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  598. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  599. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  600. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  601. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  602. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  603. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  604. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  605. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  606. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  607. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  608. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  609. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  610. package/ts3.5/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  611. package/ts3.5/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
  612. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
  613. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  614. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  615. package/dist/commonjs/tabs/lib/Tab.js +0 -101
  616. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  617. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  618. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  619. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  620. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  621. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  622. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  623. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  624. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  625. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  626. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  627. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  628. package/dist/es6/tabs/lib/Tab.js +0 -92
  629. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  630. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  631. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  632. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  633. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  634. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  635. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  636. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  637. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  638. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  639. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  640. package/tabs/lib/Tab.tsx +0 -176
  641. package/tabs/lib/TabList.tsx +0 -59
  642. package/tabs/lib/cursor/hooks.tsx +0 -122
  643. package/tabs/lib/hooks.tsx +0 -31
  644. package/tabs/lib/list/hooks.tsx +0 -45
  645. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  646. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  647. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  648. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  649. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  650. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  651. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  652. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -1,79 +1,67 @@
1
1
  import React from 'react';
2
- import {createEventMap, Model, ToModelConfig, useEventMap} from '@workday/canvas-kit-react/common';
3
2
  import {
4
- CursorState,
5
- CursorEvents,
6
- cursorEventMap,
7
- useCursorModel,
8
- BaseCursorModelConfig,
9
- Orientation,
10
- CursorModelConfig,
11
- getNext,
12
- } from './cursor/useCursorModel';
13
- import {Item, ListEvents, ListState, useListModel} from './list/useListModel';
3
+ createEventMap,
4
+ ToModelConfig,
5
+ useEventMap,
6
+ useUniqueId,
7
+ } from '@workday/canvas-kit-react/common';
8
+ import {Orientation} from './cursor';
9
+ import {defaultGetId, ListEvents, ListState, useListModel} from './list';
10
+ import {MenuModel, MenuModelConfig, useMenuModel} from './menu';
11
+ import {
12
+ overflowEventMap,
13
+ OverflowEvents,
14
+ OverflowState,
15
+ OverflowModelConfig,
16
+ BaseOverflowModelConfig,
17
+ useOverflowModel,
18
+ OverflowModel,
19
+ } from './overflow';
14
20
 
15
- export type TabsState = CursorState & {
16
- /**
17
- * The name of the active tab provided to the `Tabs.Item` component. If no name is provided, it
18
- * will be a string of the index position.
19
- */
20
- activeTab: string;
21
+ export type TabsState<T> = OverflowState<T> & {
22
+ /** IDREF of the list. Children ids can be derived from this id */
23
+ id: string;
21
24
  /**
22
25
  * A list of panels. Uses `ListModel`
23
26
  */
24
- panels: Item[];
27
+ panels: T[];
25
28
  /**
26
29
  * A React.Ref of the current item index. A ref is used to allow for updating outside the normal
27
30
  * React state cycle to ensure accurate index tracking as items are registered within the same
28
31
  * state setting phase.
29
32
  */
30
- panelIndexRef: ListState['indexRef'];
33
+ panelIndexRef: ListState<T>['indexRef'];
34
+ orientation: Orientation;
35
+ getId: (item: T) => string;
31
36
  };
32
37
 
33
- export type TabsEvents = CursorEvents & {
34
- /**
35
- * This event will set the `activeTab` in the state. Called when a user activates a tab
36
- */
37
- activate(data: {
38
- /**
39
- * The name of the tab provided to the `Tabs.Item` component. If no name is provided, it will
40
- * be a string of the index position
41
- */
42
- tab: string;
43
- }): void;
38
+ export type TabsEvents<T = unknown> = OverflowEvents<T> & {
44
39
  /**
45
40
  * This event registers panels with state.panels. Called when a panel is mounted.
46
41
  */
47
- registerPanel: ListEvents['registerItem'];
42
+ registerPanel: ListEvents<T>['registerItem'];
48
43
  /**
49
44
  * This event unregisters panels with state.panels. Called when a panel is unmounted.
50
45
  */
51
- unregisterPanel: ListEvents['unregisterItem'];
46
+ unregisterPanel: ListEvents<T>['unregisterItem'];
52
47
  };
53
48
 
54
- export type TabsModel = Model<TabsState, TabsEvents>;
49
+ export interface TabsModel<T = unknown> extends OverflowModel<T> {
50
+ state: TabsState<T>;
51
+ events: TabsEvents<T>;
52
+ menu: MenuModel<T>;
53
+ }
55
54
 
56
55
  export const tabEventMap = createEventMap<TabsEvents>()({
57
56
  guards: {
58
- ...cursorEventMap.guards,
59
- /**
60
- * Should the tab activate? Can prevent the tab from activating. Use this only for advanced
61
- * use-cases.
62
- */
63
- shouldActivate: 'activate',
57
+ ...overflowEventMap.guards,
64
58
  },
65
59
  callbacks: {
66
- ...cursorEventMap.callbacks,
67
- /**
68
- * This callback will fire whenever a tab is activated. The data will contain the tab's named
69
- * passed to the `Tabs.Item` component. If no name was passed, it will be the index of the tab
70
- * as a string.
71
- */
72
- onActivate: 'activate',
60
+ ...overflowEventMap.callbacks,
73
61
  },
74
62
  });
75
63
 
76
- export type BaseTabsModelConfig = Omit<BaseCursorModelConfig, 'orientation'> & {
64
+ export type BaseTabsModelConfig<T> = Omit<BaseOverflowModelConfig<T>, 'orientation'> & {
77
65
  /**
78
66
  * Optional id for the whole `Tabs` group. The `aria-controls` of the `Tab.Item` and `id` of the
79
67
  * `Tab.Panel` will automatically derived from this id. If not provided, a unique id will be
@@ -92,55 +80,82 @@ export type BaseTabsModelConfig = Omit<BaseCursorModelConfig, 'orientation'> & {
92
80
  * @default 'horizontal'
93
81
  */
94
82
  orientation?: Orientation;
83
+ menuConfig?: MenuModelConfig<T>;
95
84
  };
96
85
 
97
- export type TabsModelConfig = BaseTabsModelConfig &
98
- Partial<ToModelConfig<TabsState, TabsEvents, typeof tabEventMap>>;
86
+ export type TabsModelConfig<T> = BaseTabsModelConfig<T> &
87
+ Partial<ToModelConfig<TabsState<T>, TabsEvents<T>, typeof tabEventMap>>;
99
88
 
100
- export const useTabsModel = (config: TabsModelConfig = {}): TabsModel => {
101
- const initialTabRef = React.useRef(config.initialTab);
102
- const [activeTab, setActiveTab] = React.useState(initialTabRef.current || '');
89
+ export const useTabsModel = <T extends unknown>(config: TabsModelConfig<T> = {}): TabsModel<T> => {
90
+ const id = useUniqueId(config.id);
91
+ const initialSelectedRef = React.useRef(config.initialTab);
92
+ const getId = config.getId || defaultGetId;
103
93
 
104
- const cursor = useCursorModel({
94
+ const items = config.items; // || (emptyItems as T[]);
95
+
96
+ const model = useOverflowModel<T>({
97
+ ...(config as OverflowModelConfig<T>),
98
+ id: `${id}-tabs`,
105
99
  orientation: config.orientation || 'horizontal',
106
- ...(config as CursorModelConfig),
100
+ items,
101
+ onRegisterItem({data, prevState}) {
102
+ config?.onRegisterItem?.({data, prevState: prevState as TabsState<T>});
103
+ if (!initialSelectedRef.current) {
104
+ initialSelectedRef.current = getId(data.item);
105
+ events.select({id: initialSelectedRef.current});
106
+ }
107
+ },
108
+ initialSelectedIds: config.initialTab
109
+ ? [config.initialTab]
110
+ : config.items?.length
111
+ ? [getId(config.items![0])]
112
+ : [],
107
113
  });
108
- const panels = useListModel();
109
114
 
110
- const state = {
111
- ...cursor.state,
112
- activeTab,
115
+ const panels = useListModel<T>();
116
+
117
+ const state: TabsState<T> = {
118
+ ...model.state,
119
+ id,
120
+ getId,
121
+ orientation: config.orientation || 'horizontal',
113
122
  panels: panels.state.items,
114
123
  panelIndexRef: panels.state.indexRef,
115
124
  };
116
125
 
126
+ const overflowItems = React.useMemo(
127
+ () => (items ? items.filter(item => state.hiddenIds.includes(getId(item))) : undefined),
128
+ // eslint-disable-next-line react-hooks/exhaustive-deps
129
+ [state.hiddenIds, items]
130
+ );
131
+
117
132
  const events = useEventMap(tabEventMap, state, config, {
118
- ...cursor.events,
119
- activate(data) {
120
- setActiveTab(data.tab);
121
- events.goTo({id: data.tab});
122
- },
123
- registerItem(data) {
124
- if (!initialTabRef.current) {
125
- initialTabRef.current = data.item.id;
126
- setActiveTab(initialTabRef.current);
127
- }
128
- cursor.events.registerItem(data);
129
- },
130
- unregisterItem(data) {
131
- // Activate the next tab if the current one is removed
132
- if (state.activeTab === data.id && state.items.some(i => i.ref.current !== null)) {
133
- const item = getNext(state.activeTab, state.items);
134
- events.activate({tab: item.id});
135
- }
136
- cursor.events.unregisterItem(data);
137
- },
133
+ ...model.events,
138
134
  registerPanel: panels.events.registerItem,
139
135
  unregisterPanel: panels.events.unregisterItem,
136
+ } as TabsEvents<T>);
137
+
138
+ const menu = useMenuModel({
139
+ id: `${id}-menu`,
140
+ items: overflowItems,
141
+ nonInteractiveIds: state.nonInteractiveIds.filter(key => !state.hiddenIds.includes(key)),
142
+ onSelect({data, prevState}) {
143
+ menu.events.hide();
144
+ events.select(data);
145
+ config.menuConfig?.onSelect?.({data, prevState});
146
+ },
147
+ onShow({data, prevState}) {
148
+ // Always select the first item when the menu is opened
149
+ menu.events.first();
150
+ config.menuConfig?.onShow?.({data, prevState});
151
+ },
140
152
  });
141
153
 
142
154
  return {
143
155
  state,
144
156
  events,
157
+ menu,
158
+ getId: model.getId,
159
+ selection: model.selection,
145
160
  };
146
161
  };
package/tokens/README.md CHANGED
@@ -174,23 +174,16 @@ const buttonSyles = {
174
174
 
175
175
  ## Depth
176
176
 
177
- Five levels of depth are available. They are directly exported from `@workday/canvas-depth-web`.
178
-
179
- | Level | Usage Recommendations |
180
- | ---------------- | --------------------------------- |
181
- | Depth -1 (inset) | Inset card depth |
182
- | Depth 1 | Standard card depth |
183
- | Depth 2 | Increased card depth on hover |
184
- | Depth 3 | Active cards, popups |
185
- | Depth 4 | Cards on white backgrounds, menus |
177
+ Depth is the relative distance between surfaces in the z-axis. It provides delineation, focus, and priority with shadows and layering. There are five depth levels, `inset`, `1`, `2`, `3`, and `4`. Most levels only apply box-shadow styles, but `depth[4]` also applies border styles.
186
178
 
187
179
  ### Usage
188
180
 
189
181
  ```tsx
190
- import {depth} from '@workday/canvas-kit-react/tokens';
182
+ import { depth } from '@workday/canvas-kit-react/tokens';
191
183
 
192
- depth.inset;
193
- depth['2'];
184
+ const CustomCard = () => {
185
+ return <div css={depth[2]}>A standard-depth card</div>;
186
+ }
194
187
  ```
195
188
 
196
189
  ## Type
package/tokens/index.ts CHANGED
@@ -13,7 +13,7 @@ import {
13
13
 
14
14
  import {borderRadius, CanvasBorderRadius, CanvasBorderRadiusKeys, CanvasBorderRadiusValues} from './lib/radius';
15
15
  import {BrandingColor, CanvasColor} from './lib/colors.types';
16
- import depth, {CanvasDepth, CanvasDepthValue} from './lib/depth';
16
+ import {depth, CanvasDepth, CanvasDepthValues} from './lib/depth';
17
17
  import {
18
18
  space,
19
19
  CanvasSpace,
@@ -64,7 +64,7 @@ export {
64
64
  monoFontFamily,
65
65
  BrandingColor,
66
66
  CanvasDepth,
67
- CanvasDepthValue,
67
+ CanvasDepthValues,
68
68
  CSSProperties,
69
69
  };
70
70
  export default canvas;
@@ -1,5 +1,127 @@
1
- import depth, {CanvasDepth, CanvasDepthValue} from '@workday/canvas-depth-web';
1
+ export type CanvasDepth = {
2
+ /**
3
+ * ### Depth Inset
4
+ * Used for inset containers
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { depth } from '@workday/canvas-kit-react/tokens';
9
+ *
10
+ * const insetCardStyles = {
11
+ * ...depth.inset,
12
+ * };
13
+ * ```
14
+ */
15
+ inset: {
16
+ boxShadow: 'inset 0px 0px 8px 0 rgba(82, 97, 115, 0.09)';
17
+ };
18
+ /**
19
+ * ### Depth 1
20
+ * Used for minimal offset
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * import { depth } from '@workday/canvas-kit-react/tokens';
25
+ *
26
+ * const cardStyles = {
27
+ * ...depth[1],
28
+ * };
29
+ * ```
30
+ */
31
+ 1: {
32
+ boxShadow: '0px 2px 4px 0 rgba(0, 0, 0, 0.08)';
33
+ };
34
+ /**
35
+ * ### Depth 2
36
+ * Used for Cards, Popups, and Menus — our most common depth
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * import { depth } from '@workday/canvas-kit-react/tokens';
41
+ *
42
+ * const cardStyles = {
43
+ * ...depth[2],
44
+ * };
45
+ * ```
46
+ */
47
+ 2: {
48
+ boxShadow: '0px 4px 8px 0 rgba(0, 0, 0, 0.1)';
49
+ };
50
+ /**
51
+ * ### Depth 3
52
+ * Used for interactive Cards on hover
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * import { depth } from '@workday/canvas-kit-react/tokens';
57
+ *
58
+ * const cardStyles = {
59
+ * ...depth[3],
60
+ * };
61
+ * ```
62
+ */
63
+ 3: {
64
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)';
65
+ };
66
+ /**
67
+ * ### Depth 4
68
+ * Used for Cards on white backgrounds — adds border styles for more contrast
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * import { depth } from '@workday/canvas-kit-react/tokens';
73
+ *
74
+ * const cardStyles = {
75
+ * ...depth[4],
76
+ * };
77
+ * ```
78
+ */
79
+ 4: {
80
+ border: '1px solid rgba(218, 226, 230, 1)';
81
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)';
82
+ };
83
+ };
2
84
 
3
- export {CanvasDepth, CanvasDepthValue};
85
+ type ValueOf<T> = T[keyof T];
86
+ export type CanvasDepthValues = ValueOf<CanvasDepth>;
4
87
 
5
- export default depth;
88
+ /**
89
+ * ### Depth Tokens
90
+ *
91
+ * Depth is the relative distance between surfaces in the z-axis.
92
+ * It provides delineation, focus, and priority with shadows and layering.
93
+ * There are five depth levels, `inset`, `1`, `2`, `3`, and `4`.
94
+ * Most levels only apply box-shadow styles, but `depth[4]` also applies border styles.
95
+ *
96
+ * @example
97
+ * ```tsx
98
+ * import { depth } from '@workday/canvas-kit-react/tokens';
99
+ *
100
+ * const CustomCard = () => {
101
+ * return (
102
+ * <div css={depth[2]}>
103
+ * A standard-depth card
104
+ * </div>
105
+ * );
106
+ * }
107
+ * ```
108
+ *
109
+ */
110
+ export const depth: CanvasDepth = {
111
+ inset: {
112
+ boxShadow: 'inset 0px 0px 8px 0 rgba(82, 97, 115, 0.09)',
113
+ },
114
+ 1: {
115
+ boxShadow: '0px 2px 4px 0 rgba(0, 0, 0, 0.08)',
116
+ },
117
+ 2: {
118
+ boxShadow: '0px 4px 8px 0 rgba(0, 0, 0, 0.1)',
119
+ },
120
+ 3: {
121
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)',
122
+ },
123
+ 4: {
124
+ border: '1px solid rgba(218, 226, 230, 1)',
125
+ boxShadow: '0px 8px 16px 0 rgba(0, 0, 0, 0.12)',
126
+ },
127
+ };
@@ -10,7 +10,7 @@ import {useTooltip} from './useTooltip';
10
10
  * Look for an element within the tree for an overflow element (auto, scroll, clip, or hidden).
11
11
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
12
12
  */
13
- const findOverflowElement = (element: Element): Element | null => {
13
+ export const findOverflowElement = (element: Element): Element | null => {
14
14
  const style = getComputedStyle(element);
15
15
  if (
16
16
  style.overflow === 'auto' ||
@@ -36,11 +36,12 @@ const findOverflowElement = (element: Element): Element | null => {
36
36
  * Look for an element within the tree for a `text-overflow` CSS property of `ellipsis`.
37
37
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
38
38
  */
39
- const findEllipsisElement = (element: Element): Element | null => {
39
+ export const findEllipsisElement = (element: Element): Element | null => {
40
40
  const style = getComputedStyle(element);
41
41
  if (style.textOverflow === 'ellipsis' || Number(style.webkitLineClamp) > 0) {
42
42
  return element;
43
- } else {
43
+ } else if (element.children) {
44
+ // `children` is not defined for SVGElement in IE11
44
45
  for (let i = 0; i < element.children.length; i++) {
45
46
  const overflowElement = findEllipsisElement(element.children[i]);
46
47
  if (overflowElement) {
@@ -49,6 +50,7 @@ const findEllipsisElement = (element: Element): Element | null => {
49
50
  }
50
51
  return null;
51
52
  }
53
+ return null;
52
54
  };
53
55
 
54
56
  const isOverflowed = (element: Element) => {
@@ -44,6 +44,14 @@ export interface TooltipProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
44
44
  * @default 'label'
45
45
  */
46
46
  type?: 'label' | 'describe' | 'muted';
47
+ /**
48
+ * Amount of time (in ms) to delay before showing the tooltip
49
+ */
50
+ showDelay?: number;
51
+ /**
52
+ * Amount of time (in ms) to delay before hiding the tooltip
53
+ */
54
+ hideDelay?: number;
47
55
  }
48
56
 
49
57
  function mergeCallbacks<T extends {[key: string]: any}>(
@@ -66,10 +74,17 @@ export const Tooltip = ({
66
74
  placement = 'top',
67
75
  title,
68
76
  children,
77
+ showDelay = 300,
78
+ hideDelay = 100,
69
79
  ...elemProps
70
80
  }: TooltipProps) => {
71
81
  const titleText = innerText(title);
72
- const {targetProps, popperProps, tooltipProps} = useTooltip({type, titleText});
82
+ const {targetProps, popperProps, tooltipProps} = useTooltip({
83
+ type,
84
+ titleText,
85
+ showDelay,
86
+ hideDelay,
87
+ });
73
88
 
74
89
  return (
75
90
  <React.Fragment>
@@ -54,6 +54,8 @@ const isInteractiveElement = (element: Element) => {
54
54
  export function useTooltip<T extends Element = Element>({
55
55
  type = 'label',
56
56
  titleText = '',
57
+ showDelay = 300,
58
+ hideDelay = 100,
57
59
  }: {
58
60
  /**
59
61
  * Determines the tooltip type for accessibility.
@@ -76,17 +78,30 @@ export function useTooltip<T extends Element = Element>({
76
78
  * The content of the `aria-label` if `type` is `label.
77
79
  */
78
80
  titleText?: string;
81
+ /**
82
+ * Amount of time (in ms) to delay before showing the tooltip
83
+ */
84
+ showDelay?: number;
85
+ /**
86
+ * Amount of time (in ms) to delay before hiding the tooltip
87
+ */
88
+ hideDelay?: number;
79
89
  } = {}) {
80
90
  const mouseDownRef = React.useRef(false); // use to prevent newly focused from making tooltip flash
81
91
  const popupModel = usePopupModel();
82
92
  const [anchorElement, setAnchorElement] = React.useState<T | null>(null);
83
93
  const [id] = React.useState(() => uuid());
94
+ const intentTimerHide = useIntentTimer(popupModel.events.hide, hideDelay);
95
+ const intentTimerShow = useIntentTimer(popupModel.events.show, showDelay);
84
96
 
85
- const intentTimer = useIntentTimer(popupModel.events.hide, 100);
97
+ const onHide = () => {
98
+ intentTimerHide.start();
99
+ intentTimerShow.clear();
100
+ };
86
101
 
87
102
  const onOpen = () => {
88
- popupModel.events.show();
89
- intentTimer.clear();
103
+ intentTimerShow.start();
104
+ intentTimerHide.clear();
90
105
  };
91
106
 
92
107
  const onOpenFromTarget = (event: React.SyntheticEvent) => {
@@ -122,10 +137,10 @@ export function useTooltip<T extends Element = Element>({
122
137
  // This will replace the accessible name of the target element
123
138
  'aria-label': type === 'label' ? titleText : undefined,
124
139
  onMouseEnter: onOpenFromTarget,
125
- onMouseLeave: intentTimer.start,
140
+ onMouseLeave: onHide,
126
141
  onMouseDown,
127
142
  onFocus,
128
- onBlur: intentTimer.start,
143
+ onBlur: onHide,
129
144
  },
130
145
  /** Mix these properties into the `Popper` component */
131
146
  popperProps: {
@@ -138,7 +153,7 @@ export function useTooltip<T extends Element = Element>({
138
153
  id: type === 'describe' && visible ? id : undefined,
139
154
  role: 'tooltip',
140
155
  onMouseEnter: onOpen,
141
- onMouseLeave: intentTimer.start,
156
+ onMouseLeave: onHide,
142
157
  },
143
158
  };
144
159
  }
@@ -1,13 +1,20 @@
1
1
  import * as React from 'react';
2
2
  import { GrowthBehavior, Themeable, EmotionCanvasTheme } from '@workday/canvas-kit-react/common';
3
3
  import { CanvasSystemIcon } from '@workday/design-assets-types';
4
- import { ButtonColors } from './types';
4
+ import { ButtonSizes, IconPositions } from './types';
5
5
  export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
6
6
  /**
7
- * The size of the Button.
7
+ * The variant of the PrimaryButton.
8
+ * @default undefined
9
+ */
10
+ variant?: 'inverse';
11
+ /**
12
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
13
+ * If no size is provided, it will default to `medium`.
14
+ *
8
15
  * @default 'medium'
9
16
  */
10
- size?: 'small' | 'medium' | 'large';
17
+ size?: ButtonSizes;
11
18
  /**
12
19
  * The data label of the Button.
13
20
  * Note: not displayed at `small` size
@@ -19,10 +26,11 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
19
26
  */
20
27
  icon?: CanvasSystemIcon;
21
28
  /**
22
- * The position of the TertiaryButton icon.
29
+ * Button icon positions can either be `left` or `right`.
30
+ * If no value is provided, it defaults to `left`.
23
31
  * @default 'left'
24
32
  */
25
- iconPosition?: 'left' | 'right';
33
+ iconPosition?: IconPositions;
26
34
  /**
27
35
  * If set to `true`, transform the icon's x-axis to mirror the graphic
28
36
  * @default false
@@ -31,5 +39,71 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
31
39
  children?: React.ReactNode;
32
40
  }
33
41
  export declare const PrimaryButton: import("../../common").ElementComponent<"button", PrimaryButtonProps>;
34
- export declare const getPrimaryButtonColors: ({ canvas: { palette: { primary: themePrimary }, }, }: EmotionCanvasTheme) => ButtonColors;
42
+ export declare const getPrimaryButtonColors: (variant: "inverse" | undefined, theme: EmotionCanvasTheme) => {
43
+ default: {
44
+ background: string;
45
+ icon: string;
46
+ label: string;
47
+ labelData?: undefined;
48
+ };
49
+ hover: {
50
+ background: string;
51
+ icon?: undefined;
52
+ label?: undefined;
53
+ labelData?: undefined;
54
+ };
55
+ active: {
56
+ background: string;
57
+ icon?: undefined;
58
+ label?: undefined;
59
+ labelData?: undefined;
60
+ };
61
+ focus: {
62
+ background: string;
63
+ border?: undefined;
64
+ icon?: undefined;
65
+ label?: undefined;
66
+ labelData?: undefined;
67
+ focusRing?: undefined;
68
+ };
69
+ disabled: {
70
+ background: string;
71
+ icon?: undefined;
72
+ label?: undefined;
73
+ labelData?: undefined;
74
+ };
75
+ } | {
76
+ default: {
77
+ background: string;
78
+ icon: string;
79
+ label: string;
80
+ labelData: string;
81
+ };
82
+ hover: {
83
+ background: string;
84
+ icon: string;
85
+ label: string;
86
+ labelData: string;
87
+ };
88
+ active: {
89
+ background: string;
90
+ icon: string;
91
+ label: string;
92
+ labelData: string;
93
+ };
94
+ focus: {
95
+ background: string;
96
+ border: string;
97
+ icon: string;
98
+ label: string;
99
+ labelData: string;
100
+ focusRing: import("@emotion/serialize").CSSObject;
101
+ };
102
+ disabled: {
103
+ background: string;
104
+ icon: string;
105
+ label: string;
106
+ labelData: string;
107
+ };
108
+ };
35
109
  //# sourceMappingURL=PrimaryButton.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { GrowthBehavior, Themeable, EmotionCanvasTheme } from '@workday/canvas-kit-react/common';
3
3
  import { CanvasSystemIcon } from '@workday/design-assets-types';
4
- import { ButtonColors } from './types';
4
+ import { ButtonColors, ButtonSizes, IconPositions } from './types';
5
5
  export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
6
6
  /**
7
7
  * The variant of the SecondaryButton.
@@ -9,10 +9,12 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
9
9
  */
10
10
  variant?: 'inverse' | undefined;
11
11
  /**
12
- * The size of the Button.
12
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
13
+ * If no size is provided, it will default to `medium`.
14
+ *
13
15
  * @default 'medium'
14
16
  */
15
- size?: 'small' | 'medium' | 'large';
17
+ size?: ButtonSizes;
16
18
  /**
17
19
  * The data label of the Button.
18
20
  * Note: not displayed at `small` size
@@ -24,10 +26,11 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
24
26
  */
25
27
  icon?: CanvasSystemIcon;
26
28
  /**
27
- * The position of the TertiaryButton icon.
29
+ * Button icon positions can either be `left` or `right`.
30
+ * If no value is provided, it defaults to `left`.
28
31
  * @default 'left'
29
32
  */
30
- iconPosition?: 'left' | 'right';
33
+ iconPosition?: IconPositions;
31
34
  /**
32
35
  * If set to `true`, transform the icon's x-axis to mirror the graphic
33
36
  * @default false