@workday/canvas-kit-react 6.0.0-alpha.0-next.29 → 6.0.0-alpha.0-next.34

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 (561) hide show
  1. package/button/lib/SecondaryButton.tsx +31 -16
  2. package/button/lib/TertiaryButton.tsx +45 -36
  3. package/button/lib/parts/ButtonContainer.tsx +2 -0
  4. package/button/lib/types.ts +2 -1
  5. package/common/index.ts +1 -0
  6. package/common/lib/EllipsisText.tsx +11 -0
  7. package/common/lib/utils/components.ts +50 -23
  8. package/common/lib/utils/index.ts +1 -0
  9. package/common/lib/utils/mergeProps.ts +4 -0
  10. package/common/lib/utils/useConstant.ts +18 -0
  11. package/common/lib/utils/useResizeObserver.ts +29 -0
  12. package/common/lib/utils/useUniqueId.ts +4 -3
  13. package/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  14. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  15. package/dist/commonjs/button/lib/SecondaryButton.js +22 -12
  16. package/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  17. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  18. package/dist/commonjs/button/lib/TertiaryButton.js +24 -20
  19. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  20. package/dist/commonjs/button/lib/parts/ButtonContainer.js +2 -6
  21. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  22. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  23. package/dist/commonjs/button/lib/types.d.ts +1 -0
  24. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  25. package/dist/commonjs/common/index.d.ts +1 -0
  26. package/dist/commonjs/common/index.d.ts.map +1 -1
  27. package/dist/commonjs/common/index.js +1 -0
  28. package/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  29. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -0
  30. package/dist/commonjs/common/lib/EllipsisText.js +13 -0
  31. package/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  32. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  33. package/dist/commonjs/common/lib/utils/components.js +12 -2
  34. package/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  35. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  36. package/dist/commonjs/common/lib/utils/index.js +1 -0
  37. package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
  38. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -0
  39. package/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  40. package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +1 -0
  41. package/dist/commonjs/common/lib/utils/useConstant.js +18 -0
  42. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  43. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  44. package/dist/commonjs/common/lib/utils/useResizeObserver.js +42 -0
  45. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
  46. package/dist/commonjs/common/lib/utils/useUniqueId.js +3 -10
  47. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  48. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  49. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  50. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  51. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  52. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  53. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  54. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  55. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  56. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  57. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  58. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  59. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  60. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  61. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  62. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  63. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  64. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  65. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  66. package/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  67. package/dist/commonjs/pagination/lib/Pagination/types.d.ts.map +1 -1
  68. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  69. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  70. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  71. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  72. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  73. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  74. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  75. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  76. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  77. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  78. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  79. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  80. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  81. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  82. package/dist/commonjs/tabs/index.d.ts +5 -0
  83. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  84. package/dist/commonjs/tabs/index.js +11 -0
  85. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  86. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  87. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  88. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  89. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  90. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  91. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  92. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  93. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  94. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  95. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  96. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  97. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  98. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  99. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  100. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  101. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  102. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  103. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  104. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  105. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  106. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  107. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  108. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  109. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  110. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  111. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  112. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  113. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  114. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  115. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  116. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  117. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  118. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  119. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  120. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  121. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  122. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  123. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  124. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  125. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  126. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  127. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  128. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  129. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  130. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  131. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  132. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  133. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  134. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  135. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  136. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  137. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  138. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  139. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  140. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  141. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  142. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  143. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  144. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  145. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  146. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  147. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  148. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  149. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  150. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  151. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  152. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  153. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  154. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  155. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  156. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  157. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  158. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  159. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  160. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  161. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  162. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  163. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  164. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  165. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  166. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  167. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  168. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  169. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  170. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  171. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  172. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  173. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  174. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  175. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  176. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  177. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  178. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  179. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  180. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  181. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  182. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  183. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +8 -6
  184. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  185. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  186. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  187. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  188. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  189. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  190. package/dist/es6/button/lib/TertiaryButton.js +25 -21
  191. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  192. package/dist/es6/button/lib/parts/ButtonContainer.js +2 -6
  193. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  194. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  195. package/dist/es6/button/lib/types.d.ts +1 -0
  196. package/dist/es6/button/lib/types.d.ts.map +1 -1
  197. package/dist/es6/common/index.d.ts +1 -0
  198. package/dist/es6/common/index.d.ts.map +1 -1
  199. package/dist/es6/common/index.js +1 -0
  200. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  201. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  202. package/dist/es6/common/lib/EllipsisText.js +8 -0
  203. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  204. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  205. package/dist/es6/common/lib/utils/components.js +12 -2
  206. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  207. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  208. package/dist/es6/common/lib/utils/index.js +1 -0
  209. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  210. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  211. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  212. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  213. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  214. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  215. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  216. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  217. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  218. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  219. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  220. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  221. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  222. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  223. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  224. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  225. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  226. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  227. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  228. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  229. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  230. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  231. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  232. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  233. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  234. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  235. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  236. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  237. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  238. package/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  239. package/dist/es6/pagination/lib/Pagination/types.d.ts.map +1 -1
  240. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  241. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  242. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  243. package/dist/es6/popup/lib/PopupCard.js +3 -4
  244. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  245. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  246. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  247. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  248. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  249. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  250. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  251. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  252. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  253. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  254. package/dist/es6/tabs/index.d.ts +5 -0
  255. package/dist/es6/tabs/index.d.ts.map +1 -1
  256. package/dist/es6/tabs/index.js +5 -0
  257. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  258. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  259. package/dist/es6/tabs/lib/Tabs.js +28 -7
  260. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  261. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  262. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  263. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  264. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  265. package/dist/es6/tabs/lib/TabsList.js +44 -0
  266. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  267. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  268. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  269. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  270. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  271. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  272. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  273. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  274. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  275. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  276. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  277. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  278. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  279. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  280. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  281. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  282. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  283. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  284. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  285. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  286. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  287. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  288. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  289. package/dist/es6/tabs/lib/list/index.js +2 -1
  290. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  291. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  292. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  293. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  294. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  295. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  296. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  297. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  298. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  299. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  300. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  301. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  302. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  303. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  304. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  305. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  306. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  307. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  308. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  309. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  310. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  311. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  312. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  313. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  314. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  315. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  316. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  317. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  318. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  319. package/dist/es6/tabs/lib/menu/index.js +7 -0
  320. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  321. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  322. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  323. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  324. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  325. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  326. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  327. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  328. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  329. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  330. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  331. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  332. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  333. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  334. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  335. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  336. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  337. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  338. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  339. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  340. package/dist/es6/tabs/lib/selection/index.js +3 -0
  341. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  342. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  343. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  344. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  345. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  346. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  347. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  348. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  349. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  350. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  351. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  352. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  353. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  354. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  355. package/dist/es6/tooltip/lib/OverflowTooltip.js +5 -3
  356. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  357. package/package.json +7 -5
  358. package/pagination/lib/Pagination/GoTo/Label.tsx +3 -0
  359. package/pagination/lib/Pagination/types.ts +44 -5
  360. package/pagination/lib/Pagination/usePaginationModel.ts +19 -0
  361. package/popup/lib/PopupCard.tsx +3 -2
  362. package/tabs/index.ts +6 -0
  363. package/tabs/lib/Tabs.tsx +34 -9
  364. package/tabs/lib/TabsItem.tsx +250 -0
  365. package/tabs/lib/TabsList.tsx +67 -0
  366. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  367. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  368. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  369. package/tabs/lib/TabsPanels.tsx +28 -0
  370. package/tabs/lib/cursor/index.ts +1 -1
  371. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  372. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  373. package/tabs/lib/list/index.ts +2 -1
  374. package/tabs/lib/list/renderItem.tsx +19 -0
  375. package/tabs/lib/list/useListModel.tsx +48 -23
  376. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  377. package/tabs/lib/menu/Menu.tsx +95 -0
  378. package/tabs/lib/menu/MenuCard.tsx +96 -0
  379. package/tabs/lib/menu/MenuItem.tsx +195 -0
  380. package/tabs/lib/menu/MenuList.tsx +59 -0
  381. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  382. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  383. package/tabs/lib/menu/index.ts +8 -0
  384. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  385. package/tabs/lib/overflow/index.ts +4 -0
  386. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  387. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  388. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  389. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  390. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  391. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  392. package/tabs/lib/selection/index.ts +3 -0
  393. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  394. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  395. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  396. package/tabs/lib/useTabsModel.tsx +93 -78
  397. package/tooltip/lib/OverflowTooltip.tsx +5 -3
  398. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  399. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  400. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  401. package/ts3.5/dist/commonjs/button/lib/types.d.ts +1 -0
  402. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  403. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  404. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  405. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  406. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  407. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  408. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  409. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  410. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  411. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  412. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  413. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  414. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  415. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  416. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  417. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  418. package/ts3.5/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  419. package/ts3.5/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  420. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  421. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  422. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  423. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  424. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  425. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  426. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  427. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  428. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  429. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  430. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  431. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  432. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  433. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  434. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  435. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  436. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  437. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  438. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  439. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  440. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  441. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  442. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  443. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  444. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  445. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  446. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  447. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  448. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  449. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  450. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  451. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  452. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  453. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  454. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  455. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  456. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  457. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  458. package/ts3.5/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  459. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  460. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  461. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  462. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  463. package/ts3.5/dist/es6/button/lib/types.d.ts +1 -0
  464. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  465. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  466. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  467. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  468. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  469. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  470. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  471. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  472. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  473. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  474. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  475. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  476. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  477. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  478. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  479. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  480. package/ts3.5/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  481. package/ts3.5/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  482. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  483. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  484. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  485. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  486. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  487. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  488. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  489. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  490. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  491. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  492. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  493. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  494. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  495. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  496. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  497. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  498. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  499. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  500. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  501. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  502. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  503. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  504. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  505. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  506. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  507. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  508. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  509. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  510. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  511. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  512. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  513. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  514. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  515. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  516. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  517. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  518. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  519. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  520. package/ts3.5/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  521. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  522. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  523. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  524. package/dist/commonjs/tabs/lib/Tab.js +0 -101
  525. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  526. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  527. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  528. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  529. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  530. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  531. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  532. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  533. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  534. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  535. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  536. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  537. package/dist/es6/tabs/lib/Tab.js +0 -92
  538. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  539. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  540. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  541. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  542. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  543. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  544. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  545. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  546. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  547. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  548. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  549. package/tabs/lib/Tab.tsx +0 -176
  550. package/tabs/lib/TabList.tsx +0 -59
  551. package/tabs/lib/cursor/hooks.tsx +0 -122
  552. package/tabs/lib/hooks.tsx +0 -31
  553. package/tabs/lib/list/hooks.tsx +0 -45
  554. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  555. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  556. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  557. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  558. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  559. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  560. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  561. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -30,28 +30,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  var React = __importStar(require("react"));
33
- var tokens_1 = require("@workday/canvas-kit-react/tokens");
34
33
  var common_1 = require("@workday/canvas-kit-react/common");
35
- var cursor_1 = require("./cursor");
34
+ var popup_1 = require("@workday/canvas-kit-react/popup");
36
35
  var Tabs_1 = require("./Tabs");
37
- var hooks_1 = require("./hooks");
38
- var TabsListContainer = common_1.styled('div')({
39
- display: 'inline-block',
40
- position: 'relative',
41
- width: "100%",
42
- borderBottom: "1px solid " + tokens_1.commonColors.divider,
43
- });
44
- var TabsListInnerContainer = common_1.styled('div')({
45
- display: "flex",
46
- margin: "0 " + tokens_1.space.m,
47
- });
48
- exports.TabList = common_1.createComponent('div')({
49
- displayName: 'Tabs.List',
50
- Component: function (_a, ref, Element) {
36
+ exports.TabsMenuPopper = common_1.createComponent('div')({
37
+ displayName: 'Tabs.MenuPopper',
38
+ Component: function (_a, ref) {
51
39
  var children = _a.children, model = _a.model, elemProps = __rest(_a, ["children", "model"]);
52
40
  var localModel = common_1.useModelContext(Tabs_1.TabsModelContext, model);
53
- var props = common_1.composeHooks(cursor_1.useRovingFocusList, hooks_1.useResetCursorOnBlur)(localModel, elemProps, ref);
54
- return (React.createElement(TabsListContainer, null,
55
- React.createElement(TabsListInnerContainer, __assign({ as: Element, ref: ref, role: "tablist" }, props), children)));
41
+ var props = exports.useTabsMenuPopper(localModel.menu, elemProps, ref);
42
+ return React.createElement(popup_1.Popper, __assign({}, props), children);
56
43
  },
57
44
  });
45
+ exports.useTabsMenuPopper = popup_1.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,57 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
28
+ result["default"] = mod;
29
+ return result;
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ var React = __importStar(require("react"));
33
+ var canvas_system_icons_web_1 = require("@workday/canvas-system-icons-web");
34
+ var common_1 = require("@workday/canvas-kit-react/common");
35
+ var icon_1 = require("@workday/canvas-kit-react/icon");
36
+ var tokens_1 = require("@workday/canvas-kit-react/tokens");
37
+ var overflow_1 = require("./overflow");
38
+ var menu_1 = require("./menu");
39
+ var Tabs_1 = require("./Tabs");
40
+ var TabsItem_1 = require("./TabsItem");
41
+ exports.TabsOverflowButton = common_1.createComponent('button')({
42
+ displayName: 'Tabs.OverflowButton',
43
+ Component: function (_a, ref, Element) {
44
+ var model = _a.model, children = _a.children, elemProps = __rest(_a, ["model", "children"]);
45
+ var localModel = common_1.useModelContext(Tabs_1.TabsModelContext, model);
46
+ var props = exports.useTabsOverflowButton(localModel, elemProps, ref);
47
+ return (React.createElement(TabsItem_1.StyledTabItem, __assign({ hasIcon: true, spacing: tokens_1.space.xxxs, type: "button", as: Element }, props),
48
+ React.createElement("span", null, children),
49
+ React.createElement(icon_1.SystemIcon, { icon: canvas_system_icons_web_1.chevronDownSmallIcon })));
50
+ },
51
+ });
52
+ exports.useTabsOverflowButton = common_1.composeHooks(common_1.createHook(function (model, _, elemProps) {
53
+ if (elemProps === void 0) { elemProps = {}; }
54
+ return {
55
+ 'aria-haspopup': true,
56
+ };
57
+ }), overflow_1.useOverflowTarget, common_1.subModelHook(function (m) { return m.menu; }, menu_1.useMenuTarget));
@@ -1,29 +1,39 @@
1
- /** @jsx jsx */
2
- import React from 'react';
3
- import { TabsModel } from './useTabsModel';
4
- export interface TabPanelProps {
5
- /**
6
- * The contents of the TabPanel.
7
- */
8
- children: React.ReactNode;
9
- /**
10
- * The name of the tab. This name will be used in change events and for `initialTab`. Must match
11
- * the `name` of the associated tab item. If this property is not provided, it will default to a
12
- * string representation of the the zero-based index of the Tab when it was initialized.
13
- */
14
- name?: string;
15
- /**
16
- * Part of the ARIA specification for tabs. By default, all `tabpanel` elements have a `tabIndex`
17
- * of `0` which makes the whole content area receive focus. If you have a focusable item near the
18
- * top of the tab panel content area, you may set `tabIndex` to `undefined` to prevent the tab
19
- * panel element from receiving focus. Only do this is a child of the tab panel can receive focus.
20
- */
21
- tabIndex?: number;
22
- /**
23
- * Optionally pass a model directly to this component. Default is to implicitly use the same
24
- * model as the container component which uses React context. Only use this for advanced use-cases
25
- */
26
- model?: TabsModel;
27
- }
28
- export declare const TabPanel: import("../../common").ElementComponent<"div", TabPanelProps>;
29
- //# sourceMappingURL=TabPanel.d.ts.map
1
+ import React from 'react';
2
+ import { ExtractProps } from '@workday/canvas-kit-react/common';
3
+ import { Box } from '@workday/canvas-kit-labs-react/common';
4
+ import { TabsModel } from './useTabsModel';
5
+ export interface TabPanelProps<T = unknown> extends ExtractProps<typeof Box, never> {
6
+ /**
7
+ * The contents of the TabPanel.
8
+ */
9
+ children: React.ReactNode;
10
+ /**
11
+ * The name of the tab. This name will be used in change events and for `initialTab`. Must match
12
+ * the `name` of the associated tab item. If this property is not provided, it will default to a
13
+ * string representation of the the zero-based index of the Tab when it was initialized.
14
+ */
15
+ name?: string;
16
+ /**
17
+ * Part of the ARIA specification for tabs. By default, all `tabpanel` elements have a `tabIndex`
18
+ * of `0` which makes the whole content area receive focus. If you have a focusable item near the
19
+ * top of the tab panel content area, you may set `tabIndex` to `undefined` to prevent the tab
20
+ * panel element from receiving focus. Only do this is a child of the tab panel can receive focus.
21
+ */
22
+ tabIndex?: number;
23
+ /**
24
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
25
+ * model as the container component which uses React context. Only use this for advanced use-cases
26
+ */
27
+ model?: TabsModel<T>;
28
+ }
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,64 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var styled_1 = __importDefault(require("@emotion/styled"));
30
+ var common_1 = require("@workday/canvas-kit-react/common");
31
+ var common_2 = require("@workday/canvas-kit-labs-react/common");
32
+ var Tabs_1 = require("./Tabs");
33
+ var StyledTabsPanel = styled_1.default(common_2.Box)(common_1.hideMouseFocus);
34
+ exports.useTabsPanel = common_1.createHook(function (_a, _, elemProps) {
35
+ var state = _a.state, events = _a.events;
36
+ if (elemProps === void 0) { elemProps = {}; }
37
+ var name = elemProps.name;
38
+ var _b = react_1.default.useState(elemProps.name || ''), tabName = _b[0], setTabName = _b[1];
39
+ common_1.useMountLayout(function () {
40
+ var index = state.panelIndexRef.current;
41
+ var tabName = name || String(index);
42
+ events.registerPanel({ item: { id: tabName } });
43
+ setTabName(tabName);
44
+ return function () {
45
+ events.unregisterPanel({ id: tabName });
46
+ };
47
+ });
48
+ return {
49
+ role: 'tabpanel',
50
+ 'aria-labelledby': state.id + "-" + tabName,
51
+ hidden: !!tabName && tabName !== state.selectedIds[0],
52
+ id: "tabpanel-" + state.id + "-" + tabName,
53
+ tabIndex: 0,
54
+ };
55
+ });
56
+ exports.TabsPanel = common_1.createComponent('div')({
57
+ displayName: 'Tabs.Panel',
58
+ Component: function (_a, ref, Element) {
59
+ var children = _a.children, model = _a.model, elemProps = __rest(_a, ["children", "model"]);
60
+ var localModel = common_1.useModelContext(Tabs_1.TabsModelContext, model);
61
+ var props = exports.useTabsPanel(localModel, elemProps, ref);
62
+ return (react_1.default.createElement(StyledTabsPanel, __assign({ as: Element }, props), children));
63
+ },
64
+ });
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { TabsModel } from './useTabsModel';
3
- export interface TabListProps {
3
+ export interface TabsPanelsProps<T = unknown> {
4
4
  /**
5
5
  *
6
6
  */
7
- children: React.ReactNode;
7
+ children: ((item: T) => React.ReactNode) | React.ReactNode;
8
8
  /**
9
9
  * Optionally pass a model directly to this component. Default is to implicitly use the same
10
10
  * model as the container component which uses React context. Only use this for advanced use-cases.
11
11
  */
12
- model?: TabsModel;
12
+ model?: TabsModel<T>;
13
13
  }
14
- export declare const TabList: import("../../common").ElementComponent<"div", TabListProps>;
15
- //# sourceMappingURL=TabList.d.ts.map
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,21 @@
1
+ "use strict";
2
+ var __importStar = (this && this.__importStar) || function (mod) {
3
+ if (mod && mod.__esModule) return mod;
4
+ var result = {};
5
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
+ result["default"] = mod;
7
+ return result;
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var React = __importStar(require("react"));
11
+ var common_1 = require("@workday/canvas-kit-react/common");
12
+ var Tabs_1 = require("./Tabs");
13
+ var list_1 = require("./list");
14
+ exports.TabsPanels = common_1.createComponent()({
15
+ displayName: 'Tabs.Panels',
16
+ Component: function (_a) {
17
+ var children = _a.children, model = _a.model;
18
+ var localModel = common_1.useModelContext(Tabs_1.TabsModelContext, model);
19
+ return React.createElement(React.Fragment, null, list_1.useRenderItems(localModel, children));
20
+ },
21
+ });
@@ -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"}
@@ -3,5 +3,5 @@ function __export(m) {
3
3
  for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
4
  }
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- __export(require("./hooks"));
6
+ __export(require("./useRovingFocus"));
7
7
  __export(require("./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"}
@@ -29,78 +29,79 @@ exports.cursorEventMap = common_1.createEventMap()({
29
29
  */
30
30
  onGoTo: 'goTo' }),
31
31
  });
32
- var getFirst = function (items) {
33
- return items[0];
34
- };
35
- var getLast = function (items) {
36
- return items[items.length - 1];
37
- };
38
- exports.getItem = function (id, items) {
39
- var item = id ? items.find(function (item) { return item.id === id; }) : getFirst(items); // no id, return first item
40
- common_1.assert(item, "Item not found: " + id);
41
- return item;
32
+ exports.useCursorNavigation = function (state, getId) {
33
+ // refs for performance so that new functions aren't created every render
34
+ var getIdRef = react_1.default.useRef(getId);
35
+ var itemsRef = react_1.default.useRef(state.items);
36
+ var nonInteractiveIdsRef = react_1.default.useRef(state.nonInteractiveIds);
37
+ itemsRef.current = state.items;
38
+ nonInteractiveIdsRef.current = state.nonInteractiveIds;
39
+ // return a memoized function to prevent recreation of functions every render
40
+ return react_1.default.useMemo(function () {
41
+ var getFirst = function () { return itemsRef.current[0]; };
42
+ var getLast = function () { return itemsRef.current[itemsRef.current.length - 1]; };
43
+ var getItem = function (id) {
44
+ var item = id ? itemsRef.current.find(function (item) { return getIdRef.current(item) === id; }) : getFirst(); // no id, return first item
45
+ common_1.assert(item, "Item not found: " + id);
46
+ return item;
47
+ };
48
+ var getOffsetItem = function (offset) { return function (id, tries) {
49
+ if (tries === void 0) { tries = itemsRef.current.length; }
50
+ var items = itemsRef.current;
51
+ var item = getItem(id);
52
+ var getId = getIdRef.current;
53
+ var currentIndex = items.findIndex(function (i) { return getId(item) === getId(i); });
54
+ var nextIndex = currentIndex + offset;
55
+ if (nextIndex < 0) {
56
+ nextIndex = items.length - 1;
57
+ }
58
+ else if (nextIndex >= items.length) {
59
+ nextIndex = 0;
60
+ }
61
+ if (nonInteractiveIdsRef.current.includes(getId(items[nextIndex])) && tries > 0) {
62
+ // The next item is disabled, try again, but only if we haven't already tried everything.
63
+ // Avoid an infinite loop with `tries`
64
+ return getOffsetItem(offset)(getId(items[nextIndex]), tries - 1);
65
+ }
66
+ return items[nextIndex];
67
+ }; };
68
+ var getNext = getOffsetItem(1);
69
+ var getPrevious = getOffsetItem(-1);
70
+ return { getFirst: getFirst, getLast: getLast, getItem: getItem, getNext: getNext, getPrevious: getPrevious };
71
+ }, []);
42
72
  };
43
- var getOffsetItem = function (offset) { return function (id, items) {
44
- var _a;
45
- var item = exports.getItem(id, items);
46
- var currentIndex = items.findIndex(function (_a) {
47
- var id = _a.id;
48
- return item.id === id;
49
- });
50
- var nextIndex = currentIndex + offset;
51
- if (nextIndex < 0) {
52
- nextIndex = items.length - 1;
53
- }
54
- else if (nextIndex >= items.length) {
55
- nextIndex = 0;
56
- }
57
- var disabledAttribute = (_a = items[nextIndex].ref.current) === null || _a === void 0 ? void 0 : _a.getAttribute('disabled');
58
- if (disabledAttribute !== null || disabledAttribute === 'false') {
59
- // The next item is disabled, try again
60
- return getOffsetItem(offset)(items[nextIndex].id, items);
61
- }
62
- return items[nextIndex];
63
- }; };
64
- exports.hasItems = function (items) { return items.some(function (item) { return item.ref.current; }); };
65
- exports.getNext = getOffsetItem(1);
66
- exports.getPrevious = getOffsetItem(-1);
67
73
  exports.useCursorModel = function (config) {
68
74
  if (config === void 0) { config = {}; }
75
+ var _a;
69
76
  var orientation = react_1.default.useState(config.orientation || 'vertical')[0];
70
- var _a = react_1.default.useState(''), cursorId = _a[0], setCursorId = _a[1];
71
- var initialCurrentRef = react_1.default.useRef('');
77
+ var _b = react_1.default.useState(''), cursorId = _b[0], setCursorId = _b[1];
72
78
  var list = useListModel_1.useListModel(config);
79
+ var initialCurrentRef = react_1.default.useRef(config.initialCursorId || ((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) ? list.getId(config.items[0]) : '');
73
80
  var state = __assign(__assign({}, list.state), { orientation: orientation, cursorId: cursorId });
81
+ var navigation = exports.useCursorNavigation(state, list.getId);
74
82
  var events = common_1.useEventMap(exports.cursorEventMap, state, config, __assign(__assign({}, list.events), { registerItem: function (data) {
75
83
  // point the cursor at the first item
76
84
  if (!initialCurrentRef.current) {
77
- initialCurrentRef.current = data.item.id;
85
+ initialCurrentRef.current = list.getId(data.item);
78
86
  setCursorId(initialCurrentRef.current);
79
87
  }
80
88
  list.events.registerItem(data);
81
89
  },
82
- unregisterItem: function (data) {
83
- // move the cursor forward if the the cursor is pointing to an item that is being removed
84
- if (state.cursorId === data.id && state.items.some(function (i) { return i.ref.current !== null; })) {
85
- events.next();
86
- }
87
- list.events.unregisterItem(data);
88
- },
89
90
  goTo: function (_a) {
90
91
  var id = _a.id;
91
92
  setCursorId(id);
92
93
  },
93
94
  next: function () {
94
- setCursorId(exports.getNext(state.cursorId, state.items).id);
95
+ setCursorId(list.getId(navigation.getNext(state.cursorId)));
95
96
  },
96
97
  previous: function () {
97
- setCursorId(exports.getPrevious(state.cursorId, state.items).id);
98
+ setCursorId(list.getId(navigation.getPrevious(state.cursorId)));
98
99
  },
99
100
  first: function () {
100
- setCursorId(getFirst(state.items).id);
101
+ setCursorId(list.getId(navigation.getFirst()));
101
102
  },
102
103
  last: function () {
103
- setCursorId(getLast(state.items).id);
104
+ setCursorId(list.getId(navigation.getLast()));
104
105
  } }));
105
- return { state: state, events: events };
106
+ return { state: state, events: events, getId: list.getId };
106
107
  };
@@ -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"}