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