@workday/canvas-kit-react 8.5.0-339-next.0 → 8.5.0-342-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 (810) hide show
  1. package/action-bar/lib/ActionBar.tsx +44 -0
  2. package/action-bar/lib/ActionBarOverflowButton.tsx +2 -2
  3. package/banner/lib/Banner.tsx +56 -0
  4. package/banner/lib/BannerIcon.tsx +0 -1
  5. package/breadcrumbs/lib/Breadcrumbs.tsx +77 -56
  6. package/breadcrumbs/lib/BreadcrumbsItem.tsx +2 -2
  7. package/button/lib/BaseButton.tsx +3 -2
  8. package/button/lib/DeleteButton.tsx +5 -1
  9. package/button/lib/ExternalHyperlink.tsx +6 -7
  10. package/button/lib/Hyperlink.tsx +6 -2
  11. package/button/lib/PrimaryButton.tsx +9 -5
  12. package/button/lib/SecondaryButton.tsx +9 -0
  13. package/button/lib/TertiaryButton.tsx +10 -9
  14. package/card/lib/Card.tsx +36 -0
  15. package/checkbox/lib/Checkbox.tsx +1 -7
  16. package/collection/lib/ListBox.tsx +19 -6
  17. package/collection/lib/useCursorListModel.tsx +9 -2
  18. package/collection/lib/useGridModel.ts +4 -0
  19. package/collection/lib/useListItemRegister.tsx +11 -2
  20. package/collection/lib/useListItemRovingFocus.tsx +11 -3
  21. package/collection/lib/useListItemSelect.tsx +12 -0
  22. package/collection/lib/useListModel.tsx +20 -3
  23. package/collection/lib/useListRenderItem.tsx +14 -0
  24. package/collection/lib/useListResetCursorOnBlur.tsx +12 -1
  25. package/collection/lib/useOverflowListItemMeasure.tsx +11 -0
  26. package/collection/lib/useOverflowListMeasure.ts +4 -0
  27. package/collection/lib/useOverflowListTarget.tsx +4 -0
  28. package/collection/lib/useSelectionListModel.tsx +13 -1
  29. package/common/lib/EllipsisText.tsx +11 -3
  30. package/common/lib/theming/getObjectProxy.ts +3 -2
  31. package/common/lib/utils/components.ts +106 -19
  32. package/dialog/lib/DialogPopper.tsx +3 -0
  33. package/disclosure/lib/useDisclosureModel.tsx +2 -2
  34. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +267 -223
  35. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  36. package/dist/commonjs/action-bar/lib/ActionBar.js +44 -0
  37. package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts +11 -11
  38. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +11 -11
  39. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts +11 -11
  40. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
  41. package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts +107 -107
  42. package/dist/commonjs/banner/lib/Banner.d.ts +60 -4
  43. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  44. package/dist/commonjs/banner/lib/Banner.js +56 -0
  45. package/dist/commonjs/banner/lib/BannerActionText.d.ts +1 -1
  46. package/dist/commonjs/banner/lib/BannerIcon.d.ts +1 -2
  47. package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -1
  48. package/dist/commonjs/banner/lib/BannerLabel.d.ts +1 -1
  49. package/dist/commonjs/banner/lib/hooks/useBanner.d.ts +1 -1
  50. package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +1 -1
  51. package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +1 -1
  52. package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +1 -1
  53. package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +1 -1
  54. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +305 -325
  55. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
  56. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +77 -56
  57. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +11 -11
  58. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts +12 -12
  59. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +2 -2
  60. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
  61. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
  62. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts +7 -7
  63. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +153 -153
  64. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +11 -11
  65. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +107 -107
  66. package/dist/commonjs/button/lib/BaseButton.d.ts +6 -5
  67. package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
  68. package/dist/commonjs/button/lib/DeleteButton.d.ts +6 -2
  69. package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
  70. package/dist/commonjs/button/lib/DeleteButton.js +6 -1
  71. package/dist/commonjs/button/lib/ExternalHyperlink.d.ts +5 -1
  72. package/dist/commonjs/button/lib/ExternalHyperlink.d.ts.map +1 -1
  73. package/dist/commonjs/button/lib/ExternalHyperlink.js +6 -2
  74. package/dist/commonjs/button/lib/Hyperlink.d.ts +5 -1
  75. package/dist/commonjs/button/lib/Hyperlink.d.ts.map +1 -1
  76. package/dist/commonjs/button/lib/Hyperlink.js +6 -2
  77. package/dist/commonjs/button/lib/PrimaryButton.d.ts +10 -6
  78. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  79. package/dist/commonjs/button/lib/PrimaryButton.js +9 -0
  80. package/dist/commonjs/button/lib/SecondaryButton.d.ts +10 -1
  81. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  82. package/dist/commonjs/button/lib/SecondaryButton.js +9 -0
  83. package/dist/commonjs/button/lib/TertiaryButton.d.ts +11 -8
  84. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  85. package/dist/commonjs/button/lib/TertiaryButton.js +12 -2
  86. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts +1 -1
  87. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  88. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +1 -1
  89. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts +1 -1
  90. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
  91. package/dist/commonjs/button/lib/deprecated_Button.d.ts +1 -1
  92. package/dist/commonjs/button/lib/deprecated_Button.d.ts.map +1 -1
  93. package/dist/commonjs/button/lib/deprecated_Button.js +1 -1
  94. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  95. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  96. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +1 -1
  97. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  98. package/dist/commonjs/card/lib/Card.d.ts +39 -3
  99. package/dist/commonjs/card/lib/Card.d.ts.map +1 -1
  100. package/dist/commonjs/card/lib/Card.js +36 -0
  101. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  102. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  103. package/dist/commonjs/card/lib/CardHeading.d.ts +1 -1
  104. package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
  105. package/dist/commonjs/checkbox/lib/Checkbox.d.ts +2 -2
  106. package/dist/commonjs/checkbox/lib/Checkbox.d.ts.map +1 -1
  107. package/dist/commonjs/checkbox/lib/Checkbox.js +3 -3
  108. package/dist/commonjs/collection/lib/ListBox.d.ts +158 -82
  109. package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
  110. package/dist/commonjs/collection/lib/ListBox.js +21 -8
  111. package/dist/commonjs/collection/lib/useBaseListModel.d.ts +10 -10
  112. package/dist/commonjs/collection/lib/useBaseListModel.js +1 -1
  113. package/dist/commonjs/collection/lib/useCursorListModel.d.ts +47 -36
  114. package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
  115. package/dist/commonjs/collection/lib/useGridModel.d.ts +79 -75
  116. package/dist/commonjs/collection/lib/useGridModel.d.ts.map +1 -1
  117. package/dist/commonjs/collection/lib/useGridModel.js +4 -0
  118. package/dist/commonjs/collection/lib/useListItemRegister.d.ts +14 -5
  119. package/dist/commonjs/collection/lib/useListItemRegister.d.ts.map +1 -1
  120. package/dist/commonjs/collection/lib/useListItemRegister.js +11 -2
  121. package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts +14 -6
  122. package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
  123. package/dist/commonjs/collection/lib/useListItemRovingFocus.js +11 -3
  124. package/dist/commonjs/collection/lib/useListItemSelect.d.ts +15 -3
  125. package/dist/commonjs/collection/lib/useListItemSelect.d.ts.map +1 -1
  126. package/dist/commonjs/collection/lib/useListItemSelect.js +12 -0
  127. package/dist/commonjs/collection/lib/useListModel.d.ts +95 -78
  128. package/dist/commonjs/collection/lib/useListModel.d.ts.map +1 -1
  129. package/dist/commonjs/collection/lib/useListModel.js +20 -3
  130. package/dist/commonjs/collection/lib/useListRenderItem.d.ts +14 -0
  131. package/dist/commonjs/collection/lib/useListRenderItem.d.ts.map +1 -1
  132. package/dist/commonjs/collection/lib/useListRenderItem.js +14 -0
  133. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts +15 -4
  134. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
  135. package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +12 -1
  136. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts +14 -3
  137. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
  138. package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +11 -0
  139. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts +7 -3
  140. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  141. package/dist/commonjs/collection/lib/useOverflowListMeasure.js +4 -0
  142. package/dist/commonjs/collection/lib/useOverflowListModel.d.ts +99 -99
  143. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts +7 -3
  144. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  145. package/dist/commonjs/collection/lib/useOverflowListTarget.js +4 -0
  146. package/dist/commonjs/collection/lib/useSelectionListModel.d.ts +88 -76
  147. package/dist/commonjs/collection/lib/useSelectionListModel.d.ts.map +1 -1
  148. package/dist/commonjs/color-picker/lib/ColorInput.d.ts +1 -1
  149. package/dist/commonjs/color-picker/lib/ColorInput.d.ts.map +1 -1
  150. package/dist/commonjs/color-picker/lib/ColorInput.js +6 -0
  151. package/dist/commonjs/color-picker/lib/ColorPreview.d.ts +1 -1
  152. package/dist/commonjs/color-picker/lib/ColorPreview.d.ts.map +1 -1
  153. package/dist/commonjs/common/lib/CanvasProvider.js +2 -0
  154. package/dist/commonjs/common/lib/EllipsisText.d.ts +1 -2
  155. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -1
  156. package/dist/commonjs/common/lib/EllipsisText.js +21 -2
  157. package/dist/commonjs/common/lib/InputProvider.d.ts +1 -1
  158. package/dist/commonjs/common/lib/InputProvider.js +2 -0
  159. package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +5 -7
  160. package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts.map +1 -1
  161. package/dist/commonjs/common/lib/theming/getObjectProxy.js +3 -2
  162. package/dist/commonjs/common/lib/utils/components.d.ts +113 -26
  163. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  164. package/dist/commonjs/common/lib/utils/components.js +72 -9
  165. package/dist/commonjs/common/lib/utils/models.js +2 -1
  166. package/dist/commonjs/dialog/lib/Dialog.d.ts +24 -24
  167. package/dist/commonjs/dialog/lib/DialogCard.d.ts +3 -3
  168. package/dist/commonjs/dialog/lib/DialogPopper.d.ts +3 -3
  169. package/dist/commonjs/dialog/lib/DialogPopper.d.ts.map +1 -1
  170. package/dist/commonjs/dialog/lib/DialogPopper.js +3 -0
  171. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +2 -2
  172. package/dist/commonjs/dialog/lib/hooks/useDialogModel.d.ts +10 -10
  173. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +2 -2
  174. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +1 -1
  175. package/dist/commonjs/disclosure/lib/useDisclosureModel.d.ts +22 -22
  176. package/dist/commonjs/disclosure/lib/useDisclosureModel.js +2 -2
  177. package/dist/commonjs/form-field/lib/FormField.d.ts +1 -2
  178. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  179. package/dist/commonjs/form-field/lib/FormField.js +2 -0
  180. package/dist/commonjs/form-field/lib/Hint.js +2 -0
  181. package/dist/commonjs/form-field/lib/Label.js +7 -7
  182. package/dist/commonjs/icon/lib/AccentIcon.d.ts +1 -1
  183. package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
  184. package/dist/commonjs/icon/lib/AppletIcon.d.ts +1 -1
  185. package/dist/commonjs/icon/lib/Graphic.d.ts +1 -1
  186. package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
  187. package/dist/commonjs/icon/lib/Icon.d.ts +1 -1
  188. package/dist/commonjs/icon/lib/Icon.d.ts.map +1 -1
  189. package/dist/commonjs/icon/lib/Svg.d.ts +1 -1
  190. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  191. package/dist/commonjs/icon/lib/SystemIcon.d.ts +1 -2
  192. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  193. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +1 -1
  194. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
  195. package/dist/commonjs/layout/lib/Box.d.ts +1 -1
  196. package/dist/commonjs/layout/lib/Box.d.ts.map +1 -1
  197. package/dist/commonjs/layout/lib/Column.js +2 -0
  198. package/dist/commonjs/layout/lib/Flex.d.ts +2 -2
  199. package/dist/commonjs/layout/lib/Grid.d.ts +2 -2
  200. package/dist/commonjs/layout/lib/Layout.js +2 -0
  201. package/dist/commonjs/layout/lib/Stack.d.ts +7 -6
  202. package/dist/commonjs/layout/lib/Stack.d.ts.map +1 -1
  203. package/dist/commonjs/layout/lib/utils/border/color.d.ts +7 -7
  204. package/dist/commonjs/layout/lib/utils/border/index.js +5 -7
  205. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +1 -1
  206. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts.map +1 -1
  207. package/dist/commonjs/layout/lib/utils/layout.d.ts +1 -1
  208. package/dist/commonjs/layout/lib/utils/layout.d.ts.map +1 -1
  209. package/dist/commonjs/layout/lib/utils/stack.d.ts +0 -2
  210. package/dist/commonjs/layout/lib/utils/stack.d.ts.map +1 -1
  211. package/dist/commonjs/menu/lib/Menu.d.ts +218 -378
  212. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  213. package/dist/commonjs/menu/lib/Menu.js +37 -9
  214. package/dist/commonjs/menu/lib/MenuCard.d.ts +8 -8
  215. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +8 -8
  216. package/dist/commonjs/menu/lib/MenuDivider.d.ts +1 -1
  217. package/dist/commonjs/menu/lib/MenuDivider.d.ts.map +1 -1
  218. package/dist/commonjs/menu/lib/MenuItem.d.ts +10 -10
  219. package/dist/commonjs/menu/lib/MenuList.d.ts +10 -10
  220. package/dist/commonjs/menu/lib/MenuPopper.d.ts +6 -6
  221. package/dist/commonjs/menu/lib/MenuTarget.d.ts +87 -12
  222. package/dist/commonjs/menu/lib/MenuTarget.d.ts.map +1 -1
  223. package/dist/commonjs/menu/lib/MenuTarget.js +4 -4
  224. package/dist/commonjs/menu/lib/useMenuModel.d.ts +173 -173
  225. package/dist/commonjs/modal/lib/Modal.d.ts +202 -46
  226. package/dist/commonjs/modal/lib/Modal.d.ts.map +1 -1
  227. package/dist/commonjs/modal/lib/Modal.js +76 -5
  228. package/dist/commonjs/modal/lib/ModalBody.d.ts +2 -2
  229. package/dist/commonjs/modal/lib/ModalCard.d.ts +2 -2
  230. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  231. package/dist/commonjs/modal/lib/ModalHeading.d.ts +2 -2
  232. package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +3 -3
  233. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  234. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -4
  235. package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.d.ts +2 -2
  236. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +2 -2
  237. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +2 -2
  238. package/dist/commonjs/modal/lib/hooks/useModalModel.d.ts +10 -10
  239. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
  240. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  241. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +10 -6
  242. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts +12 -11
  243. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  244. package/dist/commonjs/pagination/lib/Pagination/Controls.js +81 -66
  245. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +4 -3
  246. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  247. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +14 -7
  248. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
  249. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  250. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +10 -5
  251. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
  252. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
  253. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +9 -16
  254. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +9 -0
  255. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
  256. package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +2 -1
  257. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  258. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  259. package/dist/commonjs/pagination/lib/Pagination/Nav.js +2 -14
  260. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts +4 -5
  261. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  262. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +16 -11
  263. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
  264. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  265. package/dist/commonjs/pagination/lib/Pagination/PageList.js +17 -10
  266. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +230 -38
  267. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  268. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +227 -76
  269. package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +5 -7
  270. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +2 -2
  271. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  272. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  273. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  274. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.d.ts +45 -15
  275. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
  276. package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.js +45 -15
  277. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
  278. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  279. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +5 -4
  280. package/dist/commonjs/popup/lib/Popper.d.ts +16 -1
  281. package/dist/commonjs/popup/lib/Popper.d.ts.map +1 -1
  282. package/dist/commonjs/popup/lib/Popper.js +21 -8
  283. package/dist/commonjs/popup/lib/Popup.d.ts +183 -22
  284. package/dist/commonjs/popup/lib/Popup.d.ts.map +1 -1
  285. package/dist/commonjs/popup/lib/Popup.js +85 -4
  286. package/dist/commonjs/popup/lib/PopupBody.d.ts +2 -2
  287. package/dist/commonjs/popup/lib/PopupCard.d.ts +2 -2
  288. package/dist/commonjs/popup/lib/PopupCloseButton.d.ts +2 -2
  289. package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts +2 -2
  290. package/dist/commonjs/popup/lib/PopupHeading.d.ts +2 -2
  291. package/dist/commonjs/popup/lib/PopupPopper.d.ts +2 -2
  292. package/dist/commonjs/popup/lib/PopupTarget.d.ts +2 -2
  293. package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +2 -2
  294. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.d.ts +2 -2
  295. package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +5 -7
  296. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.d.ts +6 -6
  297. package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +4 -4
  298. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.d.ts +4 -4
  299. package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +2 -2
  300. package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +2 -2
  301. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.d.ts +8 -8
  302. package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +6 -6
  303. package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts +2 -2
  304. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.d.ts +2 -2
  305. package/dist/commonjs/popup/lib/hooks/useFocusRedirect.d.ts +2 -2
  306. package/dist/commonjs/popup/lib/hooks/useFocusTrap.d.ts +2 -2
  307. package/dist/commonjs/popup/lib/hooks/useInitialFocus.d.ts +4 -4
  308. package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +2 -2
  309. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +3 -3
  310. package/dist/commonjs/popup/lib/hooks/usePopupCard.js +1 -1
  311. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +5 -4
  312. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  313. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +3 -2
  314. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +3 -3
  315. package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +1 -1
  316. package/dist/commonjs/popup/lib/hooks/usePopupModel.d.ts +13 -13
  317. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -3
  318. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  319. package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +2 -1
  320. package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts +27 -19
  321. package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  322. package/dist/commonjs/popup/lib/hooks/usePopupStack.js +26 -18
  323. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +3 -3
  324. package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +1 -1
  325. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts +2 -2
  326. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +4 -4
  327. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +2 -2
  328. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +2 -2
  329. package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +2 -2
  330. package/dist/commonjs/radio/lib/Radio.d.ts +1 -1
  331. package/dist/commonjs/radio/lib/Radio.d.ts.map +1 -1
  332. package/dist/commonjs/radio/lib/Radio.js +1 -1
  333. package/dist/commonjs/radio/lib/RadioGroup.d.ts +1 -2
  334. package/dist/commonjs/radio/lib/RadioGroup.d.ts.map +1 -1
  335. package/dist/commonjs/radio/lib/RadioGroup.js +2 -0
  336. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +2 -2
  337. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
  338. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  339. package/dist/commonjs/select/lib/Select.d.ts +1 -1
  340. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  341. package/dist/commonjs/select/lib/Select.js +2 -2
  342. package/dist/commonjs/select/lib/SelectOption.js +2 -0
  343. package/dist/commonjs/side-panel/lib/SidePanel.js +3 -1
  344. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
  345. package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
  346. package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts +1 -1
  347. package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
  348. package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts +1 -1
  349. package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
  350. package/dist/commonjs/skeleton/lib/skeleton.d.ts +30 -4
  351. package/dist/commonjs/skeleton/lib/skeleton.d.ts.map +1 -1
  352. package/dist/commonjs/skeleton/lib/skeleton.js +27 -1
  353. package/dist/commonjs/status-indicator/lib/StatusIndicator.js +2 -0
  354. package/dist/commonjs/switch/lib/Switch.d.ts +1 -1
  355. package/dist/commonjs/table/lib/Table.js +2 -0
  356. package/dist/commonjs/table/lib/TableRow.d.ts +2 -1
  357. package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -1
  358. package/dist/commonjs/tabs/lib/Tabs.d.ts +585 -382
  359. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  360. package/dist/commonjs/tabs/lib/Tabs.js +94 -2
  361. package/dist/commonjs/tabs/lib/TabsItem.d.ts +15 -15
  362. package/dist/commonjs/tabs/lib/TabsList.d.ts +12 -12
  363. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
  364. package/dist/commonjs/tabs/lib/TabsList.js +4 -1
  365. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +6 -6
  366. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +12 -12
  367. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -1
  368. package/dist/commonjs/tabs/lib/TabsPanel.d.ts +12 -12
  369. package/dist/commonjs/tabs/lib/TabsPanels.d.ts +8 -8
  370. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +534 -506
  371. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  372. package/dist/commonjs/tabs/lib/useTabsModel.js +18 -1
  373. package/dist/commonjs/text/lib/LabelText.d.ts +4 -9
  374. package/dist/commonjs/text/lib/LabelText.d.ts.map +1 -1
  375. package/dist/commonjs/text/lib/LabelText.js +3 -8
  376. package/dist/commonjs/text/lib/Text.d.ts +11 -15
  377. package/dist/commonjs/text/lib/Text.d.ts.map +1 -1
  378. package/dist/commonjs/text/lib/Text.js +10 -12
  379. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts +4 -24
  380. package/dist/commonjs/text/lib/TypeLevelComponents.d.ts.map +1 -1
  381. package/dist/commonjs/text/lib/TypeLevelComponents.js +0 -20
  382. package/dist/commonjs/text-area/lib/TextArea.d.ts +1 -1
  383. package/dist/commonjs/text-input/lib/TextInput.d.ts +1 -1
  384. package/dist/commonjs/toast/lib/Toast.d.ts +1 -1
  385. package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
  386. package/dist/commonjs/tokens/lib/type/index.d.ts +7 -7
  387. package/dist/commonjs/tokens/lib/type/index.js +2 -2
  388. package/dist/commonjs/tooltip/lib/Tooltip.d.ts +1 -1
  389. package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
  390. package/dist/commonjs/tooltip/lib/Tooltip.js +22 -20
  391. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts +1 -1
  392. package/dist/es6/action-bar/lib/ActionBar.d.ts +267 -223
  393. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  394. package/dist/es6/action-bar/lib/ActionBar.js +44 -0
  395. package/dist/es6/action-bar/lib/ActionBarItem.d.ts +11 -11
  396. package/dist/es6/action-bar/lib/ActionBarList.d.ts +11 -11
  397. package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts +11 -11
  398. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +2 -2
  399. package/dist/es6/action-bar/lib/useActionBarModel.d.ts +107 -107
  400. package/dist/es6/banner/lib/Banner.d.ts +60 -4
  401. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  402. package/dist/es6/banner/lib/Banner.js +56 -0
  403. package/dist/es6/banner/lib/BannerActionText.d.ts +1 -1
  404. package/dist/es6/banner/lib/BannerIcon.d.ts +1 -2
  405. package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -1
  406. package/dist/es6/banner/lib/BannerLabel.d.ts +1 -1
  407. package/dist/es6/banner/lib/hooks/useBanner.d.ts +1 -1
  408. package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +1 -1
  409. package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +1 -1
  410. package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +1 -1
  411. package/dist/es6/banner/lib/hooks/useBannerModel.d.ts +1 -1
  412. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +305 -325
  413. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
  414. package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +77 -56
  415. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +11 -11
  416. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts +12 -12
  417. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +2 -2
  418. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
  419. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
  420. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts +7 -7
  421. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +153 -153
  422. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +11 -11
  423. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +107 -107
  424. package/dist/es6/button/lib/BaseButton.d.ts +6 -5
  425. package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
  426. package/dist/es6/button/lib/DeleteButton.d.ts +6 -2
  427. package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
  428. package/dist/es6/button/lib/DeleteButton.js +6 -1
  429. package/dist/es6/button/lib/ExternalHyperlink.d.ts +5 -1
  430. package/dist/es6/button/lib/ExternalHyperlink.d.ts.map +1 -1
  431. package/dist/es6/button/lib/ExternalHyperlink.js +6 -2
  432. package/dist/es6/button/lib/Hyperlink.d.ts +5 -1
  433. package/dist/es6/button/lib/Hyperlink.d.ts.map +1 -1
  434. package/dist/es6/button/lib/Hyperlink.js +6 -2
  435. package/dist/es6/button/lib/PrimaryButton.d.ts +10 -6
  436. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  437. package/dist/es6/button/lib/PrimaryButton.js +9 -0
  438. package/dist/es6/button/lib/SecondaryButton.d.ts +10 -1
  439. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  440. package/dist/es6/button/lib/SecondaryButton.js +9 -0
  441. package/dist/es6/button/lib/TertiaryButton.d.ts +11 -8
  442. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  443. package/dist/es6/button/lib/TertiaryButton.js +12 -2
  444. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts +1 -1
  445. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  446. package/dist/es6/button/lib/ToolbarDropdownButton.js +1 -1
  447. package/dist/es6/button/lib/ToolbarIconButton.d.ts +1 -1
  448. package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
  449. package/dist/es6/button/lib/deprecated_Button.d.ts +1 -1
  450. package/dist/es6/button/lib/deprecated_Button.d.ts.map +1 -1
  451. package/dist/es6/button/lib/deprecated_Button.js +1 -1
  452. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  453. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  454. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +1 -1
  455. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  456. package/dist/es6/card/lib/Card.d.ts +39 -3
  457. package/dist/es6/card/lib/Card.d.ts.map +1 -1
  458. package/dist/es6/card/lib/Card.js +36 -0
  459. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  460. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  461. package/dist/es6/card/lib/CardHeading.d.ts +1 -1
  462. package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
  463. package/dist/es6/checkbox/lib/Checkbox.d.ts +2 -2
  464. package/dist/es6/checkbox/lib/Checkbox.d.ts.map +1 -1
  465. package/dist/es6/checkbox/lib/Checkbox.js +3 -3
  466. package/dist/es6/collection/lib/ListBox.d.ts +158 -82
  467. package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
  468. package/dist/es6/collection/lib/ListBox.js +19 -6
  469. package/dist/es6/collection/lib/useBaseListModel.d.ts +10 -10
  470. package/dist/es6/collection/lib/useBaseListModel.js +1 -1
  471. package/dist/es6/collection/lib/useCursorListModel.d.ts +47 -36
  472. package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
  473. package/dist/es6/collection/lib/useGridModel.d.ts +79 -75
  474. package/dist/es6/collection/lib/useGridModel.d.ts.map +1 -1
  475. package/dist/es6/collection/lib/useGridModel.js +4 -0
  476. package/dist/es6/collection/lib/useListItemRegister.d.ts +14 -5
  477. package/dist/es6/collection/lib/useListItemRegister.d.ts.map +1 -1
  478. package/dist/es6/collection/lib/useListItemRegister.js +11 -2
  479. package/dist/es6/collection/lib/useListItemRovingFocus.d.ts +14 -6
  480. package/dist/es6/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
  481. package/dist/es6/collection/lib/useListItemRovingFocus.js +11 -3
  482. package/dist/es6/collection/lib/useListItemSelect.d.ts +15 -3
  483. package/dist/es6/collection/lib/useListItemSelect.d.ts.map +1 -1
  484. package/dist/es6/collection/lib/useListItemSelect.js +12 -0
  485. package/dist/es6/collection/lib/useListModel.d.ts +95 -78
  486. package/dist/es6/collection/lib/useListModel.d.ts.map +1 -1
  487. package/dist/es6/collection/lib/useListModel.js +20 -3
  488. package/dist/es6/collection/lib/useListRenderItem.d.ts +14 -0
  489. package/dist/es6/collection/lib/useListRenderItem.d.ts.map +1 -1
  490. package/dist/es6/collection/lib/useListRenderItem.js +14 -0
  491. package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts +15 -4
  492. package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
  493. package/dist/es6/collection/lib/useListResetCursorOnBlur.js +12 -1
  494. package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts +14 -3
  495. package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
  496. package/dist/es6/collection/lib/useOverflowListItemMeasure.js +11 -0
  497. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts +7 -3
  498. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  499. package/dist/es6/collection/lib/useOverflowListMeasure.js +4 -0
  500. package/dist/es6/collection/lib/useOverflowListModel.d.ts +99 -99
  501. package/dist/es6/collection/lib/useOverflowListTarget.d.ts +7 -3
  502. package/dist/es6/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  503. package/dist/es6/collection/lib/useOverflowListTarget.js +4 -0
  504. package/dist/es6/collection/lib/useSelectionListModel.d.ts +88 -76
  505. package/dist/es6/collection/lib/useSelectionListModel.d.ts.map +1 -1
  506. package/dist/es6/color-picker/lib/ColorInput.d.ts +1 -1
  507. package/dist/es6/color-picker/lib/ColorInput.d.ts.map +1 -1
  508. package/dist/es6/color-picker/lib/ColorInput.js +6 -0
  509. package/dist/es6/color-picker/lib/ColorPreview.d.ts +1 -1
  510. package/dist/es6/color-picker/lib/ColorPreview.d.ts.map +1 -1
  511. package/dist/es6/common/lib/CanvasProvider.js +2 -0
  512. package/dist/es6/common/lib/EllipsisText.d.ts +1 -2
  513. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -1
  514. package/dist/es6/common/lib/EllipsisText.js +21 -2
  515. package/dist/es6/common/lib/InputProvider.d.ts +1 -1
  516. package/dist/es6/common/lib/InputProvider.js +2 -0
  517. package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +5 -7
  518. package/dist/es6/common/lib/theming/getObjectProxy.d.ts.map +1 -1
  519. package/dist/es6/common/lib/theming/getObjectProxy.js +3 -2
  520. package/dist/es6/common/lib/utils/components.d.ts +113 -26
  521. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  522. package/dist/es6/common/lib/utils/components.js +70 -8
  523. package/dist/es6/common/lib/utils/models.js +2 -1
  524. package/dist/es6/dialog/lib/Dialog.d.ts +24 -24
  525. package/dist/es6/dialog/lib/DialogCard.d.ts +3 -3
  526. package/dist/es6/dialog/lib/DialogPopper.d.ts +3 -3
  527. package/dist/es6/dialog/lib/DialogPopper.d.ts.map +1 -1
  528. package/dist/es6/dialog/lib/DialogPopper.js +3 -0
  529. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +2 -2
  530. package/dist/es6/dialog/lib/hooks/useDialogModel.d.ts +10 -10
  531. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +2 -2
  532. package/dist/es6/dialog/lib/hooks/useDialogPopper.js +1 -1
  533. package/dist/es6/disclosure/lib/useDisclosureModel.d.ts +22 -22
  534. package/dist/es6/disclosure/lib/useDisclosureModel.js +2 -2
  535. package/dist/es6/form-field/lib/FormField.d.ts +1 -2
  536. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  537. package/dist/es6/form-field/lib/FormField.js +3 -1
  538. package/dist/es6/form-field/lib/Hint.js +2 -0
  539. package/dist/es6/form-field/lib/Label.js +7 -7
  540. package/dist/es6/icon/lib/AccentIcon.d.ts +1 -1
  541. package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
  542. package/dist/es6/icon/lib/AppletIcon.d.ts +1 -1
  543. package/dist/es6/icon/lib/Graphic.d.ts +1 -1
  544. package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
  545. package/dist/es6/icon/lib/Icon.d.ts +1 -1
  546. package/dist/es6/icon/lib/Icon.d.ts.map +1 -1
  547. package/dist/es6/icon/lib/Svg.d.ts +1 -1
  548. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  549. package/dist/es6/icon/lib/SystemIcon.d.ts +1 -2
  550. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  551. package/dist/es6/icon/lib/SystemIconCircle.d.ts +1 -1
  552. package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
  553. package/dist/es6/layout/lib/Box.d.ts +1 -1
  554. package/dist/es6/layout/lib/Box.d.ts.map +1 -1
  555. package/dist/es6/layout/lib/Column.js +2 -0
  556. package/dist/es6/layout/lib/Flex.d.ts +2 -2
  557. package/dist/es6/layout/lib/Grid.d.ts +2 -2
  558. package/dist/es6/layout/lib/Layout.js +2 -0
  559. package/dist/es6/layout/lib/Stack.d.ts +7 -6
  560. package/dist/es6/layout/lib/Stack.d.ts.map +1 -1
  561. package/dist/es6/layout/lib/utils/border/color.d.ts +7 -7
  562. package/dist/es6/layout/lib/utils/border/index.js +5 -7
  563. package/dist/es6/layout/lib/utils/getValidChildren.d.ts +1 -1
  564. package/dist/es6/layout/lib/utils/getValidChildren.d.ts.map +1 -1
  565. package/dist/es6/layout/lib/utils/layout.d.ts +1 -1
  566. package/dist/es6/layout/lib/utils/layout.d.ts.map +1 -1
  567. package/dist/es6/layout/lib/utils/stack.d.ts +0 -2
  568. package/dist/es6/layout/lib/utils/stack.d.ts.map +1 -1
  569. package/dist/es6/menu/lib/Menu.d.ts +218 -378
  570. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  571. package/dist/es6/menu/lib/Menu.js +37 -9
  572. package/dist/es6/menu/lib/MenuCard.d.ts +8 -8
  573. package/dist/es6/menu/lib/MenuContextTarget.d.ts +8 -8
  574. package/dist/es6/menu/lib/MenuDivider.d.ts +1 -1
  575. package/dist/es6/menu/lib/MenuDivider.d.ts.map +1 -1
  576. package/dist/es6/menu/lib/MenuItem.d.ts +10 -10
  577. package/dist/es6/menu/lib/MenuList.d.ts +10 -10
  578. package/dist/es6/menu/lib/MenuPopper.d.ts +6 -6
  579. package/dist/es6/menu/lib/MenuTarget.d.ts +87 -12
  580. package/dist/es6/menu/lib/MenuTarget.d.ts.map +1 -1
  581. package/dist/es6/menu/lib/MenuTarget.js +1 -1
  582. package/dist/es6/menu/lib/useMenuModel.d.ts +173 -173
  583. package/dist/es6/modal/lib/Modal.d.ts +202 -46
  584. package/dist/es6/modal/lib/Modal.d.ts.map +1 -1
  585. package/dist/es6/modal/lib/Modal.js +76 -5
  586. package/dist/es6/modal/lib/ModalBody.d.ts +2 -2
  587. package/dist/es6/modal/lib/ModalCard.d.ts +2 -2
  588. package/dist/es6/modal/lib/ModalCard.js +1 -1
  589. package/dist/es6/modal/lib/ModalHeading.d.ts +2 -2
  590. package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +3 -3
  591. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  592. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -4
  593. package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.d.ts +2 -2
  594. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +2 -2
  595. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +2 -2
  596. package/dist/es6/modal/lib/hooks/useModalModel.d.ts +10 -10
  597. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
  598. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  599. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +11 -6
  600. package/dist/es6/pagination/lib/Pagination/Controls.d.ts +12 -11
  601. package/dist/es6/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  602. package/dist/es6/pagination/lib/Pagination/Controls.js +80 -60
  603. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +4 -3
  604. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  605. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +14 -6
  606. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
  607. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  608. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +10 -4
  609. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
  610. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
  611. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +9 -15
  612. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +9 -0
  613. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
  614. package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +1 -0
  615. package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  616. package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  617. package/dist/es6/pagination/lib/Pagination/Nav.js +2 -14
  618. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts +4 -5
  619. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  620. package/dist/es6/pagination/lib/Pagination/PageButton.js +17 -11
  621. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
  622. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  623. package/dist/es6/pagination/lib/Pagination/PageList.js +17 -8
  624. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +230 -38
  625. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  626. package/dist/es6/pagination/lib/Pagination/Pagination.js +229 -77
  627. package/dist/es6/pagination/lib/Pagination/buildPageRange.js +5 -7
  628. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +2 -2
  629. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  630. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  631. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  632. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.d.ts +45 -15
  633. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
  634. package/dist/es6/pagination/lib/Pagination/common/utils/helpers.js +45 -15
  635. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
  636. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  637. package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +4 -3
  638. package/dist/es6/popup/lib/Popper.d.ts +16 -1
  639. package/dist/es6/popup/lib/Popper.d.ts.map +1 -1
  640. package/dist/es6/popup/lib/Popper.js +21 -8
  641. package/dist/es6/popup/lib/Popup.d.ts +183 -22
  642. package/dist/es6/popup/lib/Popup.d.ts.map +1 -1
  643. package/dist/es6/popup/lib/Popup.js +85 -4
  644. package/dist/es6/popup/lib/PopupBody.d.ts +2 -2
  645. package/dist/es6/popup/lib/PopupCard.d.ts +2 -2
  646. package/dist/es6/popup/lib/PopupCloseButton.d.ts +2 -2
  647. package/dist/es6/popup/lib/PopupCloseIcon.d.ts +2 -2
  648. package/dist/es6/popup/lib/PopupHeading.d.ts +2 -2
  649. package/dist/es6/popup/lib/PopupPopper.d.ts +2 -2
  650. package/dist/es6/popup/lib/PopupTarget.d.ts +2 -2
  651. package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +2 -2
  652. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.d.ts +2 -2
  653. package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +5 -7
  654. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.d.ts +6 -6
  655. package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +4 -4
  656. package/dist/es6/popup/lib/hooks/useCloseOnEscape.d.ts +4 -4
  657. package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +2 -2
  658. package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +2 -2
  659. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.d.ts +8 -8
  660. package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +6 -6
  661. package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts +2 -2
  662. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.d.ts +2 -2
  663. package/dist/es6/popup/lib/hooks/useFocusRedirect.d.ts +2 -2
  664. package/dist/es6/popup/lib/hooks/useFocusTrap.d.ts +2 -2
  665. package/dist/es6/popup/lib/hooks/useInitialFocus.d.ts +4 -4
  666. package/dist/es6/popup/lib/hooks/useInitialFocus.js +2 -2
  667. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +3 -3
  668. package/dist/es6/popup/lib/hooks/usePopupCard.js +1 -1
  669. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +5 -4
  670. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  671. package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +3 -2
  672. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +3 -3
  673. package/dist/es6/popup/lib/hooks/usePopupHeading.js +1 -1
  674. package/dist/es6/popup/lib/hooks/usePopupModel.d.ts +13 -13
  675. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -3
  676. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  677. package/dist/es6/popup/lib/hooks/usePopupPopper.js +2 -1
  678. package/dist/es6/popup/lib/hooks/usePopupStack.d.ts +27 -19
  679. package/dist/es6/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  680. package/dist/es6/popup/lib/hooks/usePopupStack.js +26 -18
  681. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +3 -3
  682. package/dist/es6/popup/lib/hooks/usePopupTarget.js +1 -1
  683. package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts +2 -2
  684. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +4 -4
  685. package/dist/es6/popup/lib/hooks/useReturnFocus.js +2 -2
  686. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +2 -2
  687. package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +2 -2
  688. package/dist/es6/radio/lib/Radio.d.ts +1 -1
  689. package/dist/es6/radio/lib/Radio.d.ts.map +1 -1
  690. package/dist/es6/radio/lib/Radio.js +1 -1
  691. package/dist/es6/radio/lib/RadioGroup.d.ts +1 -2
  692. package/dist/es6/radio/lib/RadioGroup.d.ts.map +1 -1
  693. package/dist/es6/radio/lib/RadioGroup.js +3 -1
  694. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +2 -2
  695. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
  696. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  697. package/dist/es6/select/lib/Select.d.ts +1 -1
  698. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  699. package/dist/es6/select/lib/Select.js +2 -2
  700. package/dist/es6/select/lib/SelectOption.js +2 -0
  701. package/dist/es6/side-panel/lib/SidePanel.js +3 -1
  702. package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
  703. package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
  704. package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts +1 -1
  705. package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
  706. package/dist/es6/skeleton/lib/parts/skeletonText.d.ts +1 -1
  707. package/dist/es6/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
  708. package/dist/es6/skeleton/lib/skeleton.d.ts +30 -4
  709. package/dist/es6/skeleton/lib/skeleton.d.ts.map +1 -1
  710. package/dist/es6/skeleton/lib/skeleton.js +27 -1
  711. package/dist/es6/status-indicator/lib/StatusIndicator.js +2 -0
  712. package/dist/es6/switch/lib/Switch.d.ts +1 -1
  713. package/dist/es6/table/lib/Table.js +2 -0
  714. package/dist/es6/table/lib/TableRow.d.ts +2 -1
  715. package/dist/es6/table/lib/TableRow.d.ts.map +1 -1
  716. package/dist/es6/tabs/lib/Tabs.d.ts +585 -382
  717. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  718. package/dist/es6/tabs/lib/Tabs.js +94 -2
  719. package/dist/es6/tabs/lib/TabsItem.d.ts +15 -15
  720. package/dist/es6/tabs/lib/TabsList.d.ts +12 -12
  721. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
  722. package/dist/es6/tabs/lib/TabsList.js +4 -1
  723. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +6 -6
  724. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +12 -12
  725. package/dist/es6/tabs/lib/TabsOverflowButton.js +2 -2
  726. package/dist/es6/tabs/lib/TabsPanel.d.ts +12 -12
  727. package/dist/es6/tabs/lib/TabsPanels.d.ts +8 -8
  728. package/dist/es6/tabs/lib/useTabsModel.d.ts +534 -506
  729. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  730. package/dist/es6/tabs/lib/useTabsModel.js +18 -1
  731. package/dist/es6/text/lib/LabelText.d.ts +4 -9
  732. package/dist/es6/text/lib/LabelText.d.ts.map +1 -1
  733. package/dist/es6/text/lib/LabelText.js +3 -8
  734. package/dist/es6/text/lib/Text.d.ts +11 -15
  735. package/dist/es6/text/lib/Text.d.ts.map +1 -1
  736. package/dist/es6/text/lib/Text.js +10 -12
  737. package/dist/es6/text/lib/TypeLevelComponents.d.ts +4 -24
  738. package/dist/es6/text/lib/TypeLevelComponents.d.ts.map +1 -1
  739. package/dist/es6/text/lib/TypeLevelComponents.js +0 -20
  740. package/dist/es6/text-area/lib/TextArea.d.ts +1 -1
  741. package/dist/es6/text-input/lib/TextInput.d.ts +1 -1
  742. package/dist/es6/toast/lib/Toast.d.ts +1 -1
  743. package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
  744. package/dist/es6/tokens/lib/type/index.d.ts +7 -7
  745. package/dist/es6/tokens/lib/type/index.js +2 -2
  746. package/dist/es6/tooltip/lib/Tooltip.d.ts +1 -1
  747. package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
  748. package/dist/es6/tooltip/lib/Tooltip.js +23 -20
  749. package/dist/es6/tooltip/lib/TooltipContainer.d.ts +1 -1
  750. package/form-field/lib/FormField.tsx +1 -3
  751. package/icon/lib/SystemIcon.tsx +0 -1
  752. package/layout/lib/utils/border/color.ts +7 -7
  753. package/layout/lib/utils/layout.ts +1 -1
  754. package/menu/lib/Menu.tsx +37 -9
  755. package/menu/lib/MenuTarget.tsx +1 -1
  756. package/modal/lib/Modal.tsx +76 -5
  757. package/package.json +3 -3
  758. package/pagination/lib/Pagination/AdditionalDetails.tsx +30 -20
  759. package/pagination/lib/Pagination/Controls.tsx +121 -98
  760. package/pagination/lib/Pagination/GoTo/Form.tsx +33 -21
  761. package/pagination/lib/Pagination/GoTo/Label.tsx +21 -10
  762. package/pagination/lib/Pagination/GoTo/TextInput.tsx +11 -7
  763. package/pagination/lib/Pagination/GoTo/useGoToForm.tsx +2 -0
  764. package/pagination/lib/Pagination/Nav.tsx +1 -2
  765. package/pagination/lib/Pagination/PageButton.tsx +34 -31
  766. package/pagination/lib/Pagination/PageList.tsx +33 -20
  767. package/pagination/lib/Pagination/Pagination.tsx +256 -139
  768. package/pagination/lib/Pagination/common/utils/helpers.ts +45 -15
  769. package/pagination/lib/Pagination/usePaginationModel.ts +4 -7
  770. package/popup/lib/Popper.tsx +16 -1
  771. package/popup/lib/Popup.tsx +85 -4
  772. package/popup/lib/hooks/useBringToTopOnClick.ts +4 -4
  773. package/popup/lib/hooks/useCloseOnEscape.ts +2 -2
  774. package/popup/lib/hooks/useCloseOnOutsideClick.ts +6 -6
  775. package/popup/lib/hooks/useInitialFocus.tsx +2 -2
  776. package/popup/lib/hooks/usePopupCard.ts +1 -1
  777. package/popup/lib/hooks/usePopupCloseButton.ts +3 -2
  778. package/popup/lib/hooks/usePopupHeading.ts +1 -1
  779. package/popup/lib/hooks/usePopupPopper.ts +2 -1
  780. package/popup/lib/hooks/usePopupStack.ts +26 -18
  781. package/popup/lib/hooks/usePopupTarget.ts +1 -1
  782. package/popup/lib/hooks/useReturnFocus.tsx +2 -2
  783. package/radio/lib/RadioGroup.tsx +1 -3
  784. package/select/lib/Select.tsx +2 -15
  785. package/skeleton/lib/skeleton.tsx +27 -1
  786. package/tabs/lib/Tabs.tsx +95 -3
  787. package/tabs/lib/TabsItem.tsx +2 -2
  788. package/tabs/lib/TabsList.tsx +4 -1
  789. package/tabs/lib/TabsOverflowButton.tsx +3 -3
  790. package/tabs/lib/TabsPanel.tsx +2 -2
  791. package/tabs/lib/useTabsModel.tsx +16 -0
  792. package/text/lib/LabelText.tsx +3 -8
  793. package/text/lib/Text.tsx +17 -21
  794. package/text/lib/TypeLevelComponents.tsx +0 -20
  795. package/tokens/lib/type/index.ts +8 -8
  796. package/tooltip/lib/Tooltip.tsx +42 -39
  797. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
  798. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
  799. package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.js +0 -58
  800. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
  801. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
  802. package/dist/commonjs/pagination/lib/Pagination/GoTo/index.js +0 -16
  803. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
  804. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
  805. package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.js +0 -35
  806. package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
  807. package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
  808. package/dist/es6/pagination/lib/Pagination/GoTo/index.js +0 -3
  809. package/pagination/lib/Pagination/GoTo/GoTo.tsx +0 -36
  810. package/pagination/lib/Pagination/GoTo/index.ts +0 -4
@@ -22,7 +22,7 @@ export const ListBoxItem = createSubcomponent('li')({
22
22
  return <Box as={Element} {...elemProps} />;
23
23
  });
24
24
 
25
- const useListBox = createElemPropsHook(useListModel)(model => {
25
+ export const useListBox = createElemPropsHook(useListModel)(model => {
26
26
  return {
27
27
  style: {
28
28
  position: 'relative' as const,
@@ -32,8 +32,17 @@ const useListBox = createElemPropsHook(useListModel)(model => {
32
32
  });
33
33
 
34
34
  /**
35
- * Basic list box that supports virtualization. `ListBox.Item` contains a very simple list item
36
- * without much functionality. The `ListBox` contains two `Box` elements:
35
+ * The `ListBox` component that offers vertical rendering of a collection in the form of a
36
+ * 2-dimension list. It supports virtualization, rendering only visible items in the DOM while also
37
+ * providing aria attributes to allow screen readers to still navigate virtual lists. The `ListBox`
38
+ * contains a basic `ListBox.Item` that renders list items that render correctly with virtualization
39
+ * and adds `aria-setsize` and `aria-posinset` for screen readers.
40
+
41
+ * The `ListBox` is very basic and only adds enough functionality to render correctly. No additional
42
+ * behaviors are added to navigate or select. React Hooks are provided to add this functionality and
43
+ * are used by higher level components like `Menu` and `Menu.Item` which utilize `ListBox`. The
44
+ * `ListBox` contains two `Box` elements:
45
+ *
37
46
  * - Outer Box: Presentational container element responsible for overflow and height. `height` and
38
47
  * `maxHeight` props will be applied here.
39
48
  * - Inner Box: The element responsible for the virtual container. Height is controlled by the model
@@ -45,9 +54,13 @@ export const ListBox = createContainer('ul')({
45
54
  elemPropsHook: useListBox,
46
55
  subComponents: {
47
56
  /**
48
- * Extremely simple ListBox item that contains no functionality other than registering items and
49
- * adding aria virtualization attributes. If you need more functionality, create your own
50
- * component using list item hooks.
57
+ * The `ListBox.Item` is a simple placeholder for listbox items. The functionality of a
58
+ * collection item varies between components. For example, a `Tabs.Item` and a `Menu.Item` have
59
+ * shared functionality, but have different behavior. All collection-based components should
60
+ * implement a custom `Item` subcomponent using the collection-based behavior hooks. The [Roving
61
+ * Tabindex](#roving-tabindex) example uses the `elemPropsHook` to provide additional
62
+ * functionality. `elemPropsHook` is provided on all compound components and is useful in the
63
+ * example to add additional functionality without making a new component.
51
64
  */
52
65
  Item: ListBoxItem,
53
66
  },
@@ -5,6 +5,11 @@ import {useBaseListModel, Item, defaultGetId as getId} from './useBaseListModel'
5
5
 
6
6
  type NavigationInput = Pick<ReturnType<typeof useCursorListModel>, 'state'>;
7
7
 
8
+ /**
9
+ * The list and grid models accept a `navigation` config. If one is not provided, a default will be
10
+ * chosen. It is possible to create a custom navigation manager to hand to the model if the default
11
+ * doesn't work.
12
+ */
8
13
  export interface NavigationManager {
9
14
  /** Get the first item in a collection. This will be called when the `Home` key is pressed for
10
15
  * Lists and `Ctrl+Home` for Grids. */
@@ -61,8 +66,10 @@ export interface NavigationManager {
61
66
  */
62
67
  export const createNavigationManager = (manager: NavigationManager) => manager;
63
68
 
64
- /** Function type to make it easier to define navigation functions */
65
- export type NavigationRequestor = (id: string, {state}: NavigationInput) => Item<Generic>;
69
+ /**
70
+ * Given an id and a model, return an item from the collection
71
+ */
72
+ export type NavigationRequestor = (id: string, model: NavigationInput) => Item<Generic>;
66
73
 
67
74
  /**
68
75
  * Get the first item in a list regardless of column count
@@ -4,6 +4,10 @@ import {useListModel} from './useListModel';
4
4
 
5
5
  const {columnCount, orientation, ...defaultConfig} = useListModel.defaultConfig;
6
6
 
7
+ /**
8
+ * The Grid model extends the `ListModel` and changes some config. For example, the `columnCount` is
9
+ * required on the grid model's configuration and `orientation` is removed.
10
+ */
7
11
  export const useGridModel = createModelHook({
8
12
  defaultConfig: {
9
13
  ...defaultConfig,
@@ -12,8 +12,17 @@ import {VirtualItem} from './react-virtual';
12
12
  import {useListModel} from './useListModel';
13
13
 
14
14
  /**
15
- * Registers an item with a list. It will return elemProps with a `data-id` which can be used by other
16
- * hooks to identify the item in the list.
15
+ * This elemProps hook is the base of all item component hooks. It registers an item with a
16
+ * collection and sets the `data-id` that is used by other hooks. It should always be the last
17
+ * defined hook when using `composeHooks` (`composeHooks` executes hooks right to left and merges
18
+ * props left to right). It is used by `ListBox.Item` and all `*.Item` subcomponents.
19
+ *
20
+ * ```ts
21
+ * const useMyItem = composeHooks(
22
+ * useListItemSelect, // additional hooks go here
23
+ * useListItemRegister // always last
24
+ * );
25
+ * ```
17
26
  */
18
27
  export const useListItemRegister = createElemPropsHook(useListModel)(
19
28
  (
@@ -56,10 +56,18 @@ const keys = <T extends object>(obj: T): (keyof T)[] => Object.keys(obj) as (key
56
56
  const hasOwnKey = <T extends object>(obj: T, key: any): key is keyof T => obj.hasOwnProperty(key);
57
57
 
58
58
  /**
59
- * Handles the roving focus behavior of a Cursor model. It should be added to the element
60
- * representing a list item.
59
+ * This elemProps hook is used for cursor navigation by using [Roving
60
+ * Tabindex](https://w3c.github.io/aria-practices/#kbd_roving_tabindex). Only a single item in the
61
+ * collection has a tab stop. Pressing an arrow key moves the tab stop to a different item in the
62
+ * corresponding direction. See the [Roving Tabindex](#roving-tabindex) example. This elemProps hook
63
+ * should be applied to an `*.Item` component.
61
64
  *
62
- * @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
65
+ * ```ts
66
+ * const useMyItem = composeHooks(
67
+ * useListItemRovingFocus, // adds the roving tabindex support
68
+ * useListItemRegister
69
+ * );
70
+ ```
63
71
  */
64
72
  export const useListItemRovingFocus = createElemPropsHook(useCursorListModel)(
65
73
  ({state, events, getId, navigation}, ref, elemProps: {'data-id'?: string} = {}) => {
@@ -4,6 +4,18 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
4
4
 
5
5
  import {useListModel} from './useListModel';
6
6
 
7
+ /**
8
+ * This elemProps hook adds selection support to a `*.Item` subcomponent of a collection. It adds a
9
+ * click handler that toggles selection status according to the [Selection
10
+ * Manager](#selection-manager) used.
11
+ *
12
+ * ```ts
13
+ * const useMyItem = composeHooks(
14
+ * useListItemSelect, // adds selection support to an item
15
+ * useListItemRegister
16
+ * );
17
+ * ```
18
+ */
7
19
  export const useListItemSelect = createElemPropsHook(useListModel)(
8
20
  ({state, events}, _?: React.Ref<HTMLElement>, elemProps: {'data-id'?: string} = {}) => {
9
21
  const name = elemProps['data-id'] || '';
@@ -15,10 +15,26 @@ export type ListItemProps = {
15
15
  };
16
16
 
17
17
  /**
18
- * Create a list model that includes item registration, cursors for focus, and selection. You can
19
- * inject navigation and selection managers to change how a user navigates or how selection works.
18
+ * The List model contains the the state and events necessary to track items, selection, and a cursor.
19
+ * Various hooks can be used for a List model to create common behaviors associated with lists, such as
20
+ * navigating a list with a keyboard, selection (single and multiple), and virtualization.
20
21
  *
21
- * @example
22
+ * A list also has a "cursor". A cursor is often represented by focus, but it is not always a 1:1
23
+ * mapping. Think of the cursor as the focus item within the list. If the list has browser focus, the
24
+ * cursor will map to browser focus. Behaviors such as `useListRovingFocus` will map the cursor to the
25
+ * active tab stop of the list. For more information, see
26
+ * [Roving Tabindex](https://w3c.github.io/aria-practices/#kbd_roving_tabindex). `useListRovingFocus`
27
+ * adds keyboard events that map to navigation events. A [Navigation Manager](#navigation-manager) is
28
+ * used to map new cursor ids to these events. The `ListModel` takes an optional `navigation`
29
+ * configuration to change the default navigation behavior. The default navigation manager is a
30
+ * [wrappingNavigationManager](#wrappingnavigationmanager) meaning the cursor will wrap around the
31
+ * beginning and the ends. The cursor also provides a [navigationManager](#navigationmanager) that does
32
+ * not wrap. This is the default navigation for grids.
33
+ *
34
+ * The cursor also adds the concept of `orientation` which defaults to `'vertical'`. A Tab list is an
35
+ * example of a `'horizontal'` list.
36
+ *
37
+ * ```tsx
22
38
  * const list = useListModel({
23
39
  * // custom handling for selection. single and multi select are provided
24
40
  * selection: mySelectionManager,
@@ -27,6 +43,7 @@ export type ListItemProps = {
27
43
  * items: [{ id: '1', text: 'First'}, { id: '2', text: 'Second' }],
28
44
  * getId: item => item.id, // get the unique identifier of your item
29
45
  * })
46
+ * ```
30
47
  */
31
48
  export const useListModel = createModelHook({
32
49
  defaultConfig: useSelectionListModel.defaultConfig,
@@ -4,6 +4,20 @@ import {Generic} from '@workday/canvas-kit-react/common';
4
4
 
5
5
  import {useBaseListModel} from './useBaseListModel';
6
6
 
7
+ /**
8
+ * This hook is meant to be used inside the render function of `List` style components. It is used
9
+ * by `ListBox`. This hook gives list-based components their static and dynamic APIs to handle list
10
+ * items. This hook should only be used if you want to implement your own List. For example,
11
+ * `Tabs.List` uses this hook, but `Menu.List` uses `ListBox` which uses this hook.
12
+ *
13
+ * ```tsx
14
+ * const MyList = createContainer('ul')({
15
+ * modelHook: useListModel,
16
+ * })((elemProps, Element, model) => {
17
+ * return <Element {...elemProps}>{useListRenderItems(model, elemProps.children)}</Element>;
18
+ * });
19
+ ```
20
+ */
7
21
  export function useListRenderItems<T>(
8
22
  model: ReturnType<typeof useBaseListModel>,
9
23
  children: ((item: Generic, index: number) => React.ReactNode) | React.ReactNode
@@ -5,7 +5,18 @@ import {orientationKeyMap} from './useListItemRovingFocus';
5
5
  import {useListModel} from './useListModel';
6
6
 
7
7
  /**
8
- * Reset the cursor to the selected item when the list looses focus
8
+ * This elemProps hook resets the cursor when the list looses focus. By default,
9
+ * [useListItemRovingFocus](#use-list-item-roving-focus) will leave the last focused item as the
10
+ * focusable item in the list. Sometimes it is desireable to reset the cursor to the last selected
11
+ * item. For example, `Tabs.Item` uses this hook to reset the tab stop to the currently selected tab.
12
+ *
13
+ * ```ts
14
+ * const useMyItem = composeHooks(
15
+ * useListResetCursorOnBlur, // adds the cursor reset to selected for roving tabindex
16
+ * useListItemRovingFocus,
17
+ * useListItemRegister
18
+ * );
19
+ ```
9
20
  */
10
21
  export const useListResetCursorOnBlur = createElemPropsHook(useListModel)(({state, events}) => {
11
22
  const programmaticFocusRef = React.useRef(false);
@@ -7,6 +7,17 @@ const hiddenStyles = {
7
7
  left: -99999,
8
8
  } as const;
9
9
 
10
+ /**
11
+ * This elemProps hook measures a list item and reports it to an `OverflowListModel`. This is used
12
+ * in overflow detection.
13
+ *
14
+ * ```ts
15
+ * const useMyItem = composeHooks(
16
+ * useOverflowListItemMeasure,
17
+ * useListRegisterItem,
18
+ * )
19
+ * ```
20
+ */
10
21
  export const useOverflowListItemMeasure = createElemPropsHook(useOverflowListModel)(
11
22
  (model, ref?: React.Ref<HTMLElement>, elemProps: {'data-id'?: string} = {}) => {
12
23
  const {elementRef, localRef} = useLocalRef(ref);
@@ -4,6 +4,10 @@ import {createElemPropsHook, useForkRef, useResizeObserver} from '@workday/canva
4
4
 
5
5
  import {useOverflowListModel} from './useOverflowListModel';
6
6
 
7
+ /**
8
+ * This elemProps hook measures a list and reports it to an `OverflowListModel`. This is used in
9
+ * overflow detection.
10
+ */
7
11
  export const useOverflowListMeasure = createElemPropsHook(useOverflowListModel)(
8
12
  (model, ref?: React.Ref<HTMLElement>) => {
9
13
  const localRef = React.useRef(null);
@@ -10,6 +10,10 @@ const hiddenStyle = {
10
10
  left: -99999,
11
11
  };
12
12
 
13
+ /**
14
+ * This elemProps hook measures an overflow list target and reports it to an `OverflowListModel`.
15
+ * This is used in overflow detection.
16
+ */
13
17
  export const useOverflowListTarget = createElemPropsHook(useOverflowListModel)(
14
18
  (model, ref?: React.Ref<HTMLButtonElement>) => {
15
19
  const {elementRef, localRef} = useLocalRef(ref);
@@ -11,9 +11,21 @@ export type Selection = {
11
11
  };
12
12
 
13
13
  /**
14
- * A SelectionManager is used
14
+ * The list and grid models accept a `selection` config. If one is not provided,
15
+ * `singleSelectManager` is used. You can provide a custom select manager to suite your needs. A
16
+ * selection manager is an object with a single `select` method that takes an id and previously
17
+ * selected ids and returns a new set of selected ids.
18
+ *
19
+ * The collection system provides two selection managers: `singleSelectManager` and
20
+ * `multiSelectionManager`.
15
21
  */
16
22
  export interface SelectionManager {
23
+ /**
24
+ * Sets a new `Selection` state based on the current ID passed and the previous state. Each
25
+ * selection manager can implement this differently. For example, a single select manager may
26
+ * unselect all other items and select only the passed in id. A multiselect manager may toggle the
27
+ * passed id.
28
+ */
17
29
  select(id: string, prevState: Selection): Selection;
18
30
  }
19
31
 
@@ -1,5 +1,7 @@
1
+ import React from 'react';
1
2
  import styled, {CSSObject} from '@emotion/styled';
2
- import {ElementComponent} from '..';
3
+
4
+ import {createComponent} from './utils';
3
5
 
4
6
  export const ellipsisStyles: CSSObject = {
5
7
  whiteSpace: 'nowrap',
@@ -7,5 +9,11 @@ export const ellipsisStyles: CSSObject = {
7
9
  overflow: 'hidden',
8
10
  };
9
11
 
10
- // Recast as an `ElementComponent` due to better type support for `as` and `ref`
11
- export const EllipsisText = (styled('span')(ellipsisStyles) as any) as ElementComponent<'span', {}>;
12
+ const StyledEllipsisComponent = styled('span')(ellipsisStyles);
13
+
14
+ export const EllipsisText = createComponent('span')({
15
+ displayName: 'EllipsisText',
16
+ Component(elemProps = {}, ref, Element) {
17
+ return <StyledEllipsisComponent as={Element} ref={ref} {...elemProps} />;
18
+ },
19
+ });
@@ -5,10 +5,11 @@
5
5
  * @param target Any custom theme object
6
6
  * @param fallback A fallback theme object
7
7
  */
8
- /* eslint-disable compat/compat */ // TODO: Revisit eslint rules that are no longer needed now that we don't support IE11
8
+ /* eslint-disable compat/compat */
9
9
  export function getObjectProxy<T extends {}>(target: unknown, fallback: T): T {
10
10
  return new Proxy(target as any, {
11
- get(target, prop: keyof T) {
11
+ get(target, p: string) {
12
+ const prop = p as keyof T; // keep Typescript happy - the `get` signature cannot contain `keyof T`
12
13
  if (typeof fallback[prop] === 'object' && typeof target[prop] === 'object') {
13
14
  return getObjectProxy(target[prop] || {}, fallback[prop]);
14
15
  } else if (target[prop] !== undefined) {
@@ -106,7 +106,7 @@ export type ExtractProps<
106
106
  : TElement extends keyof JSX.IntrinsicElements // `TElement` was defined, test if it is in `JSX.IntrinsicElements`
107
107
  ? P & ExtractHTMLAttributes<JSX.IntrinsicElements[TElement]> // `TElement` is in `JSX.IntrinsicElements`, return inferred props `P` + HTML attributes of `TElement`
108
108
  : 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`
109
+ : TComponent extends {__props: infer P} // test if `TComponent` is a `Component`, while inferring props `P`
110
110
  ? P // else attach only inferred props `P`
111
111
  : TComponent extends React.ComponentType<infer P> // test if `TComponent` is a `React.ComponentType` (class or functional component)
112
112
  ? P // it was a `React.ComponentType`, return inferred props `P`
@@ -205,7 +205,7 @@ export type Component<P> = {
205
205
 
206
206
  interface RefForwardingComponent<T, P = {}> {
207
207
  (
208
- props: React.PropsWithChildren<P> & {as?: React.ElementType},
208
+ props: React.PropsWithChildren<P>,
209
209
  /**
210
210
  * A ref to be forwarded. Pass it along to the root element. If no element was passed, this
211
211
  * will result in a `never`
@@ -515,6 +515,35 @@ export const createComponent = <
515
515
  return ReturnedComponent as any;
516
516
  };
517
517
 
518
+ /**
519
+ * An `elemPropsHook` is a React hook that takes a model, ref, and elemProps and returns props and
520
+ * attributes to be spread to an element or component.
521
+ *
522
+ * ```tsx
523
+ * const useMyHook = createElemPropsHook(useMyModel)((model) => {
524
+ * return {
525
+ * id: model.state.id
526
+ * }
527
+ * })
528
+ * ```
529
+ *
530
+ * **Note:** If your hook needs to use a ref, it must be forked using `useLocalRef` or `useForkRef`
531
+ * and return the forked ref:
532
+ *
533
+ * ```tsx
534
+ * const useMyHook = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
535
+ * const {localRef, elementRef} = useLocalRef(ref);
536
+ *
537
+ * React.useLayoutEffect(() => {
538
+ * console.log('element', localRef.current) // logs the DOM element
539
+ * }, [])
540
+ *
541
+ * return {
542
+ * ref: elementRef
543
+ * }
544
+ * })
545
+ * ```
546
+ */
518
547
  export const createElemPropsHook = <
519
548
  TModelHook extends (config: any) => {state: Record<string, any>; events: Record<string, any>}
520
549
  >(
@@ -588,6 +617,9 @@ export const createHook = <M extends Model<any, any>, PO extends {}, PI extends
588
617
  };
589
618
  };
590
619
 
620
+ /**
621
+ * @deprecated use `subModel` instead
622
+ */
591
623
  export const subModelHook = <M extends Model<any, any>, SM extends Model<any, any>, O extends {}>(
592
624
  fn: (model: M) => SM,
593
625
  hook: BehaviorHook<SM, O>
@@ -597,6 +629,42 @@ export const subModelHook = <M extends Model<any, any>, SM extends Model<any, an
597
629
  };
598
630
  };
599
631
 
632
+ /**
633
+ * Creates an elemPropsHook that returns the elemProps from another hook that is meant for a
634
+ * subModel. Usually only used when composing elemProps hooks.
635
+ *
636
+ * For example:
637
+ *
638
+ * ```tsx
639
+ * const useMySubModel = () => {}
640
+ *
641
+ * const useMyModel = () => {
642
+ * const subModel = useMySubModel()
643
+ *
644
+ * return {
645
+ * state,
646
+ * events,
647
+ * subModel,
648
+ * }
649
+ * }
650
+ *
651
+ * const useMyComponent = composeHook(
652
+ * createElemPropsHook(useMyModel)(model => ({ id: '' })),
653
+ * createSubModelElemPropsHook(useMyModel)(m => m.subModel, useSomeOtherComponent)
654
+ * )
655
+ * ```
656
+ */
657
+ export function createSubModelElemPropsHook<M extends () => Model<any, any>>(modelHook: M) {
658
+ return <SM extends Model<any, any>, O extends {}>(
659
+ fn: (model: ReturnType<M>) => SM,
660
+ elemPropsHook: BehaviorHook<SM, O>
661
+ ): BehaviorHook<ReturnType<M>, O> => {
662
+ return (model: ReturnType<M>, props: any, ref: React.Ref<any>) => {
663
+ return elemPropsHook(fn(model), props, ref);
664
+ };
665
+ };
666
+ }
667
+
600
668
  // Typescript function parameters are contravariant while return types are covariant. This is a
601
669
  // problem when someone hands us a model that correctly extends `Model<any, any>`, but adds extra
602
670
  // properties to the model. So `M extends Model<any, any>`. But the `BehaviorHook` is the return
@@ -607,6 +675,10 @@ export const subModelHook = <M extends Model<any, any>, SM extends Model<any, an
607
675
  // isn't a real issue. Not 100% this is a bug, but the "hack" is a bit messy.
608
676
  // https://www.stephanboyer.com/post/132/what-are-covariance-and-contravariance
609
677
  // https://stackoverflow.com/questions/52667959/what-is-the-purpose-of-bivariancehack-in-typescript-types/52668133
678
+ /**
679
+ * A BehaviorHook is a React hook that takes a model, elemProps, and a ref and returns props and
680
+ * attributes to apply to an element or component.
681
+ */
610
682
  export type BehaviorHook<M extends Model<any, any>, O extends {}> = {
611
683
  bivarianceHack<P extends {}, R>(
612
684
  model: M,
@@ -717,21 +789,42 @@ export function useModelContext<T>(context: React.Context<T>, model?: T): T {
717
789
  }
718
790
 
719
791
  /**
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.
792
+ * Compose many hooks together. Each hook should make a call to `mergeProps` which is automatically
793
+ * done by `createElemPropsHook` and `createHook. Returns a function that will receive a model and
794
+ * return props to be applied to a component. Hooks run from right to left, but props override from
795
+ * left to right.
724
796
  *
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.
797
+ * For example:
728
798
  *
729
- * @example
730
- * const MyComponent = React.forwardRef(({ children, model, ...elemProps }, ref) => {
731
- * const props = composeHooks(useHook1, useHook2)(model, elemProps, ref)
799
+ * ```ts
800
+ * const useHook1 = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
801
+ * console.log('useHook1', elemProps)
802
+ * return {
803
+ * a: 'useHook1',
804
+ * c: 'useHook1'
805
+ * }
806
+ * })
732
807
  *
733
- * return <div id="foo" {...props}>{children}</div>
808
+ * const useHook2 = createElemPropsHook(useMyModel)((model, ref, elemProps) => {
809
+ * console.log('useHook2', elemProps)
810
+ * return {
811
+ * b: 'useHook2',
812
+ * c: 'useHook2'
813
+ * }
734
814
  * })
815
+ *
816
+ * const useHook3 = composeHooks(useHook1, useHook2)
817
+ * const props = composeHooks(model, { c: 'props' })
818
+ * console.log('props', props)
819
+ * ```
820
+ *
821
+ * The output would be:
822
+ *
823
+ * ```ts
824
+ * useHook2 {c: 'foo'}
825
+ * useHook1 {b: 'useHook2', c: 'foo'}
826
+ * props {a: 'useHook1', b: 'useHook2', c: 'foo'}
827
+ * ```
735
828
  */
736
829
  export function composeHooks<M extends Model<any, any>, O1 extends {}, O2 extends {}>(
737
830
  hook1: BehaviorHook<M, O1>,
@@ -740,8 +833,6 @@ export function composeHooks<M extends Model<any, any>, O1 extends {}, O2 extend
740
833
 
741
834
  export function composeHooks<
742
835
  M extends Model<any, any>,
743
- R,
744
- P extends {},
745
836
  O1 extends {},
746
837
  O2 extends {},
747
838
  O3 extends {}
@@ -752,8 +843,6 @@ export function composeHooks<
752
843
  ): BehaviorHook<M, O1 & O2 & O3>;
753
844
  export function composeHooks<
754
845
  M extends Model<any, any>,
755
- R,
756
- P extends {},
757
846
  O1 extends {},
758
847
  O2 extends {},
759
848
  O3 extends {},
@@ -766,8 +855,6 @@ export function composeHooks<
766
855
  ): BehaviorHook<M, O1 & O2 & O3 & O4>;
767
856
  export function composeHooks<
768
857
  M extends Model<any, any>,
769
- R,
770
- P extends {},
771
858
  O1 extends {},
772
859
  O2 extends {},
773
860
  O3 extends {},
@@ -14,6 +14,9 @@ export const DialogPopper = createSubcomponent('div')({
14
14
  ({children, placement, popperOptions, ref, ...props}, Element, model) => {
15
15
  const popperProps = usePopupPopper(model, {placement, popperOptions}, ref);
16
16
  const elemProps = useDialogPopper(model, props);
17
+ if (model.state.visibility === 'hidden') {
18
+ return null;
19
+ }
17
20
  return (
18
21
  <Element {...elemProps}>
19
22
  <Popper {...popperProps}>{children}</Popper>
@@ -22,8 +22,8 @@ export const useDisclosureModel = createModelHook({
22
22
  id,
23
23
  /**
24
24
  * Visibility state of the disclosed content. Models are allowed to extend the states to fit
25
- * their needs, so if you need to consistently determine "not hidden", use `visibility !==
26
- * 'hidden'` rather than `visibility === 'visible'`
25
+ * their needs, so if you need to consistently determine "not hidden", use
26
+ * `visibility !== 'hidden'` rather than `visibility === 'visible'`
27
27
  */
28
28
  visibility,
29
29
  };