@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
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import {assert} from './assert';
3
+ import {memoize} from './memoize';
3
4
  import {mergeProps} from './mergeProps';
4
5
  import {Model} from './models';
5
6
 
@@ -32,6 +33,10 @@ type ExtractRef<T> = T extends undefined // test if T was even passed in
32
33
  ? U extends keyof ElementTagNameMap // test inferred U to see if it extends an element string
33
34
  ? ElementTagNameMap[U] // if yes, use the inferred U and convert to an element interface. `'button' => HTMLButtonElement`
34
35
  : U // if no, fall back to inferred U. Hopefully it is already an element interface
36
+ : T extends React.FC<{ref?: infer R}> // test if T extends a React functional component with a ref (Emotion's styled components do this)
37
+ ? R extends React.RefObject<infer E> // if yes, extract the element interface. This step unwraps the ref. Otherwise we'll get React.Ref<React.Ref<Element>>
38
+ ? E // if yes, use the inferred E
39
+ : never // never here prevents double refs. Basically the return would be React.Ref<E | {this value}>. I'm not entirely sure why...
35
40
  : T // if no, fall back to T. Hopefully it is already an element interface
36
41
  >;
37
42
 
@@ -106,7 +111,7 @@ export type ExtractProps<
106
111
  : TElement extends keyof JSX.IntrinsicElements // `TElement` was defined, test if it is in `JSX.IntrinsicElements`
107
112
  ? P & ExtractHTMLAttributes<JSX.IntrinsicElements[TElement]> // `TElement` is in `JSX.IntrinsicElements`, return inferred props `P` + HTML attributes of `TElement`
108
113
  : P & ExtractProps<TElement> // `TElement` is not in `JSX.IntrinsicElements`, return inferred props `P` + props extracted from component `TElement`.
109
- : TComponent extends Component<infer P> // test if `TComponent` is a `Component`, while inferring props `P`
114
+ : TComponent extends {__props: infer P} // test if `TComponent` is a `Component`, while inferring props `P`
110
115
  ? P // else attach only inferred props `P`
111
116
  : TComponent extends React.ComponentType<infer P> // test if `TComponent` is a `React.ComponentType` (class or functional component)
112
117
  ? P // it was a `React.ComponentType`, return inferred props `P`
@@ -118,14 +123,18 @@ type ExtractMaybeModel<TComponent, P> = TComponent extends {__model: infer M} //
118
123
  ? P & PropsWithModel<M>
119
124
  : P;
120
125
 
121
- export type PropsWithModel<TModel = never> = {
126
+ /**
127
+ * `PropsWithModel` adds the `model` and `elemPropsHook` props. If a model-based component has an
128
+ * `as` referencing another model-based component, the `model` of the `as` component should win.
129
+ */
130
+ export type PropsWithModel<TModel, ElementType = {}> = {
122
131
  /**
123
132
  * Optional model to pass to the component. This will override the default model created for the
124
133
  * component. This can be useful if you want to access to the state and events of the model, or if
125
134
  * you have nested components of the same type and you need to override the model provided by
126
135
  * React Context.
127
136
  */
128
- model?: TModel;
137
+ model?: ElementType extends {__model: infer M} ? M : TModel; // If the `ElementType` is a `ElementComponentM`, extract the model. Otherwise fall back to the `TModel` type
129
138
  /**
130
139
  * Optional hook that receives the model and all props to be applied to the element. If you use
131
140
  * this, it is your responsibility to return props, merging as appropriate. For example, returning
@@ -168,7 +177,7 @@ export type ElementComponentM<E extends React.ElementType, P, TModel> = {
168
177
  displayName?: string;
169
178
  <ElementType extends React.ElementType>(
170
179
  props: PropsWithoutAs<P, ElementType> &
171
- PropsWithModel<TModel> & {
180
+ PropsWithModel<TModel, ElementType> & {
172
181
  /**
173
182
  * Optional override of the default element used by the component. Any valid tag or Component.
174
183
  * If you provided a Component, this component should forward the ref using `React.forwardRef`
@@ -205,7 +214,7 @@ export type Component<P> = {
205
214
 
206
215
  interface RefForwardingComponent<T, P = {}> {
207
216
  (
208
- props: React.PropsWithChildren<P> & {as?: React.ElementType},
217
+ props: React.PropsWithChildren<P>,
209
218
  /**
210
219
  * A ref to be forwarded. Pass it along to the root element. If no element was passed, this
211
220
  * will result in a `never`
@@ -233,10 +242,10 @@ export const createContainer = <
233
242
  >(
234
243
  as?: E
235
244
  ) => <
236
- TModelHook extends ((config: any) => {state: any; events: any}) & {
245
+ TModelHook extends ((config: any) => Model<any, any>) & {
237
246
  Context?: React.Context<any>;
238
247
  } & {defaultConfig?: Record<string, any>},
239
- TDefaultContext extends {state: Record<string, any>; events: Record<string, any>},
248
+ TDefaultContext extends Model<any, any>,
240
249
  TElemPropsHook,
241
250
  SubComponents = {}
242
251
  >({
@@ -279,12 +288,17 @@ export const createContainer = <
279
288
  SubComponents => {
280
289
  const ReturnedComponent = React.forwardRef<E, Props & {as?: React.ElementType} & {model?: any}>(
281
290
  ({as: asOverride, model, ...props}, ref) => {
282
- const localModel = useDefaultModel(model, props, modelHook);
291
+ const localModel = useDefaultModel(model, props, modelHook, asOverride);
283
292
  const elemProps = ((modelHook as any).getElemProps || defaultGetElemProps)(props);
284
293
  const finalElemProps = elemPropsHook
285
294
  ? (elemPropsHook as any)(localModel, elemProps, ref)
286
295
  : elemProps;
287
296
 
297
+ // make sure there's always a ref being passed, even if there are no elemProps hooks to run
298
+ if (ref && !finalElemProps.hasOwnProperty('ref')) {
299
+ finalElemProps.ref = ref;
300
+ }
301
+
288
302
  return React.createElement(
289
303
  Context.Provider,
290
304
  {value: localModel},
@@ -312,6 +326,17 @@ export const createContainer = <
312
326
  }
313
327
  });
314
328
  ReturnedComponent.displayName = displayName;
329
+ (ReturnedComponent as any).__hasModel = true;
330
+
331
+ // The `any`s are here because `ElementComponent` takes care of the `as` type and the
332
+ // `ReturnComponent` type is overridden
333
+ (ReturnedComponent as any).as = memoize(
334
+ (as: any) =>
335
+ createContainer(as)({displayName, subComponents, modelHook, elemPropsHook})(
336
+ Component as any
337
+ ),
338
+ as => as
339
+ );
315
340
 
316
341
  // Cast as `any`. We have already specified the return type. Be careful making changes to this
317
342
  // file due to this `any` `ReturnedComponent` is a `React.ForwardRefExoticComponent`, but we want
@@ -337,7 +362,7 @@ type RemoveNull<T> = {[K in keyof T]: Exclude<T[K], null>};
337
362
  */
338
363
  type CompoundProps<Props, TElemPropsHook, E> = Props &
339
364
  (TElemPropsHook extends (...args: any[]) => infer TProps // try to infer TProps returned from the elemPropsHook function
340
- ? RemoveNull<TProps extends {ref: any} ? TProps : TProps & {ref: ExtractRef<E>}>
365
+ ? RemoveNull<Omit<TProps, 'ref'> & {ref: ExtractRef<E>}>
341
366
  : {ref: ExtractRef<E>}) &
342
367
  (Props extends {children: any}
343
368
  ? {}
@@ -355,7 +380,7 @@ export const createSubcomponent = <
355
380
  as?: E
356
381
  ) => <
357
382
  TElemPropsHook, // normally we'd put a constraint here, but doing so causes the `infer` below to fail to infer the return props
358
- TModelHook extends ((config: any) => {state: any; events: any}) & {Context?: React.Context<any>},
383
+ TModelHook extends ((config: any) => Model<any, any>) & {Context?: React.Context<any>},
359
384
  SubComponents = {}
360
385
  >({
361
386
  displayName,
@@ -395,10 +420,16 @@ export const createSubcomponent = <
395
420
  E,
396
421
  Props & {as?: React.ElementType} & {model?: any; elemPropsHook?: (...args: any) => any}
397
422
  >(({as: asOverride, model, elemPropsHook: additionalPropsHook, ...props}, ref) => {
398
- const localModel = useModelContext(modelHook.Context!, model);
423
+ const localModel = useModelContext(modelHook.Context!, model, asOverride);
424
+ // maybeModelProps reattached the `model` prop if the passed model is incompatible with the
425
+ // modelHook's context. This fixes issues when using the `as` prop on model element components
426
+ // that both have a model
427
+ const maybeModelProps =
428
+ model && localModel !== model ? {...props, model, ref} : {...props, ref};
429
+
399
430
  const elemProps = elemPropsHook
400
- ? (elemPropsHook as any)(localModel, props, ref)
401
- : {...props, ref};
431
+ ? (elemPropsHook as any)(localModel, maybeModelProps, ref)
432
+ : maybeModelProps;
402
433
 
403
434
  return Component(
404
435
  additionalPropsHook ? additionalPropsHook(localModel, elemProps, ref) : elemProps,
@@ -420,6 +451,17 @@ export const createSubcomponent = <
420
451
  if (displayName) {
421
452
  ReturnedComponent.displayName = displayName;
422
453
  }
454
+ (ReturnedComponent as any).__hasModel = true;
455
+
456
+ // The `any`s are here because `ElementComponent` takes care of the `as` type and the
457
+ // `ReturnComponent` type is overridden
458
+ (ReturnedComponent as any).as = memoize(
459
+ (as: any) =>
460
+ createSubcomponent(as)({displayName, subComponents, modelHook, elemPropsHook})(
461
+ Component as any
462
+ ),
463
+ as => as
464
+ );
423
465
 
424
466
  // Cast as `any`. We have already specified the return type. Be careful making changes to this
425
467
  // file due to this `any` `ReturnedComponent` is a `React.ForwardRefExoticComponent`, but we want
@@ -506,8 +548,10 @@ export const createComponent = <
506
548
 
507
549
  // The `any`s are here because `ElementComponent` takes care of the `as` type and the
508
550
  // `ReturnComponent` type is overridden
509
- (ReturnedComponent as any).as = (as: any) =>
510
- createComponent(as)({displayName, Component, subComponents});
551
+ (ReturnedComponent as any).as = memoize(
552
+ (as: any) => createComponent(as)({displayName, Component, subComponents}),
553
+ as => as
554
+ );
511
555
 
512
556
  // Cast as `any`. We have already specified the return type. Be careful making changes to this
513
557
  // file due to this `any` `ReturnedComponent` is a `React.ForwardRefExoticComponent`, but we want
@@ -515,30 +559,58 @@ export const createComponent = <
515
559
  return ReturnedComponent as any;
516
560
  };
517
561
 
518
- export const createElemPropsHook = <
519
- TModelHook extends (config: any) => {state: Record<string, any>; events: Record<string, any>}
520
- >(
562
+ /**
563
+ * An `elemPropsHook` is a React hook that takes a model, ref, and elemProps and returns props and
564
+ * attributes to be spread to an element or component.
565
+ *
566
+ * ```tsx
567
+ * const useMyHook = createElemPropsHook(useMyModel)((model) => {
568
+ * return {
569
+ * id: model.state.id
570
+ * }
571
+ * })
572
+ * ```
573
+ *
574
+ * **Note:** If your hook needs to use a ref, it must be forked using `useLocalRef` or `useForkRef`
575
+ * and return the forked ref:
576
+ *
577
+ * ```tsx
578
+ * const useMyHook = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
579
+ * const {localRef, elementRef} = useLocalRef(ref);
580
+ *
581
+ * React.useLayoutEffect(() => {
582
+ * console.log('element', localRef.current) // logs the DOM element
583
+ * }, [])
584
+ *
585
+ * return {
586
+ * ref: elementRef
587
+ * }
588
+ * })
589
+ * ```
590
+ */
591
+ export const createElemPropsHook = <TModelHook extends (config: any) => Model<any, any>>(
521
592
  modelHook: TModelHook
522
593
  ) => <PO extends {}, PI extends {}>(
523
594
  fn: (
524
- model: TModelHook extends (config: any) => infer TModel
525
- ? TModel
526
- : {state: Record<string, any>; events: Record<string, any>},
527
- ref?: React.Ref<any>,
595
+ model: TModelHook extends (config: any) => infer TModel ? TModel : Model<any, any>,
596
+ ref?: React.Ref<unknown>,
528
597
  elemProps?: PI
529
598
  ) => PO
530
599
  ): BehaviorHook<
531
- TModelHook extends (config: any) => infer TModel
532
- ? TModel
533
- : {state: Record<string, any>; events: Record<string, any>},
600
+ TModelHook extends (config: any) => infer TModel ? TModel : Model<any, any>,
534
601
  PO
535
- > => (model, elemProps, ref) => {
536
- const props = mergeProps(fn(model, ref, elemProps || ({} as any)), elemProps || ({} as any));
537
- if (!props.hasOwnProperty('ref') && ref) {
538
- // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
539
- props.ref = ref;
540
- }
541
- return props;
602
+ > => {
603
+ return ((model, elemProps, ref) => {
604
+ const props = mergeProps(fn(model, ref, elemProps || ({} as any)), elemProps || ({} as any));
605
+ if (!props.hasOwnProperty('ref') && ref) {
606
+ // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
607
+ props.ref = ref;
608
+ }
609
+ return props;
610
+ }) as BehaviorHook<
611
+ TModelHook extends (config: any) => infer TModel ? TModel : Model<any, any>,
612
+ PO
613
+ >;
542
614
  };
543
615
 
544
616
  /**
@@ -559,10 +631,10 @@ export const createElemPropsHook = <
559
631
  * });
560
632
  *
561
633
  * // Equivalent to:
562
- * const useMyHook = <P extends {}, R>(
634
+ * const useMyHook = <P extends {}>(
563
635
  * model: MyModel,
564
636
  * elemProps: P,
565
- * ref: React.Ref<R>
637
+ * ref: React.Ref<unknown>
566
638
  * ) => {
567
639
  * const { localRef, elementRef } = useLocalRef(ref);
568
640
  * // do whatever with `localRef` which is a RefObject
@@ -576,28 +648,84 @@ export const createElemPropsHook = <
576
648
  * @param fn Function that takes a model and optional ref and returns props
577
649
  */
578
650
  export const createHook = <M extends Model<any, any>, PO extends {}, PI extends {}>(
579
- fn: (model: M, ref?: React.Ref<any>, elemProps?: PI) => PO
651
+ fn: (model: M, ref?: React.Ref<unknown>, elemProps?: PI) => PO
580
652
  ): BehaviorHook<M, PO> => {
581
- return (model, elemProps, ref) => {
653
+ return ((model, elemProps, ref) => {
582
654
  const props = mergeProps(fn(model, ref, elemProps || ({} as any)), elemProps || ({} as any));
583
655
  if (!props.hasOwnProperty('ref') && ref) {
584
656
  // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
585
657
  props.ref = ref;
586
658
  }
587
659
  return props;
588
- };
660
+ }) as BehaviorHook<M, PO>;
589
661
  };
590
662
 
663
+ /**
664
+ * @deprecated use `createSubModelElemPropsHook` instead
665
+ */
591
666
  export const subModelHook = <M extends Model<any, any>, SM extends Model<any, any>, O extends {}>(
592
667
  fn: (model: M) => SM,
593
668
  hook: BehaviorHook<SM, O>
594
669
  ): BehaviorHook<M, O> => {
595
- return (model: M, props: any, ref: React.Ref<any>) => {
670
+ return ((model: M, props: any, ref: React.Ref<unknown>) => {
596
671
  return hook(fn(model), props, ref);
597
- };
672
+ }) as BehaviorHook<M, O>;
598
673
  };
599
674
 
600
- // Typescript function parameters are contravariant while return types are covariant. This is a
675
+ /**
676
+ * Creates an elemPropsHook that returns the elemProps from another hook that is meant for a
677
+ * subModel. Usually only used when composing elemProps hooks.
678
+ *
679
+ * For example:
680
+ *
681
+ * ```tsx
682
+ * const useMySubModel = () => {}
683
+ *
684
+ * const useMyModel = () => {
685
+ * const subModel = useMySubModel()
686
+ *
687
+ * return {
688
+ * state,
689
+ * events,
690
+ * subModel,
691
+ * }
692
+ * }
693
+ *
694
+ * const useMyComponent = composeHook(
695
+ * createElemPropsHook(useMyModel)(model => ({ id: '' })),
696
+ * createSubModelElemPropsHook(useMyModel)(m => m.subModel, useSomeOtherComponent)
697
+ * )
698
+ * ```
699
+ */
700
+ export function createSubModelElemPropsHook<M extends () => Model<any, any>>(modelHook: M) {
701
+ return <SM extends Model<any, any>, O extends {}>(
702
+ fn: (model: ReturnType<M>) => SM,
703
+ elemPropsHook: BehaviorHook<SM, O>
704
+ ): BehaviorHook<ReturnType<M>, O> => {
705
+ return ((model: ReturnType<M>, props: any, ref: React.Ref<unknown>) => {
706
+ return elemPropsHook(fn(model), props, ref);
707
+ }) as BehaviorHook<ReturnType<M>, O>;
708
+ };
709
+ }
710
+
711
+ /** Simplify and speed up inference by capturing types in the signature itself */
712
+ interface BaseHook<M extends Model<any, any>, O extends {}> {
713
+ /**
714
+ * Capture the model type in TypeScript only. Do not use in runtime!
715
+ *
716
+ * @private
717
+ */
718
+ __model: M;
719
+ /**
720
+ * Capture the hook's output type in TypeScript only. Do not use in runtime! This is used to cache
721
+ * and speed up the output types during inference
722
+ *
723
+ * @private
724
+ */
725
+ __output: O;
726
+ }
727
+
728
+ // TypeScript function parameters are contravariant while return types are covariant. This is a
601
729
  // problem when someone hands us a model that correctly extends `Model<any, any>`, but adds extra
602
730
  // properties to the model. So `M extends Model<any, any>`. But the `BehaviorHook` is the return
603
731
  // type which will reverse the direction which is no longer true: `Model<any, any> extends M`. In
@@ -607,13 +735,13 @@ export const subModelHook = <M extends Model<any, any>, SM extends Model<any, an
607
735
  // isn't a real issue. Not 100% this is a bug, but the "hack" is a bit messy.
608
736
  // https://www.stephanboyer.com/post/132/what-are-covariance-and-contravariance
609
737
  // https://stackoverflow.com/questions/52667959/what-is-the-purpose-of-bivariancehack-in-typescript-types/52668133
610
- export type BehaviorHook<M extends Model<any, any>, O extends {}> = {
611
- bivarianceHack<P extends {}, R>(
612
- model: M,
613
- elemProps?: P,
614
- ref?: React.Ref<R>
615
- ): O & P & (R extends HTMLOrSVGElement ? {ref: React.Ref<R>} : {});
616
- }['bivarianceHack'];
738
+ /**
739
+ * A BehaviorHook is a React hook that takes a model, elemProps, and a ref and returns props and
740
+ * attributes to apply to an element or component.
741
+ */
742
+ export interface BehaviorHook<M extends Model<any, any>, O extends {}> extends BaseHook<M, O> {
743
+ <P extends {}>(model: M, elemProps?: P, ref?: React.Ref<unknown>): O & P;
744
+ }
617
745
 
618
746
  function setRef<T>(ref: React.Ref<T> | undefined, value: T): void {
619
747
  if (ref) {
@@ -694,9 +822,22 @@ export function useLocalRef<T>(ref?: React.Ref<T>) {
694
822
  export function useDefaultModel<T, C>(
695
823
  model: T | undefined,
696
824
  config: C,
697
- modelHook: (config: C) => T
825
+ modelHook: (config: C) => T,
826
+ as?: React.ElementType
698
827
  ) {
699
- return model || modelHook(config);
828
+ // Make sure we don't pass the `model` to a component if it is incompatible with that component.
829
+ // Otherwise we'll have strange runtime failures when a component or elemProps hooks try to
830
+ // access the `state` or `events`
831
+ if (
832
+ !model ||
833
+ (as &&
834
+ (as as any).__hasModel &&
835
+ (model as any).__UNSTABLE_modelContext !== (modelHook as any).Context)
836
+ ) {
837
+ return modelHook(config);
838
+ }
839
+
840
+ return model;
700
841
  }
701
842
 
702
843
  /**
@@ -706,167 +847,99 @@ export function useDefaultModel<T, C>(
706
847
  * @param context The context of a model
707
848
  * @example
708
849
  * const SubComponent = ({children, model, ...elemProps}: SubComponentProps, ref, Element) => {
709
- * const {state, events} = useModelContext(model, SubComponentModelContext);
850
+ * const {state, events} = useModelContext(model, SubComponentModelContext, Element);
710
851
  *
711
852
  * // ...
712
853
  * }
713
854
  */
714
- export function useModelContext<T>(context: React.Context<T>, model?: T): T {
715
- // eslint-disable-next-line react-hooks/rules-of-hooks
716
- return model || React.useContext(context);
855
+ export function useModelContext<T>(
856
+ context: React.Context<T>,
857
+ model?: T,
858
+ as?: React.ElementType
859
+ ): T {
860
+ const contextModel = React.useContext(context);
861
+ if (
862
+ !model ||
863
+ (as && (as as any).__hasModel && (model as any).__UNSTABLE_modelContext !== context)
864
+ ) {
865
+ return contextModel;
866
+ }
867
+
868
+ return model;
717
869
  }
718
870
 
719
871
  /**
720
- * Compose many hooks together. Assumes hooks are using `mergeProps`. Returns a function that will
721
- * receive a model and return props to be applied to a component. These props should always be
722
- * applied last on the Component. The props will override as follows: rightmost hook props override
723
- * leftmost hook props which are overridden by props passed to the composeHooks function.
872
+ * Compose many hooks together. Each hook should make a call to `mergeProps` which is automatically
873
+ * done by `createElemPropsHook` and `createHook. Returns a function that will receive a model and
874
+ * return props to be applied to a component. Hooks run from right to left, but props override from
875
+ * left to right.
724
876
  *
725
- * A `ref` should be passed for hooks that require a ref. Each hook should fork the ref using
726
- * `useLocalRef`, passing the `elementRef` in the returned props object. This ref will be passed to
727
- * the next hook.
877
+ * For example:
728
878
  *
729
- * @example
730
- * const MyComponent = React.forwardRef(({ children, model, ...elemProps }, ref) => {
731
- * const props = composeHooks(useHook1, useHook2)(model, elemProps, ref)
879
+ * ```ts
880
+ * const useHook1 = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
881
+ * console.log('useHook1', elemProps)
882
+ * return {
883
+ * a: 'useHook1',
884
+ * c: 'useHook1'
885
+ * }
886
+ * })
732
887
  *
733
- * return <div id="foo" {...props}>{children}</div>
888
+ * const useHook2 = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
889
+ * console.log('useHook2', elemProps)
890
+ * return {
891
+ * b: 'useHook2',
892
+ * c: 'useHook2'
893
+ * }
734
894
  * })
735
- */
736
- export function composeHooks<M extends Model<any, any>, O1 extends {}, O2 extends {}>(
737
- hook1: BehaviorHook<M, O1>,
738
- hook2: BehaviorHook<M, O2>
739
- ): BehaviorHook<M, O1 & O2>;
740
-
741
- export function composeHooks<
742
- M extends Model<any, any>,
743
- R,
744
- P extends {},
745
- O1 extends {},
746
- O2 extends {},
747
- O3 extends {}
748
- >(
749
- hook1: BehaviorHook<M, O1>,
750
- hook2: BehaviorHook<M, O2>,
751
- hook3: BehaviorHook<M, O3>
752
- ): BehaviorHook<M, O1 & O2 & O3>;
753
- export function composeHooks<
754
- M extends Model<any, any>,
755
- R,
756
- P extends {},
757
- O1 extends {},
758
- O2 extends {},
759
- O3 extends {},
760
- O4 extends {}
761
- >(
762
- hook1: BehaviorHook<M, O1>,
763
- hook2: BehaviorHook<M, O2>,
764
- hook3: BehaviorHook<M, O3>,
765
- hook4: BehaviorHook<M, O4>
766
- ): BehaviorHook<M, O1 & O2 & O3 & O4>;
767
- export function composeHooks<
768
- M extends Model<any, any>,
769
- R,
770
- P extends {},
771
- O1 extends {},
772
- O2 extends {},
773
- O3 extends {},
774
- O4 extends {},
775
- O5 extends {}
776
- >(
777
- hook1: BehaviorHook<M, O1>,
778
- hook2: BehaviorHook<M, O2>,
779
- hook3: BehaviorHook<M, O3>,
780
- hook4: BehaviorHook<M, O4>,
781
- hook5: BehaviorHook<M, O5>
782
- ): BehaviorHook<M, O1 & O2 & O3 & O4 & O5>;
783
- export function composeHooks<M extends Model<any, any>, R, P extends {}, O extends {}>(
784
- ...hooks: ((model: M, props: P, ref: React.Ref<R>) => O)[]
785
- ): BehaviorHook<M, O> {
786
- return (model, props, ref) => {
787
- const returnProps = [...hooks].reverse().reduce((props: any, hook) => {
788
- return hook(model, props, props.ref || ref);
789
- }, props);
790
-
791
- if (!returnProps.hasOwnProperty('ref') && ref) {
792
- // This is the weird "incoming ref isn't in props, but outgoing ref is in props" thing
793
- returnProps.ref = ref;
794
- }
795
-
796
- return returnProps;
797
- };
798
- }
799
-
800
- /**
801
- * Compose many hooks together. Assumes hooks are using `mergeProps`. Returns a function that will
802
- * receive a model and return props to be applied to a component. These props should always be
803
- * applied last on the Component. The props will override as follows: rightmost hook props override
804
- * leftmost hook props which are overridden by props passed to the composeHooks function.
805
895
  *
806
- * A `ref` should be passed for hooks that require a ref. Each hook should fork the ref using
807
- * `useLocalRef`, passing the `elementRef` in the returned props object. This ref will be passed to
808
- * the next hook.
896
+ * const useHook3 = composeHooks(useHook1, useHook2)
897
+ * const props = composeHooks(model, { c: 'props' })
898
+ * console.log('props', props)
899
+ * ```
809
900
  *
810
- * @example
811
- * const MyComponent = React.forwardRef(({ children, model, ...elemProps }, ref) => {
812
- * const props = composeModelHooks(useModel)(useHook1, useHook2)(model, elemProps, ref)
901
+ * The output would be:
813
902
  *
814
- * return <div id="foo" {...props}>{children}</div>
815
- * })
903
+ * ```ts
904
+ * useHook2 {c: 'foo'}
905
+ * useHook1 {b: 'useHook2', c: 'foo'}
906
+ * props {a: 'useHook1', b: 'useHook2', c: 'foo'}
907
+ * ```
816
908
  */
817
- // export function composeModelHooks<M extends
818
- // TModelHook extends (config: any) => {state: Record<string, any>; events: Record<string, any>}
819
- // >, O1 extends {}, O2 extends {}>(
820
- // hook1: BehaviorHook<M, O1>,
821
- // hook2: BehaviorHook<M, O2>
822
- // ): BehaviorHook<M, O1 & O2>;
823
-
824
- export function composeModelHooks<
825
- M extends Model<any, any>,
826
- R,
827
- P extends {},
828
- O1 extends {},
829
- O2 extends {},
830
- O3 extends {}
831
- >(
832
- hook1: BehaviorHook<M, O1>,
833
- hook2: BehaviorHook<M, O2>,
834
- hook3: BehaviorHook<M, O3>
835
- ): BehaviorHook<M, O1 & O2 & O3>;
836
- export function composeModelHooks<
837
- M extends Model<any, any>,
838
- R,
839
- P extends {},
840
- O1 extends {},
841
- O2 extends {},
842
- O3 extends {},
843
- O4 extends {}
844
- >(
845
- hook1: BehaviorHook<M, O1>,
846
- hook2: BehaviorHook<M, O2>,
847
- hook3: BehaviorHook<M, O3>,
848
- hook4: BehaviorHook<M, O4>
849
- ): BehaviorHook<M, O1 & O2 & O3 & O4>;
850
- export function composeModelHooks<
851
- M extends Model<any, any>,
852
- R,
853
- P extends {},
854
- O1 extends {},
855
- O2 extends {},
856
- O3 extends {},
857
- O4 extends {},
858
- O5 extends {}
909
+ export function composeHooks<
910
+ H1 extends BehaviorHook<any, {}>,
911
+ H2 extends BehaviorHook<any, {}>,
912
+ H3 extends BehaviorHook<any, {}>,
913
+ H4 extends BehaviorHook<any, {}>,
914
+ H5 extends BehaviorHook<any, {}>,
915
+ H6 extends BehaviorHook<any, {}>
859
916
  >(
860
- hook1: BehaviorHook<M, O1>,
861
- hook2: BehaviorHook<M, O2>,
862
- hook3: BehaviorHook<M, O3>,
863
- hook4: BehaviorHook<M, O4>,
864
- hook5: BehaviorHook<M, O5>
865
- ): BehaviorHook<M, O1 & O2 & O3 & O4 & O5>;
866
- export function composeModelHooks<M extends Model<any, any>, R, P extends {}, O extends {}>(
867
- ...hooks: ((model: M, props: P, ref: React.Ref<R>) => O)[]
917
+ hook1: H1,
918
+ hook2: H2,
919
+ hook3?: H3,
920
+ hook4?: H4,
921
+ hook5?: H5,
922
+ hook6?: H6,
923
+ // TypeScript will only infer up to 6, but the types will still exist for those 6. The rest of the
924
+ // hooks won't add to the interface, but that seems to be an okay fallback
925
+ ...hooks: BehaviorHook<any, any>[]
926
+ ): H1 extends BaseHook<infer M, infer O1>
927
+ ? H2 extends BaseHook<any, infer O2>
928
+ ? H3 extends BaseHook<any, infer O3>
929
+ ? H4 extends BaseHook<any, infer O4>
930
+ ? H5 extends BaseHook<any, infer O5>
931
+ ? H6 extends BaseHook<any, infer O6>
932
+ ? BehaviorHook<M, O1 & O2 & O3 & O4 & O5 & O6>
933
+ : BehaviorHook<M, O1 & O2 & O3 & O4 & O5>
934
+ : BehaviorHook<M, O1 & O2 & O3 & O4>
935
+ : BehaviorHook<M, O1 & O2 & O3>
936
+ : BehaviorHook<M, O1 & O2>
937
+ : never
938
+ : never;
939
+ export function composeHooks<M extends Model<any, any>, P extends {}, O extends {}>(
940
+ ...hooks: ((model: M, props: P, ref: React.Ref<unknown>) => O)[]
868
941
  ): BehaviorHook<M, O> {
869
- return (model, props, ref) => {
942
+ return ((model, props, ref) => {
870
943
  const returnProps = [...hooks].reverse().reduce((props: any, hook) => {
871
944
  return hook(model, props, props.ref || ref);
872
945
  }, props);
@@ -877,5 +950,5 @@ export function composeModelHooks<M extends Model<any, any>, R, P extends {}, O
877
950
  }
878
951
 
879
952
  return returnProps;
880
- };
953
+ }) as BehaviorHook<M, O>;
881
954
  }
@@ -0,0 +1,21 @@
1
+ const isObject = (obj: any): boolean => obj && typeof obj === 'object';
2
+ export function deepMerge<T, S>(target: T, source: S): T & S {
3
+ if (!isObject(target) || !isObject(source)) {
4
+ return source as T & S;
5
+ }
6
+
7
+ Object.keys(source).forEach(key => {
8
+ const targetValue = target[key as keyof T];
9
+ const sourceValue = source[key as keyof S];
10
+
11
+ if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
12
+ (target as any)[key] = targetValue.concat(sourceValue);
13
+ } else if (isObject(targetValue) && isObject(sourceValue)) {
14
+ (target as any)[key] = deepMerge(Object.assign({}, targetValue), sourceValue);
15
+ } else {
16
+ (target as any)[key] = sourceValue;
17
+ }
18
+ });
19
+
20
+ return target as T & S;
21
+ }