@workday/canvas-kit-react 5.3.17 → 5.4.0-next.1

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 (705) hide show
  1. package/action-bar/lib/ActionBar.tsx +42 -29
  2. package/avatar/lib/Avatar.tsx +4 -0
  3. package/button/lib/PrimaryButton.tsx +110 -32
  4. package/button/lib/SecondaryButton.tsx +31 -16
  5. package/button/lib/TertiaryButton.tsx +45 -35
  6. package/button/lib/parts/ButtonContainer.tsx +18 -5
  7. package/button/lib/parts/ButtonLabelIcon.tsx +34 -14
  8. package/button/lib/types.ts +11 -0
  9. package/checkbox/lib/Checkbox.tsx +1 -1
  10. package/common/README.md +78 -0
  11. package/common/index.ts +1 -0
  12. package/common/lib/EllipsisText.tsx +11 -0
  13. package/common/lib/parts/_brand-assets.ts +6 -6
  14. package/common/lib/styles/accessibleHide.ts +2 -2
  15. package/common/lib/theming/README.md +189 -25
  16. package/common/lib/theming/breakpoints.ts +296 -16
  17. package/common/lib/theming/types.ts +191 -1
  18. package/common/lib/utils/components.ts +50 -23
  19. package/common/lib/utils/elements.ts +5 -1
  20. package/common/lib/utils/index.ts +2 -0
  21. package/common/lib/utils/mergeProps.ts +4 -0
  22. package/common/lib/utils/useConstant.ts +18 -0
  23. package/common/lib/utils/useResizeObserver.ts +29 -0
  24. package/common/lib/utils/useUniqueId.ts +46 -4
  25. package/cookie-banner/README.md +15 -10
  26. package/cookie-banner/index.ts +3 -3
  27. package/cookie-banner/lib/CookieBanner.tsx +29 -4
  28. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  29. package/dist/commonjs/action-bar/lib/ActionBar.js +33 -22
  30. package/dist/commonjs/avatar/lib/Avatar.d.ts.map +1 -1
  31. package/dist/commonjs/avatar/lib/Avatar.js +3 -0
  32. package/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  33. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  34. package/dist/commonjs/button/lib/PrimaryButton.js +80 -26
  35. package/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  36. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  37. package/dist/commonjs/button/lib/SecondaryButton.js +22 -12
  38. package/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  39. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  40. package/dist/commonjs/button/lib/TertiaryButton.js +24 -19
  41. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  42. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  43. package/dist/commonjs/button/lib/parts/ButtonContainer.js +7 -9
  44. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  45. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  46. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  47. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  48. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +28 -13
  49. package/dist/commonjs/button/lib/types.d.ts +9 -0
  50. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  51. package/dist/commonjs/checkbox/lib/Checkbox.d.ts +1 -1
  52. package/dist/commonjs/common/index.d.ts +1 -0
  53. package/dist/commonjs/common/index.d.ts.map +1 -1
  54. package/dist/commonjs/common/index.js +1 -0
  55. package/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  56. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -0
  57. package/dist/commonjs/common/lib/EllipsisText.js +13 -0
  58. package/dist/commonjs/common/lib/parts/_brand-assets.d.ts.map +1 -1
  59. package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
  60. package/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  61. package/dist/commonjs/common/lib/styles/accessibleHide.d.ts.map +1 -1
  62. package/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  63. package/dist/commonjs/common/lib/theming/breakpoints.d.ts.map +1 -1
  64. package/dist/commonjs/common/lib/theming/breakpoints.js +192 -10
  65. package/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  66. package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
  67. package/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  68. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  69. package/dist/commonjs/common/lib/utils/components.js +12 -2
  70. package/dist/commonjs/common/lib/utils/elements.d.ts +2 -2
  71. package/dist/commonjs/common/lib/utils/elements.d.ts.map +1 -1
  72. package/dist/commonjs/common/lib/utils/elements.js +4 -1
  73. package/dist/commonjs/common/lib/utils/index.d.ts +2 -0
  74. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  75. package/dist/commonjs/common/lib/utils/index.js +2 -0
  76. package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
  77. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -0
  78. package/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  79. package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +1 -0
  80. package/dist/commonjs/common/lib/utils/useConstant.js +18 -0
  81. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  82. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  83. package/dist/commonjs/common/lib/utils/useResizeObserver.js +42 -0
  84. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts +28 -0
  85. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
  86. package/dist/commonjs/common/lib/utils/useUniqueId.js +42 -14
  87. package/dist/commonjs/cookie-banner/index.d.ts +3 -3
  88. package/dist/commonjs/cookie-banner/index.d.ts.map +1 -1
  89. package/dist/commonjs/cookie-banner/index.js +1 -1
  90. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  91. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  92. package/dist/commonjs/cookie-banner/lib/CookieBanner.js +19 -8
  93. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  94. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  95. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  96. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  97. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  98. package/dist/commonjs/form-field/lib/FormField.js +1 -2
  99. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  100. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  101. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  102. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  103. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  104. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  105. package/dist/commonjs/page-header/index.d.ts +3 -3
  106. package/dist/commonjs/page-header/index.d.ts.map +1 -1
  107. package/dist/commonjs/page-header/index.js +1 -1
  108. package/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  109. package/dist/commonjs/page-header/lib/PageHeader.d.ts.map +1 -1
  110. package/dist/commonjs/page-header/lib/PageHeader.js +18 -7
  111. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  112. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  113. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  114. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  115. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  116. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  117. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  118. package/dist/commonjs/popup/lib/PopupCard.js +2 -3
  119. package/dist/commonjs/popup/lib/hooks/focus-trap-js.d.ts.map +1 -1
  120. package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +1 -0
  121. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  122. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  123. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  124. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  125. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  126. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  127. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  128. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  129. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  130. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  131. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  132. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +1 -1
  133. package/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  134. package/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  135. package/dist/commonjs/table/lib/TableRow.d.ts +5 -4
  136. package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -1
  137. package/dist/commonjs/table/lib/TableRow.js +12 -26
  138. package/dist/commonjs/tabs/index.d.ts +5 -0
  139. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  140. package/dist/commonjs/tabs/index.js +11 -0
  141. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  142. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  143. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  144. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  145. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  146. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  147. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  148. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  149. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  150. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  151. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  152. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  153. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  154. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  155. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  156. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  157. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  158. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  159. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  160. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  161. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  162. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  163. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  164. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  165. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  166. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  167. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  168. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  169. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  170. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  171. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  172. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  173. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  174. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  175. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  176. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  177. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  178. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  179. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  180. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  181. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  182. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  183. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  184. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  185. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  186. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  187. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  188. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  189. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  190. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  191. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  192. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  193. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  194. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  195. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  196. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  197. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  198. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  199. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  200. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  201. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  202. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  203. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  204. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  205. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  206. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  207. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  208. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  209. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  210. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  211. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  212. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  213. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  214. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  215. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  216. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  217. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  218. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +126 -0
  219. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  220. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  221. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  222. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  223. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  224. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  225. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  226. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  227. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  228. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  229. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  230. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  231. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  232. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  233. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  234. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  235. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  236. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  237. package/dist/commonjs/tokens/index.d.ts +3 -20
  238. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  239. package/dist/commonjs/tokens/index.js +3 -6
  240. package/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  241. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  242. package/dist/commonjs/tokens/lib/depth.js +40 -5
  243. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  244. package/dist/commonjs/tooltip/lib/useTooltip.js +2 -5
  245. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  246. package/dist/es6/action-bar/lib/ActionBar.js +33 -22
  247. package/dist/es6/avatar/lib/Avatar.d.ts.map +1 -1
  248. package/dist/es6/avatar/lib/Avatar.js +3 -0
  249. package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  250. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  251. package/dist/es6/button/lib/PrimaryButton.js +81 -27
  252. package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  253. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  254. package/dist/es6/button/lib/SecondaryButton.js +22 -12
  255. package/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  256. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  257. package/dist/es6/button/lib/TertiaryButton.js +25 -20
  258. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  259. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
  260. package/dist/es6/button/lib/parts/ButtonContainer.js +7 -9
  261. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  262. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  263. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  264. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  265. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
  266. package/dist/es6/button/lib/types.d.ts +9 -0
  267. package/dist/es6/button/lib/types.d.ts.map +1 -1
  268. package/dist/es6/checkbox/lib/Checkbox.d.ts +1 -1
  269. package/dist/es6/common/index.d.ts +1 -0
  270. package/dist/es6/common/index.d.ts.map +1 -1
  271. package/dist/es6/common/index.js +1 -0
  272. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  273. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  274. package/dist/es6/common/lib/EllipsisText.js +8 -0
  275. package/dist/es6/common/lib/parts/_brand-assets.d.ts.map +1 -1
  276. package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
  277. package/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  278. package/dist/es6/common/lib/styles/accessibleHide.d.ts.map +1 -1
  279. package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  280. package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
  281. package/dist/es6/common/lib/theming/breakpoints.js +192 -10
  282. package/dist/es6/common/lib/theming/types.d.ts +191 -1
  283. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  284. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  285. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  286. package/dist/es6/common/lib/utils/components.js +12 -2
  287. package/dist/es6/common/lib/utils/elements.d.ts +2 -2
  288. package/dist/es6/common/lib/utils/elements.d.ts.map +1 -1
  289. package/dist/es6/common/lib/utils/elements.js +4 -1
  290. package/dist/es6/common/lib/utils/index.d.ts +2 -0
  291. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  292. package/dist/es6/common/lib/utils/index.js +2 -0
  293. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  294. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  295. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  296. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  297. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  298. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  299. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  300. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  301. package/dist/es6/common/lib/utils/useUniqueId.d.ts +28 -0
  302. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  303. package/dist/es6/common/lib/utils/useUniqueId.js +42 -4
  304. package/dist/es6/cookie-banner/index.d.ts +3 -3
  305. package/dist/es6/cookie-banner/index.d.ts.map +1 -1
  306. package/dist/es6/cookie-banner/index.js +3 -3
  307. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  308. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  309. package/dist/es6/cookie-banner/lib/CookieBanner.js +19 -8
  310. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  311. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  312. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  313. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  314. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  315. package/dist/es6/form-field/lib/FormField.js +2 -3
  316. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  317. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  318. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  319. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  320. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  321. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  322. package/dist/es6/page-header/index.d.ts +3 -3
  323. package/dist/es6/page-header/index.d.ts.map +1 -1
  324. package/dist/es6/page-header/index.js +3 -3
  325. package/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  326. package/dist/es6/page-header/lib/PageHeader.d.ts.map +1 -1
  327. package/dist/es6/page-header/lib/PageHeader.js +18 -7
  328. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  329. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  330. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  331. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  332. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  333. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  334. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  335. package/dist/es6/popup/lib/PopupCard.js +3 -4
  336. package/dist/es6/popup/lib/hooks/focus-trap-js.d.ts.map +1 -1
  337. package/dist/es6/popup/lib/hooks/focus-trap-js.js +1 -0
  338. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  339. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  340. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  341. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  342. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  343. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  344. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  345. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  346. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  347. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  348. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  349. package/dist/es6/popup/lib/hooks/useReturnFocus.js +1 -1
  350. package/dist/es6/radio/lib/Radio.d.ts +1 -1
  351. package/dist/es6/switch/lib/Switch.d.ts +1 -1
  352. package/dist/es6/table/lib/TableRow.d.ts +5 -4
  353. package/dist/es6/table/lib/TableRow.d.ts.map +1 -1
  354. package/dist/es6/table/lib/TableRow.js +12 -26
  355. package/dist/es6/tabs/index.d.ts +5 -0
  356. package/dist/es6/tabs/index.d.ts.map +1 -1
  357. package/dist/es6/tabs/index.js +5 -0
  358. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  359. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  360. package/dist/es6/tabs/lib/Tabs.js +28 -7
  361. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  362. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  363. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  364. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  365. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  366. package/dist/es6/tabs/lib/TabsList.js +44 -0
  367. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  368. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  369. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  370. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  371. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  372. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  373. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  374. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  375. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  376. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  377. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  378. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  379. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  380. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  381. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  382. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  383. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  384. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  385. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  386. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  387. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  388. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  389. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  390. package/dist/es6/tabs/lib/list/index.js +2 -1
  391. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  392. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  393. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  394. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  395. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  396. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  397. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  398. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  399. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  400. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  401. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  402. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  403. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  404. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  405. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  406. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  407. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  408. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  409. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  410. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  411. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  412. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  413. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  414. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  415. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  416. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  417. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  418. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  419. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  420. package/dist/es6/tabs/lib/menu/index.js +7 -0
  421. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  422. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  423. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  424. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  425. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  426. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  427. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  428. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  429. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  430. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  431. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  432. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  433. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  434. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  435. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +120 -0
  436. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  437. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  438. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  439. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  440. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  441. package/dist/es6/tabs/lib/selection/index.js +3 -0
  442. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  443. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  444. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  445. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  446. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  447. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  448. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  449. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  450. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  451. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  452. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  453. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  454. package/dist/es6/tokens/index.d.ts +3 -20
  455. package/dist/es6/tokens/index.d.ts.map +1 -1
  456. package/dist/es6/tokens/index.js +1 -1
  457. package/dist/es6/tokens/lib/depth.d.ts +109 -3
  458. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  459. package/dist/es6/tokens/lib/depth.js +40 -2
  460. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  461. package/dist/es6/tooltip/lib/useTooltip.js +2 -2
  462. package/form-field/lib/FormField.tsx +8 -3
  463. package/package.json +7 -7
  464. package/page-header/README.md +11 -6
  465. package/page-header/index.ts +3 -3
  466. package/page-header/lib/PageHeader.tsx +28 -3
  467. package/popup/lib/PopupCard.tsx +3 -3
  468. package/popup/lib/hooks/focus-trap-js.ts +1 -0
  469. package/popup/lib/hooks/useReturnFocus.tsx +1 -1
  470. package/radio/lib/Radio.tsx +1 -1
  471. package/switch/lib/Switch.tsx +1 -1
  472. package/table/lib/TableRow.tsx +19 -13
  473. package/tabs/index.ts +6 -0
  474. package/tabs/lib/Tabs.tsx +34 -9
  475. package/tabs/lib/TabsItem.tsx +250 -0
  476. package/tabs/lib/TabsList.tsx +67 -0
  477. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  478. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  479. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  480. package/tabs/lib/TabsPanels.tsx +28 -0
  481. package/tabs/lib/cursor/index.ts +1 -1
  482. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  483. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  484. package/tabs/lib/list/index.ts +2 -1
  485. package/tabs/lib/list/renderItem.tsx +19 -0
  486. package/tabs/lib/list/useListModel.tsx +48 -23
  487. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  488. package/tabs/lib/menu/Menu.tsx +95 -0
  489. package/tabs/lib/menu/MenuCard.tsx +96 -0
  490. package/tabs/lib/menu/MenuItem.tsx +195 -0
  491. package/tabs/lib/menu/MenuList.tsx +58 -0
  492. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  493. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  494. package/tabs/lib/menu/index.ts +8 -0
  495. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  496. package/tabs/lib/overflow/index.ts +4 -0
  497. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  498. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  499. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  500. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  501. package/tabs/lib/overflow/useOverflowModel.tsx +207 -0
  502. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  503. package/tabs/lib/selection/index.ts +3 -0
  504. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  505. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  506. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  507. package/tabs/lib/useTabsModel.tsx +93 -78
  508. package/tokens/README.md +5 -12
  509. package/tokens/index.ts +2 -2
  510. package/tokens/lib/depth.ts +125 -3
  511. package/tooltip/lib/useTooltip.tsx +2 -2
  512. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
  513. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
  514. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +8 -4
  515. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
  516. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  517. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  518. package/ts3.5/dist/commonjs/button/lib/types.d.ts +9 -0
  519. package/ts3.5/dist/commonjs/checkbox/lib/Checkbox.d.ts +1 -1
  520. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  521. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  522. package/ts3.5/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
  523. package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
  524. package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
  525. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  526. package/ts3.5/dist/commonjs/common/lib/utils/elements.d.ts +2 -2
  527. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +2 -0
  528. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  529. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  530. package/ts3.5/dist/commonjs/common/lib/utils/useUniqueId.d.ts +28 -0
  531. package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +3 -3
  532. package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +19 -2
  533. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  534. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  535. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  536. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  537. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  538. package/ts3.5/dist/commonjs/page-header/index.d.ts +3 -3
  539. package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +19 -2
  540. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  541. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  542. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  543. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  544. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  545. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  546. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  547. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  548. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  549. package/ts3.5/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  550. package/ts3.5/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  551. package/ts3.5/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  552. package/ts3.5/dist/commonjs/table/lib/TableRow.d.ts +5 -4
  553. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  554. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  555. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  556. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  557. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  558. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  559. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  560. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  561. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  562. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  563. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  564. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  565. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  566. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  567. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  568. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  569. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  570. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  571. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  572. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  573. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  574. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  575. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  576. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  577. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  578. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  579. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  580. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  581. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  582. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  583. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  584. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  585. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  586. package/ts3.5/dist/commonjs/tokens/index.d.ts +3 -20
  587. package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +109 -3
  588. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  589. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
  590. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
  591. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +8 -4
  592. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
  593. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  594. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
  595. package/ts3.5/dist/es6/button/lib/types.d.ts +9 -0
  596. package/ts3.5/dist/es6/checkbox/lib/Checkbox.d.ts +1 -1
  597. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  598. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  599. package/ts3.5/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
  600. package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
  601. package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
  602. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  603. package/ts3.5/dist/es6/common/lib/utils/elements.d.ts +2 -2
  604. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +2 -0
  605. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  606. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  607. package/ts3.5/dist/es6/common/lib/utils/useUniqueId.d.ts +28 -0
  608. package/ts3.5/dist/es6/cookie-banner/index.d.ts +3 -3
  609. package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +19 -2
  610. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  611. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  612. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  613. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  614. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  615. package/ts3.5/dist/es6/page-header/index.d.ts +3 -3
  616. package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +19 -2
  617. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  618. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  619. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  620. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  621. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  622. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  623. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  624. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  625. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  626. package/ts3.5/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  627. package/ts3.5/dist/es6/radio/lib/Radio.d.ts +1 -1
  628. package/ts3.5/dist/es6/switch/lib/Switch.d.ts +1 -1
  629. package/ts3.5/dist/es6/table/lib/TableRow.d.ts +5 -4
  630. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  631. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  632. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  633. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  634. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  635. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  636. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  637. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  638. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  639. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  640. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  641. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  642. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  643. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  644. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  645. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  646. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  647. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  648. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  649. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  650. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  651. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  652. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  653. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  654. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  655. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  656. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  657. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  658. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  659. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  660. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  661. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  662. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  663. package/ts3.5/dist/es6/tokens/index.d.ts +3 -20
  664. package/ts3.5/dist/es6/tokens/lib/depth.d.ts +109 -3
  665. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  666. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  667. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  668. package/dist/commonjs/tabs/lib/Tab.js +0 -95
  669. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  670. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  671. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  672. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  673. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  674. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  675. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  676. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  677. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  678. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  679. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  680. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  681. package/dist/es6/tabs/lib/Tab.js +0 -86
  682. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  683. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  684. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  685. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  686. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  687. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  688. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  689. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  690. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  691. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  692. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  693. package/tabs/lib/Tab.tsx +0 -170
  694. package/tabs/lib/TabList.tsx +0 -59
  695. package/tabs/lib/cursor/hooks.tsx +0 -122
  696. package/tabs/lib/hooks.tsx +0 -31
  697. package/tabs/lib/list/hooks.tsx +0 -45
  698. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  699. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  700. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  701. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  702. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  703. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  704. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  705. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
@@ -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"}
@@ -34,29 +34,34 @@ var rightToLeftMap = {
34
34
  };
35
35
  /**
36
36
  * Handles the roving focus behavior of a Cursor model. It should be added to the element
37
- * representing the list. It does not handle the tabIndex.
37
+ * representing a list item.
38
38
  *
39
39
  * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
40
40
  */
41
- exports.useRovingFocusList = function (model, elemProps) {
41
+ exports.useRovingFocus = common_1.createHook(function (_a, ref, elemProps) {
42
+ var state = _a.state, events = _a.events, getId = _a.getId;
42
43
  if (elemProps === void 0) { elemProps = {}; }
43
- var state = model.state, events = model.events;
44
+ // Tracks when this element has focus. If this item is removed while still focused, we have to
45
+ // inform the model to move the cursor to the next item.
46
+ var focusRef = react_1.default.useRef(false);
47
+ var getIdRef = react_1.default.useRef(getId);
48
+ // Create a ref out of state. We don't want to watch state on unmount, so we use a ref to get the
49
+ // current value at the time of unmounting. Otherwise, `state.items` would be a cached value of an
50
+ // empty array
44
51
  var stateRef = react_1.default.useRef(state);
45
52
  stateRef.current = state;
46
- // keep track of intentional focus changes. Without this state tracking, all changes to
47
- // `state.cursorId` or `state.items` would result in focus changes. That is definitely not what
48
- // we want.
49
53
  var keyDownRef = react_1.default.useRef(false);
50
54
  var isRTL = common_1.useIsRTL();
55
+ var navigation = useCursorModel_1.useCursorNavigation(state, getId);
51
56
  react_1.default.useEffect(function () {
52
57
  var _a;
53
58
  if (keyDownRef.current) {
54
- var item = useCursorModel_1.getItem(state.cursorId, state.items);
55
- (_a = item.ref.current) === null || _a === void 0 ? void 0 : _a.focus();
59
+ var item = navigation.getItem(state.cursorId);
60
+ (_a = document.querySelector("#" + state.id + "-" + getIdRef.current(item))) === null || _a === void 0 ? void 0 : _a.focus();
56
61
  keyDownRef.current = false;
57
62
  }
58
- }, [state.cursorId, state.items]);
59
- return common_1.mergeProps({
63
+ }, [state.cursorId, state.id, navigation]);
64
+ return {
60
65
  onKeyDown: function (event) {
61
66
  Object.keys(exports.orientationKeyMap[state.orientation]).forEach(function (key) {
62
67
  var _a;
@@ -67,47 +72,18 @@ exports.useRovingFocusList = function (model, elemProps) {
67
72
  }
68
73
  });
69
74
  },
70
- }, elemProps);
71
- };
72
- /**
73
- * Handles the roving focus behavior of a Cursor model. It should be added to the element
74
- * representing a list item. It does not handle the tabIndex.
75
- *
76
- * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
77
- */
78
- exports.useRovingFocusItem = function (_a, elemProps) {
79
- var state = _a.state;
80
- if (elemProps === void 0) { elemProps = {}; }
81
- // Tracks when this element has focus. If this item is removed while still focused, we have to
82
- // inform the model to move the cursor to the next item.
83
- var focusRef = react_1.default.useRef(false);
84
- // Create a ref out of state. We don't want to watch state on unmount, so we use a ref to get the
85
- // current value at the time of unmounting. Otherwise, `state.items` would be a cached value of an
86
- // empty array
87
- var stateRef = react_1.default.useRef(state);
88
- stateRef.current = state;
89
- common_1.useMount(function () {
90
- return function () {
91
- if (focusRef.current && stateRef.current.items.length) {
92
- // Unmount is called before state updates are flushed and we'll never get the last state
93
- // update, so use `getNext` instead of `getItem`
94
- var item_1 = useCursorModel_1.getNext(stateRef.current.cursorId, stateRef.current.items);
95
- // If we call `focus` right away, there seems to be a timing issue where the focus handler
96
- // never gets called. Waiting until just before a frame is rendered seems to ensure the
97
- // focus handler is called correctly. Removing will make deleting multiple items fail.
98
- requestAnimationFrame(function () {
99
- var _a;
100
- (_a = item_1.ref.current) === null || _a === void 0 ? void 0 : _a.focus();
101
- });
102
- }
103
- };
104
- });
105
- return common_1.mergeProps({
106
- onFocus: function (event) {
75
+ onFocus: function () {
107
76
  focusRef.current = true;
108
77
  },
109
- onBlur: function (event) {
78
+ onBlur: function () {
110
79
  focusRef.current = false;
111
80
  },
112
- }, elemProps);
113
- };
81
+ id: state.id + "-" + elemProps.name,
82
+ tabIndex: !state.cursorId
83
+ ? 0 // cursor isn't known yet, be safe and mark this as focusable
84
+ : !!elemProps.name && state.cursorId === elemProps.name
85
+ ? 0 // A name is known and cursor is here
86
+ : -1,
87
+ ref: ref,
88
+ };
89
+ });
@@ -1,3 +1,4 @@
1
- export * from './hooks';
1
+ export * from './useListRegisterItem';
2
2
  export * from './useListModel';
3
+ export * from './renderItem';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -3,5 +3,6 @@ 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("./useListRegisterItem"));
7
7
  __export(require("./useListModel"));
8
+ __export(require("./renderItem"));
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ListModel } from './useListModel';
3
+ export declare function useRenderItems<T>(model: ListModel<T>, children: ((item: T) => React.ReactNode) | React.ReactNode): {} | null | undefined;
4
+ //# sourceMappingURL=renderItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderItem.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/list/renderItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,yBAY3D"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ function useRenderItems(model, children) {
8
+ var items = react_1.default.useMemo(function () {
9
+ return typeof children === 'function'
10
+ ? model.state.items.map(function (item) { return react_1.default.cloneElement(children(item), { key: model.getId(item) }); })
11
+ : null;
12
+ // If we added `children` as a dependency, this memo would be useless. If the user wants the
13
+ // item to rerender, the item and items array needs to be updated.
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ }, [model.state.items]);
16
+ return items || children;
17
+ }
18
+ exports.useRenderItems = useRenderItems;