@workday/canvas-kit-react 5.3.0-next.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 (607) 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/modal/lib/ModalOverlay.d.ts +4 -2
  72. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  73. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  74. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  75. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  76. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  77. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  78. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  79. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  80. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  81. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  82. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  83. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  84. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  85. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  86. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  87. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  88. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  89. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  90. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  91. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  92. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  93. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  94. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  95. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  96. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  97. package/dist/commonjs/tabs/index.d.ts +5 -0
  98. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  99. package/dist/commonjs/tabs/index.js +11 -0
  100. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  101. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  102. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  103. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  104. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  105. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  106. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  107. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  108. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  109. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  110. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  111. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  112. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  113. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  114. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  115. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  116. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  117. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  118. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  119. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  120. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  121. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  122. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  123. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  124. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  125. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  126. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  127. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  128. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  129. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  130. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  131. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  132. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  133. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  134. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  135. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  136. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  137. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  138. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  139. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  140. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  141. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  142. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  143. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  144. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  145. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  146. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  147. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  148. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  149. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  150. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  151. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  152. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  153. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  154. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  155. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  156. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  157. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  158. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  159. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  160. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  161. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  162. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  163. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  164. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  165. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  166. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  167. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  168. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  169. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  170. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  171. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  172. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  173. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  174. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  175. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  176. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  177. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  178. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  179. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  180. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  181. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  182. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  183. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  184. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  185. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  186. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  187. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  188. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  189. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  190. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  191. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  192. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  193. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  194. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  195. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  196. package/dist/commonjs/tokens/index.d.ts +3 -20
  197. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  198. package/dist/commonjs/tokens/index.js +3 -6
  199. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  200. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  201. package/dist/commonjs/tokens/lib/depth.js +40 -5
  202. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  203. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  204. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +8 -6
  205. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  206. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  207. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  208. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  209. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  210. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  211. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  212. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  213. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  214. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  215. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  216. package/dist/es6/button/lib/TertiaryButton.js +25 -21
  217. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  218. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  219. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  220. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  221. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  222. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  223. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  224. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  225. package/dist/es6/button/lib/types.d.ts +9 -0
  226. package/dist/es6/button/lib/types.d.ts.map +1 -1
  227. package/dist/es6/common/index.d.ts +1 -0
  228. package/dist/es6/common/index.d.ts.map +1 -1
  229. package/dist/es6/common/index.js +1 -0
  230. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  231. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  232. package/dist/es6/common/lib/EllipsisText.js +8 -0
  233. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  234. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  235. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  236. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  237. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  238. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  239. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  240. package/dist/es6/common/lib/utils/components.js +12 -2
  241. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  242. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  243. package/dist/es6/common/lib/utils/index.js +1 -0
  244. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  245. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  246. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  247. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  248. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  249. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  250. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  251. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  252. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  253. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  254. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  255. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  256. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  257. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  258. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  259. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  260. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  261. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  262. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  263. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  264. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  265. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  266. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  267. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  268. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  269. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  270. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  271. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  272. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  273. package/dist/es6/popup/lib/PopupCard.js +3 -4
  274. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  275. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  276. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  277. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  278. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  279. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  280. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  281. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  282. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  283. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  284. package/dist/es6/tabs/index.d.ts +5 -0
  285. package/dist/es6/tabs/index.d.ts.map +1 -1
  286. package/dist/es6/tabs/index.js +5 -0
  287. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  288. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  289. package/dist/es6/tabs/lib/Tabs.js +28 -7
  290. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  291. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  292. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  293. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  294. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  295. package/dist/es6/tabs/lib/TabsList.js +44 -0
  296. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  297. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  298. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  299. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  300. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  301. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  302. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  303. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  304. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  305. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  306. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  307. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  308. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  309. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  310. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  311. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  312. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  313. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  314. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  315. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  316. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  317. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  318. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  319. package/dist/es6/tabs/lib/list/index.js +2 -1
  320. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  321. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  322. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  323. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  324. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  325. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  326. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  327. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  328. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  329. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  330. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  331. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  332. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  333. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  334. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  335. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  336. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  337. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  338. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  339. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  340. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  341. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  342. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  343. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  344. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  345. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  346. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  347. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  348. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  349. package/dist/es6/tabs/lib/menu/index.js +7 -0
  350. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  351. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  352. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  353. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  354. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  355. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  356. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  357. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  358. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  359. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  360. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  361. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  362. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  363. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  364. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  365. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  366. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  367. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  368. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  369. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  370. package/dist/es6/tabs/lib/selection/index.js +3 -0
  371. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  372. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  373. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  374. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  375. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  376. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  377. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  378. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  379. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  380. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  381. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  382. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  383. package/dist/es6/tokens/index.d.ts +3 -20
  384. package/dist/es6/tokens/index.d.ts.map +1 -1
  385. package/dist/es6/tokens/index.js +1 -1
  386. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  387. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  388. package/dist/es6/tokens/lib/depth.js +40 -2
  389. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  390. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  391. package/dist/es6/tooltip/lib/OverflowTooltip.js +5 -3
  392. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  393. package/package.json +7 -6
  394. package/popup/lib/PopupCard.tsx +3 -2
  395. package/tabs/index.ts +6 -0
  396. package/tabs/lib/Tabs.tsx +34 -9
  397. package/tabs/lib/TabsItem.tsx +250 -0
  398. package/tabs/lib/TabsList.tsx +67 -0
  399. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  400. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  401. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  402. package/tabs/lib/TabsPanels.tsx +28 -0
  403. package/tabs/lib/cursor/index.ts +1 -1
  404. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  405. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  406. package/tabs/lib/list/index.ts +2 -1
  407. package/tabs/lib/list/renderItem.tsx +19 -0
  408. package/tabs/lib/list/useListModel.tsx +48 -23
  409. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  410. package/tabs/lib/menu/Menu.tsx +95 -0
  411. package/tabs/lib/menu/MenuCard.tsx +96 -0
  412. package/tabs/lib/menu/MenuItem.tsx +195 -0
  413. package/tabs/lib/menu/MenuList.tsx +59 -0
  414. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  415. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  416. package/tabs/lib/menu/index.ts +8 -0
  417. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  418. package/tabs/lib/overflow/index.ts +4 -0
  419. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  420. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  421. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  422. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  423. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  424. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  425. package/tabs/lib/selection/index.ts +3 -0
  426. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  427. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  428. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  429. package/tabs/lib/useTabsModel.tsx +93 -78
  430. package/tokens/README.md +5 -12
  431. package/tokens/index.ts +2 -2
  432. package/tokens/lib/depth.ts +125 -3
  433. package/tooltip/lib/OverflowTooltip.tsx +5 -3
  434. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  435. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  436. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  437. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  438. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  439. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  440. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  441. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  442. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  443. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  444. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  445. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  446. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  447. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  448. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  449. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  450. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  451. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  452. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  453. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  454. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  455. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  456. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  457. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  458. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  459. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  460. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  461. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  462. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  463. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  464. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  465. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  466. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  467. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  468. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  469. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  470. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  471. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  472. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  473. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  474. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  475. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  476. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  477. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  478. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  479. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  480. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  481. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  482. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  483. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  484. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  485. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  486. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  487. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  488. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  489. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  490. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  491. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  492. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  493. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  494. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  495. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  496. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  497. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  498. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  499. package/ts3.5/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  500. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  501. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  502. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  503. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  504. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  505. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  506. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  507. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  508. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  509. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  510. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  511. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  512. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  513. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  514. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  515. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  516. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  517. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  518. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  519. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  520. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  521. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  522. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  523. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  524. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  525. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
  526. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  527. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  528. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  529. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  530. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  531. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  532. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  533. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  534. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  535. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  536. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  537. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  538. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  539. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  540. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  541. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  542. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  543. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  544. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  545. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  546. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  547. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  548. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  549. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  550. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  551. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  552. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  553. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  554. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  555. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  556. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  557. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  558. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  559. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  560. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  561. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  562. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  563. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  564. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  565. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  566. package/ts3.5/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  567. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  568. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  569. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  570. package/dist/commonjs/tabs/lib/Tab.js +0 -101
  571. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  572. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  573. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  574. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  575. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  576. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  577. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  578. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  579. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  580. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  581. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  582. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  583. package/dist/es6/tabs/lib/Tab.js +0 -92
  584. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  585. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  586. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  587. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  588. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  589. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  590. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  591. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  592. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  593. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  594. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  595. package/tabs/lib/Tab.tsx +0 -176
  596. package/tabs/lib/TabList.tsx +0 -59
  597. package/tabs/lib/cursor/hooks.tsx +0 -122
  598. package/tabs/lib/hooks.tsx +0 -31
  599. package/tabs/lib/list/hooks.tsx +0 -45
  600. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  601. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  602. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  603. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  604. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  605. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  606. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  607. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -10,7 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import React from 'react';
13
- import { createEventMap, useEventMap, assert, } from '@workday/canvas-kit-react/common';
13
+ import { createEventMap, useEventMap, assert } from '@workday/canvas-kit-react/common';
14
14
  import { listEventMap, useListModel, } from '../list/useListModel';
15
15
  export var cursorEventMap = createEventMap()({
16
16
  guards: __assign(__assign({}, listEventMap.guards), {
@@ -24,78 +24,79 @@ export var cursorEventMap = createEventMap()({
24
24
  */
25
25
  onGoTo: 'goTo' }),
26
26
  });
27
- var getFirst = function (items) {
28
- return items[0];
29
- };
30
- var getLast = function (items) {
31
- return items[items.length - 1];
32
- };
33
- export var getItem = function (id, items) {
34
- var item = id ? items.find(function (item) { return item.id === id; }) : getFirst(items); // no id, return first item
35
- assert(item, "Item not found: " + id);
36
- return item;
27
+ export var useCursorNavigation = function (state, getId) {
28
+ // refs for performance so that new functions aren't created every render
29
+ var getIdRef = React.useRef(getId);
30
+ var itemsRef = React.useRef(state.items);
31
+ var nonInteractiveIdsRef = React.useRef(state.nonInteractiveIds);
32
+ itemsRef.current = state.items;
33
+ nonInteractiveIdsRef.current = state.nonInteractiveIds;
34
+ // return a memoized function to prevent recreation of functions every render
35
+ return React.useMemo(function () {
36
+ var getFirst = function () { return itemsRef.current[0]; };
37
+ var getLast = function () { return itemsRef.current[itemsRef.current.length - 1]; };
38
+ var getItem = function (id) {
39
+ var item = id ? itemsRef.current.find(function (item) { return getIdRef.current(item) === id; }) : getFirst(); // no id, return first item
40
+ assert(item, "Item not found: " + id);
41
+ return item;
42
+ };
43
+ var getOffsetItem = function (offset) { return function (id, tries) {
44
+ if (tries === void 0) { tries = itemsRef.current.length; }
45
+ var items = itemsRef.current;
46
+ var item = getItem(id);
47
+ var getId = getIdRef.current;
48
+ var currentIndex = items.findIndex(function (i) { return getId(item) === getId(i); });
49
+ var nextIndex = currentIndex + offset;
50
+ if (nextIndex < 0) {
51
+ nextIndex = items.length - 1;
52
+ }
53
+ else if (nextIndex >= items.length) {
54
+ nextIndex = 0;
55
+ }
56
+ if (nonInteractiveIdsRef.current.includes(getId(items[nextIndex])) && tries > 0) {
57
+ // The next item is disabled, try again, but only if we haven't already tried everything.
58
+ // Avoid an infinite loop with `tries`
59
+ return getOffsetItem(offset)(getId(items[nextIndex]), tries - 1);
60
+ }
61
+ return items[nextIndex];
62
+ }; };
63
+ var getNext = getOffsetItem(1);
64
+ var getPrevious = getOffsetItem(-1);
65
+ return { getFirst: getFirst, getLast: getLast, getItem: getItem, getNext: getNext, getPrevious: getPrevious };
66
+ }, []);
37
67
  };
38
- var getOffsetItem = function (offset) { return function (id, items) {
39
- var _a;
40
- var item = getItem(id, items);
41
- var currentIndex = items.findIndex(function (_a) {
42
- var id = _a.id;
43
- return item.id === id;
44
- });
45
- var nextIndex = currentIndex + offset;
46
- if (nextIndex < 0) {
47
- nextIndex = items.length - 1;
48
- }
49
- else if (nextIndex >= items.length) {
50
- nextIndex = 0;
51
- }
52
- var disabledAttribute = (_a = items[nextIndex].ref.current) === null || _a === void 0 ? void 0 : _a.getAttribute('disabled');
53
- if (disabledAttribute !== null || disabledAttribute === 'false') {
54
- // The next item is disabled, try again
55
- return getOffsetItem(offset)(items[nextIndex].id, items);
56
- }
57
- return items[nextIndex];
58
- }; };
59
- export var hasItems = function (items) { return items.some(function (item) { return item.ref.current; }); };
60
- export var getNext = getOffsetItem(1);
61
- export var getPrevious = getOffsetItem(-1);
62
68
  export var useCursorModel = function (config) {
63
69
  if (config === void 0) { config = {}; }
70
+ var _a;
64
71
  var orientation = React.useState(config.orientation || 'vertical')[0];
65
- var _a = React.useState(''), cursorId = _a[0], setCursorId = _a[1];
66
- var initialCurrentRef = React.useRef('');
72
+ var _b = React.useState(''), cursorId = _b[0], setCursorId = _b[1];
67
73
  var list = useListModel(config);
74
+ var initialCurrentRef = React.useRef(config.initialCursorId || ((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) ? list.getId(config.items[0]) : '');
68
75
  var state = __assign(__assign({}, list.state), { orientation: orientation, cursorId: cursorId });
76
+ var navigation = useCursorNavigation(state, list.getId);
69
77
  var events = useEventMap(cursorEventMap, state, config, __assign(__assign({}, list.events), { registerItem: function (data) {
70
78
  // point the cursor at the first item
71
79
  if (!initialCurrentRef.current) {
72
- initialCurrentRef.current = data.item.id;
80
+ initialCurrentRef.current = list.getId(data.item);
73
81
  setCursorId(initialCurrentRef.current);
74
82
  }
75
83
  list.events.registerItem(data);
76
84
  },
77
- unregisterItem: function (data) {
78
- // move the cursor forward if the the cursor is pointing to an item that is being removed
79
- if (state.cursorId === data.id && state.items.some(function (i) { return i.ref.current !== null; })) {
80
- events.next();
81
- }
82
- list.events.unregisterItem(data);
83
- },
84
85
  goTo: function (_a) {
85
86
  var id = _a.id;
86
87
  setCursorId(id);
87
88
  },
88
89
  next: function () {
89
- setCursorId(getNext(state.cursorId, state.items).id);
90
+ setCursorId(list.getId(navigation.getNext(state.cursorId)));
90
91
  },
91
92
  previous: function () {
92
- setCursorId(getPrevious(state.cursorId, state.items).id);
93
+ setCursorId(list.getId(navigation.getPrevious(state.cursorId)));
93
94
  },
94
95
  first: function () {
95
- setCursorId(getFirst(state.items).id);
96
+ setCursorId(list.getId(navigation.getFirst()));
96
97
  },
97
98
  last: function () {
98
- setCursorId(getLast(state.items).id);
99
+ setCursorId(list.getId(navigation.getLast()));
99
100
  } }));
100
- return { state: state, events: events };
101
+ return { state: state, events: events, getId: list.getId };
101
102
  };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { CursorModel } from './useCursorModel';
3
+ export declare const orientationKeyMap: {
4
+ readonly horizontal: {
5
+ readonly ArrowLeft: "previous";
6
+ readonly Left: "previous";
7
+ readonly ArrowRight: "next";
8
+ readonly Right: "next";
9
+ readonly Home: "first";
10
+ readonly End: "last";
11
+ };
12
+ readonly vertical: {
13
+ readonly ArrowUp: "previous";
14
+ readonly Up: "previous";
15
+ readonly ArrowDown: "next";
16
+ readonly Down: "next";
17
+ readonly Home: "first";
18
+ readonly End: "last";
19
+ };
20
+ };
21
+ /**
22
+ * Handles the roving focus behavior of a Cursor model. It should be added to the element
23
+ * representing a list item.
24
+ *
25
+ * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
26
+ */
27
+ export declare const useRovingFocus: <P extends {}, R>(model: CursorModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
28
+ onKeyDown(event: React.KeyboardEvent<Element>): void;
29
+ onFocus(): void;
30
+ onBlur(): void;
31
+ id: string;
32
+ tabIndex: number;
33
+ ref: ((instance: any) => void) | React.RefObject<any> | null | undefined;
34
+ } & P & (R extends HTMLOrSVGElement ? {
35
+ ref: React.Ref<R>;
36
+ } : {});
37
+ //# sourceMappingURL=useRovingFocus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRovingFocus.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/cursor/useRovingFocus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAWX;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;OAsD1B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import { useIsRTL, createHook } from '@workday/canvas-kit-react/common';
3
+ import { useCursorNavigation } from './useCursorModel';
4
+ export var orientationKeyMap = {
5
+ horizontal: {
6
+ ArrowLeft: 'previous',
7
+ Left: 'previous',
8
+ ArrowRight: 'next',
9
+ Right: 'next',
10
+ Home: 'first',
11
+ End: 'last',
12
+ },
13
+ vertical: {
14
+ ArrowUp: 'previous',
15
+ Up: 'previous',
16
+ ArrowDown: 'next',
17
+ Down: 'next',
18
+ Home: 'first',
19
+ End: 'last',
20
+ },
21
+ };
22
+ var rightToLeftMap = {
23
+ ArrowLeft: 'ArrowRight',
24
+ Left: 'Right',
25
+ ArrowRight: 'ArrowLeft',
26
+ Right: 'Left',
27
+ Home: 'End',
28
+ End: 'Home',
29
+ };
30
+ /**
31
+ * Handles the roving focus behavior of a Cursor model. It should be added to the element
32
+ * representing a list item.
33
+ *
34
+ * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
35
+ */
36
+ export var useRovingFocus = createHook(function (_a, ref, elemProps) {
37
+ var state = _a.state, events = _a.events, getId = _a.getId;
38
+ if (elemProps === void 0) { elemProps = {}; }
39
+ // Tracks when this element has focus. If this item is removed while still focused, we have to
40
+ // inform the model to move the cursor to the next item.
41
+ var focusRef = React.useRef(false);
42
+ var getIdRef = React.useRef(getId);
43
+ // Create a ref out of state. We don't want to watch state on unmount, so we use a ref to get the
44
+ // current value at the time of unmounting. Otherwise, `state.items` would be a cached value of an
45
+ // empty array
46
+ var stateRef = React.useRef(state);
47
+ stateRef.current = state;
48
+ var keyDownRef = React.useRef(false);
49
+ var isRTL = useIsRTL();
50
+ var navigation = useCursorNavigation(state, getId);
51
+ React.useEffect(function () {
52
+ var _a;
53
+ if (keyDownRef.current) {
54
+ var item = navigation.getItem(state.cursorId);
55
+ (_a = document.querySelector("#" + state.id + "-" + getIdRef.current(item))) === null || _a === void 0 ? void 0 : _a.focus();
56
+ keyDownRef.current = false;
57
+ }
58
+ }, [state.cursorId, state.id, navigation]);
59
+ return {
60
+ onKeyDown: function (event) {
61
+ Object.keys(orientationKeyMap[state.orientation]).forEach(function (key) {
62
+ var _a;
63
+ if (isRTL ? event.key === rightToLeftMap[key] : event.key === key) {
64
+ var event_1 = orientationKeyMap[state.orientation][key];
65
+ keyDownRef.current = true;
66
+ (_a = events[event_1]) === null || _a === void 0 ? void 0 : _a.call(events);
67
+ }
68
+ });
69
+ },
70
+ onFocus: function () {
71
+ focusRef.current = true;
72
+ },
73
+ onBlur: function () {
74
+ focusRef.current = false;
75
+ },
76
+ id: state.id + "-" + elemProps.name,
77
+ tabIndex: !state.cursorId
78
+ ? 0 // cursor isn't known yet, be safe and mark this as focusable
79
+ : !!elemProps.name && state.cursorId === elemProps.name
80
+ ? 0 // A name is known and cursor is here
81
+ : -1,
82
+ ref: ref,
83
+ };
84
+ });
@@ -1,3 +1,4 @@
1
- export * from './hooks';
1
+ export * from './useListRegisterItem';
2
2
  export * from './useListModel';
3
+ export * from './renderItem';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
- export * from './hooks';
1
+ export * from './useListRegisterItem';
2
2
  export * from './useListModel';
3
+ export * from './renderItem';
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ListModel } from './useListModel';
3
+ export declare function useRenderItems<T>(model: ListModel<T>, children: ((item: T) => React.ReactNode) | React.ReactNode): {} | null | undefined;
4
+ //# sourceMappingURL=renderItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderItem.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/renderItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,yBAY3D"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export function useRenderItems(model, children) {
3
+ var items = React.useMemo(function () {
4
+ return typeof children === 'function'
5
+ ? model.state.items.map(function (item) { return React.cloneElement(children(item), { key: model.getId(item) }); })
6
+ : null;
7
+ // If we added `children` as a dependency, this memo would be useless. If the user wants the
8
+ // item to rerender, the item and items array needs to be updated.
9
+ // eslint-disable-next-line react-hooks/exhaustive-deps
10
+ }, [model.state.items]);
11
+ return items || children;
12
+ }
@@ -1,22 +1,25 @@
1
1
  import React from 'react';
2
2
  import { Model, ToModelConfig } from '@workday/canvas-kit-react/common';
3
- export declare type Item = {
4
- /** IDREF of the list. Children ids can be derived from this id */
5
- id: string;
6
- ref: React.RefObject<HTMLElement>;
7
- };
8
- export declare type ListState = {
3
+ export declare type ListState<T = unknown> = {
9
4
  /** IDREF of the list. Children ids can be derived from this id */
10
5
  id: string;
11
6
  /** Used as an auto-incrementing ID for accessibility */
12
7
  indexRef: React.RefObject<number>;
13
- items: Item[];
8
+ items: T[];
9
+ /**
10
+ * An array of ids of non-interactive elements. Non-interactive elements usually have `disabled`
11
+ * applied to them and thus are not focusable by the browser. Lists need to know about these so
12
+ * that keyboard navigation properly skips over these items. Interactive elements that are
13
+ * disabled should use `[aria-disabled]` instead and should still receive focus.
14
+ * @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_disabled_controls
15
+ */
16
+ nonInteractiveIds: string[];
14
17
  };
15
- export declare type ListEvents = {
18
+ export declare type ListEvents<T = unknown> = {
16
19
  /** Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This should be called on
17
20
  * component mount */
18
21
  registerItem(data: {
19
- item: Item;
22
+ item: T;
20
23
  index?: number;
21
24
  }): void;
22
25
  /** Unregister an item by its identifier. This should be called when the component is unmounted */
@@ -29,7 +32,9 @@ export declare type ListEvents = {
29
32
  index: number;
30
33
  }): void;
31
34
  };
32
- export declare type ListModel = Model<ListState, ListEvents>;
35
+ export interface ListModel<T = unknown> extends Model<ListState<T>, ListEvents<T>> {
36
+ getId: (item: T) => string;
37
+ }
33
38
  export declare const listEventMap: {
34
39
  guards: {
35
40
  /**
@@ -72,10 +77,17 @@ export declare const listEventMap: {
72
77
  onUpdateItemPosition: "updateItemPosition";
73
78
  };
74
79
  };
75
- export declare type BaseListModelConfig = {
80
+ export declare type BaseListModelConfig<T = unknown> = {
76
81
  /** IDREF of the list. Children ids can be derived from this id */
77
82
  id?: string;
83
+ items?: T[];
84
+ getId?: (item: T) => string;
85
+ /**
86
+ * Array of all ids which are currently disabled
87
+ */
88
+ nonInteractiveIds?: string[];
78
89
  };
79
- export declare type ListModelConfig = BaseListModelConfig & Partial<ToModelConfig<ListState, ListEvents, typeof listEventMap>>;
80
- export declare const useListModel: (config?: ListModelConfig) => Model<ListState, ListEvents>;
90
+ export declare type ListModelConfig<T> = BaseListModelConfig<T> & Partial<ToModelConfig<ListState<T>, ListEvents<T>, typeof listEventMap>>;
91
+ export declare const defaultGetId: (item: any) => string;
92
+ export declare const useListModel: <T extends unknown>(config?: ListModelConfig<T>) => ListModel<T>;
81
93
  //# sourceMappingURL=useListModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useListModel.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/useListModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,EACL,aAAa,EAGd,MAAM,kCAAkC,CAAC;AAE1C,oBAAY,IAAI,GAAG;IACjB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB;yBACqB;IACrB,YAAY,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACvD,kGAAkG;IAClG,cAAc,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACzC,yGAAyG;IACzG,kBAAkB,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,oBAAY,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAErD,eAAO,MAAM,YAAY;;QAErB;;;aAGK;;QAEL;;;WAGG;;QAEH;;;WAGG;;;;QAIH;;;;;WAKG;;QAEH;;;;;WAKG;;QAEH;;;;;WAKG;;;CAGL,CAAC;AAEH,oBAAY,mBAAmB,GAAG;IAChC,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oBAAY,eAAe,GAAG,mBAAmB,GAC/C,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC;AAErE,eAAO,MAAM,YAAY,4DAsCxB,CAAC"}
1
+ {"version":3,"file":"useListModel.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/useListModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,EACL,aAAa,EAId,MAAM,kCAAkC,CAAC;AAE1C,oBAAY,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI;IACnC,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,oBAAY,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI;IACpC;yBACqB;IACrB,YAAY,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACpD,kGAAkG;IAClG,cAAc,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACzC,yGAAyG;IACzG,kBAAkB,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAChF,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC5B;AAKD,eAAO,MAAM,YAAY;;QAErB;;;aAGK;;QAEL;;;WAGG;;QAEH;;;WAGG;;;;QAIH;;;;;WAKG;;QAEH;;;;;WAKG;;QAEH;;;;;WAKG;;;CAGL,CAAC;AAEH,oBAAY,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC7C,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,oBAAY,eAAe,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GACrD,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC;AAE3E,eAAO,MAAM,YAAY,uBAGxB,CAAC;AAEF,eAAO,MAAM,YAAY,kEA4CxB,CAAC"}
@@ -6,7 +6,10 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
6
6
  return r;
7
7
  };
8
8
  import React from 'react';
9
- import { createEventMap, useEventMap, useUniqueId, } from '@workday/canvas-kit-react/common';
9
+ import { createEventMap, useEventMap, useUniqueId, assert, } from '@workday/canvas-kit-react/common';
10
+ // We don't have a way of knowing what the generic could be, so we leave it as `unknown`. It will
11
+ // probably need to be cast to the generic in use inside extending models. This will not effect the
12
+ // use of the model in an application, only in models composing this model.
10
13
  export var listEventMap = createEventMap()({
11
14
  guards: {
12
15
  /**
@@ -49,12 +52,22 @@ export var listEventMap = createEventMap()({
49
52
  onUpdateItemPosition: 'updateItemPosition',
50
53
  },
51
54
  });
55
+ export var defaultGetId = function (item) {
56
+ assert(item.id, 'A list item must have an `id` field or a `getId` function defined');
57
+ return item.id;
58
+ };
52
59
  export var useListModel = function (config) {
53
60
  if (config === void 0) { config = {}; }
54
61
  var id = useUniqueId(config.id);
55
62
  var indexRef = React.useRef(0);
56
- var _a = React.useState([]), items = _a[0], setItems = _a[1];
57
- var state = { id: id, items: items, indexRef: indexRef };
63
+ var _a = React.useState(config.items || []), items = _a[0], setItems = _a[1];
64
+ var getId = config.getId || defaultGetId;
65
+ var state = {
66
+ id: id,
67
+ items: config.items || items,
68
+ indexRef: indexRef,
69
+ nonInteractiveIds: config.nonInteractiveIds || [],
70
+ };
58
71
  var events = useEventMap(listEventMap, state, config, {
59
72
  registerItem: function (_a) {
60
73
  var item = _a.item, index = _a.index;
@@ -71,8 +84,8 @@ export var useListModel = function (config) {
71
84
  unregisterItem: function (_a) {
72
85
  var id = _a.id;
73
86
  setItems(function (items) {
74
- if (items.find(function (item) { return item.id === id; })) {
75
- return items.filter(function (item) { return item.id !== id; });
87
+ if (items.find(function (item) { return getId(item) === id; })) {
88
+ return items.filter(function (item) { return getId(item) !== id; });
76
89
  }
77
90
  else {
78
91
  return items;
@@ -82,11 +95,11 @@ export var useListModel = function (config) {
82
95
  updateItemPosition: function (_a) {
83
96
  var id = _a.id, index = _a.index;
84
97
  setItems(function (items) {
85
- var copy = items.filter(function (item) { return item.id !== id; });
86
- copy.splice(index, 0, items.find(function (item) { return item.id === id; }));
98
+ var copy = items.filter(function (item) { return getId(item) !== id; });
99
+ copy.splice(index, 0, items.find(function (item) { return getId(item) === id; }));
87
100
  return copy;
88
101
  });
89
102
  },
90
103
  });
91
- return { state: state, events: events };
104
+ return { state: state, events: events, getId: getId };
92
105
  };
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { ListModel } from './useListModel';
3
+ /**
4
+ * Registers an item with a list. It will return elemProps with a `name` which can be used by other
5
+ * hooks to identify the item in the list.
6
+ */
7
+ export declare const useListRegisterItem: <P extends {}, R>(model: ListModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
8
+ 'data-name': string;
9
+ name: string;
10
+ disabled: boolean | undefined;
11
+ } & P & (R extends HTMLOrSVGElement ? {
12
+ ref: React.Ref<R>;
13
+ } : {});
14
+ //# sourceMappingURL=useListRegisterItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListRegisterItem.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/useListRegisterItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;OA0C/B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { useMountLayout, createHook } from '@workday/canvas-kit-react/common';
3
+ /**
4
+ * Registers an item with a list. It will return elemProps with a `name` which can be used by other
5
+ * hooks to identify the item in the list.
6
+ */
7
+ export var useListRegisterItem = createHook(function (_a, _, elemProps) {
8
+ var state = _a.state, events = _a.events, getId = _a.getId;
9
+ if (elemProps === void 0) { elemProps = {}; }
10
+ var _b = React.useState(elemProps.name || ''), localId = _b[0], setLocalId = _b[1];
11
+ var firstRender = React.useRef(true);
12
+ React.useLayoutEffect(function () {
13
+ if (elemProps.index !== undefined && !firstRender.current) {
14
+ events.updateItemPosition({ id: localId, index: elemProps.index });
15
+ }
16
+ // we only care about the index changing
17
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18
+ }, [elemProps.index]);
19
+ useMountLayout(function () {
20
+ var defaultId = state.indexRef.current;
21
+ var itemId = elemProps.name || String(defaultId);
22
+ // bail early if item already exists. This happens if items were already provided.
23
+ if (state.items.find(function (item) { return getId(item) === elemProps.name; })) {
24
+ return;
25
+ }
26
+ events.registerItem({
27
+ item: { id: itemId },
28
+ index: elemProps.index,
29
+ });
30
+ setLocalId(itemId);
31
+ firstRender.current = false;
32
+ return function () {
33
+ events.unregisterItem({ id: itemId });
34
+ };
35
+ });
36
+ return {
37
+ 'data-name': localId,
38
+ name: localId,
39
+ disabled: elemProps.disabled || state.nonInteractiveIds.includes(localId) ? true : undefined,
40
+ };
41
+ });
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { MenuModel, MenuModelConfig } from './useMenuModel';
3
+ export declare const MenuModelContext: React.Context<MenuModel<unknown>>;
4
+ export interface MenuProps<T> extends MenuModelConfig<T> {
5
+ /**
6
+ * The contents of the Menu. Can be `Menu` children or any valid elements.
7
+ */
8
+ children: React.ReactNode;
9
+ /**
10
+ * Optionally pass a model directly to this component. Default is to create a model out of model
11
+ * config passed to this component.
12
+ * @default useMenuModel(config)
13
+ */
14
+ model?: MenuModel<T>;
15
+ }
16
+ /**
17
+ * An accessible dropdown menu component. A dropdown menu usually contains a target element that
18
+ * opens to a menu.
19
+ * @example
20
+ * <Menu>
21
+ * <Menu.Target>Open</Menu.Target>
22
+ * <Menu.Popper>
23
+ * <Menu.Card>
24
+ * <Menu.List>
25
+ * <Menu.Item name="first">First Item</Menu.Item>
26
+ * <Menu.Item name="second">Second Item</Menu.Item>
27
+ * </Menu.List>
28
+ * </Menu.Card>
29
+ * </Menu.Popper>
30
+ * </Menu>
31
+ */
32
+ export declare const Menu: import("../../../common").Component<MenuProps<any>> & {
33
+ /**
34
+ * The menu card is a non-semantic element used to give the dropdown menu its distinct visual
35
+ * cue that the dropdown menu is floating above other content. A menu card usually contains a
36
+ * menu list, but can also contain other elements like a header or footer.
37
+ */
38
+ Card: import("../../../common").ElementComponent<"div", import("./MenuCard").MenuCardProps<unknown>>;
39
+ /**
40
+ * The menu list follows the Collections API. A list can either contain static items
41
+ * or a render prop and `items` to the model.
42
+ *
43
+ * @example
44
+ * const MyComponent = () => {
45
+ * const model = useMenuModel({
46
+ * items: [
47
+ * { id: 'first', text: 'First Item' },
48
+ * { id: 'second', text: 'Second Item' },
49
+ * ]
50
+ * })
51
+ *
52
+ * return (
53
+ * <Menu model={model}>
54
+ * <Menu.List>
55
+ * {(item) => <Menu.Item name={item.id}>{item.text}</Menu.Item>}
56
+ * </Menu.List>
57
+ * </Menu>
58
+ * )
59
+ * }
60
+ */
61
+ List: import("../../../common").ElementComponent<"div", import("./MenuList").MenuListProps<unknown>>;
62
+ /**
63
+ * A menu item has an optional `name` prop that identifies the item in the menu list and will be
64
+ * passed to the optional `onSelect` callback of the menu model. A menu item can contain any
65
+ * HTML. If more complex HTML is provided, consider
66
+ */
67
+ Item: import("../../../common").ElementComponent<"button", import("./MenuItem").MenuItemProps<unknown>> & {
68
+ Icon: typeof import("../../..").SystemIcon;
69
+ Text: import("@emotion/styled-base").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "hidden" | "color" | "style" | "translate" | "prefix" | "slot" | "title" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is">, import("../../../common").EmotionCanvasTheme>;
70
+ };
71
+ Target: import("../../../common").ElementComponent<import("../../../common").ElementComponent<"button", import("../../..").SecondaryButtonProps>, import("./MenuTarget").MenuTargetProps<unknown>>;
72
+ /**
73
+ * The "Popper" of a menu. The popper will appear around the `Menu.Target`. It renders a `div`
74
+ * element that is portalled to the `document.body` which is controlled by the `PopupStack. The
75
+ * `PopupStack` is not part of React. This means no extra props given to this component will be
76
+ * forwarded to the `div` element, but the `ref` will be forwarded.
77
+ */
78
+ Popper: import("../../../common").ElementComponent<"div", import("./MenuPopper").MenuPopperProps<unknown>>;
79
+ };
80
+ //# sourceMappingURL=Menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,SAAS,EAAE,eAAe,EAAe,MAAM,gBAAgB,CAAC;AAOxE,eAAO,MAAM,gBAAgB,mCAA4C,CAAC;AAE1E,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACtD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI;IAQb;;;;OAIG;;IAEH;;;;;;;;;;;;;;;;;;;;;OAqBG;;IAEH;;;;OAIG;;;;;;IAGH;;;;;OAKG;;CAGL,CAAC"}