@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
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import { ExtractProps } from '@workday/canvas-kit-react/common';
3
+ import { Stack } from '@workday/canvas-kit-labs-react/layout';
4
+ import { TabsModel } from './useTabsModel';
5
+ export interface TabListProps<T = unknown> extends Partial<ExtractProps<typeof Stack, never>> {
6
+ /**
7
+ * If items are passed to a `TabsModel`, the child of `Tabs.List` should be a render prop. The
8
+ * List will determine how and when the item will be rendered.
9
+ *
10
+ * @example
11
+ * <Tabs.List>
12
+ * {(item) => <Tabs.Item key={item.id} name={item.name}>{item.text}</Tabs.Item>}
13
+ * </Tabs.List>
14
+ */
15
+ children: ((item: T) => React.ReactNode) | React.ReactNode;
16
+ /**
17
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
18
+ * model as the container component which uses React context. Only use this for advanced use-cases.
19
+ */
20
+ model?: TabsModel<T>;
21
+ overflowButton?: React.ReactNode;
22
+ }
23
+ export declare const TabsList: import("../../common").ElementComponent<"div", TabListProps<unknown>>;
24
+ export declare const useTabsList: <P extends {}, R>(model: import("./selection").SelectionModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
25
+ role: string;
26
+ } & {
27
+ ref: (instance: HTMLElement | null) => void;
28
+ } & {
29
+ onKeyDown(event: React.KeyboardEvent<Element>): void; /**
30
+ * If items are passed to a `TabsModel`, the child of `Tabs.List` should be a render prop. The
31
+ * List will determine how and when the item will be rendered.
32
+ *
33
+ * @example
34
+ * <Tabs.List>
35
+ * {(item) => <Tabs.Item key={item.id} name={item.name}>{item.text}</Tabs.Item>}
36
+ * </Tabs.List>
37
+ */
38
+ onFocus(): void;
39
+ onBlur(): void;
40
+ } & P & (R extends HTMLOrSVGElement ? {
41
+ ref: React.Ref<R>;
42
+ } : {});
43
+ //# sourceMappingURL=TabsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsList.d.ts","sourceRoot":"","sources":["../../../../tabs/lib/TabsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAIL,YAAY,EAEb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,KAAK,EAAC,MAAM,uCAAuC,CAAC;AAM5D,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,YAAY,CAAC,OAAO,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3F;;;;;;;;OAQG;IACH,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3D;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,QAAQ,uEAoBnB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;0DAxCtB;;;;;;;;OAQG;;;;;OAsCJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import * as React from 'react';
24
+ import { commonColors } from '@workday/canvas-kit-react/tokens';
25
+ import { composeHooks, createComponent, createHook, useModelContext, } from '@workday/canvas-kit-react/common';
26
+ import { Stack } from '@workday/canvas-kit-labs-react/layout';
27
+ import { useOverflowMeasureContainer } from './overflow';
28
+ import { useRenderItems } from './list';
29
+ import { useResetCursorOnBlur } from './selection';
30
+ import { TabsModelContext } from './Tabs';
31
+ export var TabsList = createComponent('div')({
32
+ displayName: 'Tabs.List',
33
+ Component: function (_a, ref, Element) {
34
+ var children = _a.children, model = _a.model, overflowButton = _a.overflowButton, elemProps = __rest(_a, ["children", "model", "overflowButton"]);
35
+ var localModel = useModelContext(TabsModelContext, model);
36
+ var props = useTabsList(localModel, elemProps, ref);
37
+ return (React.createElement(Stack, __assign({ as: Element, position: "relative", borderBottom: "1px solid " + commonColors.divider, marginX: "m", spacing: "xxxs" }, props),
38
+ useRenderItems(localModel, children),
39
+ overflowButton));
40
+ },
41
+ });
42
+ export var useTabsList = composeHooks(createHook(function (_) {
43
+ return { role: 'tablist' };
44
+ }), useOverflowMeasureContainer, useResetCursorOnBlur);
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { ExtractProps } from '@workday/canvas-kit-react/common';
3
+ import { Popper } from '@workday/canvas-kit-react/popup';
4
+ import { TabsModel } from './useTabsModel';
5
+ export interface MenuPopperProps<T = unknown> extends ExtractProps<typeof Popper> {
6
+ /**
7
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
8
+ * model as the container component which uses React context. Only use this for advanced use-cases
9
+ */
10
+ model?: TabsModel<T>;
11
+ }
12
+ export declare const TabsMenuPopper: import("../../common").ElementComponent<"div", MenuPopperProps<unknown>>;
13
+ export declare const useTabsMenuPopper: <P extends {}, R>(model: import("../../common").Model<import("../../popup").PopupState, import("../../popup").PopupEvents>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
14
+ open: boolean;
15
+ anchorElement: React.RefObject<HTMLButtonElement>;
16
+ ref: (instance: any) => void;
17
+ onPlacementChange: (placement: import("@popperjs/core").Placement) => void;
18
+ } & P & (R extends HTMLOrSVGElement ? {
19
+ ref: React.Ref<R>;
20
+ } : {});
21
+ //# sourceMappingURL=TabsMenuPopper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsMenuPopper.d.ts","sourceRoot":"","sources":["../../../../tabs/lib/TabsMenuPopper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAkB,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAiB,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,OAAO,MAAM,CAAC;IAC/E;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,0EAQzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;OAAiB,CAAC"}
@@ -21,28 +21,16 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import * as React from 'react';
24
- import { space, commonColors } from '@workday/canvas-kit-react/tokens';
25
- import { composeHooks, createComponent, styled, useModelContext, } from '@workday/canvas-kit-react/common';
26
- import { useRovingFocusList } from './cursor';
24
+ import { createComponent, useModelContext } from '@workday/canvas-kit-react/common';
25
+ import { usePopupPopper, Popper } from '@workday/canvas-kit-react/popup';
27
26
  import { TabsModelContext } from './Tabs';
28
- import { useResetCursorOnBlur } from './hooks';
29
- var TabsListContainer = styled('div')({
30
- display: 'inline-block',
31
- position: 'relative',
32
- width: "100%",
33
- borderBottom: "1px solid " + commonColors.divider,
34
- });
35
- var TabsListInnerContainer = styled('div')({
36
- display: "flex",
37
- margin: "0 " + space.m,
38
- });
39
- export var TabList = createComponent('div')({
40
- displayName: 'Tabs.List',
41
- Component: function (_a, ref, Element) {
27
+ export var TabsMenuPopper = createComponent('div')({
28
+ displayName: 'Tabs.MenuPopper',
29
+ Component: function (_a, ref) {
42
30
  var children = _a.children, model = _a.model, elemProps = __rest(_a, ["children", "model"]);
43
31
  var localModel = useModelContext(TabsModelContext, model);
44
- var props = composeHooks(useRovingFocusList, useResetCursorOnBlur)(localModel, elemProps, ref);
45
- return (React.createElement(TabsListContainer, null,
46
- React.createElement(TabsListInnerContainer, __assign({ as: Element, ref: ref, role: "tablist" }, props), children)));
32
+ var props = useTabsMenuPopper(localModel.menu, elemProps, ref);
33
+ return React.createElement(Popper, __assign({}, props), children);
47
34
  },
48
35
  });
36
+ export var useTabsMenuPopper = usePopupPopper;
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { TabsModel } from './useTabsModel';
3
+ export interface OverflowButtonProps {
4
+ /**
5
+ * The label text of the Tab.
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
10
+ * model as the container component which uses React context. Only use this for advanced use-cases
11
+ */
12
+ model?: TabsModel;
13
+ }
14
+ export declare const TabsOverflowButton: import("../../common").ElementComponent<"button", OverflowButtonProps>;
15
+ export declare const useTabsOverflowButton: <P extends {}, R>(model: import("./overflow").OverflowModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
16
+ 'aria-haspopup': boolean;
17
+ } & {
18
+ ref: (instance: HTMLButtonElement | null) => void;
19
+ 'aria-hidden': boolean;
20
+ tabIndex: number;
21
+ style: {};
22
+ } & {
23
+ id: string;
24
+ onKeyDown(event: React.KeyboardEvent<Element>): void;
25
+ } & {
26
+ ref: (instance: any) => void;
27
+ onClick: (event: React.MouseEvent<Element, MouseEvent>) => void;
28
+ } & P & (R extends HTMLOrSVGElement ? {
29
+ ref: React.Ref<R>;
30
+ } : {});
31
+ //# sourceMappingURL=TabsOverflowButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsOverflowButton.d.ts","sourceRoot":"","sources":["../../../../tabs/lib/TabsOverflowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,wEAc7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;OAUjC,CAAC"}
@@ -0,0 +1,48 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import * as React from 'react';
24
+ import { chevronDownSmallIcon } from '@workday/canvas-system-icons-web';
25
+ import { createComponent, useModelContext, createHook, composeHooks, subModelHook, } from '@workday/canvas-kit-react/common';
26
+ import { SystemIcon } from '@workday/canvas-kit-react/icon';
27
+ import { space } from '@workday/canvas-kit-react/tokens';
28
+ import { useOverflowTarget } from './overflow';
29
+ import { useMenuTarget } from './menu';
30
+ import { TabsModelContext } from './Tabs';
31
+ import { StyledTabItem } from './TabsItem';
32
+ export var TabsOverflowButton = createComponent('button')({
33
+ displayName: 'Tabs.OverflowButton',
34
+ Component: function (_a, ref, Element) {
35
+ var model = _a.model, children = _a.children, elemProps = __rest(_a, ["model", "children"]);
36
+ var localModel = useModelContext(TabsModelContext, model);
37
+ var props = useTabsOverflowButton(localModel, elemProps, ref);
38
+ return (React.createElement(StyledTabItem, __assign({ hasIcon: true, spacing: space.xxxs, type: "button", as: Element }, props),
39
+ React.createElement("span", null, children),
40
+ React.createElement(SystemIcon, { icon: chevronDownSmallIcon })));
41
+ },
42
+ });
43
+ export var useTabsOverflowButton = composeHooks(createHook(function (model, _, elemProps) {
44
+ if (elemProps === void 0) { elemProps = {}; }
45
+ return {
46
+ 'aria-haspopup': true,
47
+ };
48
+ }), useOverflowTarget, subModelHook(function (m) { return m.menu; }, useMenuTarget));
@@ -1,7 +1,8 @@
1
- /** @jsx jsx */
2
1
  import React from 'react';
2
+ import { ExtractProps } from '@workday/canvas-kit-react/common';
3
+ import { Box } from '@workday/canvas-kit-labs-react/common';
3
4
  import { TabsModel } from './useTabsModel';
4
- export interface TabPanelProps {
5
+ export interface TabPanelProps<T = unknown> extends ExtractProps<typeof Box, never> {
5
6
  /**
6
7
  * The contents of the TabPanel.
7
8
  */
@@ -23,7 +24,16 @@ export interface TabPanelProps {
23
24
  * Optionally pass a model directly to this component. Default is to implicitly use the same
24
25
  * model as the container component which uses React context. Only use this for advanced use-cases
25
26
  */
26
- model?: TabsModel;
27
+ model?: TabsModel<T>;
27
28
  }
28
- export declare const TabPanel: import("../../common").ElementComponent<"div", TabPanelProps>;
29
- //# sourceMappingURL=TabPanel.d.ts.map
29
+ export declare const useTabsPanel: <P extends {}, R>(model: TabsModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
30
+ role: string;
31
+ 'aria-labelledby': string;
32
+ hidden: boolean;
33
+ id: string;
34
+ tabIndex: number;
35
+ } & P & (R extends HTMLOrSVGElement ? {
36
+ ref: React.Ref<R>;
37
+ } : {});
38
+ export declare const TabsPanel: import("../../common").ElementComponent<"div", TabPanelProps<unknown>>;
39
+ //# sourceMappingURL=TabsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsPanel.d.ts","sourceRoot":"","sources":["../../../../tabs/lib/TabsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAKL,YAAY,EAGb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAG1D,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC;IACjF;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACtB;AAID,eAAO,MAAM,YAAY;;;;;;;;OAwBxB,CAAC;AAEF,eAAO,MAAM,SAAS,wEAapB,CAAC"}
@@ -0,0 +1,59 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import styled from '@emotion/styled';
25
+ import { createComponent, useModelContext, useMountLayout, createHook, hideMouseFocus, } from '@workday/canvas-kit-react/common';
26
+ import { Box } from '@workday/canvas-kit-labs-react/common';
27
+ import { TabsModelContext } from './Tabs';
28
+ var StyledTabsPanel = styled(Box)(hideMouseFocus);
29
+ export var useTabsPanel = createHook(function (_a, _, elemProps) {
30
+ var state = _a.state, events = _a.events;
31
+ if (elemProps === void 0) { elemProps = {}; }
32
+ var name = elemProps.name;
33
+ var _b = React.useState(elemProps.name || ''), tabName = _b[0], setTabName = _b[1];
34
+ useMountLayout(function () {
35
+ var index = state.panelIndexRef.current;
36
+ var tabName = name || String(index);
37
+ events.registerPanel({ item: { id: tabName } });
38
+ setTabName(tabName);
39
+ return function () {
40
+ events.unregisterPanel({ id: tabName });
41
+ };
42
+ });
43
+ return {
44
+ role: 'tabpanel',
45
+ 'aria-labelledby': state.id + "-" + tabName,
46
+ hidden: !!tabName && tabName !== state.selectedIds[0],
47
+ id: "tabpanel-" + state.id + "-" + tabName,
48
+ tabIndex: 0,
49
+ };
50
+ });
51
+ export var TabsPanel = createComponent('div')({
52
+ displayName: 'Tabs.Panel',
53
+ Component: function (_a, ref, Element) {
54
+ var children = _a.children, model = _a.model, elemProps = __rest(_a, ["children", "model"]);
55
+ var localModel = useModelContext(TabsModelContext, model);
56
+ var props = useTabsPanel(localModel, elemProps, ref);
57
+ return (React.createElement(StyledTabsPanel, __assign({ as: Element }, props), children));
58
+ },
59
+ });
@@ -1,15 +1,15 @@
1
- import * as React from 'react';
2
- import { TabsModel } from './useTabsModel';
3
- export interface TabListProps {
4
- /**
5
- *
6
- */
7
- children: React.ReactNode;
8
- /**
9
- * Optionally pass a model directly to this component. Default is to implicitly use the same
10
- * model as the container component which uses React context. Only use this for advanced use-cases.
11
- */
12
- model?: TabsModel;
13
- }
14
- export declare const TabList: import("../../common").ElementComponent<"div", TabListProps>;
15
- //# sourceMappingURL=TabList.d.ts.map
1
+ import * as React from 'react';
2
+ import { TabsModel } from './useTabsModel';
3
+ export interface TabsPanelsProps<T = unknown> {
4
+ /**
5
+ *
6
+ */
7
+ children: ((item: T) => React.ReactNode) | React.ReactNode;
8
+ /**
9
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
10
+ * model as the container component which uses React context. Only use this for advanced use-cases.
11
+ */
12
+ model?: TabsModel<T>;
13
+ }
14
+ export declare const TabsPanels: import("../../common").Component<TabsPanelsProps<unknown>>;
15
+ //# sourceMappingURL=TabsPanels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsPanels.d.ts","sourceRoot":"","sources":["../../../../tabs/lib/TabsPanels.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3D;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,4DAOrB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { createComponent, useModelContext } from '@workday/canvas-kit-react/common';
3
+ import { TabsModelContext } from './Tabs';
4
+ import { useRenderItems } from './list';
5
+ export var TabsPanels = createComponent()({
6
+ displayName: 'Tabs.Panels',
7
+ Component: function (_a) {
8
+ var children = _a.children, model = _a.model;
9
+ var localModel = useModelContext(TabsModelContext, model);
10
+ return React.createElement(React.Fragment, null, useRenderItems(localModel, children));
11
+ },
12
+ });
@@ -1,3 +1,3 @@
1
- export * from './hooks';
1
+ export * from './useRovingFocus';
2
2
  export * from './useCursorModel';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/cursor/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/cursor/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './hooks';
1
+ export * from './useRovingFocus';
2
2
  export * from './useCursorModel';
@@ -1,14 +1,14 @@
1
- import { Model, ToModelConfig } from '@workday/canvas-kit-react/common';
2
- import { ListState, ListEvents, BaseListModelConfig, Item } from '../list/useListModel';
1
+ import { ToModelConfig } from '@workday/canvas-kit-react/common';
2
+ import { ListState, ListEvents, BaseListModelConfig, ListModel } from '../list/useListModel';
3
3
  export declare type Orientation = 'horizontal' | 'vertical';
4
- export declare type CursorState = ListState & {
4
+ export declare type CursorState<T = unknown> = ListState<T> & {
5
5
  /** Orientation of the list. This property determines what "next" and "previous" mean. This should
6
6
  * be set to match the layout of UI components */
7
7
  orientation: Orientation;
8
8
  /** The id of the list item the cursor is pointing to */
9
9
  cursorId: string;
10
10
  };
11
- export declare type CursorEvents = ListEvents & {
11
+ export declare type CursorEvents<T = unknown> = ListEvents<T> & {
12
12
  /** Directly sets the cursor to the list item by its identifier. */
13
13
  goTo(data: {
14
14
  id: string;
@@ -24,7 +24,10 @@ export declare type CursorEvents = ListEvents & {
24
24
  /** Set the cursor to the last item in the list */
25
25
  last(): void;
26
26
  };
27
- export declare type CursorModel = Model<CursorState, CursorEvents>;
27
+ export interface CursorModel<T = unknown> extends ListModel<T> {
28
+ state: CursorState<T>;
29
+ events: CursorEvents<T>;
30
+ }
28
31
  export declare const cursorEventMap: {
29
32
  guards: {
30
33
  /** Should a cursor position be set? Use only in advance use-cases */
@@ -45,19 +48,26 @@ export declare const cursorEventMap: {
45
48
  onUpdateItemPosition: "updateItemPosition";
46
49
  };
47
50
  };
48
- export declare type BaseCursorModelConfig = BaseListModelConfig & {
51
+ export declare type BaseCursorModelConfig<T> = BaseListModelConfig<T> & {
49
52
  /**
50
53
  * The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
51
- * effect which keys activate progression through a list. For example, `horizontal` will activate with
54
+ * effect which ids activate progression through a list. For example, `horizontal` will activate with
52
55
  * left and right arrows while `vertical` will activate with up and down arrows.
53
56
  * @default 'vertical'
54
57
  */
55
58
  orientation?: Orientation;
59
+ /**
60
+ * Initial cursor position. If not provided, the cursor will point to the first item in the list
61
+ */
62
+ initialCursorId?: string;
63
+ };
64
+ export declare type CursorModelConfig<T> = BaseCursorModelConfig<T> & Partial<ToModelConfig<CursorState<T>, CursorEvents<T>, typeof cursorEventMap>>;
65
+ export declare const useCursorNavigation: <T extends unknown>(state: CursorState<T>, getId: (item: T) => string) => {
66
+ getFirst: () => T;
67
+ getLast: () => T;
68
+ getItem: (id: string) => T;
69
+ getNext: (id: string, tries?: number) => T;
70
+ getPrevious: (id: string, tries?: number) => T;
56
71
  };
57
- export declare type CursorModelConfig = BaseCursorModelConfig & Partial<ToModelConfig<CursorState, CursorEvents, typeof cursorEventMap>>;
58
- export declare const getItem: (id: string, items: Item[]) => Item;
59
- export declare const hasItems: (items: Item[]) => boolean;
60
- export declare const getNext: (id: string, items: Item[]) => Item;
61
- export declare const getPrevious: (id: string, items: Item[]) => Item;
62
- export declare const useCursorModel: (config?: CursorModelConfig) => Model<CursorState, CursorEvents>;
72
+ export declare const useCursorModel: <T extends unknown>(config?: CursorModelConfig<T>) => CursorModel<T>;
63
73
  //# sourceMappingURL=useCursorModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCursorModel.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/cursor/useCursorModel.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EACL,aAAa,EAGd,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EAGnB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEpD,oBAAY,WAAW,GAAG,SAAS,GAAG;IACpC;qDACiD;IACjD,WAAW,EAAE,WAAW,CAAC;IACzB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,GAAG,UAAU,GAAG;IACtC,oEAAoE;IACpE,IAAI,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAC/B;gCAC4B;IAC5B,IAAI,IAAI,IAAI,CAAC;IACb;uCACmC;IACnC,QAAQ,IAAI,IAAI,CAAC;IACjB,mDAAmD;IACnD,KAAK,IAAI,IAAI,CAAC;IACd,kDAAkD;IAClD,IAAI,IAAI,IAAI,CAAC;CACd,CAAC;AAEF,oBAAY,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAE3D,eAAO,MAAM,cAAc;;QAGvB,qEAAqE;;;;;;;QAKrE;;;;WAIG;;;;;;CAGL,CAAC;AAEH,oBAAY,qBAAqB,GAAG,mBAAmB,GAAG;IACxD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,qBAAqB,GACnD,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC;AAU3E,eAAO,MAAM,OAAO,qCAInB,CAAC;AAqBF,eAAO,MAAM,QAAQ,4BAA0D,CAAC;AAEhF,eAAO,MAAM,OAAO,qCAAmB,CAAC;AACxC,eAAO,MAAM,WAAW,qCAAoB,CAAC;AAE7C,eAAO,MAAM,cAAc,kEA2C1B,CAAC"}
1
+ {"version":3,"file":"useCursorModel.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/cursor/useCursorModel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,aAAa,EAAsB,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EAInB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEpD,oBAAY,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG;IACpD;qDACiD;IACjD,WAAW,EAAE,WAAW,CAAC;IACzB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IACtD,oEAAoE;IACpE,IAAI,CAAC,IAAI,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAC/B;gCAC4B;IAC5B,IAAI,IAAI,IAAI,CAAC;IACb;uCACmC;IACnC,QAAQ,IAAI,IAAI,CAAC;IACjB,mDAAmD;IACnD,KAAK,IAAI,IAAI,CAAC;IACd,kDAAkD;IAClD,IAAI,IAAI,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC5D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,eAAO,MAAM,cAAc;;QAGvB,qEAAqE;;;;;;;QAKrE;;;;WAIG;;;;;;CAGL,CAAC;AAEH,oBAAY,qBAAqB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAC9D;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,iBAAiB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC;AAEjF,eAAO,MAAM,mBAAmB;;;;;;CAkD/B,CAAC;AAEF,eAAO,MAAM,cAAc,sEAyC1B,CAAC"}
@@ -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
  };