@workday/canvas-kit-react 8.0.0-alpha.253-next.22 → 8.0.0-alpha.428-next.2

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 (1604) hide show
  1. package/action-bar/lib/ActionBar.tsx +44 -0
  2. package/action-bar/lib/ActionBarList.tsx +16 -13
  3. package/action-bar/lib/ActionBarOverflowButton.tsx +2 -2
  4. package/action-bar/lib/useActionBarModel.tsx +20 -3
  5. package/banner/lib/Banner.tsx +56 -0
  6. package/banner/lib/BannerIcon.tsx +0 -1
  7. package/banner/lib/hooks/index.ts +2 -0
  8. package/banner/lib/hooks/useThemedPalette.ts +3 -3
  9. package/breadcrumbs/lib/Breadcrumbs.tsx +77 -56
  10. package/breadcrumbs/lib/BreadcrumbsCurrentItem.tsx +7 -18
  11. package/breadcrumbs/lib/BreadcrumbsItem.tsx +3 -3
  12. package/breadcrumbs/lib/BreadcrumbsList.tsx +1 -2
  13. package/button/lib/BaseButton.tsx +7 -5
  14. package/button/lib/DeleteButton.tsx +5 -1
  15. package/button/lib/ExternalHyperlink.tsx +6 -7
  16. package/button/lib/Hyperlink.tsx +6 -2
  17. package/button/lib/PrimaryButton.tsx +9 -5
  18. package/button/lib/SecondaryButton.tsx +9 -0
  19. package/button/lib/TertiaryButton.tsx +11 -10
  20. package/button/lib/parts/ButtonLabelIcon.tsx +2 -9
  21. package/card/lib/Card.tsx +36 -0
  22. package/checkbox/lib/Checkbox.tsx +2 -8
  23. package/collection/index.ts +5 -1
  24. package/collection/lib/ListBox.tsx +31 -16
  25. package/collection/lib/keyUtils.ts +88 -0
  26. package/collection/lib/useBaseListModel.tsx +29 -15
  27. package/collection/lib/useCursorListModel.tsx +124 -94
  28. package/collection/lib/useGridModel.ts +4 -0
  29. package/collection/lib/useListActiveDescendant.ts +24 -0
  30. package/collection/lib/useListItemAllowChildStrings.ts +38 -0
  31. package/collection/lib/useListItemRegister.tsx +25 -7
  32. package/collection/lib/useListItemRovingFocus.tsx +60 -113
  33. package/collection/lib/useListItemSelect.tsx +16 -5
  34. package/collection/lib/useListKeyboardHandler.ts +28 -0
  35. package/collection/lib/useListLoader.ts +375 -0
  36. package/collection/lib/useListModel.tsx +20 -3
  37. package/collection/lib/useListRenderItem.tsx +14 -0
  38. package/collection/lib/useListResetCursorOnBlur.tsx +13 -2
  39. package/collection/lib/useOverflowListItemMeasure.tsx +13 -2
  40. package/collection/lib/useOverflowListMeasure.ts +15 -13
  41. package/collection/lib/useOverflowListTarget.tsx +32 -30
  42. package/collection/lib/useSelectionListModel.tsx +14 -1
  43. package/combobox/LICENSE +52 -0
  44. package/combobox/README.md +7 -0
  45. package/combobox/index.ts +8 -0
  46. package/combobox/lib/Combobox.tsx +32 -0
  47. package/combobox/lib/ComboboxCard.tsx +33 -0
  48. package/combobox/lib/ComboboxInput.tsx +104 -0
  49. package/combobox/lib/ComboboxMenu.tsx +67 -0
  50. package/combobox/lib/ComboboxMenuItem.tsx +74 -0
  51. package/combobox/lib/ComboboxMenuList.tsx +45 -0
  52. package/combobox/lib/useComboboxInputOpenWithArrowKeys.ts +21 -0
  53. package/combobox/lib/useComboboxLoader.ts +72 -0
  54. package/combobox/lib/useComboboxModel.tsx +85 -0
  55. package/combobox/package.json +6 -0
  56. package/common/lib/EllipsisText.tsx +11 -3
  57. package/common/lib/styles/focusRing.ts +0 -9
  58. package/common/lib/theming/README.md +97 -0
  59. package/common/lib/theming/createCanvasTheme.ts +39 -42
  60. package/common/lib/theming/getObjectProxy.ts +37 -0
  61. package/common/lib/theming/index.ts +2 -0
  62. package/common/lib/theming/useTheme.ts +79 -23
  63. package/common/lib/theming/useThemedRing.ts +114 -0
  64. package/common/lib/utils/changeFocus.ts +15 -3
  65. package/common/lib/utils/colorUtils.ts +20 -7
  66. package/common/lib/utils/components.ts +267 -194
  67. package/common/lib/utils/deepMerge.ts +21 -0
  68. package/common/lib/utils/dispatchInputEvent.ts +16 -0
  69. package/common/lib/utils/index.ts +2 -0
  70. package/common/lib/utils/memoize.ts +23 -0
  71. package/common/lib/utils/models.ts +11 -7
  72. package/common/lib/utils/slugify.ts +11 -0
  73. package/common/lib/utils/useModalityType.ts +18 -4
  74. package/dialog/lib/Dialog.tsx +66 -0
  75. package/dialog/lib/DialogPopper.tsx +3 -0
  76. package/disclosure/lib/useDisclosureModel.tsx +2 -2
  77. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +805 -349
  78. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  79. package/dist/commonjs/action-bar/lib/ActionBar.js +52 -9
  80. package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts +73 -26
  81. package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts.map +1 -1
  82. package/dist/commonjs/action-bar/lib/ActionBarItem.js +7 -18
  83. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +40 -30
  84. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts.map +1 -1
  85. package/dist/commonjs/action-bar/lib/ActionBarList.js +13 -37
  86. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts +109 -27
  87. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts.map +1 -1
  88. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +13 -24
  89. package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts +381 -161
  90. package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts.map +1 -1
  91. package/dist/commonjs/action-bar/lib/useActionBarModel.js +55 -41
  92. package/dist/commonjs/avatar/lib/Avatar.js +52 -74
  93. package/dist/commonjs/badge/lib/CountBadge.js +23 -43
  94. package/dist/commonjs/banner/lib/Banner.d.ts +60 -4
  95. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  96. package/dist/commonjs/banner/lib/Banner.js +88 -48
  97. package/dist/commonjs/banner/lib/BannerActionText.d.ts +1 -1
  98. package/dist/commonjs/banner/lib/BannerActionText.js +7 -30
  99. package/dist/commonjs/banner/lib/BannerIcon.d.ts +1 -2
  100. package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -1
  101. package/dist/commonjs/banner/lib/BannerIcon.js +9 -31
  102. package/dist/commonjs/banner/lib/BannerLabel.d.ts +1 -1
  103. package/dist/commonjs/banner/lib/BannerLabel.js +6 -29
  104. package/dist/commonjs/banner/lib/hooks/index.d.ts +2 -0
  105. package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -1
  106. package/dist/commonjs/banner/lib/hooks/index.js +3 -0
  107. package/dist/commonjs/banner/lib/hooks/useBanner.d.ts +3 -5
  108. package/dist/commonjs/banner/lib/hooks/useBanner.d.ts.map +1 -1
  109. package/dist/commonjs/banner/lib/hooks/useBanner.js +5 -6
  110. package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +3 -5
  111. package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts.map +1 -1
  112. package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +4 -5
  113. package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +3 -5
  114. package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts.map +1 -1
  115. package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +6 -7
  116. package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +3 -5
  117. package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts.map +1 -1
  118. package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +4 -5
  119. package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +1 -1
  120. package/dist/commonjs/banner/lib/hooks/useBannerModel.js +8 -16
  121. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +1 -1
  122. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  123. package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +11 -11
  124. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +865 -466
  125. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
  126. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +89 -91
  127. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +149 -27
  128. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -1
  129. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +14 -44
  130. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts +77 -27
  131. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -1
  132. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +15 -40
  133. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
  134. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
  135. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +15 -36
  136. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts +24 -16
  137. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -1
  138. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +10 -33
  139. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +414 -221
  140. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
  141. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +7 -19
  142. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +109 -27
  143. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -1
  144. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +15 -38
  145. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +369 -161
  146. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -1
  147. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +38 -37
  148. package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +4 -4
  149. package/dist/commonjs/button/lib/BaseButton.d.ts +8 -7
  150. package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
  151. package/dist/commonjs/button/lib/BaseButton.js +128 -78
  152. package/dist/commonjs/button/lib/DeleteButton.d.ts +6 -2
  153. package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
  154. package/dist/commonjs/button/lib/DeleteButton.js +32 -58
  155. package/dist/commonjs/button/lib/ExternalHyperlink.d.ts +5 -1
  156. package/dist/commonjs/button/lib/ExternalHyperlink.d.ts.map +1 -1
  157. package/dist/commonjs/button/lib/ExternalHyperlink.js +29 -39
  158. package/dist/commonjs/button/lib/Hyperlink.d.ts +5 -1
  159. package/dist/commonjs/button/lib/Hyperlink.d.ts.map +1 -1
  160. package/dist/commonjs/button/lib/Hyperlink.js +13 -34
  161. package/dist/commonjs/button/lib/PrimaryButton.d.ts +10 -6
  162. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  163. package/dist/commonjs/button/lib/PrimaryButton.js +18 -32
  164. package/dist/commonjs/button/lib/SecondaryButton.d.ts +10 -1
  165. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  166. package/dist/commonjs/button/lib/SecondaryButton.js +18 -32
  167. package/dist/commonjs/button/lib/TertiaryButton.d.ts +12 -9
  168. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  169. package/dist/commonjs/button/lib/TertiaryButton.js +33 -49
  170. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts +1 -1
  171. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  172. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +14 -40
  173. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts +1 -1
  174. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
  175. package/dist/commonjs/button/lib/ToolbarIconButton.js +16 -43
  176. package/dist/commonjs/button/lib/deprecated_Button.d.ts +1 -1
  177. package/dist/commonjs/button/lib/deprecated_Button.d.ts.map +1 -1
  178. package/dist/commonjs/button/lib/deprecated_Button.js +52 -55
  179. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  180. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  181. package/dist/commonjs/button/lib/parts/ButtonLabel.js +6 -29
  182. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +3 -9
  183. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  184. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +7 -30
  185. package/dist/commonjs/card/lib/Card.d.ts +39 -3
  186. package/dist/commonjs/card/lib/Card.d.ts.map +1 -1
  187. package/dist/commonjs/card/lib/Card.js +44 -31
  188. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  189. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  190. package/dist/commonjs/card/lib/CardBody.js +6 -29
  191. package/dist/commonjs/card/lib/CardHeading.d.ts +1 -1
  192. package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
  193. package/dist/commonjs/card/lib/CardHeading.js +5 -28
  194. package/dist/commonjs/checkbox/lib/Checkbox.d.ts +2 -2
  195. package/dist/commonjs/checkbox/lib/Checkbox.d.ts.map +1 -1
  196. package/dist/commonjs/checkbox/lib/Checkbox.js +122 -131
  197. package/dist/commonjs/collection/index.d.ts +5 -1
  198. package/dist/commonjs/collection/index.d.ts.map +1 -1
  199. package/dist/commonjs/collection/index.js +4 -0
  200. package/dist/commonjs/collection/lib/ListBox.d.ts +353 -125
  201. package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
  202. package/dist/commonjs/collection/lib/ListBox.js +34 -42
  203. package/dist/commonjs/collection/lib/keyUtils.d.ts +26 -0
  204. package/dist/commonjs/collection/lib/keyUtils.d.ts.map +1 -0
  205. package/dist/commonjs/collection/lib/keyUtils.js +80 -0
  206. package/dist/commonjs/collection/lib/react-virtual.js +2 -2
  207. package/dist/commonjs/collection/lib/useBaseListModel.d.ts +30 -20
  208. package/dist/commonjs/collection/lib/useBaseListModel.d.ts.map +1 -1
  209. package/dist/commonjs/collection/lib/useBaseListModel.js +77 -70
  210. package/dist/commonjs/collection/lib/useCursorListModel.d.ts +563 -93
  211. package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
  212. package/dist/commonjs/collection/lib/useCursorListModel.js +153 -155
  213. package/dist/commonjs/collection/lib/useGridModel.d.ts +273 -119
  214. package/dist/commonjs/collection/lib/useGridModel.d.ts.map +1 -1
  215. package/dist/commonjs/collection/lib/useGridModel.js +18 -32
  216. package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts +68 -0
  217. package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts.map +1 -0
  218. package/dist/commonjs/collection/lib/useListActiveDescendant.js +25 -0
  219. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts +88 -0
  220. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -0
  221. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.js +37 -0
  222. package/dist/commonjs/collection/lib/useListItemRegister.d.ts +25 -13
  223. package/dist/commonjs/collection/lib/useListItemRegister.d.ts.map +1 -1
  224. package/dist/commonjs/collection/lib/useListItemRegister.js +33 -21
  225. package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts +23 -38
  226. package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
  227. package/dist/commonjs/collection/lib/useListItemRovingFocus.js +66 -118
  228. package/dist/commonjs/collection/lib/useListItemSelect.d.ts +25 -11
  229. package/dist/commonjs/collection/lib/useListItemSelect.d.ts.map +1 -1
  230. package/dist/commonjs/collection/lib/useListItemSelect.js +21 -12
  231. package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts +66 -0
  232. package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
  233. package/dist/commonjs/collection/lib/useListKeyboardHandler.js +27 -0
  234. package/dist/commonjs/collection/lib/useListLoader.d.ts +106 -0
  235. package/dist/commonjs/collection/lib/useListLoader.d.ts.map +1 -0
  236. package/dist/commonjs/collection/lib/useListLoader.js +239 -0
  237. package/dist/commonjs/collection/lib/useListModel.d.ts +289 -122
  238. package/dist/commonjs/collection/lib/useListModel.d.ts.map +1 -1
  239. package/dist/commonjs/collection/lib/useListModel.js +22 -5
  240. package/dist/commonjs/collection/lib/useListRenderItem.d.ts +14 -0
  241. package/dist/commonjs/collection/lib/useListRenderItem.d.ts.map +1 -1
  242. package/dist/commonjs/collection/lib/useListRenderItem.js +23 -9
  243. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts +25 -12
  244. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
  245. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +22 -12
  246. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts +24 -11
  247. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
  248. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +21 -11
  249. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts +18 -12
  250. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  251. package/dist/commonjs/collection/lib/useOverflowListMeasure.js +12 -8
  252. package/dist/commonjs/collection/lib/useOverflowListModel.d.ts +341 -143
  253. package/dist/commonjs/collection/lib/useOverflowListModel.d.ts.map +1 -1
  254. package/dist/commonjs/collection/lib/useOverflowListModel.js +61 -56
  255. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts +22 -13
  256. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  257. package/dist/commonjs/collection/lib/useOverflowListTarget.js +15 -11
  258. package/dist/commonjs/collection/lib/useSelectionListModel.d.ts +282 -120
  259. package/dist/commonjs/collection/lib/useSelectionListModel.d.ts.map +1 -1
  260. package/dist/commonjs/collection/lib/useSelectionListModel.js +32 -37
  261. package/dist/commonjs/color-picker/lib/ColorInput.d.ts +1 -1
  262. package/dist/commonjs/color-picker/lib/ColorInput.d.ts.map +1 -1
  263. package/dist/commonjs/color-picker/lib/ColorInput.js +45 -75
  264. package/dist/commonjs/color-picker/lib/ColorPreview.d.ts +1 -1
  265. package/dist/commonjs/color-picker/lib/ColorPreview.d.ts.map +1 -1
  266. package/dist/commonjs/color-picker/lib/ColorPreview.js +7 -32
  267. package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +15 -43
  268. package/dist/commonjs/combobox/index.d.ts +9 -0
  269. package/dist/commonjs/combobox/index.d.ts.map +1 -0
  270. package/dist/commonjs/combobox/index.js +19 -0
  271. package/dist/commonjs/combobox/lib/Combobox.d.ts +2075 -0
  272. package/dist/commonjs/combobox/lib/Combobox.d.ts.map +1 -0
  273. package/dist/commonjs/combobox/lib/Combobox.js +29 -0
  274. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts +166 -0
  275. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts.map +1 -0
  276. package/dist/commonjs/combobox/lib/ComboboxCard.js +25 -0
  277. package/dist/commonjs/combobox/lib/ComboboxInput.d.ts +186 -0
  278. package/dist/commonjs/combobox/lib/ComboboxInput.d.ts.map +1 -0
  279. package/dist/commonjs/combobox/lib/ComboboxInput.js +84 -0
  280. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts +428 -0
  281. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts.map +1 -0
  282. package/dist/commonjs/combobox/lib/ComboboxMenu.js +63 -0
  283. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts +178 -0
  284. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
  285. package/dist/commonjs/combobox/lib/ComboboxMenuItem.js +50 -0
  286. package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts +164 -0
  287. package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
  288. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +31 -0
  289. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
  290. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
  291. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.js +20 -0
  292. package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts +28 -0
  293. package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts.map +1 -0
  294. package/dist/commonjs/combobox/lib/useComboboxLoader.js +65 -0
  295. package/dist/commonjs/combobox/lib/useComboboxModel.d.ts +1998 -0
  296. package/dist/commonjs/combobox/lib/useComboboxModel.d.ts.map +1 -0
  297. package/dist/commonjs/combobox/lib/useComboboxModel.js +82 -0
  298. package/dist/commonjs/common/lib/CanvasProvider.js +15 -55
  299. package/dist/commonjs/common/lib/EllipsisText.d.ts +1 -2
  300. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -1
  301. package/dist/commonjs/common/lib/EllipsisText.js +10 -3
  302. package/dist/commonjs/common/lib/InputProvider.d.ts +1 -1
  303. package/dist/commonjs/common/lib/InputProvider.js +73 -91
  304. package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
  305. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +22 -51
  306. package/dist/commonjs/common/lib/styles/errorRing.js +11 -10
  307. package/dist/commonjs/common/lib/styles/focusRing.d.ts +0 -3
  308. package/dist/commonjs/common/lib/styles/focusRing.d.ts.map +1 -1
  309. package/dist/commonjs/common/lib/styles/focusRing.js +20 -36
  310. package/dist/commonjs/common/lib/styles/hideMouseFocus.js +13 -9
  311. package/dist/commonjs/common/lib/theming/breakpoints.js +10 -10
  312. package/dist/commonjs/common/lib/theming/createCanvasTheme.d.ts +7 -6
  313. package/dist/commonjs/common/lib/theming/createCanvasTheme.d.ts.map +1 -1
  314. package/dist/commonjs/common/lib/theming/createCanvasTheme.js +45 -70
  315. package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts +15 -0
  316. package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts.map +1 -0
  317. package/dist/commonjs/common/lib/theming/getObjectProxy.js +31 -0
  318. package/dist/commonjs/common/lib/theming/index.d.ts +2 -0
  319. package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
  320. package/dist/commonjs/common/lib/theming/index.js +2 -0
  321. package/dist/commonjs/common/lib/theming/styled.js +10 -14
  322. package/dist/commonjs/common/lib/theming/theme.js +3 -3
  323. package/dist/commonjs/common/lib/theming/useIsRTL.js +5 -5
  324. package/dist/commonjs/common/lib/theming/useTheme.d.ts +49 -5
  325. package/dist/commonjs/common/lib/theming/useTheme.d.ts.map +1 -1
  326. package/dist/commonjs/common/lib/theming/useTheme.js +82 -40
  327. package/dist/commonjs/common/lib/theming/useThemedRing.d.ts +43 -0
  328. package/dist/commonjs/common/lib/theming/useThemedRing.d.ts.map +1 -0
  329. package/dist/commonjs/common/lib/theming/useThemedRing.js +100 -0
  330. package/dist/commonjs/common/lib/utils/changeFocus.d.ts.map +1 -1
  331. package/dist/commonjs/common/lib/utils/changeFocus.js +11 -5
  332. package/dist/commonjs/common/lib/utils/colorUtils.d.ts +7 -0
  333. package/dist/commonjs/common/lib/utils/colorUtils.d.ts.map +1 -1
  334. package/dist/commonjs/common/lib/utils/colorUtils.js +28 -15
  335. package/dist/commonjs/common/lib/utils/components.d.ts +140 -86
  336. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  337. package/dist/commonjs/common/lib/utils/components.js +156 -117
  338. package/dist/commonjs/common/lib/utils/deepMerge.d.ts +2 -0
  339. package/dist/commonjs/common/lib/utils/deepMerge.d.ts.map +1 -0
  340. package/dist/commonjs/common/lib/utils/deepMerge.js +24 -0
  341. package/dist/commonjs/common/lib/utils/dispatchInputEvent.d.ts +2 -0
  342. package/dist/commonjs/common/lib/utils/dispatchInputEvent.d.ts.map +1 -0
  343. package/dist/commonjs/common/lib/utils/dispatchInputEvent.js +18 -0
  344. package/dist/commonjs/common/lib/utils/elements.js +16 -16
  345. package/dist/commonjs/common/lib/utils/getTranslateFromOrigin.js +2 -2
  346. package/dist/commonjs/common/lib/utils/index.d.ts +2 -0
  347. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  348. package/dist/commonjs/common/lib/utils/index.js +2 -0
  349. package/dist/commonjs/common/lib/utils/isWithinBreakpoint.js +1 -1
  350. package/dist/commonjs/common/lib/utils/makeMq.js +4 -4
  351. package/dist/commonjs/common/lib/utils/memoize.d.ts +6 -0
  352. package/dist/commonjs/common/lib/utils/memoize.d.ts.map +1 -0
  353. package/dist/commonjs/common/lib/utils/memoize.js +20 -0
  354. package/dist/commonjs/common/lib/utils/mergeCallback.js +1 -5
  355. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -16
  356. package/dist/commonjs/common/lib/utils/models.d.ts +6 -2
  357. package/dist/commonjs/common/lib/utils/models.d.ts.map +1 -1
  358. package/dist/commonjs/common/lib/utils/models.js +53 -73
  359. package/dist/commonjs/common/lib/utils/slugify.d.ts +5 -0
  360. package/dist/commonjs/common/lib/utils/slugify.d.ts.map +1 -0
  361. package/dist/commonjs/common/lib/utils/slugify.js +15 -0
  362. package/dist/commonjs/common/lib/utils/useConstant.js +2 -2
  363. package/dist/commonjs/common/lib/utils/useIsFullscreen.js +7 -7
  364. package/dist/commonjs/common/lib/utils/useModalityType.d.ts.map +1 -1
  365. package/dist/commonjs/common/lib/utils/useModalityType.js +26 -12
  366. package/dist/commonjs/common/lib/utils/useMount.js +3 -3
  367. package/dist/commonjs/common/lib/utils/useResizeObserver.js +9 -21
  368. package/dist/commonjs/common/lib/utils/useUniqueId.js +8 -8
  369. package/dist/commonjs/common/lib/utils/useWindowSize.js +10 -10
  370. package/dist/commonjs/dialog/lib/Dialog.d.ts +91 -26
  371. package/dist/commonjs/dialog/lib/Dialog.d.ts.map +1 -1
  372. package/dist/commonjs/dialog/lib/Dialog.js +72 -8
  373. package/dist/commonjs/dialog/lib/DialogCard.d.ts +4 -4
  374. package/dist/commonjs/dialog/lib/DialogCard.js +6 -17
  375. package/dist/commonjs/dialog/lib/DialogPopper.d.ts +4 -4
  376. package/dist/commonjs/dialog/lib/DialogPopper.d.ts.map +1 -1
  377. package/dist/commonjs/dialog/lib/DialogPopper.js +12 -32
  378. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +8 -5
  379. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  380. package/dist/commonjs/dialog/lib/hooks/useDialogCard.js +4 -5
  381. package/dist/commonjs/dialog/lib/hooks/useDialogModel.d.ts +10 -10
  382. package/dist/commonjs/dialog/lib/hooks/useDialogModel.js +4 -4
  383. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +4 -6
  384. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  385. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +5 -6
  386. package/dist/commonjs/disclosure/lib/useDisclosureModel.d.ts +22 -22
  387. package/dist/commonjs/disclosure/lib/useDisclosureModel.js +14 -14
  388. package/dist/commonjs/form-field/lib/FormField.d.ts +1 -2
  389. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  390. package/dist/commonjs/form-field/lib/FormField.js +44 -82
  391. package/dist/commonjs/form-field/lib/Hint.js +13 -45
  392. package/dist/commonjs/form-field/lib/Label.d.ts +4 -3
  393. package/dist/commonjs/form-field/lib/Label.d.ts.map +1 -1
  394. package/dist/commonjs/form-field/lib/Label.js +44 -87
  395. package/dist/commonjs/icon/lib/AccentIcon.d.ts +4 -3
  396. package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
  397. package/dist/commonjs/icon/lib/AccentIcon.js +15 -41
  398. package/dist/commonjs/icon/lib/AppletIcon.d.ts +1 -1
  399. package/dist/commonjs/icon/lib/AppletIcon.js +16 -40
  400. package/dist/commonjs/icon/lib/Graphic.d.ts +1 -1
  401. package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
  402. package/dist/commonjs/icon/lib/Graphic.js +9 -33
  403. package/dist/commonjs/icon/lib/Icon.d.ts +1 -1
  404. package/dist/commonjs/icon/lib/Icon.d.ts.map +1 -1
  405. package/dist/commonjs/icon/lib/Icon.js +12 -31
  406. package/dist/commonjs/icon/lib/Svg.d.ts +1 -1
  407. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  408. package/dist/commonjs/icon/lib/Svg.js +11 -34
  409. package/dist/commonjs/icon/lib/SystemIcon.d.ts +11 -11
  410. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  411. package/dist/commonjs/icon/lib/SystemIcon.js +36 -62
  412. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +3 -2
  413. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
  414. package/dist/commonjs/icon/lib/SystemIconCircle.js +18 -47
  415. package/dist/commonjs/icon/lib/utils.js +1 -1
  416. package/dist/commonjs/index.d.ts +1 -0
  417. package/dist/commonjs/index.d.ts.map +1 -1
  418. package/dist/commonjs/index.js +1 -0
  419. package/dist/commonjs/layout/index.d.ts +2 -5
  420. package/dist/commonjs/layout/index.d.ts.map +1 -1
  421. package/dist/commonjs/layout/index.js +3 -6
  422. package/dist/commonjs/layout/lib/Box.d.ts +1 -1
  423. package/dist/commonjs/layout/lib/Box.d.ts.map +1 -1
  424. package/dist/commonjs/layout/lib/Box.js +26 -51
  425. package/dist/commonjs/layout/lib/Flex.d.ts +2 -2
  426. package/dist/commonjs/layout/lib/Flex.js +8 -31
  427. package/dist/commonjs/layout/lib/Grid.d.ts +2 -2
  428. package/dist/commonjs/layout/lib/Grid.js +11 -35
  429. package/dist/commonjs/layout/lib/utils/background.js +1 -1
  430. package/dist/commonjs/layout/lib/utils/border/color.d.ts +7 -7
  431. package/dist/commonjs/layout/lib/utils/border/color.js +1 -1
  432. package/dist/commonjs/layout/lib/utils/border/index.js +20 -26
  433. package/dist/commonjs/layout/lib/utils/border/lineStyle.js +1 -1
  434. package/dist/commonjs/layout/lib/utils/border/radius.js +1 -1
  435. package/dist/commonjs/layout/lib/utils/border/shorthand.js +1 -1
  436. package/dist/commonjs/layout/lib/utils/border/width.js +1 -1
  437. package/dist/commonjs/layout/lib/utils/buildStyleFns.js +40 -43
  438. package/dist/commonjs/layout/lib/utils/color.js +1 -1
  439. package/dist/commonjs/layout/lib/utils/depth.js +1 -1
  440. package/dist/commonjs/layout/lib/utils/flex.js +1 -1
  441. package/dist/commonjs/layout/lib/utils/flexItem.js +1 -1
  442. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +1 -1
  443. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts.map +1 -1
  444. package/dist/commonjs/layout/lib/utils/getValidChildren.js +2 -4
  445. package/dist/commonjs/layout/lib/utils/grid.js +1 -1
  446. package/dist/commonjs/layout/lib/utils/gridItem.js +1 -1
  447. package/dist/commonjs/layout/lib/utils/layout.d.ts +1 -1
  448. package/dist/commonjs/layout/lib/utils/layout.d.ts.map +1 -1
  449. package/dist/commonjs/layout/lib/utils/layout.js +1 -1
  450. package/dist/commonjs/layout/lib/utils/other.js +1 -1
  451. package/dist/commonjs/layout/lib/utils/position.d.ts +4 -0
  452. package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -1
  453. package/dist/commonjs/layout/lib/utils/position.js +6 -1
  454. package/dist/commonjs/layout/lib/utils/space.js +1 -1
  455. package/dist/commonjs/layout/lib/utils/text.js +1 -1
  456. package/dist/commonjs/loading-dots/lib/LoadingDots.js +20 -42
  457. package/dist/commonjs/menu/index.d.ts +1 -1
  458. package/dist/commonjs/menu/index.d.ts.map +1 -1
  459. package/dist/commonjs/menu/index.js +2 -1
  460. package/dist/commonjs/menu/lib/Menu.d.ts +474 -439
  461. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  462. package/dist/commonjs/menu/lib/Menu.js +53 -24
  463. package/dist/commonjs/menu/lib/MenuCard.d.ts +25 -19
  464. package/dist/commonjs/menu/lib/MenuCard.d.ts.map +1 -1
  465. package/dist/commonjs/menu/lib/MenuCard.js +14 -26
  466. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +142 -18
  467. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts.map +1 -1
  468. package/dist/commonjs/menu/lib/MenuContextTarget.js +9 -32
  469. package/dist/commonjs/menu/lib/MenuDivider.d.ts +1 -1
  470. package/dist/commonjs/menu/lib/MenuDivider.d.ts.map +1 -1
  471. package/dist/commonjs/menu/lib/MenuDivider.js +9 -20
  472. package/dist/commonjs/menu/lib/MenuItem.d.ts +78 -21
  473. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  474. package/dist/commonjs/menu/lib/MenuItem.js +86 -95
  475. package/dist/commonjs/menu/lib/MenuList.d.ts +31 -25
  476. package/dist/commonjs/menu/lib/MenuList.d.ts.map +1 -1
  477. package/dist/commonjs/menu/lib/MenuList.js +10 -32
  478. package/dist/commonjs/menu/lib/MenuPopper.d.ts +17 -15
  479. package/dist/commonjs/menu/lib/MenuPopper.d.ts.map +1 -1
  480. package/dist/commonjs/menu/lib/MenuPopper.js +6 -29
  481. package/dist/commonjs/menu/lib/MenuTarget.d.ts +227 -22
  482. package/dist/commonjs/menu/lib/MenuTarget.d.ts.map +1 -1
  483. package/dist/commonjs/menu/lib/MenuTarget.js +14 -38
  484. package/dist/commonjs/menu/lib/useMenuModel.d.ts +393 -219
  485. package/dist/commonjs/menu/lib/useMenuModel.d.ts.map +1 -1
  486. package/dist/commonjs/menu/lib/useMenuModel.js +23 -27
  487. package/dist/commonjs/modal/lib/Modal.d.ts +203 -47
  488. package/dist/commonjs/modal/lib/Modal.d.ts.map +1 -1
  489. package/dist/commonjs/modal/lib/Modal.js +86 -14
  490. package/dist/commonjs/modal/lib/ModalBody.d.ts +24 -0
  491. package/dist/commonjs/modal/lib/ModalBody.d.ts.map +1 -0
  492. package/dist/commonjs/modal/lib/ModalBody.js +42 -0
  493. package/dist/commonjs/modal/lib/ModalCard.d.ts +2 -2
  494. package/dist/commonjs/modal/lib/ModalCard.d.ts.map +1 -1
  495. package/dist/commonjs/modal/lib/ModalCard.js +15 -28
  496. package/dist/commonjs/modal/lib/ModalHeading.d.ts +2 -2
  497. package/dist/commonjs/modal/lib/ModalHeading.d.ts.map +1 -1
  498. package/dist/commonjs/modal/lib/ModalHeading.js +13 -24
  499. package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +4 -4
  500. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +9 -20
  501. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +6 -8
  502. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  503. package/dist/commonjs/modal/lib/ModalOverlay.js +39 -51
  504. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.d.ts +3 -5
  505. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.d.ts.map +1 -1
  506. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.js +17 -17
  507. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +8 -5
  508. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  509. package/dist/commonjs/modal/lib/hooks/useModalCard.js +3 -3
  510. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +8 -5
  511. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  512. package/dist/commonjs/modal/lib/hooks/useModalHeading.js +7 -7
  513. package/dist/commonjs/modal/lib/hooks/useModalModel.d.ts +10 -10
  514. package/dist/commonjs/modal/lib/hooks/useModalModel.js +5 -5
  515. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
  516. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  517. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +19 -36
  518. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts +12 -11
  519. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  520. package/dist/commonjs/pagination/lib/Pagination/Controls.js +82 -93
  521. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +5 -5
  522. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  523. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +15 -31
  524. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
  525. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  526. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +11 -29
  527. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
  528. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
  529. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +11 -29
  530. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +10 -1
  531. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
  532. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +14 -14
  533. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  534. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  535. package/dist/commonjs/pagination/lib/Pagination/Nav.js +4 -27
  536. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts +4 -5
  537. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  538. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +23 -42
  539. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +7 -6
  540. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  541. package/dist/commonjs/pagination/lib/Pagination/PageList.js +18 -35
  542. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +230 -38
  543. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  544. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +233 -104
  545. package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +9 -17
  546. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +2 -2
  547. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  548. package/dist/commonjs/pagination/lib/Pagination/common/List.js +8 -32
  549. package/dist/commonjs/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
  550. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  551. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  552. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.js +2 -4
  553. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.d.ts +45 -15
  554. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
  555. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.js +45 -15
  556. package/dist/commonjs/pagination/lib/Pagination/common/utils/useRTL.js +5 -5
  557. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
  558. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  559. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +33 -32
  560. package/dist/commonjs/popup/lib/Popper.d.ts +16 -1
  561. package/dist/commonjs/popup/lib/Popper.d.ts.map +1 -1
  562. package/dist/commonjs/popup/lib/Popper.js +49 -58
  563. package/dist/commonjs/popup/lib/Popup.d.ts +103 -22
  564. package/dist/commonjs/popup/lib/Popup.d.ts.map +1 -1
  565. package/dist/commonjs/popup/lib/Popup.js +96 -16
  566. package/dist/commonjs/popup/lib/PopupBody.d.ts +2 -2
  567. package/dist/commonjs/popup/lib/PopupBody.js +6 -17
  568. package/dist/commonjs/popup/lib/PopupCard.d.ts +2 -2
  569. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  570. package/dist/commonjs/popup/lib/PopupCard.js +60 -55
  571. package/dist/commonjs/popup/lib/PopupCloseButton.d.ts +2 -2
  572. package/dist/commonjs/popup/lib/PopupCloseButton.js +6 -29
  573. package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts +2 -2
  574. package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts.map +1 -1
  575. package/dist/commonjs/popup/lib/PopupCloseIcon.js +8 -36
  576. package/dist/commonjs/popup/lib/PopupHeading.d.ts +2 -2
  577. package/dist/commonjs/popup/lib/PopupHeading.js +6 -29
  578. package/dist/commonjs/popup/lib/PopupPopper.d.ts +2 -2
  579. package/dist/commonjs/popup/lib/PopupPopper.js +6 -29
  580. package/dist/commonjs/popup/lib/PopupTarget.d.ts +2 -2
  581. package/dist/commonjs/popup/lib/PopupTarget.js +6 -17
  582. package/dist/commonjs/popup/lib/getTransformFromPlacement.js +6 -6
  583. package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +23 -27
  584. package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +3 -5
  585. package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts.map +1 -1
  586. package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +9 -9
  587. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.d.ts +3 -5
  588. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.d.ts.map +1 -1
  589. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +14 -19
  590. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.d.ts +7 -9
  591. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.d.ts.map +1 -1
  592. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +15 -15
  593. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.d.ts +5 -7
  594. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.d.ts.map +1 -1
  595. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +11 -11
  596. package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +3 -5
  597. package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.d.ts.map +1 -1
  598. package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.js +9 -9
  599. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.d.ts +9 -11
  600. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.d.ts.map +1 -1
  601. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +18 -18
  602. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts +3 -5
  603. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts.map +1 -1
  604. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.js +12 -12
  605. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.d.ts +3 -5
  606. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.d.ts.map +1 -1
  607. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +10 -10
  608. package/dist/commonjs/popup/lib/hooks/useFocusRedirect.d.ts +3 -5
  609. package/dist/commonjs/popup/lib/hooks/useFocusRedirect.d.ts.map +1 -1
  610. package/dist/commonjs/popup/lib/hooks/useFocusRedirect.js +10 -10
  611. package/dist/commonjs/popup/lib/hooks/useFocusTrap.d.ts +3 -5
  612. package/dist/commonjs/popup/lib/hooks/useFocusTrap.d.ts.map +1 -1
  613. package/dist/commonjs/popup/lib/hooks/useFocusTrap.js +9 -9
  614. package/dist/commonjs/popup/lib/hooks/useInitialFocus.d.ts +5 -7
  615. package/dist/commonjs/popup/lib/hooks/useInitialFocus.d.ts.map +1 -1
  616. package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +12 -12
  617. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -7
  618. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  619. package/dist/commonjs/popup/lib/hooks/usePopupCard.js +4 -5
  620. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +7 -8
  621. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  622. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +6 -6
  623. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -7
  624. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  625. package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +4 -5
  626. package/dist/commonjs/popup/lib/hooks/usePopupModel.d.ts +13 -13
  627. package/dist/commonjs/popup/lib/hooks/usePopupModel.js +29 -34
  628. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +7 -8
  629. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  630. package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +10 -10
  631. package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts +27 -19
  632. package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  633. package/dist/commonjs/popup/lib/hooks/usePopupStack.js +41 -33
  634. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +6 -8
  635. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  636. package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +6 -7
  637. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts +5 -7
  638. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts.map +1 -1
  639. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.js +5 -6
  640. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +5 -7
  641. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts.map +1 -1
  642. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +33 -22
  643. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +3 -5
  644. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts.map +1 -1
  645. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.js +10 -10
  646. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +3 -5
  647. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.d.ts.map +1 -1
  648. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.js +10 -10
  649. package/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  650. package/dist/commonjs/radio/lib/Radio.d.ts.map +1 -1
  651. package/dist/commonjs/radio/lib/Radio.js +114 -134
  652. package/dist/commonjs/radio/lib/RadioGroup.d.ts +1 -2
  653. package/dist/commonjs/radio/lib/RadioGroup.d.ts.map +1 -1
  654. package/dist/commonjs/radio/lib/RadioGroup.js +33 -76
  655. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +2 -2
  656. package/dist/commonjs/segmented-control/lib/SegmentedControl.js +7 -30
  657. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
  658. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  659. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +40 -61
  660. package/dist/commonjs/select/lib/Select.d.ts +1 -1
  661. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  662. package/dist/commonjs/select/lib/Select.js +47 -64
  663. package/dist/commonjs/select/lib/SelectOption.js +6 -46
  664. package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
  665. package/dist/commonjs/side-panel/lib/SidePanel.js +61 -122
  666. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
  667. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
  668. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.js +5 -30
  669. package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts +1 -1
  670. package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
  671. package/dist/commonjs/skeleton/lib/parts/skeletonShape.js +12 -40
  672. package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts +1 -1
  673. package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
  674. package/dist/commonjs/skeleton/lib/parts/skeletonText.js +12 -38
  675. package/dist/commonjs/skeleton/lib/skeleton.d.ts +30 -4
  676. package/dist/commonjs/skeleton/lib/skeleton.d.ts.map +1 -1
  677. package/dist/commonjs/skeleton/lib/skeleton.js +42 -41
  678. package/dist/commonjs/status-indicator/lib/StatusIndicator.js +28 -59
  679. package/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  680. package/dist/commonjs/switch/lib/Switch.js +55 -65
  681. package/dist/commonjs/table/lib/Table.js +10 -50
  682. package/dist/commonjs/table/lib/TableRow.d.ts +2 -1
  683. package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -1
  684. package/dist/commonjs/table/lib/TableRow.js +40 -67
  685. package/dist/commonjs/tabs/lib/Tabs.d.ts +1263 -557
  686. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  687. package/dist/commonjs/tabs/lib/Tabs.js +105 -14
  688. package/dist/commonjs/tabs/lib/TabsItem.d.ts +179 -30
  689. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
  690. package/dist/commonjs/tabs/lib/TabsItem.js +80 -87
  691. package/dist/commonjs/tabs/lib/TabsList.d.ts +157 -29
  692. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
  693. package/dist/commonjs/tabs/lib/TabsList.js +54 -49
  694. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +17 -15
  695. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -1
  696. package/dist/commonjs/tabs/lib/TabsMenuPopper.js +6 -29
  697. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +119 -27
  698. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  699. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +12 -35
  700. package/dist/commonjs/tabs/lib/TabsPanel.d.ts +46 -32
  701. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -1
  702. package/dist/commonjs/tabs/lib/TabsPanel.js +17 -42
  703. package/dist/commonjs/tabs/lib/TabsPanels.d.ts +24 -16
  704. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -1
  705. package/dist/commonjs/tabs/lib/TabsPanels.js +5 -6
  706. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +1170 -618
  707. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  708. package/dist/commonjs/tabs/lib/useTabsModel.js +63 -44
  709. package/dist/commonjs/testing/lib/ComponentStatesTable.js +11 -20
  710. package/dist/commonjs/testing/lib/StaticStates.js +10 -34
  711. package/dist/commonjs/testing/lib/permutateProps.js +13 -26
  712. package/dist/commonjs/text/lib/LabelText.d.ts +19 -2
  713. package/dist/commonjs/text/lib/LabelText.d.ts.map +1 -1
  714. package/dist/commonjs/text/lib/LabelText.js +23 -25
  715. package/dist/commonjs/text/lib/Text.d.ts +43 -3
  716. package/dist/commonjs/text/lib/Text.d.ts.map +1 -1
  717. package/dist/commonjs/text/lib/Text.js +45 -40
  718. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts +105 -6
  719. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts.map +1 -1
  720. package/dist/commonjs/text/lib/TypeLevelComponents.js +111 -41
  721. package/dist/commonjs/text-area/lib/TextArea.d.ts +1 -1
  722. package/dist/commonjs/text-area/lib/TextArea.js +42 -55
  723. package/dist/commonjs/text-input/index.d.ts +1 -0
  724. package/dist/commonjs/text-input/index.d.ts.map +1 -1
  725. package/dist/commonjs/text-input/index.js +4 -0
  726. package/dist/commonjs/text-input/lib/InputGroup.d.ts +135 -0
  727. package/dist/commonjs/text-input/lib/InputGroup.d.ts.map +1 -0
  728. package/dist/commonjs/text-input/lib/InputGroup.js +200 -0
  729. package/dist/commonjs/text-input/lib/InputIconContainer.js +11 -17
  730. package/dist/commonjs/text-input/lib/TextInput.d.ts +1 -1
  731. package/dist/commonjs/text-input/lib/TextInput.js +38 -51
  732. package/dist/commonjs/toast/index.d.ts +1 -0
  733. package/dist/commonjs/toast/index.d.ts.map +1 -1
  734. package/dist/commonjs/toast/index.js +1 -0
  735. package/dist/commonjs/toast/lib/Toast.d.ts +56 -22
  736. package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
  737. package/dist/commonjs/toast/lib/Toast.js +94 -78
  738. package/dist/commonjs/toast/lib/ToastBody.d.ts +6 -0
  739. package/dist/commonjs/toast/lib/ToastBody.d.ts.map +1 -0
  740. package/dist/commonjs/toast/lib/ToastBody.js +15 -0
  741. package/dist/commonjs/toast/lib/ToastCloseIcon.d.ts +6 -0
  742. package/dist/commonjs/toast/lib/ToastCloseIcon.d.ts.map +1 -0
  743. package/dist/commonjs/toast/lib/ToastCloseIcon.js +15 -0
  744. package/dist/commonjs/toast/lib/ToastIcon.d.ts +5 -0
  745. package/dist/commonjs/toast/lib/ToastIcon.d.ts.map +1 -0
  746. package/dist/commonjs/toast/lib/ToastIcon.js +15 -0
  747. package/dist/commonjs/toast/lib/ToastLink.d.ts +5 -0
  748. package/dist/commonjs/toast/lib/ToastLink.d.ts.map +1 -0
  749. package/dist/commonjs/toast/lib/ToastLink.js +15 -0
  750. package/dist/commonjs/toast/lib/ToastMessage.d.ts +12 -0
  751. package/dist/commonjs/toast/lib/ToastMessage.d.ts.map +1 -0
  752. package/dist/commonjs/toast/lib/ToastMessage.js +15 -0
  753. package/dist/commonjs/toast/lib/hooks/useToastModel.d.ts +75 -0
  754. package/dist/commonjs/toast/lib/hooks/useToastModel.d.ts.map +1 -0
  755. package/dist/commonjs/toast/lib/hooks/useToastModel.js +29 -0
  756. package/dist/commonjs/tokens/index.d.ts +2 -2
  757. package/dist/commonjs/tokens/index.d.ts.map +1 -1
  758. package/dist/commonjs/tokens/index.js +6 -6
  759. package/dist/commonjs/tokens/lib/depth.d.ts +6 -7
  760. package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
  761. package/dist/commonjs/tokens/lib/depth.js +6 -6
  762. package/dist/commonjs/tokens/lib/type/fontFamilies.d.ts.map +1 -1
  763. package/dist/commonjs/tokens/lib/type/fontFamilies.js +5 -6
  764. package/dist/commonjs/tokens/lib/type/index.d.ts +7 -7
  765. package/dist/commonjs/tokens/lib/type/index.js +9 -9
  766. package/dist/commonjs/tokens/lib/type/levels.js +4 -4
  767. package/dist/commonjs/tokens/lib/type/variants.js +1 -1
  768. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +34 -54
  769. package/dist/commonjs/tooltip/lib/Tooltip.d.ts +1 -1
  770. package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
  771. package/dist/commonjs/tooltip/lib/Tooltip.js +32 -51
  772. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts +1 -1
  773. package/dist/commonjs/tooltip/lib/TooltipContainer.js +37 -35
  774. package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
  775. package/dist/commonjs/tooltip/lib/useTooltip.js +44 -41
  776. package/dist/es6/action-bar/lib/ActionBar.d.ts +805 -349
  777. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  778. package/dist/es6/action-bar/lib/ActionBar.js +47 -4
  779. package/dist/es6/action-bar/lib/ActionBarItem.d.ts +73 -26
  780. package/dist/es6/action-bar/lib/ActionBarItem.d.ts.map +1 -1
  781. package/dist/es6/action-bar/lib/ActionBarItem.js +4 -15
  782. package/dist/es6/action-bar/lib/ActionBarList.d.ts +40 -30
  783. package/dist/es6/action-bar/lib/ActionBarList.d.ts.map +1 -1
  784. package/dist/es6/action-bar/lib/ActionBarList.js +11 -35
  785. package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts +109 -27
  786. package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts.map +1 -1
  787. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +7 -18
  788. package/dist/es6/action-bar/lib/useActionBarModel.d.ts +381 -161
  789. package/dist/es6/action-bar/lib/useActionBarModel.d.ts.map +1 -1
  790. package/dist/es6/action-bar/lib/useActionBarModel.js +52 -38
  791. package/dist/es6/avatar/lib/Avatar.js +46 -68
  792. package/dist/es6/badge/lib/CountBadge.js +20 -40
  793. package/dist/es6/banner/lib/Banner.d.ts +60 -4
  794. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  795. package/dist/es6/banner/lib/Banner.js +81 -41
  796. package/dist/es6/banner/lib/BannerActionText.d.ts +1 -1
  797. package/dist/es6/banner/lib/BannerActionText.js +4 -27
  798. package/dist/es6/banner/lib/BannerIcon.d.ts +1 -2
  799. package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -1
  800. package/dist/es6/banner/lib/BannerIcon.js +5 -27
  801. package/dist/es6/banner/lib/BannerLabel.d.ts +1 -1
  802. package/dist/es6/banner/lib/BannerLabel.js +3 -26
  803. package/dist/es6/banner/lib/hooks/index.d.ts +2 -0
  804. package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -1
  805. package/dist/es6/banner/lib/hooks/index.js +2 -0
  806. package/dist/es6/banner/lib/hooks/useBanner.d.ts +3 -5
  807. package/dist/es6/banner/lib/hooks/useBanner.d.ts.map +1 -1
  808. package/dist/es6/banner/lib/hooks/useBanner.js +3 -4
  809. package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +3 -5
  810. package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts.map +1 -1
  811. package/dist/es6/banner/lib/hooks/useBannerActionText.js +2 -3
  812. package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +3 -5
  813. package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts.map +1 -1
  814. package/dist/es6/banner/lib/hooks/useBannerIcon.js +2 -3
  815. package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +3 -5
  816. package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts.map +1 -1
  817. package/dist/es6/banner/lib/hooks/useBannerLabel.js +2 -3
  818. package/dist/es6/banner/lib/hooks/useBannerModel.d.ts +1 -1
  819. package/dist/es6/banner/lib/hooks/useBannerModel.js +8 -16
  820. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +1 -1
  821. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  822. package/dist/es6/banner/lib/hooks/useThemedPalette.js +7 -7
  823. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +865 -466
  824. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
  825. package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +80 -82
  826. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +149 -27
  827. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -1
  828. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +10 -40
  829. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts +77 -27
  830. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -1
  831. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +7 -32
  832. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
  833. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
  834. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +11 -32
  835. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts +24 -16
  836. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -1
  837. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +5 -28
  838. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +414 -221
  839. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
  840. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +6 -18
  841. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +109 -27
  842. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -1
  843. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +6 -29
  844. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +369 -161
  845. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -1
  846. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +34 -33
  847. package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +4 -4
  848. package/dist/es6/button/lib/BaseButton.d.ts +8 -7
  849. package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
  850. package/dist/es6/button/lib/BaseButton.js +123 -73
  851. package/dist/es6/button/lib/DeleteButton.d.ts +6 -2
  852. package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
  853. package/dist/es6/button/lib/DeleteButton.js +30 -56
  854. package/dist/es6/button/lib/ExternalHyperlink.d.ts +5 -1
  855. package/dist/es6/button/lib/ExternalHyperlink.d.ts.map +1 -1
  856. package/dist/es6/button/lib/ExternalHyperlink.js +25 -35
  857. package/dist/es6/button/lib/Hyperlink.d.ts +5 -1
  858. package/dist/es6/button/lib/Hyperlink.d.ts.map +1 -1
  859. package/dist/es6/button/lib/Hyperlink.js +11 -32
  860. package/dist/es6/button/lib/PrimaryButton.d.ts +10 -6
  861. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  862. package/dist/es6/button/lib/PrimaryButton.js +15 -29
  863. package/dist/es6/button/lib/SecondaryButton.d.ts +10 -1
  864. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  865. package/dist/es6/button/lib/SecondaryButton.js +15 -29
  866. package/dist/es6/button/lib/TertiaryButton.d.ts +12 -9
  867. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  868. package/dist/es6/button/lib/TertiaryButton.js +30 -46
  869. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts +1 -1
  870. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  871. package/dist/es6/button/lib/ToolbarDropdownButton.js +10 -36
  872. package/dist/es6/button/lib/ToolbarIconButton.d.ts +1 -1
  873. package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
  874. package/dist/es6/button/lib/ToolbarIconButton.js +13 -40
  875. package/dist/es6/button/lib/deprecated_Button.d.ts +1 -1
  876. package/dist/es6/button/lib/deprecated_Button.d.ts.map +1 -1
  877. package/dist/es6/button/lib/deprecated_Button.js +49 -52
  878. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  879. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  880. package/dist/es6/button/lib/parts/ButtonLabel.js +4 -27
  881. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +3 -9
  882. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  883. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -28
  884. package/dist/es6/card/lib/Card.d.ts +39 -3
  885. package/dist/es6/card/lib/Card.d.ts.map +1 -1
  886. package/dist/es6/card/lib/Card.js +39 -26
  887. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  888. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  889. package/dist/es6/card/lib/CardBody.js +3 -26
  890. package/dist/es6/card/lib/CardHeading.d.ts +1 -1
  891. package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
  892. package/dist/es6/card/lib/CardHeading.js +3 -26
  893. package/dist/es6/checkbox/lib/Checkbox.d.ts +2 -2
  894. package/dist/es6/checkbox/lib/Checkbox.d.ts.map +1 -1
  895. package/dist/es6/checkbox/lib/Checkbox.js +118 -127
  896. package/dist/es6/collection/index.d.ts +5 -1
  897. package/dist/es6/collection/index.d.ts.map +1 -1
  898. package/dist/es6/collection/index.js +4 -0
  899. package/dist/es6/collection/lib/ListBox.d.ts +353 -125
  900. package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
  901. package/dist/es6/collection/lib/ListBox.js +29 -37
  902. package/dist/es6/collection/lib/keyUtils.d.ts +26 -0
  903. package/dist/es6/collection/lib/keyUtils.d.ts.map +1 -0
  904. package/dist/es6/collection/lib/keyUtils.js +76 -0
  905. package/dist/es6/collection/lib/react-virtual.js +1 -1
  906. package/dist/es6/collection/lib/useBaseListModel.d.ts +30 -20
  907. package/dist/es6/collection/lib/useBaseListModel.d.ts.map +1 -1
  908. package/dist/es6/collection/lib/useBaseListModel.js +76 -69
  909. package/dist/es6/collection/lib/useCursorListModel.d.ts +563 -93
  910. package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
  911. package/dist/es6/collection/lib/useCursorListModel.js +166 -168
  912. package/dist/es6/collection/lib/useGridModel.d.ts +273 -119
  913. package/dist/es6/collection/lib/useGridModel.d.ts.map +1 -1
  914. package/dist/es6/collection/lib/useGridModel.js +16 -30
  915. package/dist/es6/collection/lib/useListActiveDescendant.d.ts +68 -0
  916. package/dist/es6/collection/lib/useListActiveDescendant.d.ts.map +1 -0
  917. package/dist/es6/collection/lib/useListActiveDescendant.js +22 -0
  918. package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts +88 -0
  919. package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -0
  920. package/dist/es6/collection/lib/useListItemAllowChildStrings.js +34 -0
  921. package/dist/es6/collection/lib/useListItemRegister.d.ts +25 -13
  922. package/dist/es6/collection/lib/useListItemRegister.d.ts.map +1 -1
  923. package/dist/es6/collection/lib/useListItemRegister.js +31 -19
  924. package/dist/es6/collection/lib/useListItemRovingFocus.d.ts +23 -38
  925. package/dist/es6/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
  926. package/dist/es6/collection/lib/useListItemRovingFocus.js +62 -114
  927. package/dist/es6/collection/lib/useListItemSelect.d.ts +25 -11
  928. package/dist/es6/collection/lib/useListItemSelect.d.ts.map +1 -1
  929. package/dist/es6/collection/lib/useListItemSelect.js +19 -10
  930. package/dist/es6/collection/lib/useListKeyboardHandler.d.ts +66 -0
  931. package/dist/es6/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
  932. package/dist/es6/collection/lib/useListKeyboardHandler.js +24 -0
  933. package/dist/es6/collection/lib/useListLoader.d.ts +106 -0
  934. package/dist/es6/collection/lib/useListLoader.d.ts.map +1 -0
  935. package/dist/es6/collection/lib/useListLoader.js +230 -0
  936. package/dist/es6/collection/lib/useListModel.d.ts +289 -122
  937. package/dist/es6/collection/lib/useListModel.d.ts.map +1 -1
  938. package/dist/es6/collection/lib/useListModel.js +21 -4
  939. package/dist/es6/collection/lib/useListRenderItem.d.ts +14 -0
  940. package/dist/es6/collection/lib/useListRenderItem.d.ts.map +1 -1
  941. package/dist/es6/collection/lib/useListRenderItem.js +22 -8
  942. package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts +25 -12
  943. package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
  944. package/dist/es6/collection/lib/useListResetCursorOnBlur.js +18 -8
  945. package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts +24 -11
  946. package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
  947. package/dist/es6/collection/lib/useOverflowListItemMeasure.js +19 -9
  948. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts +18 -12
  949. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  950. package/dist/es6/collection/lib/useOverflowListMeasure.js +9 -5
  951. package/dist/es6/collection/lib/useOverflowListModel.d.ts +341 -143
  952. package/dist/es6/collection/lib/useOverflowListModel.d.ts.map +1 -1
  953. package/dist/es6/collection/lib/useOverflowListModel.js +59 -54
  954. package/dist/es6/collection/lib/useOverflowListTarget.d.ts +22 -13
  955. package/dist/es6/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  956. package/dist/es6/collection/lib/useOverflowListTarget.js +12 -8
  957. package/dist/es6/collection/lib/useSelectionListModel.d.ts +282 -120
  958. package/dist/es6/collection/lib/useSelectionListModel.d.ts.map +1 -1
  959. package/dist/es6/collection/lib/useSelectionListModel.js +32 -37
  960. package/dist/es6/color-picker/lib/ColorInput.d.ts +1 -1
  961. package/dist/es6/color-picker/lib/ColorInput.d.ts.map +1 -1
  962. package/dist/es6/color-picker/lib/ColorInput.js +41 -71
  963. package/dist/es6/color-picker/lib/ColorPreview.d.ts +1 -1
  964. package/dist/es6/color-picker/lib/ColorPreview.d.ts.map +1 -1
  965. package/dist/es6/color-picker/lib/ColorPreview.js +3 -28
  966. package/dist/es6/color-picker/lib/parts/ColorSwatch.js +8 -36
  967. package/dist/es6/combobox/index.d.ts +9 -0
  968. package/dist/es6/combobox/index.d.ts.map +1 -0
  969. package/dist/es6/combobox/index.js +8 -0
  970. package/dist/es6/combobox/lib/Combobox.d.ts +2075 -0
  971. package/dist/es6/combobox/lib/Combobox.d.ts.map +1 -0
  972. package/dist/es6/combobox/lib/Combobox.js +23 -0
  973. package/dist/es6/combobox/lib/ComboboxCard.d.ts +166 -0
  974. package/dist/es6/combobox/lib/ComboboxCard.d.ts.map +1 -0
  975. package/dist/es6/combobox/lib/ComboboxCard.js +19 -0
  976. package/dist/es6/combobox/lib/ComboboxInput.d.ts +186 -0
  977. package/dist/es6/combobox/lib/ComboboxInput.d.ts.map +1 -0
  978. package/dist/es6/combobox/lib/ComboboxInput.js +78 -0
  979. package/dist/es6/combobox/lib/ComboboxMenu.d.ts +428 -0
  980. package/dist/es6/combobox/lib/ComboboxMenu.d.ts.map +1 -0
  981. package/dist/es6/combobox/lib/ComboboxMenu.js +57 -0
  982. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts +178 -0
  983. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
  984. package/dist/es6/combobox/lib/ComboboxMenuItem.js +44 -0
  985. package/dist/es6/combobox/lib/ComboboxMenuList.d.ts +164 -0
  986. package/dist/es6/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
  987. package/dist/es6/combobox/lib/ComboboxMenuList.js +25 -0
  988. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
  989. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
  990. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.js +17 -0
  991. package/dist/es6/combobox/lib/useComboboxLoader.d.ts +28 -0
  992. package/dist/es6/combobox/lib/useComboboxLoader.d.ts.map +1 -0
  993. package/dist/es6/combobox/lib/useComboboxLoader.js +58 -0
  994. package/dist/es6/combobox/lib/useComboboxModel.d.ts +1998 -0
  995. package/dist/es6/combobox/lib/useComboboxModel.d.ts.map +1 -0
  996. package/dist/es6/combobox/lib/useComboboxModel.js +76 -0
  997. package/dist/es6/common/lib/CanvasProvider.js +11 -52
  998. package/dist/es6/common/lib/EllipsisText.d.ts +1 -2
  999. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -1
  1000. package/dist/es6/common/lib/EllipsisText.js +10 -3
  1001. package/dist/es6/common/lib/InputProvider.d.ts +1 -1
  1002. package/dist/es6/common/lib/InputProvider.js +72 -91
  1003. package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
  1004. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +20 -49
  1005. package/dist/es6/common/lib/styles/accessibleHide.js +1 -1
  1006. package/dist/es6/common/lib/styles/errorRing.js +8 -7
  1007. package/dist/es6/common/lib/styles/focusRing.d.ts +0 -3
  1008. package/dist/es6/common/lib/styles/focusRing.d.ts.map +1 -1
  1009. package/dist/es6/common/lib/styles/focusRing.js +16 -29
  1010. package/dist/es6/common/lib/styles/hideMouseFocus.js +13 -9
  1011. package/dist/es6/common/lib/theming/breakpoints.js +12 -12
  1012. package/dist/es6/common/lib/theming/createCanvasTheme.d.ts +7 -6
  1013. package/dist/es6/common/lib/theming/createCanvasTheme.d.ts.map +1 -1
  1014. package/dist/es6/common/lib/theming/createCanvasTheme.js +39 -63
  1015. package/dist/es6/common/lib/theming/getObjectProxy.d.ts +15 -0
  1016. package/dist/es6/common/lib/theming/getObjectProxy.d.ts.map +1 -0
  1017. package/dist/es6/common/lib/theming/getObjectProxy.js +27 -0
  1018. package/dist/es6/common/lib/theming/index.d.ts +2 -0
  1019. package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
  1020. package/dist/es6/common/lib/theming/index.js +2 -0
  1021. package/dist/es6/common/lib/theming/styled.js +7 -11
  1022. package/dist/es6/common/lib/theming/theme.js +5 -5
  1023. package/dist/es6/common/lib/theming/useIsRTL.js +2 -2
  1024. package/dist/es6/common/lib/theming/useTheme.d.ts +49 -5
  1025. package/dist/es6/common/lib/theming/useTheme.d.ts.map +1 -1
  1026. package/dist/es6/common/lib/theming/useTheme.js +78 -34
  1027. package/dist/es6/common/lib/theming/useThemedRing.d.ts +43 -0
  1028. package/dist/es6/common/lib/theming/useThemedRing.d.ts.map +1 -0
  1029. package/dist/es6/common/lib/theming/useThemedRing.js +92 -0
  1030. package/dist/es6/common/lib/utils/changeFocus.d.ts.map +1 -1
  1031. package/dist/es6/common/lib/utils/changeFocus.js +11 -5
  1032. package/dist/es6/common/lib/utils/colorUtils.d.ts +7 -0
  1033. package/dist/es6/common/lib/utils/colorUtils.d.ts.map +1 -1
  1034. package/dist/es6/common/lib/utils/colorUtils.js +24 -12
  1035. package/dist/es6/common/lib/utils/components.d.ts +140 -86
  1036. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  1037. package/dist/es6/common/lib/utils/components.js +150 -111
  1038. package/dist/es6/common/lib/utils/deepMerge.d.ts +2 -0
  1039. package/dist/es6/common/lib/utils/deepMerge.d.ts.map +1 -0
  1040. package/dist/es6/common/lib/utils/deepMerge.js +20 -0
  1041. package/dist/es6/common/lib/utils/dispatchInputEvent.d.ts +2 -0
  1042. package/dist/es6/common/lib/utils/dispatchInputEvent.d.ts.map +1 -0
  1043. package/dist/es6/common/lib/utils/dispatchInputEvent.js +14 -0
  1044. package/dist/es6/common/lib/utils/elements.js +16 -16
  1045. package/dist/es6/common/lib/utils/getTranslateFromOrigin.js +2 -2
  1046. package/dist/es6/common/lib/utils/index.d.ts +2 -0
  1047. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  1048. package/dist/es6/common/lib/utils/index.js +2 -0
  1049. package/dist/es6/common/lib/utils/isWithinBreakpoint.js +1 -1
  1050. package/dist/es6/common/lib/utils/makeMq.js +4 -4
  1051. package/dist/es6/common/lib/utils/memoize.d.ts +6 -0
  1052. package/dist/es6/common/lib/utils/memoize.d.ts.map +1 -0
  1053. package/dist/es6/common/lib/utils/memoize.js +16 -0
  1054. package/dist/es6/common/lib/utils/mergeCallback.js +1 -5
  1055. package/dist/es6/common/lib/utils/mergeProps.js +4 -15
  1056. package/dist/es6/common/lib/utils/models.d.ts +6 -2
  1057. package/dist/es6/common/lib/utils/models.d.ts.map +1 -1
  1058. package/dist/es6/common/lib/utils/models.js +52 -72
  1059. package/dist/es6/common/lib/utils/slugify.d.ts +5 -0
  1060. package/dist/es6/common/lib/utils/slugify.d.ts.map +1 -0
  1061. package/dist/es6/common/lib/utils/slugify.js +11 -0
  1062. package/dist/es6/common/lib/utils/useConstant.js +1 -1
  1063. package/dist/es6/common/lib/utils/useIsFullscreen.js +5 -5
  1064. package/dist/es6/common/lib/utils/useModalityType.d.ts.map +1 -1
  1065. package/dist/es6/common/lib/utils/useModalityType.js +25 -11
  1066. package/dist/es6/common/lib/utils/useMount.js +2 -2
  1067. package/dist/es6/common/lib/utils/useResizeObserver.js +6 -18
  1068. package/dist/es6/common/lib/utils/useUniqueId.js +8 -8
  1069. package/dist/es6/common/lib/utils/useWindowSize.js +8 -8
  1070. package/dist/es6/dialog/lib/Dialog.d.ts +91 -26
  1071. package/dist/es6/dialog/lib/Dialog.d.ts.map +1 -1
  1072. package/dist/es6/dialog/lib/Dialog.js +67 -3
  1073. package/dist/es6/dialog/lib/DialogCard.d.ts +4 -4
  1074. package/dist/es6/dialog/lib/DialogCard.js +3 -14
  1075. package/dist/es6/dialog/lib/DialogPopper.d.ts +4 -4
  1076. package/dist/es6/dialog/lib/DialogPopper.d.ts.map +1 -1
  1077. package/dist/es6/dialog/lib/DialogPopper.js +9 -29
  1078. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +8 -5
  1079. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  1080. package/dist/es6/dialog/lib/hooks/useDialogCard.js +2 -3
  1081. package/dist/es6/dialog/lib/hooks/useDialogModel.d.ts +10 -10
  1082. package/dist/es6/dialog/lib/hooks/useDialogModel.js +3 -3
  1083. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +4 -6
  1084. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  1085. package/dist/es6/dialog/lib/hooks/useDialogPopper.js +3 -4
  1086. package/dist/es6/disclosure/lib/useDisclosureModel.d.ts +22 -22
  1087. package/dist/es6/disclosure/lib/useDisclosureModel.js +13 -13
  1088. package/dist/es6/form-field/lib/FormField.d.ts +1 -2
  1089. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  1090. package/dist/es6/form-field/lib/FormField.js +38 -77
  1091. package/dist/es6/form-field/lib/Hint.js +9 -41
  1092. package/dist/es6/form-field/lib/Label.d.ts +4 -3
  1093. package/dist/es6/form-field/lib/Label.d.ts.map +1 -1
  1094. package/dist/es6/form-field/lib/Label.js +40 -83
  1095. package/dist/es6/icon/lib/AccentIcon.d.ts +4 -3
  1096. package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
  1097. package/dist/es6/icon/lib/AccentIcon.js +12 -38
  1098. package/dist/es6/icon/lib/AppletIcon.d.ts +1 -1
  1099. package/dist/es6/icon/lib/AppletIcon.js +12 -36
  1100. package/dist/es6/icon/lib/Graphic.d.ts +1 -1
  1101. package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
  1102. package/dist/es6/icon/lib/Graphic.js +6 -30
  1103. package/dist/es6/icon/lib/Icon.d.ts +1 -1
  1104. package/dist/es6/icon/lib/Icon.d.ts.map +1 -1
  1105. package/dist/es6/icon/lib/Icon.js +10 -29
  1106. package/dist/es6/icon/lib/Svg.d.ts +1 -1
  1107. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  1108. package/dist/es6/icon/lib/Svg.js +8 -31
  1109. package/dist/es6/icon/lib/SystemIcon.d.ts +11 -11
  1110. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  1111. package/dist/es6/icon/lib/SystemIcon.js +33 -59
  1112. package/dist/es6/icon/lib/SystemIconCircle.d.ts +3 -2
  1113. package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
  1114. package/dist/es6/icon/lib/SystemIconCircle.js +14 -43
  1115. package/dist/es6/icon/lib/utils.js +1 -1
  1116. package/dist/es6/index.d.ts +1 -0
  1117. package/dist/es6/index.d.ts.map +1 -1
  1118. package/dist/es6/index.js +1 -0
  1119. package/dist/es6/layout/index.d.ts +2 -5
  1120. package/dist/es6/layout/index.d.ts.map +1 -1
  1121. package/dist/es6/layout/index.js +2 -4
  1122. package/dist/es6/layout/lib/Box.d.ts +1 -1
  1123. package/dist/es6/layout/lib/Box.d.ts.map +1 -1
  1124. package/dist/es6/layout/lib/Box.js +12 -37
  1125. package/dist/es6/layout/lib/Flex.d.ts +2 -2
  1126. package/dist/es6/layout/lib/Flex.js +4 -27
  1127. package/dist/es6/layout/lib/Grid.d.ts +2 -2
  1128. package/dist/es6/layout/lib/Grid.js +7 -31
  1129. package/dist/es6/layout/lib/utils/background.js +3 -3
  1130. package/dist/es6/layout/lib/utils/border/color.d.ts +7 -7
  1131. package/dist/es6/layout/lib/utils/border/color.js +2 -2
  1132. package/dist/es6/layout/lib/utils/border/index.js +14 -20
  1133. package/dist/es6/layout/lib/utils/border/lineStyle.js +2 -2
  1134. package/dist/es6/layout/lib/utils/border/radius.js +2 -2
  1135. package/dist/es6/layout/lib/utils/border/shorthand.js +2 -2
  1136. package/dist/es6/layout/lib/utils/border/width.js +2 -2
  1137. package/dist/es6/layout/lib/utils/buildStyleFns.js +39 -42
  1138. package/dist/es6/layout/lib/utils/color.js +3 -3
  1139. package/dist/es6/layout/lib/utils/depth.js +3 -3
  1140. package/dist/es6/layout/lib/utils/flex.js +3 -3
  1141. package/dist/es6/layout/lib/utils/flexItem.js +3 -3
  1142. package/dist/es6/layout/lib/utils/getValidChildren.d.ts +1 -1
  1143. package/dist/es6/layout/lib/utils/getValidChildren.d.ts.map +1 -1
  1144. package/dist/es6/layout/lib/utils/getValidChildren.js +1 -3
  1145. package/dist/es6/layout/lib/utils/grid.js +3 -3
  1146. package/dist/es6/layout/lib/utils/gridItem.js +3 -3
  1147. package/dist/es6/layout/lib/utils/layout.d.ts +1 -1
  1148. package/dist/es6/layout/lib/utils/layout.d.ts.map +1 -1
  1149. package/dist/es6/layout/lib/utils/layout.js +3 -3
  1150. package/dist/es6/layout/lib/utils/other.js +3 -3
  1151. package/dist/es6/layout/lib/utils/position.d.ts +4 -0
  1152. package/dist/es6/layout/lib/utils/position.d.ts.map +1 -1
  1153. package/dist/es6/layout/lib/utils/position.js +8 -3
  1154. package/dist/es6/layout/lib/utils/space.js +3 -3
  1155. package/dist/es6/layout/lib/utils/text.js +3 -3
  1156. package/dist/es6/loading-dots/lib/LoadingDots.js +16 -38
  1157. package/dist/es6/menu/index.d.ts +1 -1
  1158. package/dist/es6/menu/index.d.ts.map +1 -1
  1159. package/dist/es6/menu/index.js +1 -1
  1160. package/dist/es6/menu/lib/Menu.d.ts +474 -439
  1161. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  1162. package/dist/es6/menu/lib/Menu.js +45 -16
  1163. package/dist/es6/menu/lib/MenuCard.d.ts +25 -19
  1164. package/dist/es6/menu/lib/MenuCard.d.ts.map +1 -1
  1165. package/dist/es6/menu/lib/MenuCard.js +9 -21
  1166. package/dist/es6/menu/lib/MenuContextTarget.d.ts +142 -18
  1167. package/dist/es6/menu/lib/MenuContextTarget.d.ts.map +1 -1
  1168. package/dist/es6/menu/lib/MenuContextTarget.js +7 -30
  1169. package/dist/es6/menu/lib/MenuDivider.d.ts +1 -1
  1170. package/dist/es6/menu/lib/MenuDivider.d.ts.map +1 -1
  1171. package/dist/es6/menu/lib/MenuDivider.js +6 -17
  1172. package/dist/es6/menu/lib/MenuItem.d.ts +78 -21
  1173. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  1174. package/dist/es6/menu/lib/MenuItem.js +78 -87
  1175. package/dist/es6/menu/lib/MenuList.d.ts +31 -25
  1176. package/dist/es6/menu/lib/MenuList.d.ts.map +1 -1
  1177. package/dist/es6/menu/lib/MenuList.js +7 -29
  1178. package/dist/es6/menu/lib/MenuPopper.d.ts +17 -15
  1179. package/dist/es6/menu/lib/MenuPopper.d.ts.map +1 -1
  1180. package/dist/es6/menu/lib/MenuPopper.js +4 -27
  1181. package/dist/es6/menu/lib/MenuTarget.d.ts +227 -22
  1182. package/dist/es6/menu/lib/MenuTarget.d.ts.map +1 -1
  1183. package/dist/es6/menu/lib/MenuTarget.js +10 -34
  1184. package/dist/es6/menu/lib/useMenuModel.d.ts +393 -219
  1185. package/dist/es6/menu/lib/useMenuModel.d.ts.map +1 -1
  1186. package/dist/es6/menu/lib/useMenuModel.js +22 -26
  1187. package/dist/es6/modal/lib/Modal.d.ts +203 -47
  1188. package/dist/es6/modal/lib/Modal.d.ts.map +1 -1
  1189. package/dist/es6/modal/lib/Modal.js +79 -7
  1190. package/dist/es6/modal/lib/ModalBody.d.ts +24 -0
  1191. package/dist/es6/modal/lib/ModalBody.d.ts.map +1 -0
  1192. package/dist/es6/modal/lib/ModalBody.js +20 -0
  1193. package/dist/es6/modal/lib/ModalCard.d.ts +2 -2
  1194. package/dist/es6/modal/lib/ModalCard.d.ts.map +1 -1
  1195. package/dist/es6/modal/lib/ModalCard.js +12 -25
  1196. package/dist/es6/modal/lib/ModalHeading.d.ts +2 -2
  1197. package/dist/es6/modal/lib/ModalHeading.d.ts.map +1 -1
  1198. package/dist/es6/modal/lib/ModalHeading.js +10 -21
  1199. package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +4 -4
  1200. package/dist/es6/modal/lib/ModalOverflowOverlay.js +5 -16
  1201. package/dist/es6/modal/lib/ModalOverlay.d.ts +6 -8
  1202. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  1203. package/dist/es6/modal/lib/ModalOverlay.js +33 -45
  1204. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.d.ts +3 -5
  1205. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.d.ts.map +1 -1
  1206. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.js +13 -13
  1207. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +8 -5
  1208. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  1209. package/dist/es6/modal/lib/hooks/useModalCard.js +1 -1
  1210. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +8 -5
  1211. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  1212. package/dist/es6/modal/lib/hooks/useModalHeading.js +5 -5
  1213. package/dist/es6/modal/lib/hooks/useModalModel.d.ts +10 -10
  1214. package/dist/es6/modal/lib/hooks/useModalModel.js +3 -3
  1215. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
  1216. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  1217. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +15 -31
  1218. package/dist/es6/pagination/lib/Pagination/Controls.d.ts +12 -11
  1219. package/dist/es6/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  1220. package/dist/es6/pagination/lib/Pagination/Controls.js +77 -83
  1221. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +5 -5
  1222. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  1223. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +14 -29
  1224. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
  1225. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  1226. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +9 -26
  1227. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
  1228. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
  1229. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +9 -26
  1230. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +10 -1
  1231. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
  1232. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -12
  1233. package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  1234. package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  1235. package/dist/es6/pagination/lib/Pagination/Nav.js +2 -25
  1236. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts +4 -5
  1237. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  1238. package/dist/es6/pagination/lib/Pagination/PageButton.js +20 -38
  1239. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +7 -6
  1240. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  1241. package/dist/es6/pagination/lib/Pagination/PageList.js +16 -31
  1242. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +230 -38
  1243. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  1244. package/dist/es6/pagination/lib/Pagination/Pagination.js +229 -99
  1245. package/dist/es6/pagination/lib/Pagination/buildPageRange.js +9 -17
  1246. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +2 -2
  1247. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  1248. package/dist/es6/pagination/lib/Pagination/common/List.js +7 -31
  1249. package/dist/es6/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
  1250. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  1251. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  1252. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.js +1 -3
  1253. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.d.ts +45 -15
  1254. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
  1255. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.js +45 -15
  1256. package/dist/es6/pagination/lib/Pagination/common/utils/useRTL.js +4 -4
  1257. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
  1258. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  1259. package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +29 -28
  1260. package/dist/es6/popup/lib/Popper.d.ts +16 -1
  1261. package/dist/es6/popup/lib/Popper.d.ts.map +1 -1
  1262. package/dist/es6/popup/lib/Popper.js +44 -53
  1263. package/dist/es6/popup/lib/Popup.d.ts +103 -22
  1264. package/dist/es6/popup/lib/Popup.d.ts.map +1 -1
  1265. package/dist/es6/popup/lib/Popup.js +87 -7
  1266. package/dist/es6/popup/lib/PopupBody.d.ts +2 -2
  1267. package/dist/es6/popup/lib/PopupBody.js +3 -14
  1268. package/dist/es6/popup/lib/PopupCard.d.ts +2 -2
  1269. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  1270. package/dist/es6/popup/lib/PopupCard.js +53 -48
  1271. package/dist/es6/popup/lib/PopupCloseButton.d.ts +2 -2
  1272. package/dist/es6/popup/lib/PopupCloseButton.js +3 -26
  1273. package/dist/es6/popup/lib/PopupCloseIcon.d.ts +2 -2
  1274. package/dist/es6/popup/lib/PopupCloseIcon.d.ts.map +1 -1
  1275. package/dist/es6/popup/lib/PopupCloseIcon.js +5 -33
  1276. package/dist/es6/popup/lib/PopupHeading.d.ts +2 -2
  1277. package/dist/es6/popup/lib/PopupHeading.js +3 -26
  1278. package/dist/es6/popup/lib/PopupPopper.d.ts +2 -2
  1279. package/dist/es6/popup/lib/PopupPopper.js +3 -26
  1280. package/dist/es6/popup/lib/PopupTarget.d.ts +2 -2
  1281. package/dist/es6/popup/lib/PopupTarget.js +3 -14
  1282. package/dist/es6/popup/lib/getTransformFromPlacement.js +6 -6
  1283. package/dist/es6/popup/lib/hooks/focus-trap-js.js +23 -27
  1284. package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +3 -5
  1285. package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts.map +1 -1
  1286. package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +5 -5
  1287. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.d.ts +3 -5
  1288. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.d.ts.map +1 -1
  1289. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +11 -16
  1290. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.d.ts +7 -9
  1291. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.d.ts.map +1 -1
  1292. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +11 -11
  1293. package/dist/es6/popup/lib/hooks/useCloseOnEscape.d.ts +5 -7
  1294. package/dist/es6/popup/lib/hooks/useCloseOnEscape.d.ts.map +1 -1
  1295. package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +7 -7
  1296. package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +3 -5
  1297. package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.d.ts.map +1 -1
  1298. package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.js +5 -5
  1299. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.d.ts +9 -11
  1300. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.d.ts.map +1 -1
  1301. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +14 -14
  1302. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts +3 -5
  1303. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts.map +1 -1
  1304. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.js +9 -9
  1305. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.d.ts +3 -5
  1306. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.d.ts.map +1 -1
  1307. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +7 -7
  1308. package/dist/es6/popup/lib/hooks/useFocusRedirect.d.ts +3 -5
  1309. package/dist/es6/popup/lib/hooks/useFocusRedirect.d.ts.map +1 -1
  1310. package/dist/es6/popup/lib/hooks/useFocusRedirect.js +7 -7
  1311. package/dist/es6/popup/lib/hooks/useFocusTrap.d.ts +3 -5
  1312. package/dist/es6/popup/lib/hooks/useFocusTrap.d.ts.map +1 -1
  1313. package/dist/es6/popup/lib/hooks/useFocusTrap.js +5 -5
  1314. package/dist/es6/popup/lib/hooks/useInitialFocus.d.ts +5 -7
  1315. package/dist/es6/popup/lib/hooks/useInitialFocus.d.ts.map +1 -1
  1316. package/dist/es6/popup/lib/hooks/useInitialFocus.js +9 -9
  1317. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -7
  1318. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  1319. package/dist/es6/popup/lib/hooks/usePopupCard.js +2 -3
  1320. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +7 -8
  1321. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  1322. package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +4 -4
  1323. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -7
  1324. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  1325. package/dist/es6/popup/lib/hooks/usePopupHeading.js +2 -3
  1326. package/dist/es6/popup/lib/hooks/usePopupModel.d.ts +13 -13
  1327. package/dist/es6/popup/lib/hooks/usePopupModel.js +28 -33
  1328. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +7 -8
  1329. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  1330. package/dist/es6/popup/lib/hooks/usePopupPopper.js +7 -7
  1331. package/dist/es6/popup/lib/hooks/usePopupStack.d.ts +27 -19
  1332. package/dist/es6/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  1333. package/dist/es6/popup/lib/hooks/usePopupStack.js +38 -30
  1334. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +6 -8
  1335. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  1336. package/dist/es6/popup/lib/hooks/usePopupTarget.js +4 -5
  1337. package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts +5 -7
  1338. package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts.map +1 -1
  1339. package/dist/es6/popup/lib/hooks/usePopupTargetContext.js +3 -4
  1340. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +5 -7
  1341. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts.map +1 -1
  1342. package/dist/es6/popup/lib/hooks/useReturnFocus.js +29 -18
  1343. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +3 -5
  1344. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts.map +1 -1
  1345. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.js +5 -5
  1346. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +3 -5
  1347. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.d.ts.map +1 -1
  1348. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.js +5 -5
  1349. package/dist/es6/radio/lib/Radio.d.ts +1 -1
  1350. package/dist/es6/radio/lib/Radio.d.ts.map +1 -1
  1351. package/dist/es6/radio/lib/Radio.js +111 -131
  1352. package/dist/es6/radio/lib/RadioGroup.d.ts +1 -2
  1353. package/dist/es6/radio/lib/RadioGroup.d.ts.map +1 -1
  1354. package/dist/es6/radio/lib/RadioGroup.js +29 -73
  1355. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +2 -2
  1356. package/dist/es6/segmented-control/lib/SegmentedControl.js +5 -28
  1357. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
  1358. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  1359. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +37 -58
  1360. package/dist/es6/select/lib/Select.d.ts +1 -1
  1361. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  1362. package/dist/es6/select/lib/Select.js +44 -61
  1363. package/dist/es6/select/lib/SelectOption.js +5 -46
  1364. package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
  1365. package/dist/es6/side-panel/lib/SidePanel.js +55 -117
  1366. package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
  1367. package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
  1368. package/dist/es6/skeleton/lib/parts/skeletonHeader.js +2 -27
  1369. package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts +1 -1
  1370. package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
  1371. package/dist/es6/skeleton/lib/parts/skeletonShape.js +9 -37
  1372. package/dist/es6/skeleton/lib/parts/skeletonText.d.ts +1 -1
  1373. package/dist/es6/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
  1374. package/dist/es6/skeleton/lib/parts/skeletonText.js +9 -35
  1375. package/dist/es6/skeleton/lib/skeleton.d.ts +30 -4
  1376. package/dist/es6/skeleton/lib/skeleton.d.ts.map +1 -1
  1377. package/dist/es6/skeleton/lib/skeleton.js +36 -35
  1378. package/dist/es6/status-indicator/lib/StatusIndicator.js +25 -57
  1379. package/dist/es6/switch/lib/Switch.d.ts +1 -1
  1380. package/dist/es6/switch/lib/Switch.js +54 -64
  1381. package/dist/es6/table/lib/Table.js +9 -50
  1382. package/dist/es6/table/lib/TableRow.d.ts +2 -1
  1383. package/dist/es6/table/lib/TableRow.d.ts.map +1 -1
  1384. package/dist/es6/table/lib/TableRow.js +35 -62
  1385. package/dist/es6/tabs/lib/Tabs.d.ts +1263 -557
  1386. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  1387. package/dist/es6/tabs/lib/Tabs.js +96 -5
  1388. package/dist/es6/tabs/lib/TabsItem.d.ts +179 -30
  1389. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
  1390. package/dist/es6/tabs/lib/TabsItem.js +73 -80
  1391. package/dist/es6/tabs/lib/TabsList.d.ts +157 -29
  1392. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
  1393. package/dist/es6/tabs/lib/TabsList.js +48 -44
  1394. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +17 -15
  1395. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -1
  1396. package/dist/es6/tabs/lib/TabsMenuPopper.js +4 -27
  1397. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +119 -27
  1398. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  1399. package/dist/es6/tabs/lib/TabsOverflowButton.js +6 -29
  1400. package/dist/es6/tabs/lib/TabsPanel.d.ts +46 -32
  1401. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -1
  1402. package/dist/es6/tabs/lib/TabsPanel.js +14 -39
  1403. package/dist/es6/tabs/lib/TabsPanels.d.ts +24 -16
  1404. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -1
  1405. package/dist/es6/tabs/lib/TabsPanels.js +2 -3
  1406. package/dist/es6/tabs/lib/useTabsModel.d.ts +1170 -618
  1407. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  1408. package/dist/es6/tabs/lib/useTabsModel.js +60 -41
  1409. package/dist/es6/testing/lib/ComponentStatesTable.js +9 -18
  1410. package/dist/es6/testing/lib/StaticStates.js +8 -32
  1411. package/dist/es6/testing/lib/permutateProps.js +13 -26
  1412. package/dist/es6/text/lib/LabelText.d.ts +19 -2
  1413. package/dist/es6/text/lib/LabelText.d.ts.map +1 -1
  1414. package/dist/es6/text/lib/LabelText.js +22 -24
  1415. package/dist/es6/text/lib/Text.d.ts +43 -3
  1416. package/dist/es6/text/lib/Text.d.ts.map +1 -1
  1417. package/dist/es6/text/lib/Text.js +42 -37
  1418. package/dist/es6/text/lib/TypeLevelComponents.d.ts +105 -6
  1419. package/dist/es6/text/lib/TypeLevelComponents.d.ts.map +1 -1
  1420. package/dist/es6/text/lib/TypeLevelComponents.js +113 -43
  1421. package/dist/es6/text-area/lib/TextArea.d.ts +1 -1
  1422. package/dist/es6/text-area/lib/TextArea.js +41 -54
  1423. package/dist/es6/text-input/index.d.ts +1 -0
  1424. package/dist/es6/text-input/index.d.ts.map +1 -1
  1425. package/dist/es6/text-input/index.js +1 -0
  1426. package/dist/es6/text-input/lib/InputGroup.d.ts +135 -0
  1427. package/dist/es6/text-input/lib/InputGroup.d.ts.map +1 -0
  1428. package/dist/es6/text-input/lib/InputGroup.js +194 -0
  1429. package/dist/es6/text-input/lib/InputIconContainer.js +8 -14
  1430. package/dist/es6/text-input/lib/TextInput.d.ts +1 -1
  1431. package/dist/es6/text-input/lib/TextInput.js +37 -50
  1432. package/dist/es6/toast/index.d.ts +1 -0
  1433. package/dist/es6/toast/index.d.ts.map +1 -1
  1434. package/dist/es6/toast/index.js +1 -0
  1435. package/dist/es6/toast/lib/Toast.d.ts +56 -22
  1436. package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
  1437. package/dist/es6/toast/lib/Toast.js +90 -58
  1438. package/dist/es6/toast/lib/ToastBody.d.ts +6 -0
  1439. package/dist/es6/toast/lib/ToastBody.d.ts.map +1 -0
  1440. package/dist/es6/toast/lib/ToastBody.js +9 -0
  1441. package/dist/es6/toast/lib/ToastCloseIcon.d.ts +6 -0
  1442. package/dist/es6/toast/lib/ToastCloseIcon.d.ts.map +1 -0
  1443. package/dist/es6/toast/lib/ToastCloseIcon.js +9 -0
  1444. package/dist/es6/toast/lib/ToastIcon.d.ts +5 -0
  1445. package/dist/es6/toast/lib/ToastIcon.d.ts.map +1 -0
  1446. package/dist/es6/toast/lib/ToastIcon.js +9 -0
  1447. package/dist/es6/toast/lib/ToastLink.d.ts +5 -0
  1448. package/dist/es6/toast/lib/ToastLink.d.ts.map +1 -0
  1449. package/dist/es6/toast/lib/ToastLink.js +9 -0
  1450. package/dist/es6/toast/lib/ToastMessage.d.ts +12 -0
  1451. package/dist/es6/toast/lib/ToastMessage.d.ts.map +1 -0
  1452. package/dist/es6/toast/lib/ToastMessage.js +9 -0
  1453. package/dist/es6/toast/lib/hooks/useToastModel.d.ts +75 -0
  1454. package/dist/es6/toast/lib/hooks/useToastModel.d.ts.map +1 -0
  1455. package/dist/es6/toast/lib/hooks/useToastModel.js +26 -0
  1456. package/dist/es6/tokens/index.d.ts +2 -2
  1457. package/dist/es6/tokens/index.d.ts.map +1 -1
  1458. package/dist/es6/tokens/index.js +16 -16
  1459. package/dist/es6/tokens/lib/depth.d.ts +6 -7
  1460. package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
  1461. package/dist/es6/tokens/lib/depth.js +7 -7
  1462. package/dist/es6/tokens/lib/radius.js +1 -1
  1463. package/dist/es6/tokens/lib/space.js +2 -2
  1464. package/dist/es6/tokens/lib/type/fontFamilies.d.ts.map +1 -1
  1465. package/dist/es6/tokens/lib/type/fontFamilies.js +8 -6
  1466. package/dist/es6/tokens/lib/type/fontSizes.js +1 -1
  1467. package/dist/es6/tokens/lib/type/fontWeights.js +1 -1
  1468. package/dist/es6/tokens/lib/type/index.d.ts +7 -7
  1469. package/dist/es6/tokens/lib/type/index.js +10 -10
  1470. package/dist/es6/tokens/lib/type/levels.js +1 -1
  1471. package/dist/es6/tokens/lib/type/variants.js +1 -1
  1472. package/dist/es6/tooltip/lib/OverflowTooltip.js +29 -49
  1473. package/dist/es6/tooltip/lib/Tooltip.d.ts +1 -1
  1474. package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
  1475. package/dist/es6/tooltip/lib/Tooltip.js +27 -45
  1476. package/dist/es6/tooltip/lib/TooltipContainer.d.ts +1 -1
  1477. package/dist/es6/tooltip/lib/TooltipContainer.js +33 -31
  1478. package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
  1479. package/dist/es6/tooltip/lib/useTooltip.js +41 -38
  1480. package/form-field/lib/FormField.tsx +5 -3
  1481. package/form-field/lib/Label.tsx +9 -8
  1482. package/icon/lib/AccentIcon.tsx +5 -6
  1483. package/icon/lib/SystemIcon.tsx +17 -17
  1484. package/icon/lib/SystemIconCircle.tsx +4 -3
  1485. package/index.ts +1 -0
  1486. package/layout/README.md +2 -8
  1487. package/layout/index.ts +2 -6
  1488. package/layout/lib/utils/border/color.ts +7 -7
  1489. package/layout/lib/utils/layout.ts +1 -1
  1490. package/layout/lib/utils/position.ts +9 -0
  1491. package/menu/index.ts +1 -1
  1492. package/menu/lib/Menu.tsx +43 -13
  1493. package/menu/lib/MenuContextTarget.tsx +1 -1
  1494. package/menu/lib/MenuItem.tsx +18 -19
  1495. package/menu/lib/MenuList.tsx +16 -11
  1496. package/menu/lib/MenuTarget.tsx +2 -2
  1497. package/menu/lib/useMenuModel.tsx +4 -7
  1498. package/modal/lib/Modal.tsx +77 -5
  1499. package/modal/lib/ModalBody.tsx +32 -0
  1500. package/modal/lib/ModalCard.tsx +12 -8
  1501. package/modal/lib/ModalHeading.tsx +10 -5
  1502. package/modal/lib/ModalOverlay.tsx +17 -13
  1503. package/modal/lib/hooks/useModalHeading.ts +2 -2
  1504. package/package.json +4 -5
  1505. package/pagination/lib/Pagination/AdditionalDetails.tsx +30 -20
  1506. package/pagination/lib/Pagination/Controls.tsx +122 -99
  1507. package/pagination/lib/Pagination/GoTo/Form.tsx +33 -22
  1508. package/pagination/lib/Pagination/GoTo/Label.tsx +21 -10
  1509. package/pagination/lib/Pagination/GoTo/TextInput.tsx +11 -7
  1510. package/pagination/lib/Pagination/GoTo/useGoToForm.tsx +3 -1
  1511. package/pagination/lib/Pagination/Nav.tsx +1 -2
  1512. package/pagination/lib/Pagination/PageButton.tsx +34 -31
  1513. package/pagination/lib/Pagination/PageList.tsx +36 -22
  1514. package/pagination/lib/Pagination/Pagination.tsx +256 -139
  1515. package/pagination/lib/Pagination/common/utils/helpers.ts +45 -15
  1516. package/pagination/lib/Pagination/usePaginationModel.ts +4 -7
  1517. package/popup/lib/Popper.tsx +16 -1
  1518. package/popup/lib/Popup.tsx +85 -4
  1519. package/popup/lib/PopupCard.tsx +31 -5
  1520. package/popup/lib/PopupCloseIcon.tsx +14 -15
  1521. package/popup/lib/hooks/useBringToTopOnClick.ts +4 -4
  1522. package/popup/lib/hooks/useCloseOnEscape.ts +2 -2
  1523. package/popup/lib/hooks/useCloseOnOutsideClick.ts +6 -6
  1524. package/popup/lib/hooks/useInitialFocus.tsx +2 -2
  1525. package/popup/lib/hooks/usePopupCard.ts +1 -1
  1526. package/popup/lib/hooks/usePopupCloseButton.ts +3 -2
  1527. package/popup/lib/hooks/usePopupHeading.ts +1 -1
  1528. package/popup/lib/hooks/usePopupPopper.ts +2 -1
  1529. package/popup/lib/hooks/usePopupStack.ts +26 -18
  1530. package/popup/lib/hooks/usePopupTarget.ts +1 -1
  1531. package/popup/lib/hooks/useReturnFocus.tsx +17 -4
  1532. package/radio/lib/RadioGroup.tsx +1 -3
  1533. package/select/lib/Select.tsx +2 -15
  1534. package/side-panel/lib/SidePanel.tsx +1 -2
  1535. package/skeleton/lib/skeleton.tsx +27 -1
  1536. package/tabs/lib/Tabs.tsx +95 -3
  1537. package/tabs/lib/TabsItem.tsx +16 -21
  1538. package/tabs/lib/TabsList.tsx +51 -19
  1539. package/tabs/lib/TabsOverflowButton.tsx +4 -4
  1540. package/tabs/lib/TabsPanel.tsx +6 -9
  1541. package/tabs/lib/useTabsModel.tsx +17 -0
  1542. package/text/lib/LabelText.tsx +32 -12
  1543. package/text/lib/Text.tsx +45 -5
  1544. package/text/lib/TypeLevelComponents.tsx +101 -2
  1545. package/text-input/index.ts +1 -0
  1546. package/text-input/lib/InputGroup.tsx +250 -0
  1547. package/toast/LICENSE +1 -0
  1548. package/toast/README.md +3 -5
  1549. package/toast/index.ts +1 -0
  1550. package/toast/lib/Toast.tsx +104 -109
  1551. package/toast/lib/ToastBody.tsx +28 -0
  1552. package/toast/lib/ToastCloseIcon.tsx +14 -0
  1553. package/toast/lib/ToastIcon.tsx +23 -0
  1554. package/toast/lib/ToastLink.tsx +17 -0
  1555. package/toast/lib/ToastMessage.tsx +24 -0
  1556. package/toast/lib/hooks/useToastModel.tsx +29 -0
  1557. package/tokens/index.ts +3 -3
  1558. package/tokens/lib/depth.ts +12 -13
  1559. package/tokens/lib/type/fontFamilies.ts +5 -4
  1560. package/tokens/lib/type/index.ts +8 -8
  1561. package/tooltip/lib/Tooltip.tsx +42 -39
  1562. package/tooltip/lib/useTooltip.tsx +18 -11
  1563. package/dist/commonjs/layout/lib/Column.d.ts +0 -33
  1564. package/dist/commonjs/layout/lib/Column.d.ts.map +0 -1
  1565. package/dist/commonjs/layout/lib/Column.js +0 -109
  1566. package/dist/commonjs/layout/lib/Layout.d.ts +0 -45
  1567. package/dist/commonjs/layout/lib/Layout.d.ts.map +0 -1
  1568. package/dist/commonjs/layout/lib/Layout.js +0 -131
  1569. package/dist/commonjs/layout/lib/Stack.d.ts +0 -27
  1570. package/dist/commonjs/layout/lib/Stack.d.ts.map +0 -1
  1571. package/dist/commonjs/layout/lib/Stack.js +0 -99
  1572. package/dist/commonjs/layout/lib/utils/stack.d.ts +0 -23
  1573. package/dist/commonjs/layout/lib/utils/stack.d.ts.map +0 -1
  1574. package/dist/commonjs/layout/lib/utils/stack.js +0 -29
  1575. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
  1576. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
  1577. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.js +0 -58
  1578. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
  1579. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
  1580. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.js +0 -16
  1581. package/dist/es6/layout/lib/Column.d.ts +0 -33
  1582. package/dist/es6/layout/lib/Column.d.ts.map +0 -1
  1583. package/dist/es6/layout/lib/Column.js +0 -84
  1584. package/dist/es6/layout/lib/Layout.d.ts +0 -45
  1585. package/dist/es6/layout/lib/Layout.d.ts.map +0 -1
  1586. package/dist/es6/layout/lib/Layout.js +0 -106
  1587. package/dist/es6/layout/lib/Stack.d.ts +0 -27
  1588. package/dist/es6/layout/lib/Stack.d.ts.map +0 -1
  1589. package/dist/es6/layout/lib/Stack.js +0 -74
  1590. package/dist/es6/layout/lib/utils/stack.d.ts +0 -23
  1591. package/dist/es6/layout/lib/utils/stack.d.ts.map +0 -1
  1592. package/dist/es6/layout/lib/utils/stack.js +0 -25
  1593. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
  1594. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
  1595. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.js +0 -35
  1596. package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
  1597. package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
  1598. package/dist/es6/pagination/lib/Pagination/GoTo/index.js +0 -3
  1599. package/layout/lib/Column.tsx +0 -88
  1600. package/layout/lib/Layout.tsx +0 -124
  1601. package/layout/lib/Stack.tsx +0 -97
  1602. package/layout/lib/utils/stack.ts +0 -52
  1603. package/pagination/lib/Pagination/GoTo/GoTo.tsx +0 -36
  1604. package/pagination/lib/Pagination/GoTo/index.ts +0 -4
@@ -2,147 +2,94 @@ import React from 'react';
2
2
  import {useIsRTL, createElemPropsHook} from '@workday/canvas-kit-react/common';
3
3
 
4
4
  import {useCursorListModel} from './useCursorListModel';
5
+ import {keyboardEventToCursorEvents} from './keyUtils';
5
6
 
6
- export const orientationKeyMap = {
7
- horizontal: {
8
- ArrowLeft: 'goToPrevious',
9
- Left: 'goToPrevious',
10
- ArrowRight: 'goToNext',
11
- Right: 'goToNext',
12
- Home: 'goToFirst',
13
- End: 'goToLast',
14
- PageDown: 'goToNextPage',
15
- PageUp: 'goToPreviousPage',
16
- },
17
- vertical: {
18
- ArrowUp: 'goToPrevious',
19
- Up: 'goToPrevious',
20
- ArrowDown: 'goToNext',
21
- Down: 'goToNext',
22
- Home: 'goToFirst',
23
- End: 'goToLast',
24
- PageDown: 'goToNextPage',
25
- PageUp: 'goToPreviousPage',
26
- },
27
- } as const;
28
-
29
- const rightToLeftMap = {
30
- ArrowLeft: 'ArrowRight',
31
- Left: 'Right',
32
- ArrowRight: 'ArrowLeft',
33
- Right: 'Left',
34
- Home: 'Home',
35
- End: 'End',
36
- PageDown: 'PageDown',
37
- PageUp: 'PageUp',
38
- } as const;
39
-
40
- const gridKeyMap = {
41
- ...orientationKeyMap.horizontal,
42
- Home: 'goToFirstOfRow',
43
- End: 'goToLastOfRow',
44
- ArrowUp: 'goToPreviousRow',
45
- Up: 'goToPreviousRow',
46
- ArrowDown: 'goToNextRow',
47
- Down: 'goToNextRow',
48
- } as const;
49
-
50
- const ctrlKeyMap = {
51
- Home: 'goToFirst',
52
- End: 'goToLast',
53
- } as const;
54
-
55
- const keys = <T extends object>(obj: T): (keyof T)[] => Object.keys(obj) as (keyof T)[];
56
- const hasOwnKey = <T extends object>(obj: T, key: any): key is keyof T => obj.hasOwnProperty(key);
7
+ // retry a function each frame so we don't rely on the timing mechanism of React's render cycle.
8
+ const retryEachFrame = (cb: () => boolean, iterations: number) => {
9
+ if (cb() === false && iterations > 1) {
10
+ requestAnimationFrame(() => retryEachFrame(cb, iterations - 1));
11
+ }
12
+ };
57
13
 
58
14
  /**
59
- * Handles the roving focus behavior of a Cursor model. It should be added to the element
60
- * representing a list item.
15
+ * This elemProps hook is used for cursor navigation by using [Roving
16
+ * Tabindex](https://w3c.github.io/aria-practices/#kbd_roving_tabindex). Only a single item in the
17
+ * collection has a tab stop. Pressing an arrow key moves the tab stop to a different item in the
18
+ * corresponding direction. See the [Roving Tabindex](#roving-tabindex) example. This elemProps hook
19
+ * should be applied to an `*.Item` component.
61
20
  *
62
- * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
21
+ * ```ts
22
+ * const useMyItem = composeHooks(
23
+ * useListItemRovingFocus, // adds the roving tabindex support
24
+ * useListItemRegister
25
+ * );
26
+ ```
63
27
  */
64
28
  export const useListItemRovingFocus = createElemPropsHook(useCursorListModel)(
65
- ({state, events, getId, navigation}, ref, elemProps: {'data-id'?: string} = {}) => {
66
- // Tracks when this element has focus. If this item is removed while still focused, we have to
67
- // inform the model to move the cursor to the next item.
68
- const focusRef = React.useRef(false);
69
- const getIdRef = React.useRef(getId);
70
-
29
+ (model, _ref, elemProps: {'data-id'?: string} = {}) => {
71
30
  // Create a ref out of state. We don't want to watch state on unmount, so we use a ref to get the
72
31
  // current value at the time of unmounting. Otherwise, `state.items` would be a cached value of an
73
32
  // empty array
74
- const stateRef = React.useRef(state);
75
- stateRef.current = state;
33
+ const stateRef = React.useRef(model.state);
34
+ stateRef.current = model.state;
76
35
 
77
- const keyDownRef = React.useRef(false);
36
+ const keyElementRef = React.useRef<Element | null>(null);
78
37
  const isRTL = useIsRTL();
79
38
 
80
39
  React.useEffect(() => {
81
- if (keyDownRef.current) {
82
- const item = navigation.getItem(state.cursorId, {state});
83
- if (state.isVirtualized) {
84
- state.UNSTABLE_virtual.scrollToIndex(item.index);
40
+ if (keyElementRef.current) {
41
+ const item = model.navigation.getItem(model.state.cursorId, model);
42
+ if (model.state.isVirtualized) {
43
+ model.state.UNSTABLE_virtual.scrollToIndex(item.index);
85
44
  }
86
- requestAnimationFrame(() => {
87
- document
88
- .querySelector<HTMLElement>(
89
- `[data-focus-id="${`${state.id}-${getIdRef.current(item)}`}"]`
90
- )
91
- ?.focus();
92
- });
93
45
 
94
- keyDownRef.current = false;
46
+ const selector = (id?: string) => {
47
+ return document.querySelector<HTMLElement>(`[data-focus-id="${`${id}-${item.id}`}"]`);
48
+ };
49
+
50
+ // In React concurrent mode, there could be several render attempts before the element we're
51
+ // looking for could be available in the DOM
52
+ retryEachFrame(() => {
53
+ // Attempt to extract the ID from the DOM element. This fixes issues where the server and client
54
+ // do not agree on a generated ID
55
+ const clientId = keyElementRef.current?.getAttribute('data-focus-id')?.split('-')[0];
56
+ const element = selector(clientId) || selector(model.state.id);
57
+
58
+ element?.focus();
59
+ if (element) {
60
+ keyElementRef.current = null;
61
+ }
62
+ return !!element;
63
+ }, 5); // 5 should be enough, right?!
95
64
  }
96
65
  // we only want to run this effect if the cursor changes and not any other time
97
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [state.cursorId]);
67
+ }, [model.state.cursorId]);
68
+
69
+ // Roving focus must always have a focus stop to function correctly
70
+ React.useEffect(() => {
71
+ if (!model.state.cursorId && model.state.items.length) {
72
+ model.events.goTo({id: model.state.items[0].id});
73
+ }
74
+ }, [model.state.cursorId, model.state.items, model.events]);
99
75
 
100
76
  return {
101
77
  onKeyDown(event: React.KeyboardEvent) {
102
- // Test ctrl key first
103
- if (event.ctrlKey) {
104
- for (const key in ctrlKeyMap) {
105
- if (hasOwnKey(ctrlKeyMap, key)) {
106
- if (event.key === key) {
107
- keyDownRef.current = true;
108
- events[ctrlKeyMap[key]]?.();
109
- event.preventDefault();
110
- return;
111
- }
112
- }
113
- }
78
+ const handled = keyboardEventToCursorEvents(event, model, isRTL);
79
+ if (handled) {
80
+ event.preventDefault();
81
+ keyElementRef.current = event.currentTarget;
114
82
  }
115
- // Try regular keys
116
- keys(state.columnCount > 0 ? gridKeyMap : orientationKeyMap[state.orientation]).forEach(
117
- key => {
118
- if (isRTL ? event.key === rightToLeftMap[key] : event.key === key) {
119
- const eventName =
120
- state.columnCount > 0 ? gridKeyMap[key] : orientationKeyMap[state.orientation][key];
121
- keyDownRef.current = true;
122
- if (events[eventName]) {
123
- events[eventName]?.();
124
- event.preventDefault();
125
- }
126
- }
127
- }
128
- );
129
- },
130
- onFocus() {
131
- focusRef.current = true;
132
- },
133
- onBlur() {
134
- focusRef.current = false;
135
83
  },
136
84
  onClick() {
137
- events.goTo({id: elemProps['data-id']!});
85
+ model.events.goTo({id: elemProps['data-id']!});
138
86
  },
139
- 'data-focus-id': `${state.id}-${elemProps['data-id']}`,
140
- tabIndex: !state.cursorId
87
+ 'data-focus-id': `${model.state.id}-${elemProps['data-id']}`,
88
+ tabIndex: !model.state.cursorId
141
89
  ? 0 // cursor isn't known yet, be safe and mark this as focusable
142
- : !!elemProps['data-id'] && state.cursorId === elemProps['data-id']
90
+ : !!elemProps['data-id'] && model.state.cursorId === elemProps['data-id']
143
91
  ? 0 // A name is known and cursor is here
144
92
  : -1, // A name is known an cursor is somewhere else
145
- ref,
146
93
  };
147
94
  }
148
95
  );
@@ -4,17 +4,28 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
4
4
 
5
5
  import {useListModel} from './useListModel';
6
6
 
7
+ /**
8
+ * This elemProps hook adds selection support to a `*.Item` subcomponent of a collection. It adds a
9
+ * click handler that toggles selection status according to the [Selection
10
+ * Manager](#selection-manager) used.
11
+ *
12
+ * ```ts
13
+ * const useMyItem = composeHooks(
14
+ * useListItemSelect, // adds selection support to an item
15
+ * useListItemRegister
16
+ * );
17
+ * ```
18
+ */
7
19
  export const useListItemSelect = createElemPropsHook(useListModel)(
8
- ({state, events}, _?: React.Ref<HTMLElement>, elemProps: {'data-id'?: string} = {}) => {
20
+ ({state, events}, _, elemProps: {'data-id'?: string} = {}) => {
9
21
  const name = elemProps['data-id'] || '';
10
22
  const onClick = (event: React.MouseEvent<HTMLElement>) => {
11
23
  if (
12
- state.nonInteractiveIds.includes(name) ||
13
- event.currentTarget.hasAttribute('aria-disabled')
24
+ !state.nonInteractiveIds.includes(name) &&
25
+ event.currentTarget.getAttribute('aria-disabled') !== 'true'
14
26
  ) {
15
- return;
27
+ events.select({id: name});
16
28
  }
17
- events.select({id: name});
18
29
  };
19
30
 
20
31
  return {onClick};
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import {useIsRTL, createElemPropsHook} from '@workday/canvas-kit-react/common';
3
+
4
+ import {useCursorListModel} from './useCursorListModel';
5
+ import {keyboardEventToCursorEvents} from './keyUtils';
6
+
7
+ /**
8
+ * This elemProps hook is used to attach keyboard events to handle keyboard navigation
9
+ *
10
+ * ```ts
11
+ * const useMyItem = composeHooks(
12
+ * useListKeyboardHandler, // adds keyboard support support
13
+ * useListItemRegister
14
+ * );
15
+ ```
16
+ */
17
+ export const useListKeyboardHandler = createElemPropsHook(useCursorListModel)(model => {
18
+ const isRTL = useIsRTL();
19
+
20
+ return {
21
+ onKeyDown(event: React.KeyboardEvent) {
22
+ const handled = keyboardEventToCursorEvents(event, model, isRTL);
23
+ if (handled) {
24
+ event.preventDefault();
25
+ }
26
+ },
27
+ };
28
+ });
@@ -0,0 +1,375 @@
1
+ import React from 'react';
2
+
3
+ import {Model} from '@workday/canvas-kit-react/common';
4
+
5
+ import {useListModel} from './useListModel';
6
+
7
+ export interface LoadReturn<T> {
8
+ items: T[];
9
+ total?: number;
10
+ }
11
+
12
+ export interface LoadParams {
13
+ pageNumber: number;
14
+ pageSize: number;
15
+ filter: CollectionLoader['filter'];
16
+ sorter: CollectionLoader['sorter'];
17
+ }
18
+ export interface AsyncCollectionConfig<T, M extends Model<any, any>> {
19
+ /**
20
+ * The desired results per page.
21
+ */
22
+ pageSize: number;
23
+ /**
24
+ * The total items in the collection. If you do not have this information before making an API
25
+ * call, leave it blank and it will default to `0` and be updated when `load` comes back with
26
+ * results.
27
+ * @default 0
28
+ */
29
+ total?: number;
30
+ /**
31
+ * This function acts like a guard similar to model events. If you provide this function and it
32
+ * returns `false`, the `load` call from the loader will be cancelled. Be aware, this function can
33
+ * cause a loader to not function properly. You will need to call `loader.load(pageNumber)` on
34
+ * your own if a valid load event is cancelled. An example of using this function is in
35
+ * {@link useComboboxLoader} where the load calls are only allowed when the menu is open.
36
+ */
37
+ shouldLoad?(
38
+ /**
39
+ * Parameters that are being sent to the `load` function
40
+ */
41
+ params: LoadParams,
42
+ /**
43
+ * State coming from the model
44
+ */
45
+ prevState: M['state']
46
+ ): boolean;
47
+ /**
48
+ * A `load` callback function provides an easier way to hook up loader requests for data to an
49
+ * API. It will be called when the user is ready for more of the virtual data set. The `load`
50
+ * function will be called when:
51
+ * - The list UI initially loads. It will request as many pages as necessary to render enough
52
+ * items in the viewport
53
+ * - The user is scrolling the list and has run out of cached data
54
+ * - The user is using the keyboard to navigate the list and has run out of cached data
55
+ * - A filter or sorter value has changed and the cached data is now invalid
56
+ * - `loader.load` was called by the developer, manually requesting a page number
57
+ */
58
+ load(params: LoadParams): LoadReturn<T> | Promise<LoadReturn<T>>;
59
+ }
60
+
61
+ export interface CollectionLoader {
62
+ filter: string | Record<string, string>;
63
+ updateFilter(value: string): void;
64
+ sorter: string | Record<string, string>;
65
+ updateSorter(value: string): void;
66
+ isLoading: boolean;
67
+ load(pageNumber?: number): void;
68
+ }
69
+
70
+ /**
71
+ * A loading buffer is how many items we want to look at ahead of the current virtual window. A
72
+ * higher amount can load too many pages initially. A lower number can cause items to not be loaded
73
+ * yet when scrolling. This will probably become a floating number later based on scrolling speed.
74
+ * Ideally the faster the user scrolls, this number will be higher or "predict" where to focus loading
75
+ * so the user doesn't see unloaded items. But if the user is scrolling too fast, we may simply delay
76
+ * data loading. That logic would be based on timers. For now, we'll just hardcode.
77
+ */
78
+ const loadingBuffer = 3;
79
+
80
+ function updateItems<T>(newItems: T[], startIndex = 0) {
81
+ return function itemStateUpdater(items: T[]) {
82
+ // replace existing indexes with data from external service
83
+ newItems.forEach((item, index) => {
84
+ items[index + startIndex] = item;
85
+ });
86
+ const returnedItems = items.concat([]);
87
+ return returnedItems; // return a new reference
88
+ };
89
+ }
90
+
91
+ type Updater<T> = {total?: number; updater: (items: T[]) => T[]};
92
+
93
+ function load<T>(
94
+ params: {
95
+ pageNumber: number;
96
+ pageSize: number;
97
+ filter: CollectionLoader['filter'];
98
+ sorter: CollectionLoader['sorter'];
99
+ },
100
+ loadCb: AsyncCollectionConfig<T, any>['load'],
101
+ loadingCache: Record<number, boolean>
102
+ ): Promise<Updater<T>> {
103
+ if (loadingCache[params.pageNumber]) {
104
+ return Promise.resolve({updater: items => items});
105
+ }
106
+ loadingCache[params.pageNumber] = true;
107
+
108
+ return Promise.resolve(loadCb(params)).then(({items, total}) => {
109
+ loadingCache[params.pageNumber] = false;
110
+ return {total, updater: updateItems(items, (params.pageNumber - 1) * params.pageSize)};
111
+ });
112
+ }
113
+
114
+ export function getPageNumber(index: number, pageSize: number) {
115
+ if (index <= 0) {
116
+ return 1;
117
+ }
118
+
119
+ return Math.ceil((index + 1) / pageSize);
120
+ }
121
+
122
+ function clamp(input: number, min: number, max: number) {
123
+ return Math.max(Math.min(input, max), min);
124
+ }
125
+
126
+ /**
127
+ *
128
+ * @param start The start index of the virtual window
129
+ * @param end The end index of the virtual window
130
+ * @param pageSize Expected load page size
131
+ * @param items Sparse array of all loaded items
132
+ * @param overScan How many items ahead we want to look ahead to trigger loading. Unloaded items
133
+ * that are this many items outside the current start and end numbers will trigger a loading of
134
+ * a page
135
+ */
136
+ export function getPagesToLoad<T>(
137
+ start: number,
138
+ end: number,
139
+ pageSize: number,
140
+ items: T[],
141
+ overScan = 3
142
+ ): number[] {
143
+ const pagesToLoad: number[] = [];
144
+
145
+ const lookBehindIndex = clamp(start - overScan, 0, items.length - 1);
146
+ if (start >= 0 && !items[lookBehindIndex]) {
147
+ const pageNumber = getPageNumber(lookBehindIndex, pageSize);
148
+ pagesToLoad.push(pageNumber);
149
+ }
150
+
151
+ const lookaheadIndex = clamp(end + overScan - 1, 0, items.length - 1);
152
+ if (end < items.length - 1 && !items[lookaheadIndex]) {
153
+ const pageNumber = getPageNumber(lookaheadIndex, pageSize);
154
+ if (!pagesToLoad.includes(pageNumber)) {
155
+ pagesToLoad.push(pageNumber);
156
+ }
157
+ }
158
+
159
+ return pagesToLoad;
160
+ }
161
+
162
+ const resetItems = (total: number) => Array(total).fill(undefined);
163
+
164
+ /**
165
+ * Create a data loader and a model. The list loader should be used on virtual data sets with
166
+ * possibly large amounts of data. The model should be passed to a collection component. The loader
167
+ * can be used to manipulate filters, sorters, and clear cache.
168
+ *
169
+ * A simple loader using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) could
170
+ * look like the following:
171
+ *
172
+ * ```ts
173
+ * const {model, loader} = useListLoader(
174
+ * {
175
+ * total: 1000,
176
+ * pageSize: 20,
177
+ * async load({pageNumber, pageSize}) {
178
+ * return fetch('/myUrl')
179
+ * .then(response => response.json())
180
+ * .then(response => {
181
+ * return {total: response.total, items: response.items};
182
+ * });
183
+ * },
184
+ * },
185
+ * useListModel
186
+ * );
187
+ * ```
188
+ *
189
+ * @param config Config that contains the loader config and the model config
190
+ * @param modelHook A model hook that describes which model should be returned.
191
+ */
192
+ export function useListLoader<
193
+ T,
194
+ // I cannot get Typescript to accept models that extend from `useListModel` to be considered valid
195
+ M extends ((...args: any[]) => any) & Omit<typeof useListModel, 'Context'>
196
+ >(
197
+ config: AsyncCollectionConfig<T, ReturnType<M>> & M['TConfig'],
198
+ modelHook: M
199
+ ): {model: ReturnType<M>; loader: CollectionLoader} {
200
+ const [total, setTotal] = React.useState(config.total || 0);
201
+ const [items, setItems] = React.useState<T[]>(() => {
202
+ return resetItems(config.total || 0);
203
+ });
204
+
205
+ // keep track of pages that are currently loading
206
+ const loadingRef = React.useRef<Record<number, boolean>>({});
207
+
208
+ const [filter, setFilter] = React.useState<CollectionLoader['filter']>('');
209
+ const [sorter, setSorter] = React.useState<CollectionLoader['sorter']>('');
210
+
211
+ const updateItems = React.useCallback(
212
+ ({updater, total: newTotal}: Updater<T>) => {
213
+ if (newTotal !== undefined && total !== newTotal) {
214
+ setTotal(newTotal);
215
+ setItems(() => {
216
+ const items = resetItems(newTotal);
217
+ return updater(items);
218
+ });
219
+ return;
220
+ }
221
+ setItems(updater);
222
+ },
223
+ [total]
224
+ );
225
+
226
+ // Our `useEffect` functions use `config.load`, but we don't want to rerun the effects if the user
227
+ // sends a different load function every render
228
+ const loadRef = React.useRef(config.load);
229
+ loadRef.current = config.load;
230
+
231
+ const itemsRef = React.useRef(items);
232
+ itemsRef.current = items;
233
+
234
+ const shouldLoadRef = React.useRef(config.shouldLoad);
235
+ shouldLoadRef.current = config.shouldLoad;
236
+
237
+ const requestAnimationFrameRef = React.useRef(0);
238
+
239
+ const shouldLoadIndex = (
240
+ navigationMethod: Exclude<keyof ReturnType<typeof useListModel>['navigation'], 'getItem'>,
241
+ eventKey: keyof ReturnType<typeof useListModel>['events']
242
+ ) => {
243
+ return (data: any, prevState: any) => {
244
+ const index = model.navigation[navigationMethod](model.state.cursorIndexRef.current, model);
245
+ const params = {
246
+ pageNumber: Math.floor(index / config.pageSize) + 1,
247
+ pageSize: config.pageSize,
248
+ filter,
249
+ sorter,
250
+ };
251
+ if (!items[index]) {
252
+ if (config.shouldLoad && !config.shouldLoad(params, prevState)) {
253
+ return false;
254
+ }
255
+ load(params, loadRef.current, loadingRef.current)
256
+ .then(updateItems)
257
+ .then(() => {
258
+ cancelAnimationFrame(requestAnimationFrameRef.current);
259
+ requestAnimationFrameRef.current = requestAnimationFrame(() => {
260
+ model.events[eventKey](data as any);
261
+ });
262
+ });
263
+ return false;
264
+ }
265
+ return true;
266
+ };
267
+ };
268
+
269
+ const model = modelHook(
270
+ modelHook.mergeConfig(config, {
271
+ items,
272
+ shouldGoToNext: shouldLoadIndex('getNext', 'goToNext'),
273
+ shouldGoToPrevious: shouldLoadIndex('getPrevious', 'goToPrevious'),
274
+ shouldGoToLast: shouldLoadIndex('getLast', 'goToLast'),
275
+ shouldGoToFirst: shouldLoadIndex('getFirst', 'goToFirst'),
276
+ shouldGoToNextPage: shouldLoadIndex('getNextPage', 'goToNextPage'),
277
+ shouldGoToPreviousPage: shouldLoadIndex('getPreviousPage', 'goToPreviousPage'),
278
+ })
279
+ ) as ReturnType<typeof useListModel>;
280
+
281
+ const {virtualItems} = model.state.UNSTABLE_virtual;
282
+
283
+ const {state} = model;
284
+ const stateRef = React.useRef(state);
285
+ stateRef.current = state;
286
+
287
+ const updateFilter = (filter: CollectionLoader['filter']) => {
288
+ loadingRef.current = {};
289
+ setFilter(filter);
290
+ const params = {
291
+ pageNumber: 1,
292
+ pageSize: config.pageSize,
293
+ filter,
294
+ sorter,
295
+ };
296
+ if (config.shouldLoad && !config.shouldLoad(params, state)) {
297
+ return;
298
+ }
299
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
300
+ };
301
+
302
+ const updateSorter = (sorter: CollectionLoader['sorter']) => {
303
+ loadingRef.current = {};
304
+ setSorter(sorter);
305
+ const params = {
306
+ pageNumber: 1,
307
+ pageSize: config.pageSize,
308
+ filter,
309
+ sorter,
310
+ };
311
+ if (config.shouldLoad && !config.shouldLoad(params, state)) {
312
+ return;
313
+ }
314
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
315
+ };
316
+
317
+ // Our only signal to trigger loading is if our virtual indexes are too close to boundaries.
318
+ React.useEffect(() => {
319
+ if (!virtualItems.length) {
320
+ return;
321
+ }
322
+
323
+ const firstItem = virtualItems[0];
324
+ const lastItem = virtualItems[virtualItems.length - 1];
325
+
326
+ const pagesToLoad = getPagesToLoad(
327
+ firstItem.index,
328
+ lastItem.index,
329
+ config.pageSize,
330
+ itemsRef.current,
331
+ loadingBuffer
332
+ );
333
+
334
+ pagesToLoad.forEach(pageNumber => {
335
+ const params = {pageNumber, pageSize: config.pageSize, filter, sorter};
336
+ const shouldLoad = shouldLoadRef.current;
337
+ if (shouldLoad && !shouldLoad(params, stateRef.current)) {
338
+ return;
339
+ }
340
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
341
+ });
342
+
343
+ return () => {
344
+ cancelAnimationFrame(requestAnimationFrameRef.current);
345
+ };
346
+ }, [virtualItems, config.pageSize, filter, sorter, updateItems]);
347
+
348
+ const loaderLoad: CollectionLoader['load'] = (pageNumber = 1) => {
349
+ return load<T>(
350
+ {pageNumber, pageSize: config.pageSize, filter, sorter},
351
+ loadRef.current,
352
+ loadingRef.current
353
+ ).then(updateItems);
354
+ };
355
+
356
+ // Typescript won't allow me to say the included model extends `useListModel` for some reason, so
357
+ // we have no way to type check it. Without the constraint, Typescript doesn't know how type it
358
+ // properly, so we have an `as any`.
359
+ return {
360
+ model: model as any,
361
+ loader: {
362
+ filter,
363
+ updateFilter,
364
+ sorter,
365
+ updateSorter,
366
+ // we reduce the ref instead of a state variable because the loader mutates this ref and
367
+ // triggers state changes when loading is finished.
368
+ isLoading: Object.values(loadingRef.current).reduce(
369
+ (loading, result) => loading || result,
370
+ false
371
+ ),
372
+ load: loaderLoad,
373
+ },
374
+ };
375
+ }
@@ -15,10 +15,26 @@ export type ListItemProps = {
15
15
  };
16
16
 
17
17
  /**
18
- * Create a list model that includes item registration, cursors for focus, and selection. You can
19
- * inject navigation and selection managers to change how a user navigates or how selection works.
18
+ * The List model contains the the state and events necessary to track items, selection, and a cursor.
19
+ * Various hooks can be used for a List model to create common behaviors associated with lists, such as
20
+ * navigating a list with a keyboard, selection (single and multiple), and virtualization.
20
21
  *
21
- * @example
22
+ * A list also has a "cursor". A cursor is often represented by focus, but it is not always a 1:1
23
+ * mapping. Think of the cursor as the focus item within the list. If the list has browser focus, the
24
+ * cursor will map to browser focus. Behaviors such as `useListRovingFocus` will map the cursor to the
25
+ * active tab stop of the list. For more information, see
26
+ * [Roving Tabindex](https://w3c.github.io/aria-practices/#kbd_roving_tabindex). `useListRovingFocus`
27
+ * adds keyboard events that map to navigation events. A [Navigation Manager](#navigation-manager) is
28
+ * used to map new cursor ids to these events. The `ListModel` takes an optional `navigation`
29
+ * configuration to change the default navigation behavior. The default navigation manager is a
30
+ * [wrappingNavigationManager](#wrappingnavigationmanager) meaning the cursor will wrap around the
31
+ * beginning and the ends. The cursor also provides a [navigationManager](#navigationmanager) that does
32
+ * not wrap. This is the default navigation for grids.
33
+ *
34
+ * The cursor also adds the concept of `orientation` which defaults to `'vertical'`. A Tab list is an
35
+ * example of a `'horizontal'` list.
36
+ *
37
+ * ```tsx
22
38
  * const list = useListModel({
23
39
  * // custom handling for selection. single and multi select are provided
24
40
  * selection: mySelectionManager,
@@ -27,6 +43,7 @@ export type ListItemProps = {
27
43
  * items: [{ id: '1', text: 'First'}, { id: '2', text: 'Second' }],
28
44
  * getId: item => item.id, // get the unique identifier of your item
29
45
  * })
46
+ * ```
30
47
  */
31
48
  export const useListModel = createModelHook({
32
49
  defaultConfig: useSelectionListModel.defaultConfig,