@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,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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
28
+ var __importStar = (this && this.__importStar) || function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
32
+ result["default"] = mod;
33
+ return result;
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ var React = __importStar(require("react"));
37
+ var core_1 = require("@emotion/core");
38
+ var card_1 = require("@workday/canvas-kit-react/card");
39
+ var tokens_1 = require("@workday/canvas-kit-react/tokens");
40
+ var common_1 = require("@workday/canvas-kit-react/common");
41
+ var popup_1 = require("@workday/canvas-kit-react/popup");
42
+ var Menu_1 = require("./Menu");
43
+ var popupAnimation = function (transformOrigin) {
44
+ var translate = common_1.getTranslateFromOrigin(transformOrigin, tokens_1.space.xxs);
45
+ return core_1.keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% {\n opacity: 0;\n transform: translate(", "px, ", "px);\n }\n 100% {\n opacity: 1;\n transform: translate(0);\n }\n "], ["\n 0% {\n opacity: 0;\n transform: translate(", "px, ", "px);\n }\n 100% {\n opacity: 1;\n transform: translate(0);\n }\n "])), translate.x, translate.y);
46
+ };
47
+ var StyledCard = common_1.styled(card_1.Card)(tokens_1.type.levels.subtext.large, {
48
+ position: 'relative',
49
+ display: 'flex',
50
+ flexDirection: 'column',
51
+ }, function (_a) {
52
+ var transformOrigin = _a.transformOrigin;
53
+ if (transformOrigin == null) {
54
+ return {};
55
+ }
56
+ return {
57
+ animation: popupAnimation(transformOrigin),
58
+ animationDuration: '150ms',
59
+ animationTimingFunction: 'ease-out',
60
+ transformOrigin: transformOrigin.vertical + " " + transformOrigin.horizontal,
61
+ // Allow overriding of animation in special cases
62
+ '.wd-no-animation &': {
63
+ animation: 'none',
64
+ },
65
+ };
66
+ });
67
+ exports.MenuCard = common_1.createComponent('div')({
68
+ displayName: 'Menu.Card',
69
+ Component: function (_a, ref, Element) {
70
+ var children = _a.children, model = _a.model, _b = _a.padding, padding = _b === void 0 ? 'zero' : _b, elemProps = __rest(_a, ["children", "model", "padding"]);
71
+ var localModel = common_1.useModelContext(Menu_1.MenuModelContext, model);
72
+ var props = exports.useMenuCard(localModel, elemProps, ref);
73
+ var transformOrigin = React.useMemo(function () {
74
+ return popup_1.getTransformFromPlacement(localModel.state.placement || 'bottom');
75
+ }, [localModel.state.placement]);
76
+ return (React.createElement(StyledCard, __assign({ maxWidth: "calc(100vw - " + tokens_1.space.l + ")", as: Element, transformOrigin: transformOrigin, padding: padding }, props), children));
77
+ },
78
+ });
79
+ exports.useMenuCard = common_1.createHook(function (_) {
80
+ return {};
81
+ });
82
+ var templateObject_1;
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ import { SystemIcon } from '@workday/canvas-kit-react/icon';
3
+ import { MenuModel } from './useMenuModel';
4
+ export interface MenuItemProps<T = unknown> {
5
+ /**
6
+ * Optionally pass index to menu item. This should be done if `Menu.Item` components were created
7
+ * via a `Array::map` function. This index will ensure keyboard navigation works even if items are
8
+ * inserted out of order.
9
+ */
10
+ index?: number;
11
+ /**
12
+ * The label text of the MenuItem.
13
+ */
14
+ children: React.ReactNode;
15
+ /**
16
+ * The name of the menu item. This name will be used in the `onSelect` callback in the model. If
17
+ * this property is not provided, it will default to a string representation of the the zero-based
18
+ * index of the Tab when it was initialized.
19
+ */
20
+ name?: string;
21
+ /**
22
+ * Optionally pass a model directly to this component. Default is to implicitly use the same
23
+ * model as the container component which uses React context. Only use this for advanced use-cases
24
+ */
25
+ model?: MenuModel<T>;
26
+ 'aria-disabled'?: boolean;
27
+ /**
28
+ * Use `hasIcon={true}` when the Tab item contains an icon. This instructs the tab item to render
29
+ * children as a flex container to accommodate icons. You will have to use `Tabs.Item.Text` as a
30
+ * child element if this is set to true.
31
+ *
32
+ * @example
33
+ * <Menu.Item hasIcon>
34
+ * <Menu.Item.Icon icon={someIcon} />
35
+ * <Menu.Item.Text>Tab Text</Menu.Item.Text>
36
+ * </Menu.Item>
37
+ */
38
+ hasIcon?: boolean;
39
+ }
40
+ export declare const MenuItem: import("../../../common").ElementComponent<"button", MenuItemProps<unknown>> & {
41
+ Icon: typeof SystemIcon;
42
+ 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>;
43
+ };
44
+ export declare const useMenuItem: <P extends {}, R>(model: import("../list").ListModel<unknown>, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => {
45
+ role: string;
46
+ } & {
47
+ onClick: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
48
+ } & {
49
+ onKeyDown(event: React.KeyboardEvent<Element>): void;
50
+ onFocus(): void;
51
+ onBlur(): void;
52
+ id: string;
53
+ tabIndex: number;
54
+ ref: ((instance: any) => void) | React.RefObject<any> | null | undefined;
55
+ } & {
56
+ 'data-name': string;
57
+ name: string;
58
+ disabled: boolean | undefined;
59
+ } & P & (R extends HTMLOrSVGElement ? {
60
+ ref: React.Ref<R>;
61
+ } : {});
62
+ //# sourceMappingURL=MenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../../tabs/lib/menu/MenuItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAM1D,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAIzC,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2FD,eAAO,MAAM,QAAQ;;;CAkCnB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;OASvB,CAAC"}