@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
@@ -32,12 +32,202 @@ export interface CanvasTheme {
32
32
  success: CanvasThemePalette;
33
33
  neutral: CanvasThemePalette;
34
34
  };
35
+ /**
36
+ * ### Theme Breakpoints
37
+ *
38
+ * Breakpoints are used by media queries to conditionally apply or modify styles based on the viewport width.
39
+ * This allows the UI to be responsive to various screen sizes.
40
+ *
41
+ * This breakpoints object contains `values` and several helper functions: `up`, `down`, `between`, and `only`.
42
+ * You can find more detailed information by inspecting individual values and functions.
43
+ */
35
44
  breakpoints: {
45
+ /**
46
+ * ### Breakpoint Values
47
+ *
48
+ * This object provides five breakpoint values
49
+ * that correspond to the min-widths of our standard screen sizes.
50
+ *
51
+ * - `zero`: 0
52
+ * - `s`: 320
53
+ * - `m`: 768
54
+ * - `l`: 1024
55
+ * - `xl`: 1440
56
+ *
57
+ * And these are our standard screen size ranges:
58
+ *
59
+ * - `small` (320px - 767px) Used for mobile-sized screens
60
+ * - `medium` (768px - 1023px) Used for tablet-sized screens
61
+ * - `large` - (1024px - 1439px) Used for laptop and small desktop screens
62
+ * - `extra-large` (≥1440px) Used for very large screens
63
+ *
64
+ * Note: Some applications may only require a subset of screen sizes and not use all breakpoints.
65
+ *
66
+ */
36
67
  values: CanvasBreakpoints;
68
+ /**
69
+ * ### Up
70
+ *
71
+ * _Returns a media query above the `min-width` for the range of a given breakpoint_
72
+ *
73
+ * Given a `start` breakpoint key ("zero", "s", "m", "l", "xl"),
74
+ * this function returns a media query (string) using a `min-width`.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * import { useTheme } from '@workday/canvas-kit-react/common';
79
+ * import { space } from '@workday/canvas-kit-react/tokens';
80
+ *
81
+ * const theme = useTheme();
82
+ * const { up } = theme.canvas.breakpoints;
83
+ * const mediaQuery = up('l'); // Returns '@media (min-width: 1024px)'
84
+ * const styles = {
85
+ * [mediaQuery]: {
86
+ * padding: space.m,
87
+ * }
88
+ * };
89
+ * ```
90
+ */
37
91
  up: (key: BreakpointFnParam) => string;
92
+ /**
93
+ * ### Down
94
+ *
95
+ * _Returns a media query below the `max-width` for the range of a given breakpoint_
96
+ *
97
+ * Given an `end` breakpoint key ("zero", "s", "m", "l", "xl"),
98
+ * this function returns a media query (string) using a `max-width`.
99
+ *
100
+ * Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
101
+ * For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
102
+ *
103
+ * If the `xl` breakpoint is provided, this function returns a media query with only a `min-width` of `0`,
104
+ * as seen in the second example below.
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * import { useTheme } from '@workday/canvas-kit-react/common';
109
+ * import { space } from '@workday/canvas-kit-react/tokens';
110
+ *
111
+ * const theme = useTheme();
112
+ * const { down } = theme.canvas.breakpoints;
113
+ * const mediaQuery = down('m'); // Returns '@media (max-width: 1023.5px)'
114
+ * const styles = {
115
+ * [mediaQuery]: {
116
+ * padding: space.m,
117
+ * }
118
+ * };
119
+ * ```
120
+ *
121
+ * This example uses the `xl` breakpoint and only adds a `min-width` of `0` to the media query.
122
+ * @example
123
+ * ```ts
124
+ * import { useTheme } from '@workday/canvas-kit-react/common';
125
+ * import { space } from '@workday/canvas-kit-react/tokens';
126
+ *
127
+ * const theme = useTheme();
128
+ * const { down } = theme.canvas.breakpoints;
129
+ * const mediaQuery = down('xl'); // Returns '@media (min-width: 0)'
130
+ * const styles = {
131
+ * [mediaQuery]: {
132
+ * padding: space.m,
133
+ * }
134
+ * };
135
+ * ```
136
+ */
38
137
  down: (key: BreakpointFnParam) => string;
39
- only: (key: BreakpointFnParam) => string;
138
+ /**
139
+ * ### Between
140
+ *
141
+ * _Returns a media query between two given breakpoints_
142
+ *
143
+ * Given `start` and `end` breakpoint keys ("zero", "s", "m", "l", "xl"),
144
+ * this function returns a media query (string) using a min-width and max-width.
145
+ *
146
+ * Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
147
+ * For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
148
+ *
149
+ * If the `xl` breakpoint is provided, this function returns a media query with only a `min-width`,
150
+ * as seen in the second example below.
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * import { useTheme } from '@workday/canvas-kit-react/common';
155
+ * import { space } from '@workday/canvas-kit-react/tokens';
156
+ *
157
+ * const theme = useTheme();
158
+ * const { between } = theme.canvas.breakpoints;
159
+ * // Returns '@media (min-width: 320px) and (max-width: 1023.5px)'
160
+ * const mediaQuery = between('s', 'm');
161
+ * const styles = {
162
+ * [mediaQuery]: {
163
+ * padding: space.s,
164
+ * }
165
+ * };
166
+ * ```
167
+ *
168
+ * This example uses `xl` as the `end` breakpoint and only adds a min-width to the media query.
169
+ * @example
170
+ * ```ts
171
+ * import { useTheme } from '@workday/canvas-kit-react/common';
172
+ * import { space } from '@workday/canvas-kit-react/tokens';
173
+ *
174
+ * const theme = useTheme();
175
+ * const { between } = theme.canvas.breakpoints;
176
+ * const mediaQuery = between('m', 'xl'); // Returns '@media (min-width: 768px)'
177
+ * const styles = {
178
+ * [mediaQuery]: {
179
+ * padding: space.s,
180
+ * }
181
+ * };
182
+ * ```
183
+ */
40
184
  between: (start: BreakpointFnParam, end: BreakpointFnParam) => string;
185
+ /**
186
+ * ### Only
187
+ *
188
+ * _Returns a media query with a `min-width` and `max-width` for a given breakpoint_
189
+ *
190
+ * Given a breakpoint key ("zero", "s", "m", "l", "xl"),
191
+ * this function returns a media query (string) using a `min-width` and `max-width`.
192
+ *
193
+ * Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
194
+ * For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
195
+ *
196
+ * If the `xl` breakpoint is provided, this function returns a media query with only a `min-width` of `1440px`,
197
+ * as seen in the second example below.
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * import { useTheme } from '@workday/canvas-kit-react/common';
202
+ * import { space } from '@workday/canvas-kit-react/tokens';
203
+ *
204
+ * const theme = useTheme();
205
+ * const { only } = theme.canvas.breakpoints;
206
+ * const mediaQuery = only('s'); // Returns '@media (min-width: 320px) and (max-width: 767.5px)'
207
+ * const styles = {
208
+ * [mediaQuery]: {
209
+ * padding: space.s,
210
+ * }
211
+ * };
212
+ * ```
213
+ *
214
+ * This example uses the `xl` breakpoint and only adds a `min-width` of `1440px` to the media query.
215
+ * @example
216
+ * ```ts
217
+ * import { useTheme } from '@workday/canvas-kit-react/common';
218
+ * import { space } from '@workday/canvas-kit-react/tokens';
219
+ *
220
+ * const theme = useTheme();
221
+ * const { only } = theme.canvas.breakpoints;
222
+ * const mediaQuery = only('xl'); // Returns '@media (min-width: 1440px)'
223
+ * const styles = {
224
+ * [mediaQuery]: {
225
+ * padding: space.s,
226
+ * }
227
+ * };
228
+ * ```
229
+ */
230
+ only: (key: BreakpointFnParam) => string;
41
231
  };
42
232
  direction: ContentDirection;
43
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEnE;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,MAAM,EAAE,wBAAwB,CAAC;QACjC,OAAO,EAAE,kBAAkB,CAAC;QAC5B,KAAK,EAAE,kBAAkB,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;QAC1B,OAAO,EAAE,kBAAkB,CAAC;QAC5B,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE,iBAAiB,CAAC;QAC1B,EAAE,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACvC,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACzC,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACzC,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;KACvE,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;GAEG;AACH,aAAK,gBAAgB,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,oBAAY,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC/D,oBAAY,yBAAyB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,oBAAY,yBAAyB,GAAG;IAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAAC,CAAC;AACtE,oBAAY,kBAAkB,GAAG;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEnE;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,MAAM,EAAE,wBAAwB,CAAC;QACjC,OAAO,EAAE,kBAAkB,CAAC;QAC5B,KAAK,EAAE,kBAAkB,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;QAC1B,OAAO,EAAE,kBAAkB,CAAC;QAC5B,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF;;;;;;;;OAQG;IACH,WAAW,EAAE;QACX;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,MAAM,EAAE,iBAAiB,CAAC;QAC1B;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,EAAE,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4CG;QACH,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA6CG;QACH,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;QACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4CG;QACH,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC;KAC1C,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;GAEG;AACH,aAAK,gBAAgB,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,oBAAY,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC/D,oBAAY,yBAAyB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,oBAAY,yBAAyB,GAAG;IAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAAC,CAAC;AACtE,oBAAY,kBAAkB,GAAG;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,CAAC"}
@@ -79,6 +79,7 @@ export declare type ElementComponent<T extends React.ElementType, P> = {
79
79
  }): JSX.Element;
80
80
  (props: PropsWithAs<P, T>): JSX.Element;
81
81
  displayName?: string;
82
+ as<E extends React.ElementType>(as: E): ElementComponent<E, P>;
82
83
  };
83
84
  export declare type Component<P> = {
84
85
  __type: 'Component';
@@ -107,7 +108,7 @@ interface RefForwardingComponent<T, P = {}> {
107
108
  * return type is `Component<element, Props>` which looks like `Component<'div', Props>` which is a
108
109
  * clean interface that tells you the default element that is used.
109
110
  */
110
- export declare const createComponent: <E extends "symbol" | "object" | "button" | "meter" | "textarea" | "style" | "progress" | "text" | "ruby" | "table" | "small" | "sub" | "circle" | "embed" | "pre" | "caption" | "menu" | "menuitem" | "big" | "link" | "sup" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "blockquote" | "body" | "br" | "canvas" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "main" | "map" | "mark" | "meta" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "q" | "rp" | "rt" | "s" | "samp" | "script" | "section" | "select" | "source" | "span" | "strong" | "summary" | "template" | "tbody" | "td" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "clipPath" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "filter" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "marker" | "mask" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | ElementComponent<any, any> | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined = undefined>(as?: E | undefined) => <P, SubComponents = {}>({ displayName, Component, subComponents, }: {
111
+ export declare const createComponent: <E extends "symbol" | "object" | "button" | "meter" | "textarea" | "style" | "progress" | "text" | "ruby" | "table" | "small" | "sub" | "circle" | "embed" | "pre" | "caption" | "menu" | "menuitem" | "clipPath" | "filter" | "mask" | "marker" | "big" | "link" | "sup" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "blockquote" | "body" | "br" | "canvas" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "main" | "map" | "mark" | "meta" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "q" | "rp" | "rt" | "s" | "samp" | "slot" | "script" | "section" | "select" | "source" | "span" | "strong" | "summary" | "template" | "tbody" | "td" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | ElementComponent<any, any> | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined = undefined>(as?: E | undefined) => <P, SubComponents = {}>({ displayName, Component, subComponents, }: {
111
112
  /** This is what the component will look like in the React dev tools. Encouraged to more easily
112
113
  * understand the component tree */
113
114
  displayName?: string | undefined;
@@ -169,10 +170,19 @@ export declare const createComponent: <E extends "symbol" | "object" | "button"
169
170
  *
170
171
  * @param fn Function that takes a model and optional ref and returns props
171
172
  */
172
- export declare const createHook: <M extends Model<any, any>, PO extends {}, PI extends {}>(fn: (model: M, ref?: ((instance: any) => void) | React.RefObject<any> | null | undefined, elemProps?: PI | undefined) => PO) => BehaviorHook<M, PO>;
173
- export declare type BehaviorHook<M extends Model<any, any>, O extends {}> = <P extends {}, R>(model: M, elemProps?: P, ref?: React.Ref<R>) => O & P & (R extends HTMLOrSVGElement ? {
173
+ export declare const createHook: <M extends Model<any, any>, PO extends {}, PI extends {}>(fn: (model: M, ref?: ((instance: any) => void) | React.RefObject<any> | null | undefined, elemProps?: PI | undefined) => PO) => <P extends {}, R>(model: M, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => PO & P & (R extends HTMLOrSVGElement ? {
174
174
  ref: React.Ref<R>;
175
175
  } : {});
176
+ export declare const subModelHook: <M extends Model<any, any>, SM extends Model<any, any>, O extends {}>(fn: (model: M) => SM, hook: <P extends {}, R>(model: SM, elemProps?: P | undefined, ref?: ((instance: R | null) => void) | React.RefObject<R> | null | undefined) => O & P & (R extends HTMLOrSVGElement ? {
177
+ ref: React.Ref<R>;
178
+ } : {})) => <P_1 extends {}, R_1>(model: M, elemProps?: P_1 | undefined, ref?: ((instance: R_1 | null) => void) | React.RefObject<R_1> | null | undefined) => O & P_1 & (R_1 extends HTMLOrSVGElement ? {
179
+ ref: React.Ref<R_1>;
180
+ } : {});
181
+ export declare type BehaviorHook<M extends Model<any, any>, O extends {}> = {
182
+ bivarianceHack<P extends {}, R>(model: M, elemProps?: P, ref?: React.Ref<R>): O & P & (R extends HTMLOrSVGElement ? {
183
+ ref: React.Ref<R>;
184
+ } : {});
185
+ }['bivarianceHack'];
176
186
  /**
177
187
  * This function will create a new forked ref out of two input Refs. This is useful for components
178
188
  * that use `React.forwardRef`, but also need internal access to a Ref.
@@ -197,7 +207,7 @@ export declare type BehaviorHook<M extends Model<any, any>, O extends {}> = <P e
197
207
  * return <div ref={elementRef}/>
198
208
  * })
199
209
  */
200
- export declare function useForkRef<T>(ref1?: React.Ref<T>, ref2?: React.Ref<T>): (instance: T) => void;
210
+ export declare function useForkRef<T>(ref1?: React.Ref<T>, ref2?: React.Ref<T>): React.RefCallback<T>;
201
211
  /**
202
212
  * This functions handles the common use case where a component needs a local ref and needs to
203
213
  * forward a ref to an element.
@@ -214,7 +224,7 @@ export declare function useForkRef<T>(ref1?: React.Ref<T>, ref2?: React.Ref<T>):
214
224
  */
215
225
  export declare function useLocalRef<T>(ref?: React.Ref<T>): {
216
226
  localRef: React.RefObject<T>;
217
- elementRef: (instance: T) => void;
227
+ elementRef: (instance: T | null) => void;
218
228
  };
219
229
  /**
220
230
  * Returns a model, or calls the model hook with config. Clever way around the conditional React
@@ -260,9 +270,9 @@ export declare function useModelContext<T>(context: React.Context<T>, model?: T)
260
270
  * return <div id="foo" {...props}>{children}</div>
261
271
  * })
262
272
  */
263
- export declare function composeHooks<M extends Model<any, any>, O1 extends {}, P extends {}, O2 extends {}>(hook1: (model: M, props: P, ref: React.Ref<any>) => O1, hook2: (model: M, props: P, ref: React.Ref<any>) => O2): BehaviorHook<M, O1 & O2>;
264
- export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}>(hook1: (model: M, props: P, ref: React.Ref<R>) => O1, hook2: (model: M, props: P, ref: React.Ref<R>) => O2, hook3: (model: M, props: P, ref: React.Ref<R>) => O3): BehaviorHook<M, O1 & O2 & O3>;
265
- export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}, O4 extends {}>(hook1: (model: M, props: P, ref: React.Ref<R>) => O1, hook2: (model: M, props: P, ref: React.Ref<R>) => O2, hook3: (model: M, props: P, ref: React.Ref<R>) => O3, hook4: (model: M, props: P, ref: React.Ref<R>) => O4): BehaviorHook<M, O1 & O2 & O3 & O4>;
266
- export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}, O4 extends {}, O5 extends {}>(hook1: (model: M, props: P, ref: React.Ref<R>) => O1, hook2: (model: M, props: P, ref: React.Ref<R>) => O2, hook3: (model: M, props: P, ref: React.Ref<R>) => O3, hook4: (model: M, props: P, ref: React.Ref<R>) => O4, hook5: (model: M, props: P, ref: React.Ref<R>) => O5): BehaviorHook<M, O1 & O2 & O3 & O4 & O5>;
273
+ export declare function composeHooks<M extends Model<any, any>, O1 extends {}, O2 extends {}>(hook1: BehaviorHook<M, O1>, hook2: BehaviorHook<M, O2>): BehaviorHook<M, O1 & O2>;
274
+ export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}>(hook1: BehaviorHook<M, O1>, hook2: BehaviorHook<M, O2>, hook3: BehaviorHook<M, O3>): BehaviorHook<M, O1 & O2 & O3>;
275
+ export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}, O4 extends {}>(hook1: BehaviorHook<M, O1>, hook2: BehaviorHook<M, O2>, hook3: BehaviorHook<M, O3>, hook4: BehaviorHook<M, O4>): BehaviorHook<M, O1 & O2 & O3 & O4>;
276
+ export declare function composeHooks<M extends Model<any, any>, R, P extends {}, O1 extends {}, O2 extends {}, O3 extends {}, O4 extends {}, O5 extends {}>(hook1: BehaviorHook<M, O1>, hook2: BehaviorHook<M, O2>, hook3: BehaviorHook<M, O3>, hook4: BehaviorHook<M, O4>, hook5: BehaviorHook<M, O5>): BehaviorHook<M, O1 & O2 & O3 & O4 & O5>;
267
277
  export {};
268
278
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/components.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,11 @@ export var createComponent = function (as) { return function (_a) {
41
41
  ReturnedComponent[key] = subComponents[key];
42
42
  });
43
43
  ReturnedComponent.displayName = displayName;
44
+ // The `any`s are here because `ElementComponent` takes care of the `as` type and the
45
+ // `ReturnComponent` type is overridden
46
+ ReturnedComponent.as = function (as) {
47
+ return createComponent(as)({ displayName: displayName, Component: Component, subComponents: subComponents });
48
+ };
44
49
  // Cast as `any`. We have already specified the return type. Be careful making changes to this
45
50
  // file due to this `any` `ReturnedComponent` is a `React.ForwardRefExoticComponent`, but we want
46
51
  // it to be either an `Component` or `ElementComponent`
@@ -83,13 +88,18 @@ export var createComponent = function (as) { return function (_a) {
83
88
  export var createHook = function (fn) {
84
89
  return function (model, elemProps, ref) {
85
90
  var props = mergeProps(fn(model, ref, elemProps || {}), elemProps || {});
86
- if (!props.hasOwnProperty('ref')) {
91
+ if (!props.hasOwnProperty('ref') && ref) {
87
92
  // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
88
93
  props.ref = ref;
89
94
  }
90
95
  return props;
91
96
  };
92
97
  };
98
+ export var subModelHook = function (fn, hook) {
99
+ return function (model, props, ref) {
100
+ return hook(fn(model), props, ref);
101
+ };
102
+ };
93
103
  function setRef(ref, value) {
94
104
  if (ref) {
95
105
  if (typeof ref === 'function') {
@@ -191,7 +201,7 @@ export function composeHooks() {
191
201
  var returnProps = __spreadArrays(hooks).reverse().reduce(function (props, hook) {
192
202
  return hook(model, props, props.ref || ref);
193
203
  }, props);
194
- if (!returnProps.hasOwnProperty('ref')) {
204
+ if (!returnProps.hasOwnProperty('ref') && ref) {
195
205
  // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
196
206
  returnProps.ref = ref;
197
207
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Is an element focusable? This function performs various tests to see if the element in question
3
- * can receive focus.
3
+ * can receive focus. Should skip disabled elements as they are not focusable.
4
4
  */
5
- export declare const isFocusable: (element: HTMLElement) => boolean;
5
+ export declare const isFocusable: (element: HTMLElement) => boolean | null;
6
6
  /**
7
7
  * Get the first focusable element in a container.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/elements.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,mCAwBvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,gDAWpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,gDAWnC,CAAC"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/elements.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,0CA4BvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,gDAWpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,gDAWnC,CAAC"}
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * Is an element focusable? This function performs various tests to see if the element in question
3
- * can receive focus.
3
+ * can receive focus. Should skip disabled elements as they are not focusable.
4
4
  */
5
5
  export var isFocusable = function (element) {
6
+ if (element.hasAttribute('disabled')) {
7
+ return null;
8
+ }
6
9
  var nodeName = element.nodeName.toLowerCase();
7
10
  var validInput = nodeName === 'input' && element.getAttribute('type') !== 'hidden';
8
11
  var validAnchor = nodeName === 'a' && element.hasAttribute('href');
@@ -10,7 +10,9 @@ export * from './useMount';
10
10
  export * from './components';
11
11
  export * from './models';
12
12
  export * from './elements';
13
+ export * from './useConstant';
13
14
  export * from './useIsFullscreen';
14
15
  export * from './useWindowSize';
16
+ export * from './useResizeObserver';
15
17
  export * from './StaticStates';
16
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -10,6 +10,8 @@ export * from './useMount';
10
10
  export * from './components';
11
11
  export * from './models';
12
12
  export * from './elements';
13
+ export * from './useConstant';
13
14
  export * from './useIsFullscreen';
14
15
  export * from './useWindowSize';
16
+ export * from './useResizeObserver';
15
17
  export * from './StaticStates';
@@ -1 +1 @@
1
- {"version":3,"file":"mergeProps.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/mergeProps.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC3D,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,GACb,CAAC,GAAG,CAAC,CAoCP"}
1
+ {"version":3,"file":"mergeProps.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/mergeProps.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC3D,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,GACb,CAAC,GAAG,CAAC,CAwCP"}
@@ -44,6 +44,11 @@ export function mergeProps(targetProps, sourceProps) {
44
44
  typeof targetProps[key] === 'function') {
45
45
  // we don't support removing callbacks via `undefined`, so do nothing here
46
46
  }
47
+ else if (key === 'ref' && sourceProps.hasOwnProperty('ref')) {
48
+ // refs should never be overridden. This doesn't happen normally, but happens with hook
49
+ // composition
50
+ returnProps.ref = returnProps.ref || sourceProps.ref;
51
+ }
47
52
  else {
48
53
  // @ts-ignore TS has more object constraint complaints that aren't useful here
49
54
  returnProps[key] = sourceProps[key];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Get a constant value in React, only running the callback function once. `React.useMemo` does not
3
+ * guarantee that a function will only be run once.
4
+ *
5
+ * @example
6
+ * const value = useConstant(generateUniqueId)
7
+ */
8
+ export declare function useConstant<T>(fn: () => T): T;
9
+ //# sourceMappingURL=useConstant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConstant.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/useConstant.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ7C"}
@@ -0,0 +1,15 @@
1
+ import { useRef } from 'react';
2
+ /**
3
+ * Get a constant value in React, only running the callback function once. `React.useMemo` does not
4
+ * guarantee that a function will only be run once.
5
+ *
6
+ * @example
7
+ * const value = useConstant(generateUniqueId)
8
+ */
9
+ export function useConstant(fn) {
10
+ var ref = useRef();
11
+ if (!ref.current) {
12
+ ref.current = fn();
13
+ }
14
+ return ref.current;
15
+ }
@@ -0,0 +1,3 @@
1
+ import useResizeObserverOriginal from 'use-resize-observer';
2
+ export declare const useResizeObserver: typeof useResizeObserverOriginal;
3
+ //# sourceMappingURL=useResizeObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/useResizeObserver.ts"],"names":[],"mappings":"AAEA,OAAO,yBAAyB,MAAM,qBAAqB,CAAC;AAU5D,eAAO,MAAM,iBAAiB,EAAE,OAAO,yBAatC,CAAC"}
@@ -0,0 +1,37 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ import useResizeObserverOriginal from 'use-resize-observer';
14
+ import ResizeObserver from 'resize-observer-polyfill';
15
+ if (typeof window !== 'undefined' && !window.ResizeObserver) {
16
+ window.ResizeObserver = ResizeObserver;
17
+ }
18
+ // `useResizeObserver` contains this fix in 8.0.0:
19
+ // https://github.com/ZeeCoder/use-resize-observer/commit/bd0f3c8597bac0d853b88cf585256aac1bd4f554
20
+ // v8.0.0 requires TS4.2. So we'll manually patch until we're ready for TS4.2+
21
+ export var useResizeObserver = function (params) {
22
+ if (params === void 0) { params = {}; }
23
+ var widthRef = React.useRef();
24
+ var heightRef = React.useRef();
25
+ var onResize = params.onResize
26
+ ? function (data) {
27
+ if (widthRef.current !== data.width || heightRef.current !== data.height) {
28
+ widthRef.current = data.width;
29
+ heightRef.current = data.height;
30
+ params.onResize(data);
31
+ }
32
+ }
33
+ : undefined;
34
+ return useResizeObserverOriginal(__assign(__assign({}, params), { onResize: onResize }));
35
+ };
36
+ // When the dependency is moved up to v8.0.0, remove the above function and export below instead
37
+ // export {useResizeObserver};
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Generates a unique and HTML5 compliant identifier every time it is called. Internally it uses a 4
3
+ * character random seed starting with a letter. This seed is unique to each instance of this
4
+ * package meaning different versions of Canvas Kit on the page will have a different seed. Each
5
+ * call will use a Base 36 string (10 numbers + 26 letters) based on an incremented number. The
6
+ * incremented number always starts at 0 and can be reset for testing purposes using
7
+ * [resetUniqueIdCount](#resetuniqueidcount). [setUniqueSeed](#setuniqueseed) can also be used for
8
+ * testing or server side rendering to get the same results during hydration.
9
+ */
1
10
  export declare const generateUniqueId: () => string;
2
11
  /**
3
12
  * Generate a unique ID if one is not provided. The generated ID will be stable across renders
@@ -10,4 +19,23 @@ export declare const useUniqueId: (id?: string | undefined) => string;
10
19
  * TODO: Remove in major release
11
20
  */
12
21
  export declare const uniqueId: (id?: string | undefined) => string;
22
+ /**
23
+ * Update the seed used by the id generator. This is useful for snapshot tests to help stabilize ids
24
+ * generated each run. This could also be used for server-side hydration - if you choose the same
25
+ * seed for server and set that on the client before components are rendered, the ids generated will
26
+ * be the same.
27
+ * @example
28
+ * // set in a script tag from the server
29
+ * setSeed(window.__ID_SEED); // set in a script tag from the server
30
+ *
31
+ * // jest setup
32
+ * before(() => {
33
+ * setSeed('a')
34
+ * })
35
+ */
36
+ export declare const setUniqueSeed: (s: string) => void;
37
+ /**
38
+ * This should only be called for tests in an `beforeEach`
39
+ */
40
+ export declare const resetUniqueIdCount: () => void;
13
41
  //# sourceMappingURL=useUniqueId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUniqueId.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/useUniqueId.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,cAAwC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,WAAW,qCAIvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,qCAAc,CAAC"}
1
+ {"version":3,"file":"useUniqueId.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/useUniqueId.ts"],"names":[],"mappings":"AAWA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,cAAkC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,WAAW,qCAIvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,qCAAc,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,qBAEzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,YAE9B,CAAC"}
@@ -1,13 +1,28 @@
1
- import * as React from 'react';
2
- import uuid from 'uuid/v4';
3
- export var generateUniqueId = function () { return uuid().replace(/^[0-9]*/gi, ''); };
1
+ import { useConstant } from './useConstant';
2
+ // Create a unique seed per import to prevent collisions from other versions of `useUniqueId`
3
+ var seed = Math.random()
4
+ .toString(36)
5
+ .slice(2)
6
+ .replace(/[0-9]*/, '')
7
+ .substr(0, 4);
8
+ var c = 0;
9
+ /**
10
+ * Generates a unique and HTML5 compliant identifier every time it is called. Internally it uses a 4
11
+ * character random seed starting with a letter. This seed is unique to each instance of this
12
+ * package meaning different versions of Canvas Kit on the page will have a different seed. Each
13
+ * call will use a Base 36 string (10 numbers + 26 letters) based on an incremented number. The
14
+ * incremented number always starts at 0 and can be reset for testing purposes using
15
+ * [resetUniqueIdCount](#resetuniqueidcount). [setUniqueSeed](#setuniqueseed) can also be used for
16
+ * testing or server side rendering to get the same results during hydration.
17
+ */
18
+ export var generateUniqueId = function () { return seed + (c++).toString(36); };
4
19
  /**
5
20
  * Generate a unique ID if one is not provided. The generated ID will be stable across renders
6
21
  * @param id Optional ID provided that will be used instead of a unique ID
7
22
  */
8
23
  export var useUniqueId = function (id) {
9
24
  // https://codesandbox.io/s/react-functional-component-ids-p2ndq
10
- var generatedId = React.useState(generateUniqueId)[0];
25
+ var generatedId = useConstant(generateUniqueId);
11
26
  return id || generatedId;
12
27
  };
13
28
  /**
@@ -16,3 +31,26 @@ export var useUniqueId = function (id) {
16
31
  * TODO: Remove in major release
17
32
  */
18
33
  export var uniqueId = useUniqueId;
34
+ /**
35
+ * Update the seed used by the id generator. This is useful for snapshot tests to help stabilize ids
36
+ * generated each run. This could also be used for server-side hydration - if you choose the same
37
+ * seed for server and set that on the client before components are rendered, the ids generated will
38
+ * be the same.
39
+ * @example
40
+ * // set in a script tag from the server
41
+ * setSeed(window.__ID_SEED); // set in a script tag from the server
42
+ *
43
+ * // jest setup
44
+ * before(() => {
45
+ * setSeed('a')
46
+ * })
47
+ */
48
+ export var setUniqueSeed = function (s) {
49
+ seed = s;
50
+ };
51
+ /**
52
+ * This should only be called for tests in an `beforeEach`
53
+ */
54
+ export var resetUniqueIdCount = function () {
55
+ c = 0;
56
+ };