@primer/components 0.0.0-20211121919 → 0.0.0-202111231117

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 (815) hide show
  1. package/CHANGELOG.md +927 -44
  2. package/README.md +16 -16
  3. package/codemods/__tests__/deprecateUtilityComponents.js +200 -0
  4. package/codemods/__tests__/removeSystemProps.js +225 -0
  5. package/codemods/deprecateUtilityComponents.js +111 -0
  6. package/codemods/lib/modifyProps.js +9 -7
  7. package/codemods/lib/prettify.js +1 -1
  8. package/codemods/lib/replaceImportSource.js +5 -5
  9. package/codemods/removeSystemProps.js +312 -0
  10. package/dist/browser.esm.js +1283 -851
  11. package/dist/browser.esm.js.map +1 -1
  12. package/dist/browser.umd.js +1319 -887
  13. package/dist/browser.umd.js.map +1 -1
  14. package/lib/ActionList/Divider.d.ts +9 -0
  15. package/lib/ActionList/Divider.js +40 -0
  16. package/lib/ActionList/Group.d.ts +28 -0
  17. package/lib/ActionList/Group.js +35 -0
  18. package/lib/ActionList/Header.d.ts +29 -0
  19. package/lib/ActionList/Header.js +51 -0
  20. package/lib/ActionList/Item.d.ts +98 -0
  21. package/lib/ActionList/Item.js +276 -0
  22. package/lib/ActionList/List.d.ts +88 -0
  23. package/lib/ActionList/List.js +199 -0
  24. package/lib/ActionList/index.d.ts +17 -0
  25. package/lib/ActionList/index.js +29 -0
  26. package/lib/ActionList2/Description.d.ts +12 -0
  27. package/lib/ActionList2/Description.js +57 -0
  28. package/lib/ActionList2/Divider.d.ts +5 -0
  29. package/lib/ActionList2/Divider.js +35 -0
  30. package/lib/ActionList2/Group.d.ts +37 -0
  31. package/lib/ActionList2/Group.js +106 -0
  32. package/lib/ActionList2/Item.d.ts +63 -0
  33. package/lib/ActionList2/Item.js +244 -0
  34. package/lib/ActionList2/LinkItem.d.ts +17 -0
  35. package/lib/ActionList2/LinkItem.js +57 -0
  36. package/lib/ActionList2/List.d.ts +26 -0
  37. package/lib/ActionList2/List.js +58 -0
  38. package/lib/ActionList2/Selection.d.ts +5 -0
  39. package/lib/ActionList2/Selection.js +86 -0
  40. package/lib/ActionList2/Visuals.d.ts +9 -0
  41. package/lib/ActionList2/Visuals.js +90 -0
  42. package/lib/ActionList2/index.d.ts +36 -0
  43. package/lib/ActionList2/index.js +47 -0
  44. package/lib/ActionMenu.d.ts +40 -0
  45. package/lib/ActionMenu.js +103 -0
  46. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  47. package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
  48. package/lib/AnchoredOverlay/index.d.ts +2 -0
  49. package/lib/AnchoredOverlay/index.js +13 -0
  50. package/lib/Autocomplete/Autocomplete.d.ts +305 -0
  51. package/lib/Autocomplete/Autocomplete.js +145 -0
  52. package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
  53. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  54. package/lib/Autocomplete/AutocompleteInput.d.ts +293 -0
  55. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  56. package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
  57. package/lib/Autocomplete/AutocompleteMenu.js +217 -0
  58. package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  59. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  60. package/lib/Autocomplete/index.d.ts +2 -0
  61. package/lib/Autocomplete/index.js +15 -0
  62. package/lib/Avatar.d.ts +15 -0
  63. package/lib/Avatar.js +0 -11
  64. package/lib/AvatarPair.d.ts +8 -0
  65. package/lib/AvatarPair.js +9 -16
  66. package/lib/AvatarStack.d.ts +8 -0
  67. package/lib/AvatarStack.js +12 -23
  68. package/lib/BaseStyles.d.ts +14 -0
  69. package/lib/BaseStyles.js +25 -31
  70. package/lib/BorderBox.d.ts +7 -0
  71. package/lib/BorderBox.js +5 -16
  72. package/lib/Box.d.ts +6 -0
  73. package/lib/Box.js +2 -15
  74. package/lib/BranchName.d.ts +6 -0
  75. package/lib/BranchName.js +1 -14
  76. package/lib/Breadcrumbs.d.ts +41 -0
  77. package/lib/Breadcrumbs.js +82 -0
  78. package/lib/Button/Button.d.ts +284 -0
  79. package/lib/Button/Button.js +3 -15
  80. package/lib/Button/ButtonBase.d.ts +9 -0
  81. package/lib/Button/ButtonBase.js +2 -25
  82. package/lib/Button/ButtonClose.d.ts +279 -0
  83. package/lib/Button/ButtonClose.js +9 -26
  84. package/lib/Button/ButtonDanger.d.ts +284 -0
  85. package/lib/Button/ButtonDanger.js +2 -14
  86. package/lib/Button/ButtonGroup.d.ts +4 -0
  87. package/lib/Button/ButtonGroup.js +2 -8
  88. package/lib/Button/ButtonInvisible.d.ts +284 -0
  89. package/lib/Button/ButtonInvisible.js +3 -15
  90. package/lib/Button/ButtonOutline.d.ts +284 -0
  91. package/lib/Button/ButtonOutline.js +2 -14
  92. package/lib/Button/ButtonPrimary.d.ts +284 -0
  93. package/lib/Button/ButtonPrimary.js +2 -14
  94. package/lib/Button/ButtonStyles.d.ts +2 -0
  95. package/lib/Button/ButtonTableList.d.ts +5 -0
  96. package/lib/Button/ButtonTableList.js +1 -15
  97. package/lib/Button/index.d.ts +16 -0
  98. package/lib/Caret.d.ts +21 -0
  99. package/lib/Caret.js +14 -17
  100. package/lib/Checkbox.d.ts +29 -0
  101. package/lib/Checkbox.js +64 -0
  102. package/lib/CheckboxInputField.d.ts +11 -0
  103. package/lib/CheckboxInputField.js +73 -0
  104. package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  105. package/lib/ChoiceFieldset/ChoiceFieldCaption.js +35 -0
  106. package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  107. package/lib/ChoiceFieldset/ChoiceFieldLabel.js +35 -0
  108. package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +65 -0
  109. package/lib/ChoiceFieldset/ChoiceFieldset.js +95 -0
  110. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +3 -0
  111. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.js +29 -0
  112. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +9 -0
  113. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +44 -0
  114. package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +9 -0
  115. package/lib/ChoiceFieldset/ChoiceFieldsetList.js +80 -0
  116. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +19 -0
  117. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +15 -0
  118. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +25 -0
  119. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.js +75 -0
  120. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  121. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +17 -0
  122. package/lib/ChoiceFieldset/index.d.ts +3 -0
  123. package/lib/ChoiceFieldset/index.js +23 -0
  124. package/lib/CircleBadge.d.ts +24 -0
  125. package/lib/CircleBadge.js +2 -20
  126. package/lib/CircleOcticon.d.ts +392 -0
  127. package/lib/CircleOcticon.js +9 -18
  128. package/lib/CounterLabel.d.ts +7 -0
  129. package/lib/CounterLabel.js +3 -17
  130. package/lib/Details.d.ts +6 -0
  131. package/lib/Details.js +0 -8
  132. package/lib/Dialog/ConfirmationDialog.d.ts +44 -0
  133. package/lib/Dialog/ConfirmationDialog.js +191 -0
  134. package/lib/Dialog/Dialog.d.ts +163 -0
  135. package/lib/Dialog/Dialog.js +311 -0
  136. package/lib/Dialog.d.ts +406 -0
  137. package/lib/Dialog.js +34 -49
  138. package/lib/Dropdown.d.ts +1177 -0
  139. package/lib/Dropdown.js +45 -60
  140. package/lib/DropdownMenu/DropdownButton.d.ts +280 -0
  141. package/lib/DropdownMenu/DropdownButton.js +33 -0
  142. package/lib/DropdownMenu/DropdownMenu.d.ts +43 -0
  143. package/lib/DropdownMenu/DropdownMenu.js +94 -0
  144. package/lib/DropdownMenu/index.d.ts +4 -0
  145. package/lib/DropdownMenu/index.js +21 -0
  146. package/lib/DropdownStyles.d.ts +3 -0
  147. package/lib/DropdownStyles.js +6 -6
  148. package/lib/FilterList.d.ts +283 -0
  149. package/lib/FilterList.js +2 -30
  150. package/lib/FilteredActionList/FilteredActionList.d.ts +16 -0
  151. package/lib/FilteredActionList/FilteredActionList.js +137 -0
  152. package/lib/FilteredActionList/index.d.ts +2 -0
  153. package/lib/FilteredActionList/index.js +13 -0
  154. package/lib/FilteredSearch.d.ts +5 -0
  155. package/lib/FilteredSearch.js +1 -12
  156. package/lib/Flash.d.ts +8 -0
  157. package/lib/Flash.js +35 -14
  158. package/lib/Flex.d.ts +7 -0
  159. package/lib/Flex.js +3 -5
  160. package/lib/FormGroup.d.ts +11 -0
  161. package/lib/FormGroup.js +2 -22
  162. package/lib/Grid.d.ts +7 -0
  163. package/lib/Grid.js +4 -9
  164. package/lib/Header.d.ts +23 -0
  165. package/lib/Header.js +7 -37
  166. package/lib/Heading.d.ts +6 -0
  167. package/lib/Heading.js +0 -7
  168. package/lib/Label.d.ts +10 -0
  169. package/lib/Label.js +5 -19
  170. package/lib/LabelGroup.d.ts +5 -0
  171. package/lib/LabelGroup.js +1 -9
  172. package/lib/Link.d.ts +9 -0
  173. package/lib/Link.js +2 -30
  174. package/lib/NewButton/button-counter.d.ts +6 -0
  175. package/lib/NewButton/button-counter.js +31 -0
  176. package/lib/NewButton/button.d.ts +13 -0
  177. package/lib/NewButton/button.js +308 -0
  178. package/lib/NewButton/index.d.ts +14 -0
  179. package/lib/NewButton/index.js +15 -0
  180. package/lib/NewButton/types.d.ts +32 -0
  181. package/lib/{utils → NewButton}/types.js +0 -0
  182. package/lib/Overlay.d.ts +66 -0
  183. package/lib/Overlay.js +184 -0
  184. package/lib/Pagehead.d.ts +5 -0
  185. package/lib/Pagehead.js +1 -13
  186. package/lib/Pagination/Pagination.d.ts +24 -0
  187. package/lib/Pagination/Pagination.js +6 -21
  188. package/lib/Pagination/index.d.ts +3 -0
  189. package/lib/Pagination/model.d.ts +26 -0
  190. package/lib/PointerBox.d.ts +11 -0
  191. package/lib/PointerBox.js +4 -13
  192. package/lib/Popover.d.ts +20 -0
  193. package/lib/Popover.js +5 -29
  194. package/lib/Portal/Portal.d.ts +25 -0
  195. package/lib/Portal/Portal.js +101 -0
  196. package/lib/Portal/index.d.ts +4 -0
  197. package/lib/Portal/index.js +17 -0
  198. package/lib/Position.d.ts +34 -0
  199. package/lib/Position.js +46 -46
  200. package/lib/ProgressBar.d.ts +21 -0
  201. package/lib/ProgressBar.js +3 -18
  202. package/lib/RadioInputField.d.ts +9 -0
  203. package/lib/RadioInputField.js +82 -0
  204. package/lib/SelectMenu/SelectMenu.d.ts +1670 -0
  205. package/lib/SelectMenu/SelectMenu.js +32 -44
  206. package/lib/SelectMenu/SelectMenuContext.d.ts +8 -0
  207. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  208. package/lib/SelectMenu/SelectMenuDivider.d.ts +5 -0
  209. package/lib/SelectMenu/SelectMenuDivider.js +6 -14
  210. package/lib/SelectMenu/SelectMenuFilter.d.ts +9 -0
  211. package/lib/SelectMenu/SelectMenuFilter.js +13 -21
  212. package/lib/SelectMenu/SelectMenuFooter.d.ts +5 -0
  213. package/lib/SelectMenu/SelectMenuFooter.js +6 -14
  214. package/lib/SelectMenu/SelectMenuHeader.d.ts +10 -0
  215. package/lib/SelectMenu/SelectMenuHeader.js +4 -17
  216. package/lib/SelectMenu/SelectMenuItem.d.ts +14 -0
  217. package/lib/SelectMenu/SelectMenuItem.js +13 -21
  218. package/lib/SelectMenu/SelectMenuList.d.ts +5 -0
  219. package/lib/SelectMenu/SelectMenuList.js +6 -14
  220. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  221. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
  222. package/lib/SelectMenu/SelectMenuModal.d.ts +14 -0
  223. package/lib/SelectMenu/SelectMenuModal.js +11 -23
  224. package/lib/SelectMenu/SelectMenuTab.d.ts +13 -0
  225. package/lib/SelectMenu/SelectMenuTab.js +16 -26
  226. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  227. package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
  228. package/lib/SelectMenu/SelectMenuTabs.d.ts +10 -0
  229. package/lib/SelectMenu/SelectMenuTabs.js +10 -17
  230. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  231. package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
  232. package/lib/SelectMenu/index.d.ts +2 -0
  233. package/lib/SelectMenu/index.js +7 -5
  234. package/lib/SelectPanel/SelectPanel.d.ts +25 -0
  235. package/lib/SelectPanel/SelectPanel.js +147 -0
  236. package/lib/SelectPanel/index.d.ts +2 -0
  237. package/lib/SelectPanel/index.js +13 -0
  238. package/lib/SideNav.d.ts +34 -0
  239. package/lib/SideNav.js +23 -41
  240. package/lib/Spinner.d.ts +17 -0
  241. package/lib/Spinner.js +60 -0
  242. package/lib/StateLabel.d.ts +15 -0
  243. package/lib/StateLabel.js +53 -23
  244. package/lib/StyledOcticon.d.ts +11 -0
  245. package/lib/StyledOcticon.js +1 -15
  246. package/lib/SubNav.d.ts +26 -0
  247. package/lib/SubNav.js +10 -41
  248. package/lib/TabNav.d.ts +19 -0
  249. package/lib/TabNav.js +15 -37
  250. package/lib/Text.d.ts +6 -0
  251. package/lib/Text.js +0 -12
  252. package/lib/TextInput.d.ts +14 -0
  253. package/lib/TextInput.js +25 -76
  254. package/lib/TextInputField.d.ts +581 -0
  255. package/lib/TextInputField.js +66 -0
  256. package/lib/TextInputWithTokens.d.ts +328 -0
  257. package/lib/TextInputWithTokens.js +318 -0
  258. package/lib/ThemeProvider.d.ts +26 -0
  259. package/lib/ThemeProvider.js +193 -0
  260. package/lib/Timeline.d.ts +33 -0
  261. package/lib/Timeline.js +34 -87
  262. package/lib/Token/AvatarToken.d.ts +7 -0
  263. package/lib/Token/AvatarToken.js +64 -0
  264. package/lib/Token/IssueLabelToken.d.ts +14 -0
  265. package/lib/Token/IssueLabelToken.js +144 -0
  266. package/lib/Token/Token.d.ts +15 -0
  267. package/lib/Token/Token.js +105 -0
  268. package/lib/Token/TokenBase.d.ts +31 -0
  269. package/lib/Token/TokenBase.js +104 -0
  270. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  271. package/lib/Token/_RemoveTokenButton.js +90 -0
  272. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  273. package/lib/Token/_TokenTextContainer.js +17 -0
  274. package/lib/Token/index.d.ts +3 -0
  275. package/lib/Token/index.js +31 -0
  276. package/lib/Tooltip.d.ts +17 -0
  277. package/lib/Tooltip.js +4 -21
  278. package/lib/Truncate.d.ts +10 -0
  279. package/lib/Truncate.js +2 -18
  280. package/lib/UnderlineNav.d.ts +24 -0
  281. package/lib/UnderlineNav.js +3 -29
  282. package/lib/_InputCaption.d.ts +13 -0
  283. package/lib/_InputCaption.js +27 -0
  284. package/lib/_InputField/InputField.d.ts +39 -0
  285. package/lib/_InputField/InputField.js +90 -0
  286. package/lib/_InputField/InputFieldCaption.d.ts +3 -0
  287. package/lib/_InputField/InputFieldCaption.js +30 -0
  288. package/lib/_InputField/InputFieldLabel.d.ts +9 -0
  289. package/lib/_InputField/InputFieldLabel.js +34 -0
  290. package/lib/_InputField/InputFieldValidation.d.ts +6 -0
  291. package/lib/_InputField/InputFieldValidation.js +17 -0
  292. package/lib/_InputField/ToggleInputField.d.ts +13 -0
  293. package/lib/_InputField/ToggleInputField.js +71 -0
  294. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  295. package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
  296. package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
  297. package/lib/_InputField/ValidationAnimationContainer.js +48 -0
  298. package/lib/_InputField/index.d.ts +1 -0
  299. package/lib/_InputField/index.js +15 -0
  300. package/lib/_InputField/slots.d.ts +13 -0
  301. package/lib/_InputField/slots.js +17 -0
  302. package/lib/_InputLabel.d.ts +8 -0
  303. package/lib/_InputLabel.js +44 -0
  304. package/lib/_InputValidation.d.ts +8 -0
  305. package/lib/_InputValidation.js +56 -0
  306. package/lib/_TextInputWrapper.d.ts +10 -0
  307. package/lib/_TextInputWrapper.js +51 -0
  308. package/lib/_UnstyledTextInput.d.ts +2 -0
  309. package/lib/_UnstyledTextInput.js +20 -0
  310. package/lib/_VisuallyHidden.d.ts +6 -0
  311. package/lib/_VisuallyHidden.js +39 -0
  312. package/lib/behaviors/anchoredPosition.d.ts +89 -0
  313. package/lib/behaviors/anchoredPosition.js +316 -0
  314. package/lib/behaviors/focusTrap.d.ts +12 -0
  315. package/lib/behaviors/focusTrap.js +179 -0
  316. package/lib/behaviors/focusZone.d.ts +137 -0
  317. package/lib/behaviors/focusZone.js +578 -0
  318. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  319. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  320. package/lib/constants.d.ts +20 -0
  321. package/lib/constants.js +11 -27
  322. package/lib/drafts.d.ts +8 -0
  323. package/lib/drafts.js +31 -0
  324. package/lib/hooks/index.d.ts +11 -0
  325. package/lib/hooks/index.js +61 -0
  326. package/lib/hooks/useAnchoredPosition.d.ts +20 -0
  327. package/lib/hooks/useAnchoredPosition.js +51 -0
  328. package/lib/hooks/useCombinedRefs.d.ts +10 -0
  329. package/lib/hooks/useCombinedRefs.js +47 -0
  330. package/lib/hooks/useDetails.d.ts +17 -0
  331. package/lib/hooks/useDialog.d.ts +16 -0
  332. package/lib/hooks/useDialog.js +21 -6
  333. package/lib/hooks/useFocusTrap.d.ts +32 -0
  334. package/lib/hooks/useFocusTrap.js +69 -0
  335. package/lib/hooks/useFocusZone.d.ts +23 -0
  336. package/lib/hooks/useFocusZone.js +53 -0
  337. package/lib/hooks/useOnEscapePress.d.ts +23 -0
  338. package/lib/hooks/useOnEscapePress.js +69 -0
  339. package/lib/hooks/useOnOutsideClick.d.ts +8 -0
  340. package/lib/hooks/useOnOutsideClick.js +90 -0
  341. package/lib/hooks/useOpenAndCloseFocus.d.ts +8 -0
  342. package/lib/hooks/useOpenAndCloseFocus.js +36 -0
  343. package/lib/hooks/useOverlay.d.ts +15 -0
  344. package/lib/hooks/useOverlay.js +43 -0
  345. package/lib/hooks/useProvidedRefOrCreate.d.ts +10 -0
  346. package/lib/hooks/useProvidedRefOrCreate.js +24 -0
  347. package/lib/hooks/useProvidedStateOrCreate.d.ts +10 -0
  348. package/lib/hooks/useProvidedStateOrCreate.js +27 -0
  349. package/lib/hooks/useRenderForcingRef.d.ts +8 -0
  350. package/lib/hooks/useRenderForcingRef.js +25 -0
  351. package/lib/hooks/useResizeObserver.d.ts +1 -0
  352. package/lib/hooks/useResizeObserver.js +20 -0
  353. package/lib/hooks/useSafeTimeout.d.ts +12 -0
  354. package/lib/hooks/useSafeTimeout.js +38 -0
  355. package/lib/hooks/useScrollFlash.d.ts +6 -0
  356. package/lib/hooks/useScrollFlash.js +29 -0
  357. package/lib/index.d.ts +124 -0
  358. package/lib/index.js +229 -7
  359. package/lib/polyfills/eventListenerSignal.d.ts +6 -0
  360. package/lib/polyfills/eventListenerSignal.js +64 -0
  361. package/lib/sx.d.ts +14 -0
  362. package/lib/sx.js +8 -5
  363. package/lib/theme-preval.d.ts +49 -0
  364. package/lib/theme-preval.js +3119 -357
  365. package/lib/theme.d.ts +80 -0
  366. package/lib/theme.js +5 -8
  367. package/lib/utils/create-slots.d.ts +17 -0
  368. package/lib/utils/create-slots.js +105 -0
  369. package/lib/utils/deprecate.d.ts +18 -0
  370. package/lib/utils/deprecate.js +6 -5
  371. package/lib/utils/isNumeric.d.ts +1 -0
  372. package/lib/utils/isNumeric.js +1 -0
  373. package/lib/utils/iterateFocusableElements.d.ts +42 -0
  374. package/lib/utils/iterateFocusableElements.js +113 -0
  375. package/lib/utils/ssr.d.ts +1 -0
  376. package/lib/utils/ssr.js +19 -0
  377. package/lib/utils/test-deprecations.d.ts +1 -0
  378. package/lib/utils/test-deprecations.js +2 -1
  379. package/lib/utils/test-helpers.d.ts +0 -0
  380. package/lib/utils/test-helpers.js +9 -0
  381. package/lib/utils/test-matchers.d.ts +1 -0
  382. package/lib/utils/test-matchers.js +6 -50
  383. package/lib/utils/testing.d.ts +545 -0
  384. package/lib/utils/testing.js +65 -49
  385. package/lib/utils/theme.d.ts +9 -0
  386. package/lib/utils/theme.js +68 -0
  387. package/lib/utils/types/AriaRole.d.ts +1 -0
  388. package/lib/utils/types/AriaRole.js +1 -0
  389. package/lib/utils/types/ComponentProps.d.ts +9 -0
  390. package/lib/utils/types/ComponentProps.js +1 -0
  391. package/lib/utils/types/Flatten.d.ts +4 -0
  392. package/lib/utils/types/Flatten.js +1 -0
  393. package/lib/utils/types/FormValidationStatus.d.ts +1 -0
  394. package/lib/utils/types/FormValidationStatus.js +1 -0
  395. package/lib/utils/types/KeyPaths.d.ts +3 -0
  396. package/lib/utils/types/KeyPaths.js +1 -0
  397. package/lib/utils/types/MandateProps.d.ts +3 -0
  398. package/lib/utils/types/MandateProps.js +1 -0
  399. package/lib/utils/types/Merge.d.ts +19 -0
  400. package/lib/utils/types/Merge.js +1 -0
  401. package/lib/utils/types/index.d.ts +5 -0
  402. package/lib/utils/types/index.js +70 -0
  403. package/lib/utils/uniqueId.d.ts +1 -0
  404. package/lib/utils/uniqueId.js +12 -0
  405. package/lib/utils/use-force-update.d.ts +1 -0
  406. package/lib/utils/use-force-update.js +19 -0
  407. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  408. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  409. package/lib/utils/userAgent.d.ts +1 -0
  410. package/lib/utils/userAgent.js +15 -0
  411. package/lib-esm/ActionList/Divider.d.ts +9 -0
  412. package/lib-esm/ActionList/Divider.js +23 -0
  413. package/lib-esm/ActionList/Group.d.ts +28 -0
  414. package/lib-esm/ActionList/Group.js +24 -0
  415. package/lib-esm/ActionList/Header.d.ts +29 -0
  416. package/lib-esm/ActionList/Header.js +33 -0
  417. package/lib-esm/ActionList/Item.d.ts +98 -0
  418. package/lib-esm/ActionList/Item.js +241 -0
  419. package/lib-esm/ActionList/List.d.ts +88 -0
  420. package/lib-esm/ActionList/List.js +181 -0
  421. package/lib-esm/ActionList/index.d.ts +17 -0
  422. package/lib-esm/ActionList/index.js +18 -0
  423. package/lib-esm/ActionList2/Description.d.ts +12 -0
  424. package/lib-esm/ActionList2/Description.js +41 -0
  425. package/lib-esm/ActionList2/Divider.d.ts +5 -0
  426. package/lib-esm/ActionList2/Divider.js +23 -0
  427. package/lib-esm/ActionList2/Group.d.ts +37 -0
  428. package/lib-esm/ActionList2/Group.js +87 -0
  429. package/lib-esm/ActionList2/Item.d.ts +63 -0
  430. package/lib-esm/ActionList2/Item.js +210 -0
  431. package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
  432. package/lib-esm/ActionList2/LinkItem.js +43 -0
  433. package/lib-esm/ActionList2/List.d.ts +26 -0
  434. package/lib-esm/ActionList2/List.js +36 -0
  435. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  436. package/lib-esm/ActionList2/Selection.js +68 -0
  437. package/lib-esm/ActionList2/Visuals.d.ts +9 -0
  438. package/lib-esm/ActionList2/Visuals.js +68 -0
  439. package/lib-esm/ActionList2/index.d.ts +36 -0
  440. package/lib-esm/ActionList2/index.js +33 -0
  441. package/lib-esm/ActionMenu.d.ts +40 -0
  442. package/lib-esm/ActionMenu.js +82 -0
  443. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  444. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
  445. package/lib-esm/AnchoredOverlay/index.d.ts +2 -0
  446. package/lib-esm/AnchoredOverlay/index.js +1 -0
  447. package/lib-esm/Autocomplete/Autocomplete.d.ts +305 -0
  448. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  449. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  450. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  451. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +293 -0
  452. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  453. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  454. package/lib-esm/Autocomplete/AutocompleteMenu.js +195 -0
  455. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  456. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  457. package/lib-esm/Autocomplete/index.d.ts +2 -0
  458. package/lib-esm/Autocomplete/index.js +1 -0
  459. package/lib-esm/Avatar.d.ts +15 -0
  460. package/lib-esm/Avatar.js +0 -9
  461. package/lib-esm/AvatarPair.d.ts +8 -0
  462. package/lib-esm/AvatarPair.js +8 -14
  463. package/lib-esm/AvatarStack.d.ts +8 -0
  464. package/lib-esm/AvatarStack.js +12 -21
  465. package/lib-esm/BaseStyles.d.ts +14 -0
  466. package/lib-esm/BaseStyles.js +23 -26
  467. package/lib-esm/BorderBox.d.ts +7 -0
  468. package/lib-esm/BorderBox.js +6 -12
  469. package/lib-esm/Box.d.ts +6 -0
  470. package/lib-esm/Box.js +2 -13
  471. package/lib-esm/BranchName.d.ts +6 -0
  472. package/lib-esm/BranchName.js +1 -12
  473. package/lib-esm/Breadcrumbs.d.ts +41 -0
  474. package/lib-esm/Breadcrumbs.js +58 -0
  475. package/lib-esm/Button/Button.d.ts +284 -0
  476. package/lib-esm/Button/Button.js +3 -10
  477. package/lib-esm/Button/ButtonBase.d.ts +9 -0
  478. package/lib-esm/Button/ButtonBase.js +1 -19
  479. package/lib-esm/Button/ButtonClose.d.ts +279 -0
  480. package/lib-esm/Button/ButtonClose.js +5 -20
  481. package/lib-esm/Button/ButtonDanger.d.ts +284 -0
  482. package/lib-esm/Button/ButtonDanger.js +2 -9
  483. package/lib-esm/Button/ButtonGroup.d.ts +4 -0
  484. package/lib-esm/Button/ButtonGroup.js +2 -7
  485. package/lib-esm/Button/ButtonInvisible.d.ts +284 -0
  486. package/lib-esm/Button/ButtonInvisible.js +3 -10
  487. package/lib-esm/Button/ButtonOutline.d.ts +284 -0
  488. package/lib-esm/Button/ButtonOutline.js +2 -9
  489. package/lib-esm/Button/ButtonPrimary.d.ts +284 -0
  490. package/lib-esm/Button/ButtonPrimary.js +2 -9
  491. package/lib-esm/Button/ButtonStyles.d.ts +2 -0
  492. package/lib-esm/Button/ButtonTableList.d.ts +5 -0
  493. package/lib-esm/Button/ButtonTableList.js +2 -14
  494. package/lib-esm/Button/index.d.ts +16 -0
  495. package/lib-esm/Caret.d.ts +21 -0
  496. package/lib-esm/Caret.js +13 -16
  497. package/lib-esm/Checkbox.d.ts +29 -0
  498. package/lib-esm/Checkbox.js +44 -0
  499. package/lib-esm/CheckboxInputField.d.ts +11 -0
  500. package/lib-esm/CheckboxInputField.js +56 -0
  501. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  502. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +20 -0
  503. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  504. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +20 -0
  505. package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +65 -0
  506. package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +72 -0
  507. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +3 -0
  508. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.js +17 -0
  509. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +9 -0
  510. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +31 -0
  511. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +9 -0
  512. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +63 -0
  513. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +19 -0
  514. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +5 -0
  515. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +25 -0
  516. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.js +51 -0
  517. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  518. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +7 -0
  519. package/lib-esm/ChoiceFieldset/index.d.ts +3 -0
  520. package/lib-esm/ChoiceFieldset/index.js +2 -0
  521. package/lib-esm/CircleBadge.d.ts +24 -0
  522. package/lib-esm/CircleBadge.js +3 -19
  523. package/lib-esm/CircleOcticon.d.ts +392 -0
  524. package/lib-esm/CircleOcticon.js +9 -15
  525. package/lib-esm/CounterLabel.d.ts +7 -0
  526. package/lib-esm/CounterLabel.js +4 -16
  527. package/lib-esm/Details.d.ts +6 -0
  528. package/lib-esm/Details.js +0 -7
  529. package/lib-esm/Dialog/ConfirmationDialog.d.ts +44 -0
  530. package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
  531. package/lib-esm/Dialog/Dialog.d.ts +163 -0
  532. package/lib-esm/Dialog/Dialog.js +275 -0
  533. package/lib-esm/Dialog.d.ts +406 -0
  534. package/lib-esm/Dialog.js +31 -46
  535. package/lib-esm/Dropdown.d.ts +1177 -0
  536. package/lib-esm/Dropdown.js +38 -58
  537. package/lib-esm/DropdownMenu/DropdownButton.d.ts +280 -0
  538. package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
  539. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +43 -0
  540. package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
  541. package/lib-esm/DropdownMenu/index.d.ts +4 -0
  542. package/lib-esm/DropdownMenu/index.js +2 -0
  543. package/lib-esm/DropdownStyles.d.ts +3 -0
  544. package/lib-esm/DropdownStyles.js +6 -6
  545. package/lib-esm/FilterList.d.ts +283 -0
  546. package/lib-esm/FilterList.js +3 -29
  547. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +16 -0
  548. package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
  549. package/lib-esm/FilteredActionList/index.d.ts +2 -0
  550. package/lib-esm/FilteredActionList/index.js +1 -0
  551. package/lib-esm/FilteredSearch.d.ts +5 -0
  552. package/lib-esm/FilteredSearch.js +2 -11
  553. package/lib-esm/Flash.d.ts +8 -0
  554. package/lib-esm/Flash.js +36 -13
  555. package/lib-esm/Flex.d.ts +7 -0
  556. package/lib-esm/Flex.js +4 -4
  557. package/lib-esm/FormGroup.d.ts +11 -0
  558. package/lib-esm/FormGroup.js +3 -20
  559. package/lib-esm/Grid.d.ts +7 -0
  560. package/lib-esm/Grid.js +5 -7
  561. package/lib-esm/Header.d.ts +23 -0
  562. package/lib-esm/Header.js +6 -34
  563. package/lib-esm/Heading.d.ts +6 -0
  564. package/lib-esm/Heading.js +0 -6
  565. package/lib-esm/Label.d.ts +10 -0
  566. package/lib-esm/Label.js +3 -15
  567. package/lib-esm/LabelGroup.d.ts +5 -0
  568. package/lib-esm/LabelGroup.js +2 -9
  569. package/lib-esm/Link.d.ts +9 -0
  570. package/lib-esm/Link.js +2 -28
  571. package/lib-esm/NewButton/button-counter.d.ts +6 -0
  572. package/lib-esm/NewButton/button-counter.js +18 -0
  573. package/lib-esm/NewButton/button.d.ts +13 -0
  574. package/lib-esm/NewButton/button.js +287 -0
  575. package/lib-esm/NewButton/index.d.ts +14 -0
  576. package/lib-esm/NewButton/index.js +5 -0
  577. package/lib-esm/NewButton/types.d.ts +32 -0
  578. package/lib-esm/NewButton/types.js +1 -0
  579. package/lib-esm/Overlay.d.ts +66 -0
  580. package/lib-esm/Overlay.js +160 -0
  581. package/lib-esm/Pagehead.d.ts +5 -0
  582. package/lib-esm/Pagehead.js +2 -12
  583. package/lib-esm/Pagination/Pagination.d.ts +24 -0
  584. package/lib-esm/Pagination/Pagination.js +7 -20
  585. package/lib-esm/Pagination/index.d.ts +3 -0
  586. package/lib-esm/Pagination/model.d.ts +26 -0
  587. package/lib-esm/PointerBox.d.ts +11 -0
  588. package/lib-esm/PointerBox.js +4 -11
  589. package/lib-esm/Popover.d.ts +20 -0
  590. package/lib-esm/Popover.js +5 -27
  591. package/lib-esm/Portal/Portal.d.ts +25 -0
  592. package/lib-esm/Portal/Portal.js +83 -0
  593. package/lib-esm/Portal/index.d.ts +4 -0
  594. package/lib-esm/Portal/index.js +3 -0
  595. package/lib-esm/Position.d.ts +34 -0
  596. package/lib-esm/Position.js +42 -37
  597. package/lib-esm/ProgressBar.d.ts +21 -0
  598. package/lib-esm/ProgressBar.js +3 -15
  599. package/lib-esm/RadioInputField.d.ts +9 -0
  600. package/lib-esm/RadioInputField.js +65 -0
  601. package/lib-esm/SelectMenu/SelectMenu.d.ts +1670 -0
  602. package/lib-esm/SelectMenu/SelectMenu.js +27 -38
  603. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +8 -0
  604. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  605. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +5 -0
  606. package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
  607. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +9 -0
  608. package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
  609. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +5 -0
  610. package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
  611. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +10 -0
  612. package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
  613. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +14 -0
  614. package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
  615. package/lib-esm/SelectMenu/SelectMenuList.d.ts +5 -0
  616. package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
  617. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  618. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
  619. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +14 -0
  620. package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
  621. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +13 -0
  622. package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
  623. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  624. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
  625. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +10 -0
  626. package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
  627. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  628. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
  629. package/lib-esm/SelectMenu/index.d.ts +2 -0
  630. package/lib-esm/SelectMenu/index.js +1 -2
  631. package/lib-esm/SelectPanel/SelectPanel.d.ts +25 -0
  632. package/lib-esm/SelectPanel/SelectPanel.js +127 -0
  633. package/lib-esm/SelectPanel/index.d.ts +2 -0
  634. package/lib-esm/SelectPanel/index.js +1 -0
  635. package/lib-esm/SideNav.d.ts +34 -0
  636. package/lib-esm/SideNav.js +20 -36
  637. package/lib-esm/Spinner.d.ts +17 -0
  638. package/lib-esm/Spinner.js +46 -0
  639. package/lib-esm/StateLabel.d.ts +15 -0
  640. package/lib-esm/StateLabel.js +55 -23
  641. package/lib-esm/StyledOcticon.d.ts +11 -0
  642. package/lib-esm/StyledOcticon.js +1 -12
  643. package/lib-esm/SubNav.d.ts +26 -0
  644. package/lib-esm/SubNav.js +10 -38
  645. package/lib-esm/TabNav.d.ts +19 -0
  646. package/lib-esm/TabNav.js +13 -33
  647. package/lib-esm/Text.d.ts +6 -0
  648. package/lib-esm/Text.js +0 -10
  649. package/lib-esm/TextInput.d.ts +14 -0
  650. package/lib-esm/TextInput.js +24 -62
  651. package/lib-esm/TextInputField.d.ts +581 -0
  652. package/lib-esm/TextInputField.js +50 -0
  653. package/lib-esm/TextInputWithTokens.d.ts +328 -0
  654. package/lib-esm/TextInputWithTokens.js +291 -0
  655. package/lib-esm/ThemeProvider.d.ts +26 -0
  656. package/lib-esm/ThemeProvider.js +161 -0
  657. package/lib-esm/Timeline.d.ts +33 -0
  658. package/lib-esm/Timeline.js +26 -81
  659. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  660. package/lib-esm/Token/AvatarToken.js +43 -0
  661. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  662. package/lib-esm/Token/IssueLabelToken.js +124 -0
  663. package/lib-esm/Token/Token.d.ts +15 -0
  664. package/lib-esm/Token/Token.js +84 -0
  665. package/lib-esm/Token/TokenBase.d.ts +31 -0
  666. package/lib-esm/Token/TokenBase.js +83 -0
  667. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  668. package/lib-esm/Token/_RemoveTokenButton.js +69 -0
  669. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  670. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  671. package/lib-esm/Token/index.d.ts +3 -0
  672. package/lib-esm/Token/index.js +3 -0
  673. package/lib-esm/Tooltip.d.ts +17 -0
  674. package/lib-esm/Tooltip.js +4 -19
  675. package/lib-esm/Truncate.d.ts +10 -0
  676. package/lib-esm/Truncate.js +2 -15
  677. package/lib-esm/UnderlineNav.d.ts +24 -0
  678. package/lib-esm/UnderlineNav.js +5 -28
  679. package/lib-esm/_InputCaption.d.ts +13 -0
  680. package/lib-esm/_InputCaption.js +16 -0
  681. package/lib-esm/_InputField/InputField.d.ts +39 -0
  682. package/lib-esm/_InputField/InputField.js +70 -0
  683. package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
  684. package/lib-esm/_InputField/InputFieldCaption.js +18 -0
  685. package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
  686. package/lib-esm/_InputField/InputFieldLabel.js +22 -0
  687. package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
  688. package/lib-esm/_InputField/InputFieldValidation.js +7 -0
  689. package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
  690. package/lib-esm/_InputField/ToggleInputField.js +54 -0
  691. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  692. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
  693. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
  694. package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
  695. package/lib-esm/_InputField/index.d.ts +1 -0
  696. package/lib-esm/_InputField/index.js +1 -0
  697. package/lib-esm/_InputField/slots.d.ts +13 -0
  698. package/lib-esm/_InputField/slots.js +5 -0
  699. package/lib-esm/_InputLabel.d.ts +8 -0
  700. package/lib-esm/_InputLabel.js +32 -0
  701. package/lib-esm/_InputValidation.d.ts +8 -0
  702. package/lib-esm/_InputValidation.js +43 -0
  703. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  704. package/lib-esm/_TextInputWrapper.js +31 -0
  705. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  706. package/lib-esm/_UnstyledTextInput.js +7 -0
  707. package/lib-esm/_VisuallyHidden.d.ts +6 -0
  708. package/lib-esm/_VisuallyHidden.js +26 -0
  709. package/lib-esm/behaviors/anchoredPosition.d.ts +89 -0
  710. package/lib-esm/behaviors/anchoredPosition.js +309 -0
  711. package/lib-esm/behaviors/focusTrap.d.ts +12 -0
  712. package/lib-esm/behaviors/focusTrap.js +170 -0
  713. package/lib-esm/behaviors/focusZone.d.ts +137 -0
  714. package/lib-esm/behaviors/focusZone.js +560 -0
  715. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  716. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  717. package/lib-esm/constants.d.ts +20 -0
  718. package/lib-esm/constants.js +9 -23
  719. package/lib-esm/drafts.d.ts +8 -0
  720. package/lib-esm/drafts.js +9 -0
  721. package/lib-esm/hooks/index.d.ts +11 -0
  722. package/lib-esm/hooks/index.js +7 -0
  723. package/lib-esm/hooks/useAnchoredPosition.d.ts +20 -0
  724. package/lib-esm/hooks/useAnchoredPosition.js +35 -0
  725. package/lib-esm/hooks/useCombinedRefs.d.ts +10 -0
  726. package/lib-esm/hooks/useCombinedRefs.js +37 -0
  727. package/lib-esm/hooks/useDetails.d.ts +17 -0
  728. package/lib-esm/hooks/useDialog.d.ts +16 -0
  729. package/lib-esm/hooks/useDialog.js +21 -6
  730. package/lib-esm/hooks/useFocusTrap.d.ts +32 -0
  731. package/lib-esm/hooks/useFocusTrap.js +54 -0
  732. package/lib-esm/hooks/useFocusZone.d.ts +23 -0
  733. package/lib-esm/hooks/useFocusZone.js +37 -0
  734. package/lib-esm/hooks/useOnEscapePress.d.ts +23 -0
  735. package/lib-esm/hooks/useOnEscapePress.js +59 -0
  736. package/lib-esm/hooks/useOnOutsideClick.d.ts +8 -0
  737. package/lib-esm/hooks/useOnOutsideClick.js +79 -0
  738. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +8 -0
  739. package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
  740. package/lib-esm/hooks/useOverlay.d.ts +15 -0
  741. package/lib-esm/hooks/useOverlay.js +30 -0
  742. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +10 -0
  743. package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
  744. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +10 -0
  745. package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
  746. package/lib-esm/hooks/useRenderForcingRef.d.ts +8 -0
  747. package/lib-esm/hooks/useRenderForcingRef.js +18 -0
  748. package/lib-esm/hooks/useResizeObserver.d.ts +1 -0
  749. package/lib-esm/hooks/useResizeObserver.js +10 -0
  750. package/lib-esm/hooks/useSafeTimeout.d.ts +12 -0
  751. package/lib-esm/hooks/useSafeTimeout.js +31 -0
  752. package/lib-esm/hooks/useScrollFlash.d.ts +6 -0
  753. package/lib-esm/hooks/useScrollFlash.js +22 -0
  754. package/lib-esm/index.d.ts +124 -0
  755. package/lib-esm/index.js +33 -7
  756. package/lib-esm/polyfills/eventListenerSignal.d.ts +6 -0
  757. package/lib-esm/polyfills/eventListenerSignal.js +57 -0
  758. package/lib-esm/sx.d.ts +14 -0
  759. package/lib-esm/sx.js +3 -5
  760. package/lib-esm/theme-preval.d.ts +49 -0
  761. package/lib-esm/theme-preval.js +3119 -357
  762. package/lib-esm/theme.d.ts +80 -0
  763. package/lib-esm/theme.js +3 -8
  764. package/lib-esm/utils/create-slots.d.ts +17 -0
  765. package/lib-esm/utils/create-slots.js +84 -0
  766. package/lib-esm/utils/deprecate.d.ts +18 -0
  767. package/lib-esm/utils/deprecate.js +6 -5
  768. package/lib-esm/utils/isNumeric.d.ts +1 -0
  769. package/lib-esm/utils/isNumeric.js +1 -0
  770. package/lib-esm/utils/iterateFocusableElements.d.ts +42 -0
  771. package/lib-esm/utils/iterateFocusableElements.js +102 -0
  772. package/lib-esm/utils/ssr.d.ts +1 -0
  773. package/lib-esm/utils/ssr.js +1 -0
  774. package/lib-esm/utils/test-deprecations.d.ts +1 -0
  775. package/lib-esm/utils/test-deprecations.js +1 -1
  776. package/lib-esm/utils/{types.js → test-helpers.d.ts} +0 -0
  777. package/lib-esm/utils/test-helpers.js +7 -0
  778. package/lib-esm/utils/test-matchers.d.ts +1 -0
  779. package/lib-esm/utils/test-matchers.js +7 -49
  780. package/lib-esm/utils/testing.d.ts +545 -0
  781. package/lib-esm/utils/testing.js +60 -46
  782. package/lib-esm/utils/theme.d.ts +9 -0
  783. package/lib-esm/utils/theme.js +66 -0
  784. package/lib-esm/utils/types/AriaRole.d.ts +1 -0
  785. package/lib-esm/utils/types/AriaRole.js +1 -0
  786. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  787. package/lib-esm/utils/types/ComponentProps.js +1 -0
  788. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  789. package/lib-esm/utils/types/Flatten.js +1 -0
  790. package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
  791. package/lib-esm/utils/types/FormValidationStatus.js +1 -0
  792. package/lib-esm/utils/types/KeyPaths.d.ts +3 -0
  793. package/lib-esm/utils/types/KeyPaths.js +1 -0
  794. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  795. package/lib-esm/utils/types/MandateProps.js +1 -0
  796. package/lib-esm/utils/types/Merge.d.ts +19 -0
  797. package/lib-esm/utils/types/Merge.js +1 -0
  798. package/lib-esm/utils/types/index.d.ts +5 -0
  799. package/lib-esm/utils/types/index.js +5 -0
  800. package/lib-esm/utils/uniqueId.d.ts +1 -0
  801. package/lib-esm/utils/uniqueId.js +5 -0
  802. package/lib-esm/utils/use-force-update.d.ts +1 -0
  803. package/lib-esm/utils/use-force-update.js +6 -0
  804. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  805. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  806. package/lib-esm/utils/userAgent.d.ts +1 -0
  807. package/lib-esm/utils/userAgent.js +8 -0
  808. package/package.json +114 -93
  809. package/index.d.ts +0 -828
  810. package/lib/Breadcrumb.js +0 -96
  811. package/lib/hooks/useMouseIntent.js +0 -58
  812. package/lib/stories/Button.stories.js +0 -100
  813. package/lib-esm/Breadcrumb.js +0 -70
  814. package/lib-esm/hooks/useMouseIntent.js +0 -50
  815. package/lib-esm/stories/Button.stories.js +0 -65
@@ -0,0 +1,5 @@
1
+ import { SxProp } from '../sx';
2
+ import { ComponentProps } from '../utils/types';
3
+ declare const ButtonTableList: import("styled-components").StyledComponent<"summary", any, SxProp, never>;
4
+ export declare type ButtonTableListProps = ComponentProps<typeof ButtonTableList>;
5
+ export default ButtonTableList;
@@ -1,20 +1,8 @@
1
1
  import styled from 'styled-components';
2
- import PropTypes from 'prop-types';
3
- import { COMMON, LAYOUT, TYPOGRAPHY, get } from '../constants';
4
- import theme from '../theme';
2
+ import { get } from '../constants';
5
3
  import sx from '../sx';
6
4
  const ButtonTableList = styled.summary.withConfig({
7
5
  displayName: "ButtonTableList",
8
6
  componentId: "sc-1m4q8ia-0"
9
- })(["display:inline-block;padding:0;font-size:", ";color:", ";text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;background-color:transparent;border:0;appearance:none;&:hover{text-decoration:underline;}&:disabled{&,&:hover{color:rgba(", ",0.5);cursor:default;}}&:after{display:inline-block;margin-left:", ";width:0;height:0;vertical-align:-2px;content:'';border:4px solid transparent;border-top-color:currentcolor;}", " ", " ", " ", ";"], get('fontSizes.1'), get('colors.gray.6'), get('colors.gray.6'), get('space.1'), COMMON, TYPOGRAPHY, LAYOUT, sx);
10
- ButtonTableList.defaultProps = {
11
- theme
12
- };
13
- ButtonTableList.propTypes = {
14
- theme: PropTypes.object,
15
- ...sx.propTypes,
16
- ...COMMON.propTypes,
17
- ...TYPOGRAPHY.propTypes,
18
- ...LAYOUT.propTypes
19
- };
7
+ })(["display:inline-block;padding:0;font-size:", ";color:", ";text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;background-color:transparent;border:0;appearance:none;&:hover{text-decoration:underline;}&:disabled{&,&:hover{color:", ";cursor:default;}}&:after{display:inline-block;margin-left:", ";width:0;height:0;vertical-align:-2px;content:'';border:4px solid transparent;border-top-color:currentcolor;}", ";"], get('fontSizes.1'), get('colors.fg.muted'), get('colors.primer.fg.disabled'), get('space.1'), sx);
20
8
  export default ButtonTableList;
@@ -0,0 +1,16 @@
1
+ export { default } from './Button';
2
+ export type { ButtonProps } from './Button';
3
+ export { default as ButtonDanger } from './ButtonDanger';
4
+ export type { ButtonDangerProps } from './ButtonDanger';
5
+ export { default as ButtonGroup } from './ButtonGroup';
6
+ export type { ButtonGroupProps } from './ButtonGroup';
7
+ export { default as ButtonOutline } from './ButtonOutline';
8
+ export type { ButtonOutlineProps } from './ButtonOutline';
9
+ export { default as ButtonPrimary } from './ButtonPrimary';
10
+ export type { ButtonPrimaryProps } from './ButtonPrimary';
11
+ export { default as ButtonInvisible } from './ButtonInvisible';
12
+ export type { ButtonInvisibleProps } from './ButtonInvisible';
13
+ export { default as ButtonTableList } from './ButtonTableList';
14
+ export type { ButtonTableListProps } from './ButtonTableList';
15
+ export { default as ButtonClose } from './ButtonClose';
16
+ export type { ButtonCloseProps } from './ButtonClose';
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { Theme } from './ThemeProvider';
3
+ declare type Location = 'top' | 'top-left' | 'top-right' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom';
4
+ export declare type CaretProps = {
5
+ bg?: string;
6
+ borderColor?: string;
7
+ borderWidth?: string | number;
8
+ size?: number;
9
+ location?: Location;
10
+ theme?: Theme;
11
+ };
12
+ declare function Caret(props: CaretProps): JSX.Element;
13
+ declare namespace Caret {
14
+ var locations: string[];
15
+ var defaultProps: {
16
+ bg: string;
17
+ borderColor: string;
18
+ borderWidth: number;
19
+ };
20
+ }
21
+ export default Caret;
package/lib-esm/Caret.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
2
+ import { ThemeContext } from 'styled-components';
3
3
  import { style } from 'styled-system';
4
- import theme from './theme';
5
4
  const oppositeEdge = {
6
5
  top: 'Bottom',
7
6
  right: 'Left',
@@ -44,15 +43,21 @@ const getBorderWidth = style({
44
43
  });
45
44
 
46
45
  function Caret(props) {
46
+ var _props$theme;
47
+
48
+ const theme = React.useContext(ThemeContext);
49
+ const propsWithTheme = { ...props,
50
+ theme: (_props$theme = props.theme) !== null && _props$theme !== void 0 ? _props$theme : theme
51
+ };
47
52
  const {
48
53
  bg
49
- } = getBg(props);
54
+ } = getBg(propsWithTheme);
50
55
  const {
51
56
  borderColor
52
- } = getBorderColor(props);
57
+ } = getBorderColor(propsWithTheme);
53
58
  const {
54
59
  borderWidth
55
- } = getBorderWidth(props);
60
+ } = getBorderWidth(propsWithTheme);
56
61
  const {
57
62
  size = 8,
58
63
  location = 'bottom'
@@ -101,16 +106,8 @@ function Caret(props) {
101
106
  Caret.displayName = "Caret";
102
107
  Caret.locations = ['top', 'top-left', 'top-right', 'right', 'right-top', 'right-bottom', 'bottom', 'bottom-left', 'bottom-right', 'left', 'left-top', 'left-bottom'];
103
108
  Caret.defaultProps = {
104
- bg: 'white',
105
- borderColor: 'gray.2',
106
- borderWidth: 1,
107
- theme
108
- };
109
- Caret.propTypes = {
110
- bg: PropTypes.string,
111
- borderColor: PropTypes.string,
112
- borderWidth: PropTypes.number,
113
- size: PropTypes.number,
114
- location: PropTypes.oneOf(Caret.locations)
109
+ bg: 'canvas.default',
110
+ borderColor: 'border.default',
111
+ borderWidth: 1
115
112
  };
116
113
  export default Caret;
@@ -0,0 +1,29 @@
1
+ import React, { InputHTMLAttributes } from 'react';
2
+ import { SxProp } from './sx';
3
+ export declare type CheckboxProps = {
4
+ /**
5
+ * Apply indeterminate visual appearance to the checkbox
6
+ */
7
+ indeterminate?: boolean;
8
+ /**
9
+ * Apply inactive visual appearance to the checkbox
10
+ */
11
+ disabled?: boolean;
12
+ /**
13
+ * Forward a ref to the underlying input element
14
+ */
15
+ ref?: React.RefObject<HTMLInputElement>;
16
+ /**
17
+ * Indicates whether the checkbox must be checked
18
+ */
19
+ required?: boolean;
20
+ /**
21
+ * Indicates whether the checkbox validation state
22
+ */
23
+ validationStatus?: 'error' | 'success';
24
+ } & InputHTMLAttributes<HTMLInputElement> & SxProp;
25
+ /**
26
+ * An accessible, native checkbox component
27
+ */
28
+ declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "validationStatus" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
29
+ export default Checkbox;
@@ -0,0 +1,44 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import styled from 'styled-components';
4
+ import { useProvidedRefOrCreate } from './hooks';
5
+ import React, { useLayoutEffect } from 'react';
6
+ import sx from './sx';
7
+ const StyledCheckbox = styled.input.withConfig({
8
+ displayName: "Checkbox__StyledCheckbox",
9
+ componentId: "i51804-0"
10
+ })(["cursor:pointer;", " ", ""], props => props.disabled && `cursor: not-allowed;`, sx);
11
+ /**
12
+ * An accessible, native checkbox component
13
+ */
14
+
15
+ const Checkbox = /*#__PURE__*/React.forwardRef(({
16
+ checked,
17
+ indeterminate,
18
+ disabled,
19
+ sx: sxProp,
20
+ required,
21
+ validationStatus,
22
+ ...rest
23
+ }, ref) => {
24
+ const checkboxRef = useProvidedRefOrCreate(ref);
25
+ useLayoutEffect(() => {
26
+ if (checkboxRef.current) {
27
+ checkboxRef.current.indeterminate = indeterminate || false;
28
+ }
29
+ }, [indeterminate, checked, checkboxRef]);
30
+ return /*#__PURE__*/React.createElement(StyledCheckbox, _extends({
31
+ type: "checkbox",
32
+ disabled: disabled,
33
+ "aria-disabled": disabled ? 'true' : 'false',
34
+ ref: ref || checkboxRef,
35
+ checked: indeterminate ? false : checked,
36
+ "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false',
37
+ sx: sxProp,
38
+ required: required,
39
+ "aria-required": required ? 'true' : 'false',
40
+ "aria-invalid": validationStatus === 'error' ? 'true' : 'false'
41
+ }, rest));
42
+ });
43
+ Checkbox.displayName = 'Checkbox';
44
+ export default Checkbox;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ToggleInputFieldProps } from './_InputField/ToggleInputField';
3
+ declare const _default: React.FC<ToggleInputFieldProps> & {
4
+ Input: React.FC<React.HTMLProps<HTMLInputElement> & {
5
+ ref?: React.Ref<HTMLInputElement> | undefined;
6
+ }>;
7
+ Caption: React.FC<{}>;
8
+ Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
9
+ LeadingVisual: React.FC<{}>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,56 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import { Checkbox } from '.';
5
+ import InputField from './_InputField/InputField';
6
+ import { Slot } from './_InputField/slots';
7
+ import ToggleInputField from './_InputField/ToggleInputField';
8
+ import ToggleInputLeadingVisual from './_InputField/ToggleInputLeadingVisual';
9
+
10
+ const Input = ({
11
+ id: idProp,
12
+ required: requiredProp,
13
+ disabled: disabledProp,
14
+ ...rest
15
+ }) => {
16
+ if (idProp) {
17
+ // eslint-disable-next-line no-console
18
+ console.warn("instead of passing the 'id' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
19
+ }
20
+
21
+ if (disabledProp) {
22
+ // eslint-disable-next-line no-console
23
+ console.warn("instead of passing the 'disabled' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
24
+ }
25
+
26
+ if (requiredProp) {
27
+ // eslint-disable-next-line no-console
28
+ console.warn("instead of passing the 'required' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
29
+ }
30
+
31
+ return /*#__PURE__*/React.createElement(Slot, {
32
+ name: "Input"
33
+ }, ({
34
+ disabled,
35
+ id,
36
+ required,
37
+ captionId
38
+ }) => /*#__PURE__*/React.createElement(Checkbox, _extends({
39
+ "aria-describedby": captionId,
40
+ id: id,
41
+ required: required,
42
+ disabled: disabled
43
+ }, rest)));
44
+ };
45
+
46
+ Input.displayName = "Input";
47
+
48
+ const CheckboxInputField = props => /*#__PURE__*/React.createElement(ToggleInputField, props);
49
+
50
+ CheckboxInputField.displayName = "CheckboxInputField";
51
+ export default Object.assign(CheckboxInputField, {
52
+ Input,
53
+ Caption: InputField.Caption,
54
+ Label: InputField.Label,
55
+ LeadingVisual: ToggleInputLeadingVisual
56
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldCaption: React.FC;
3
+ export default ChoiceFieldCaption;
@@ -0,0 +1,20 @@
1
+ import React, { useContext } from 'react';
2
+ import ChoiceFieldsetListContext from './ChoiceFieldsetListContext';
3
+
4
+ const ChoiceFieldCaption = ({
5
+ children
6
+ }) => {
7
+ const choiceFieldsetListContext = useContext(ChoiceFieldsetListContext);
8
+
9
+ if (choiceFieldsetListContext === null) {
10
+ throw new Error('ChoiceFieldsetListContext returned null');
11
+ }
12
+
13
+ const {
14
+ fieldComponent: FieldComponent
15
+ } = choiceFieldsetListContext;
16
+ return /*#__PURE__*/React.createElement(FieldComponent.Caption, null, children);
17
+ };
18
+
19
+ ChoiceFieldCaption.displayName = "ChoiceFieldCaption";
20
+ export default ChoiceFieldCaption;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldLabel: React.FC;
3
+ export default ChoiceFieldLabel;
@@ -0,0 +1,20 @@
1
+ import React, { useContext } from 'react';
2
+ import ChoiceFieldsetListContext from './ChoiceFieldsetListContext';
3
+
4
+ const ChoiceFieldLabel = ({
5
+ children
6
+ }) => {
7
+ const choiceFieldsetListContext = useContext(ChoiceFieldsetListContext);
8
+
9
+ if (choiceFieldsetListContext === null) {
10
+ throw new Error('ChoiceFieldsetListContext returned null');
11
+ }
12
+
13
+ const {
14
+ fieldComponent: FieldComponent
15
+ } = choiceFieldsetListContext;
16
+ return /*#__PURE__*/React.createElement(FieldComponent.Label, null, children);
17
+ };
18
+
19
+ ChoiceFieldLabel.displayName = "ChoiceFieldLabel";
20
+ export default ChoiceFieldLabel;
@@ -0,0 +1,65 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import { FormValidationStatus } from '../utils/types/FormValidationStatus';
3
+ export interface ChoiceFieldsetProps<T = Record<string, FormValidationStatus>> {
4
+ children?: React.ReactNode;
5
+ /**
6
+ * Whether the fieldset is NOT ready for user input
7
+ */
8
+ disabled?: boolean;
9
+ /**
10
+ * The unique identifier for this fieldset. Used to associate the validation text with the fieldset
11
+ * If an ID is not passed, one will be automatically generated
12
+ */
13
+ id?: string;
14
+ /**
15
+ * The unique identifier used to associate radio inputs with eachother
16
+ * If a name is not passed and the fieldset renders radio inputs, a name will be automatically generated
17
+ */
18
+ name?: string;
19
+ /**
20
+ * The callback that is called when a user toggles a choice on or off
21
+ */
22
+ onSelect?: (selectedValues: string[]) => void;
23
+ /**
24
+ * Whether this field must have a value for the user to complete their task
25
+ */
26
+ required?: boolean;
27
+ /**
28
+ * The selected values
29
+ */
30
+ selected?: string[];
31
+ /**
32
+ * A map of validation statuses and their associated validation keys. When one of the validation keys is passed to the `validationResult` prop,
33
+ * the associated validation message will be rendered in the correct style
34
+ */
35
+ validationMap?: T;
36
+ /**
37
+ * The key of the validation message to show
38
+ */
39
+ validationResult?: keyof T;
40
+ }
41
+ export interface ChoiceFieldsetContext extends ChoiceFieldsetProps {
42
+ validationMessageId: string;
43
+ }
44
+ declare const Slot: React.FC<{
45
+ name: "Description" | "ChoiceList" | "Legend" | "Validation";
46
+ children: React.ReactNode;
47
+ }>;
48
+ export { Slot };
49
+ declare const ChoiceFieldset: <T extends Record<string, FormValidationStatus>>({ children, disabled, id, name, onSelect, required, selected, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element;
50
+ export declare type InputFieldComponentProps = ComponentProps<typeof ChoiceFieldset>;
51
+ export type { ChoiceFieldsetListProps } from './ChoiceFieldsetList';
52
+ export type { ChoiceFieldsetLegendProps } from './ChoiceFieldsetLegend';
53
+ export type { ChoiceFieldProps } from './ChoiceFieldsetListItem';
54
+ declare const _default: (<T extends Record<string, FormValidationStatus>>({ children, disabled, id, name, onSelect, required, selected, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element) & {
55
+ Description: React.FC<{}>;
56
+ Item: React.FC<import("./ChoiceFieldsetListItem").ChoiceFieldProps> & {
57
+ Caption: React.FC<{}>;
58
+ Label: React.FC<{}>;
59
+ LeadingVisual: React.FC<{}>;
60
+ };
61
+ Legend: React.FC<import("./ChoiceFieldsetLegend").ChoiceFieldsetLegendProps>;
62
+ List: React.FC<import("./ChoiceFieldsetList").ChoiceFieldsetListProps>;
63
+ Validation: React.FC<import("./ChoiceFieldsetValidation").ChoiceFieldsetValidationProps>;
64
+ };
65
+ export default _default;
@@ -0,0 +1,72 @@
1
+ import React from 'react';
2
+ import { Box } from '..';
3
+ import createSlots from '../utils/create-slots';
4
+ import { uniqueId } from '../utils/uniqueId';
5
+ import ValidationAnimationContainer from '../_InputField/ValidationAnimationContainer';
6
+ import InputValidation from '../_InputValidation';
7
+ import ChoiceFieldsetListItem from './ChoiceFieldsetListItem';
8
+ import ChoiceFieldsetDescription from './ChoiceFieldsetDescription';
9
+ import ChoiceFieldsetLegend from './ChoiceFieldsetLegend';
10
+ import ChoiceFieldsetList from './ChoiceFieldsetList';
11
+ import ChoiceFieldsetValidation from './ChoiceFieldsetValidation';
12
+ const {
13
+ Slots,
14
+ Slot
15
+ } = createSlots(['Description', 'ChoiceList', 'Legend', 'Validation']);
16
+ export { Slot };
17
+
18
+ const ChoiceFieldset = ({
19
+ children,
20
+ disabled,
21
+ id,
22
+ name,
23
+ onSelect,
24
+ required,
25
+ selected,
26
+ validationMap,
27
+ validationResult
28
+ }) => {
29
+ var _React$Children$map;
30
+
31
+ const fieldsetId = id || uniqueId();
32
+ const validationChildren = (_React$Children$map = React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) && child.type === ChoiceFieldsetValidation ? child : null)) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(Boolean);
33
+ const validationChildToRender = validationChildren === null || validationChildren === void 0 ? void 0 : validationChildren.find(child => child.props.validationKey === validationResult);
34
+ const validationMessageId = validationChildToRender ? `${fieldsetId}-validationMsg` : undefined;
35
+ return /*#__PURE__*/React.createElement(Slots, {
36
+ context: {
37
+ disabled,
38
+ name,
39
+ onSelect,
40
+ required,
41
+ selected,
42
+ validationMessageId
43
+ }
44
+ }, slots => {
45
+ const isLegendVisible = /*#__PURE__*/React.isValidElement(slots.Legend) && slots.Legend.props.isVisible;
46
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Box, {
47
+ as: "fieldset",
48
+ border: "none",
49
+ margin: 0,
50
+ padding: 0,
51
+ "aria-describedby": [validationMessageId].filter(Boolean).join(' ')
52
+ }, React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child) && child.type !== ChoiceFieldsetValidation), /*#__PURE__*/React.createElement(Box, {
53
+ mb: isLegendVisible ? 3 : undefined
54
+ }, slots.Legend, slots.Description), slots.ChoiceList), validationChildToRender && /*#__PURE__*/React.createElement(Box, {
55
+ mt: 3
56
+ }, validationMap && validationResult && validationMessageId && /*#__PURE__*/React.createElement(ValidationAnimationContainer, {
57
+ show: true
58
+ }, /*#__PURE__*/React.createElement(InputValidation, {
59
+ validationStatus: validationMap[validationResult],
60
+ id: validationMessageId
61
+ }, validationChildToRender))));
62
+ });
63
+ };
64
+
65
+ ChoiceFieldset.displayName = "ChoiceFieldset";
66
+ export default Object.assign(ChoiceFieldset, {
67
+ Description: ChoiceFieldsetDescription,
68
+ Item: ChoiceFieldsetListItem,
69
+ Legend: ChoiceFieldsetLegend,
70
+ List: ChoiceFieldsetList,
71
+ Validation: ChoiceFieldsetValidation
72
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldsetDescription: React.FC;
3
+ export default ChoiceFieldsetDescription;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { Text } from '..';
3
+ import { Slot } from './ChoiceFieldset';
4
+
5
+ const ChoiceFieldsetDescription = ({
6
+ children
7
+ }) => /*#__PURE__*/React.createElement(Slot, {
8
+ name: "Description"
9
+ }, ({
10
+ disabled
11
+ }) => /*#__PURE__*/React.createElement(Text, {
12
+ color: disabled ? 'fg.muted' : 'fg.default',
13
+ fontSize: 1
14
+ }, children));
15
+
16
+ ChoiceFieldsetDescription.displayName = "ChoiceFieldsetDescription";
17
+ export default ChoiceFieldsetDescription;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface ChoiceFieldsetLegendProps {
3
+ /**
4
+ * Whether to visually hide the fieldset legend
5
+ */
6
+ visuallyHidden?: boolean;
7
+ }
8
+ declare const ChoiceFieldsetLegend: React.FC<ChoiceFieldsetLegendProps>;
9
+ export default ChoiceFieldsetLegend;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { Box } from '..';
3
+ import VisuallyHidden from '../_VisuallyHidden';
4
+ import { Slot } from './ChoiceFieldset';
5
+
6
+ const ChoiceFieldsetLegend = ({
7
+ children,
8
+ visuallyHidden
9
+ }) => /*#__PURE__*/React.createElement(Slot, {
10
+ name: "Legend"
11
+ }, ({
12
+ required,
13
+ disabled
14
+ }) => /*#__PURE__*/React.createElement(VisuallyHidden, {
15
+ as: "legend",
16
+ isVisible: !visuallyHidden,
17
+ title: required ? 'required field' : undefined,
18
+ sx: {
19
+ color: disabled ? 'fg.muted' : undefined,
20
+ fontSize: 2,
21
+ padding: 0
22
+ }
23
+ }, required ? /*#__PURE__*/React.createElement(Box, {
24
+ display: "flex",
25
+ as: "span"
26
+ }, /*#__PURE__*/React.createElement(Box, {
27
+ mr: 1
28
+ }, children), /*#__PURE__*/React.createElement("span", null, "*")) : children));
29
+
30
+ ChoiceFieldsetLegend.displayName = "ChoiceFieldsetLegend";
31
+ export default ChoiceFieldsetLegend;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface ChoiceFieldsetListProps {
3
+ /**
4
+ * Whether multiple items or a single item can be selected
5
+ */
6
+ selectionVariant?: 'single' | 'multiple';
7
+ }
8
+ declare const ChoiceFieldsetList: React.FC<ChoiceFieldsetListProps>;
9
+ export default ChoiceFieldsetList;
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ import { CheckboxInputField, RadioInputField } from '..';
4
+ import { get } from '../constants';
5
+ import { uniqueId } from '../utils/uniqueId';
6
+ import { Slot } from './ChoiceFieldset';
7
+ import ChoiceFieldsetListContext from './ChoiceFieldsetListContext';
8
+ const List = styled.ul.withConfig({
9
+ displayName: "ChoiceFieldsetList__List",
10
+ componentId: "sc-16da7ba-0"
11
+ })(["display:flex;flex-direction:column;list-style:none;margin:0;padding:0;> li + li{margin-top:", ";}"], get('space.2'));
12
+
13
+ const ChoiceFieldsetList = ({
14
+ selectionVariant,
15
+ children
16
+ }) => {
17
+ // generates a name to pass to radio inputs if one was not passed in ChoiceFieldset props
18
+ const getRadioGroupName = nameFromContext => {
19
+ if (nameFromContext || selectionVariant === 'multiple') {
20
+ return nameFromContext;
21
+ }
22
+
23
+ return uniqueId();
24
+ };
25
+
26
+ return /*#__PURE__*/React.createElement(Slot, {
27
+ name: "ChoiceList"
28
+ }, ({
29
+ name,
30
+ onSelect,
31
+ disabled,
32
+ selected = []
33
+ }) => {
34
+ const getSelectedCheckboxes = (value, checked) => {
35
+ if (checked) {
36
+ return selectionVariant === 'multiple' ? [...selected, value] : [value];
37
+ }
38
+
39
+ return selected.filter(selectedValue => selectedValue !== value);
40
+ };
41
+
42
+ return /*#__PURE__*/React.createElement(ChoiceFieldsetListContext.Provider, {
43
+ value: {
44
+ disabled,
45
+ selected,
46
+ name: getRadioGroupName(name),
47
+ fieldComponent: selectionVariant === 'multiple' ? CheckboxInputField : RadioInputField,
48
+ onChange: e => {
49
+ onSelect && onSelect(getSelectedCheckboxes(e.currentTarget.value, e.currentTarget.checked));
50
+ },
51
+ selectionVariant
52
+ }
53
+ }, /*#__PURE__*/React.createElement(List, null, React.Children.map(children, (child, i) => /*#__PURE__*/React.createElement("li", {
54
+ key: i
55
+ }, child))));
56
+ });
57
+ };
58
+
59
+ ChoiceFieldsetList.displayName = "ChoiceFieldsetList";
60
+ ChoiceFieldsetList.defaultProps = {
61
+ selectionVariant: 'single'
62
+ };
63
+ export default ChoiceFieldsetList;
@@ -0,0 +1,19 @@
1
+ import { ChangeEventHandler } from 'react';
2
+ import { CheckboxInputField, RadioInputField } from '..';
3
+ import { ComponentProps } from '../utils/types';
4
+ import InputField from '../_InputField';
5
+ import ToggleInputField, { ToggleInputFieldProps } from '../_InputField/ToggleInputField';
6
+ declare const ChoiceFieldsetListContext: import("react").Context<{
7
+ disabled?: boolean | undefined;
8
+ name?: string | undefined;
9
+ onChange: ChangeEventHandler<HTMLInputElement>;
10
+ fieldComponent: React.FC<ToggleInputFieldProps> & {
11
+ Input: React.FC<ComponentProps<typeof RadioInputField.Input>> | React.FC<ComponentProps<typeof CheckboxInputField.Input>>;
12
+ Caption: React.FC<ComponentProps<typeof InputField.Caption>>;
13
+ Label: React.FC<ComponentProps<typeof InputField.Label>>;
14
+ LeadingVisual: React.FC<ComponentProps<typeof ToggleInputField.LeadingVisual>>;
15
+ };
16
+ selected?: string[] | undefined;
17
+ selectionVariant?: "single" | "multiple" | undefined;
18
+ } | null>;
19
+ export default ChoiceFieldsetListContext;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ import { CheckboxInputField } from '..';
3
+ const ChoiceFieldsetListContext = /*#__PURE__*/createContext(null);
4
+ CheckboxInputField.Input;
5
+ export default ChoiceFieldsetListContext;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { ComponentProps } from '../utils/types';
3
+ export interface ChoiceFieldProps {
4
+ /**
5
+ * Whether the field is ready for user input
6
+ */
7
+ disabled?: boolean;
8
+ /**
9
+ * The unique identifier for this field. Used to associate the label, validation text, and caption text.
10
+ * If an ID is not provided, one will be automatically generated.
11
+ */
12
+ id?: string;
13
+ /**
14
+ * The value that is being selected
15
+ */
16
+ value: string;
17
+ }
18
+ declare const ChoiceFieldsetListItem: React.FC<ChoiceFieldProps>;
19
+ export declare type ChoiceFieldComponentProps = ComponentProps<typeof ChoiceFieldsetListItem>;
20
+ declare const _default: React.FC<ChoiceFieldProps> & {
21
+ Caption: React.FC<{}>;
22
+ Label: React.FC<{}>;
23
+ LeadingVisual: React.FC<{}>;
24
+ };
25
+ export default _default;