@primer/components 0.0.0-202111023745 → 0.0.0-2021111122934
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.
- package/CHANGELOG.md +942 -39
- package/README.md +16 -16
- package/codemods/__tests__/deprecateUtilityComponents.js +200 -0
- package/codemods/__tests__/removeSystemProps.js +225 -0
- package/codemods/deprecateUtilityComponents.js +111 -0
- package/codemods/lib/modifyProps.js +9 -7
- package/codemods/lib/prettify.js +1 -1
- package/codemods/lib/replaceImportSource.js +5 -5
- package/codemods/removeSystemProps.js +312 -0
- package/dist/browser.esm.js +1267 -853
- package/dist/browser.esm.js.map +1 -1
- package/dist/browser.umd.js +1304 -890
- package/dist/browser.umd.js.map +1 -1
- package/lib/ActionList/Divider.js +40 -0
- package/lib/ActionList/Group.js +35 -0
- package/lib/ActionList/Header.js +51 -0
- package/lib/ActionList/Item.js +276 -0
- package/lib/ActionList/List.js +199 -0
- package/lib/ActionList/index.js +29 -0
- package/lib/ActionList2/Description.js +57 -0
- package/lib/ActionList2/Divider.js +35 -0
- package/lib/ActionList2/Group.js +106 -0
- package/lib/ActionList2/Item.js +244 -0
- package/lib/ActionList2/LinkItem.js +57 -0
- package/lib/ActionList2/List.js +58 -0
- package/lib/ActionList2/Selection.js +86 -0
- package/lib/ActionList2/Visuals.js +90 -0
- package/lib/ActionList2/index.js +47 -0
- package/lib/ActionMenu.js +103 -0
- package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
- package/lib/AnchoredOverlay/index.js +13 -0
- package/lib/Autocomplete/Autocomplete.js +145 -0
- package/lib/Autocomplete/AutocompleteContext.js +11 -0
- package/lib/Autocomplete/AutocompleteInput.js +157 -0
- package/lib/Autocomplete/AutocompleteMenu.js +224 -0
- package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
- package/lib/Autocomplete/index.js +15 -0
- package/lib/Avatar.js +1 -12
- package/lib/AvatarPair.js +9 -16
- package/lib/AvatarStack.js +12 -23
- package/lib/BaseStyles.js +25 -31
- package/lib/BorderBox.js +5 -16
- package/lib/Box.js +2 -15
- package/lib/BranchName.js +1 -14
- package/lib/Breadcrumbs.js +82 -0
- package/lib/Button/Button.js +3 -15
- package/lib/Button/ButtonBase.js +2 -25
- package/lib/Button/ButtonClose.js +9 -26
- package/lib/Button/ButtonDanger.js +2 -14
- package/lib/Button/ButtonGroup.js +2 -8
- package/lib/Button/ButtonInvisible.js +3 -15
- package/lib/Button/ButtonOutline.js +2 -14
- package/lib/Button/ButtonPrimary.js +2 -14
- package/lib/Button/ButtonTableList.js +1 -15
- package/lib/Button/index.js +9 -59
- package/lib/Caret.js +14 -17
- package/lib/Checkbox.js +64 -0
- package/lib/CircleBadge.js +2 -20
- package/lib/CircleOcticon.js +9 -18
- package/lib/CounterLabel.js +3 -17
- package/lib/Details.js +2 -12
- package/lib/Dialog/ConfirmationDialog.js +191 -0
- package/lib/Dialog/Dialog.js +311 -0
- package/lib/Dialog.js +34 -49
- package/lib/Dropdown.js +45 -60
- package/lib/DropdownMenu/DropdownButton.js +33 -0
- package/lib/DropdownMenu/DropdownMenu.js +94 -0
- package/lib/DropdownMenu/index.js +21 -0
- package/lib/DropdownStyles.js +6 -6
- package/lib/FilterList.js +2 -30
- package/lib/FilteredActionList/FilteredActionList.js +137 -0
- package/lib/FilteredActionList/index.js +13 -0
- package/lib/FilteredSearch.js +1 -12
- package/lib/Flash.js +35 -14
- package/lib/Flex.js +3 -5
- package/lib/FormGroup.js +2 -22
- package/lib/Grid.js +4 -9
- package/lib/Header.js +7 -37
- package/lib/Heading.js +1 -13
- package/lib/Label.js +5 -19
- package/lib/LabelGroup.js +1 -9
- package/lib/Link.js +2 -30
- package/lib/NewButton/button-counter.js +31 -0
- package/lib/NewButton/button.js +308 -0
- package/lib/NewButton/index.js +15 -0
- package/lib/{utils → NewButton}/types.js +0 -0
- package/lib/Overlay.js +184 -0
- package/lib/Pagehead.js +1 -13
- package/lib/Pagination/Pagination.js +14 -29
- package/lib/Pagination/model.js +1 -1
- package/lib/PointerBox.js +4 -13
- package/lib/Popover.js +5 -29
- package/lib/Portal/Portal.js +101 -0
- package/lib/Portal/index.js +17 -0
- package/lib/Position.js +46 -46
- package/lib/ProgressBar.js +8 -27
- package/lib/SelectMenu/SelectMenu.js +32 -44
- package/lib/SelectMenu/SelectMenuContext.js +1 -1
- package/lib/SelectMenu/SelectMenuDivider.js +6 -14
- package/lib/SelectMenu/SelectMenuFilter.js +13 -21
- package/lib/SelectMenu/SelectMenuFooter.js +6 -14
- package/lib/SelectMenu/SelectMenuHeader.js +4 -17
- package/lib/SelectMenu/SelectMenuItem.js +13 -21
- package/lib/SelectMenu/SelectMenuList.js +6 -14
- package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
- package/lib/SelectMenu/SelectMenuModal.js +11 -23
- package/lib/SelectMenu/SelectMenuTab.js +16 -26
- package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
- package/lib/SelectMenu/SelectMenuTabs.js +10 -17
- package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
- package/lib/SelectMenu/index.js +7 -5
- package/lib/SelectPanel/SelectPanel.js +147 -0
- package/lib/SelectPanel/index.js +13 -0
- package/lib/SideNav.js +35 -51
- package/lib/Spinner.js +58 -0
- package/lib/StateLabel.js +53 -23
- package/lib/StyledOcticon.js +1 -15
- package/lib/SubNav.js +27 -49
- package/lib/TabNav.js +15 -37
- package/lib/Text.js +0 -12
- package/lib/TextInput.js +25 -76
- package/lib/TextInputWithTokens.js +318 -0
- package/lib/ThemeProvider.js +193 -0
- package/lib/Timeline.js +34 -87
- package/lib/Token/AvatarToken.js +64 -0
- package/lib/Token/IssueLabelToken.js +144 -0
- package/lib/Token/Token.js +105 -0
- package/lib/Token/TokenBase.js +104 -0
- package/lib/Token/_RemoveTokenButton.js +90 -0
- package/lib/Token/_TokenTextContainer.js +17 -0
- package/lib/Token/index.js +31 -0
- package/lib/Tooltip.js +4 -21
- package/lib/Truncate.js +2 -18
- package/lib/UnderlineNav.js +3 -29
- package/lib/_TextInputWrapper.js +51 -0
- package/lib/_UnstyledTextInput.js +20 -0
- package/lib/behaviors/anchoredPosition.js +316 -0
- package/lib/behaviors/focusTrap.js +179 -0
- package/lib/behaviors/focusZone.js +578 -0
- package/lib/behaviors/scrollIntoViewingArea.js +39 -0
- package/lib/constants.js +11 -27
- package/lib/drafts.js +31 -0
- package/lib/hooks/index.js +61 -0
- package/lib/hooks/useAnchoredPosition.js +51 -0
- package/lib/hooks/useCombinedRefs.js +47 -0
- package/lib/hooks/useDetails.js +10 -3
- package/lib/hooks/useDialog.js +21 -6
- package/lib/hooks/useFocusTrap.js +69 -0
- package/lib/hooks/useFocusZone.js +53 -0
- package/lib/hooks/useOnEscapePress.js +69 -0
- package/lib/hooks/useOnOutsideClick.js +90 -0
- package/lib/hooks/useOpenAndCloseFocus.js +36 -0
- package/lib/hooks/useOverlay.js +43 -0
- package/lib/hooks/useProvidedRefOrCreate.js +24 -0
- package/lib/hooks/useProvidedStateOrCreate.js +27 -0
- package/lib/hooks/useRenderForcingRef.js +25 -0
- package/lib/hooks/useResizeObserver.js +20 -0
- package/lib/hooks/useSafeTimeout.js +38 -0
- package/lib/hooks/useScrollFlash.js +29 -0
- package/lib/index.js +191 -7
- package/lib/polyfills/eventListenerSignal.js +64 -0
- package/lib/script/component-status-project/build.d.ts +1 -0
- package/lib/src/ActionList/Divider.d.ts +9 -0
- package/lib/src/ActionList/Group.d.ts +28 -0
- package/lib/src/ActionList/Header.d.ts +29 -0
- package/lib/src/ActionList/Item.d.ts +98 -0
- package/lib/src/ActionList/List.d.ts +88 -0
- package/lib/src/ActionList/index.d.ts +17 -0
- package/lib/src/ActionList2/Description.d.ts +12 -0
- package/lib/src/ActionList2/Divider.d.ts +5 -0
- package/lib/src/ActionList2/Group.d.ts +37 -0
- package/lib/src/ActionList2/Item.d.ts +63 -0
- package/lib/src/ActionList2/LinkItem.d.ts +17 -0
- package/lib/src/ActionList2/List.d.ts +26 -0
- package/lib/src/ActionList2/Selection.d.ts +5 -0
- package/lib/src/ActionList2/Visuals.d.ts +9 -0
- package/lib/src/ActionList2/index.d.ts +36 -0
- package/lib/src/ActionMenu.d.ts +40 -0
- package/lib/src/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
- package/lib/src/AnchoredOverlay/index.d.ts +2 -0
- package/lib/src/Autocomplete/Autocomplete.d.ts +305 -0
- package/lib/src/Autocomplete/AutocompleteContext.d.ts +17 -0
- package/lib/src/Autocomplete/AutocompleteInput.d.ts +293 -0
- package/lib/src/Autocomplete/AutocompleteMenu.d.ts +72 -0
- package/lib/src/Autocomplete/AutocompleteOverlay.d.ts +20 -0
- package/lib/src/Autocomplete/index.d.ts +2 -0
- package/lib/src/Avatar.d.ts +14 -0
- package/lib/src/AvatarPair.d.ts +8 -0
- package/lib/src/AvatarStack.d.ts +8 -0
- package/lib/src/BaseStyles.d.ts +14 -0
- package/lib/src/BorderBox.d.ts +7 -0
- package/lib/src/Box.d.ts +6 -0
- package/lib/src/BranchName.d.ts +5 -0
- package/lib/src/Breadcrumbs.d.ts +41 -0
- package/lib/src/Button/Button.d.ts +284 -0
- package/lib/src/Button/ButtonBase.d.ts +9 -0
- package/lib/src/Button/ButtonClose.d.ts +279 -0
- package/lib/src/Button/ButtonDanger.d.ts +284 -0
- package/lib/src/Button/ButtonGroup.d.ts +4 -0
- package/lib/src/Button/ButtonInvisible.d.ts +284 -0
- package/lib/src/Button/ButtonOutline.d.ts +284 -0
- package/lib/src/Button/ButtonPrimary.d.ts +284 -0
- package/lib/src/Button/ButtonStyles.d.ts +2 -0
- package/lib/src/Button/ButtonTableList.d.ts +5 -0
- package/lib/src/Button/index.d.ts +16 -0
- package/lib/src/Caret.d.ts +21 -0
- package/lib/src/Checkbox.d.ts +29 -0
- package/lib/src/CircleBadge.d.ts +24 -0
- package/lib/src/CircleOcticon.d.ts +392 -0
- package/lib/src/CounterLabel.d.ts +7 -0
- package/lib/src/Details.d.ts +5 -0
- package/lib/src/Dialog/ConfirmationDialog.d.ts +44 -0
- package/lib/src/Dialog/Dialog.d.ts +163 -0
- package/lib/src/Dialog.d.ts +406 -0
- package/lib/src/Dropdown.d.ts +1113 -0
- package/lib/src/DropdownMenu/DropdownButton.d.ts +280 -0
- package/lib/src/DropdownMenu/DropdownMenu.d.ts +43 -0
- package/lib/src/DropdownMenu/index.d.ts +4 -0
- package/lib/src/DropdownStyles.d.ts +3 -0
- package/lib/src/FilterList.d.ts +283 -0
- package/lib/src/FilteredActionList/FilteredActionList.d.ts +16 -0
- package/lib/src/FilteredActionList/index.d.ts +2 -0
- package/lib/src/FilteredSearch.d.ts +5 -0
- package/lib/src/Flash.d.ts +8 -0
- package/lib/src/Flex.d.ts +7 -0
- package/lib/src/FormGroup.d.ts +11 -0
- package/lib/src/Grid.d.ts +7 -0
- package/lib/src/Header.d.ts +23 -0
- package/lib/src/Heading.d.ts +5 -0
- package/lib/src/Label.d.ts +10 -0
- package/lib/src/LabelGroup.d.ts +5 -0
- package/lib/src/Link.d.ts +9 -0
- package/lib/src/NewButton/button-counter.d.ts +6 -0
- package/lib/src/NewButton/button.d.ts +13 -0
- package/lib/src/NewButton/index.d.ts +14 -0
- package/lib/src/NewButton/types.d.ts +32 -0
- package/lib/src/Overlay.d.ts +66 -0
- package/lib/src/Pagehead.d.ts +5 -0
- package/lib/src/Pagination/Pagination.d.ts +24 -0
- package/lib/src/Pagination/index.d.ts +3 -0
- package/lib/src/Pagination/model.d.ts +26 -0
- package/lib/src/PointerBox.d.ts +11 -0
- package/lib/src/Popover.d.ts +20 -0
- package/lib/src/Portal/Portal.d.ts +25 -0
- package/lib/src/Portal/index.d.ts +4 -0
- package/lib/src/Position.d.ts +34 -0
- package/lib/src/ProgressBar.d.ts +26 -0
- package/lib/src/SelectMenu/SelectMenu.d.ts +1670 -0
- package/lib/src/SelectMenu/SelectMenuContext.d.ts +8 -0
- package/lib/src/SelectMenu/SelectMenuDivider.d.ts +5 -0
- package/lib/src/SelectMenu/SelectMenuFilter.d.ts +9 -0
- package/lib/src/SelectMenu/SelectMenuFooter.d.ts +5 -0
- package/lib/src/SelectMenu/SelectMenuHeader.d.ts +10 -0
- package/lib/src/SelectMenu/SelectMenuItem.d.ts +14 -0
- package/lib/src/SelectMenu/SelectMenuList.d.ts +5 -0
- package/lib/src/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
- package/lib/src/SelectMenu/SelectMenuModal.d.ts +14 -0
- package/lib/src/SelectMenu/SelectMenuTab.d.ts +13 -0
- package/lib/src/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
- package/lib/src/SelectMenu/SelectMenuTabs.d.ts +10 -0
- package/lib/src/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
- package/lib/src/SelectMenu/index.d.ts +2 -0
- package/lib/src/SelectPanel/SelectPanel.d.ts +25 -0
- package/lib/src/SelectPanel/index.d.ts +2 -0
- package/lib/src/SideNav.d.ts +34 -0
- package/lib/src/Spinner.d.ts +16 -0
- package/lib/src/StateLabel.d.ts +15 -0
- package/lib/src/StyledOcticon.d.ts +11 -0
- package/lib/src/SubNav.d.ts +26 -0
- package/lib/src/TabNav.d.ts +19 -0
- package/lib/src/Text.d.ts +6 -0
- package/lib/src/TextInput.d.ts +14 -0
- package/lib/src/TextInputWithTokens.d.ts +328 -0
- package/lib/src/ThemeProvider.d.ts +26 -0
- package/lib/src/Timeline.d.ts +33 -0
- package/lib/src/Token/AvatarToken.d.ts +7 -0
- package/lib/src/Token/IssueLabelToken.d.ts +14 -0
- package/lib/src/Token/Token.d.ts +15 -0
- package/lib/src/Token/TokenBase.d.ts +31 -0
- package/lib/src/Token/_RemoveTokenButton.d.ts +12 -0
- package/lib/src/Token/_TokenTextContainer.d.ts +3 -0
- package/lib/src/Token/index.d.ts +3 -0
- package/lib/src/Tooltip.d.ts +17 -0
- package/lib/src/Truncate.d.ts +10 -0
- package/lib/src/UnderlineNav.d.ts +24 -0
- package/lib/src/_TextInputWrapper.d.ts +10 -0
- package/lib/src/_UnstyledTextInput.d.ts +2 -0
- package/lib/src/__tests__/ActionList.test.d.ts +1 -0
- package/lib/src/__tests__/ActionList.types.test.d.ts +6 -0
- package/lib/src/__tests__/ActionList2.test.d.ts +2 -0
- package/lib/src/__tests__/ActionMenu.test.d.ts +1 -0
- package/lib/src/__tests__/AnchoredOverlay.test.d.ts +1 -0
- package/lib/src/__tests__/Autocomplete.test.d.ts +1 -0
- package/lib/src/__tests__/Avatar.test.d.ts +1 -0
- package/lib/src/__tests__/Avatar.types.test.d.ts +3 -0
- package/lib/src/__tests__/AvatarStack.test.d.ts +1 -0
- package/lib/src/__tests__/BorderBox.test.d.ts +1 -0
- package/lib/src/__tests__/Box.test.d.ts +1 -0
- package/lib/src/__tests__/BranchName.test.d.ts +1 -0
- package/lib/src/__tests__/BranchName.types.test.d.ts +3 -0
- package/lib/src/__tests__/Breadcrumbs.test.d.ts +1 -0
- package/lib/src/__tests__/Breadcrumbs.types.test.d.ts +3 -0
- package/lib/src/__tests__/BreadcrumbsItem.test.d.ts +1 -0
- package/lib/src/__tests__/Button.test.d.ts +1 -0
- package/lib/src/__tests__/Caret.test.d.ts +1 -0
- package/lib/src/__tests__/Checkbox.test.d.ts +2 -0
- package/lib/src/__tests__/CircleBadge.test.d.ts +1 -0
- package/lib/src/__tests__/CircleBadge.types.test.d.ts +3 -0
- package/lib/src/__tests__/CircleOcticon.test.d.ts +1 -0
- package/lib/src/__tests__/ConfirmationDialog.test.d.ts +1 -0
- package/lib/src/__tests__/CounterLabel.test.d.ts +1 -0
- package/lib/src/__tests__/CounterLabel.types.test.d.ts +3 -0
- package/lib/src/__tests__/Details.test.d.ts +1 -0
- package/lib/src/__tests__/Details.types.test.d.ts +3 -0
- package/lib/src/__tests__/Dialog.test.d.ts +1 -0
- package/lib/src/__tests__/Dialog.types.test.d.ts +3 -0
- package/lib/src/__tests__/Dialog2.types.test.d.ts +3 -0
- package/lib/src/__tests__/Dropdown.test.d.ts +1 -0
- package/lib/src/__tests__/Dropdown.types.test.d.ts +3 -0
- package/lib/src/__tests__/DropdownMenu.test.d.ts +1 -0
- package/lib/src/__tests__/FilterList.test.d.ts +1 -0
- package/lib/src/__tests__/FilterList.types.test.d.ts +3 -0
- package/lib/src/__tests__/FilterListItem.test.d.ts +1 -0
- package/lib/src/__tests__/FilteredSearch.test.d.ts +1 -0
- package/lib/src/__tests__/FilteredSearch.types.test.d.ts +3 -0
- package/lib/src/__tests__/Flash.test.d.ts +1 -0
- package/lib/src/__tests__/Flash.types.test.d.ts +3 -0
- package/lib/src/__tests__/Flex.test.d.ts +1 -0
- package/lib/src/__tests__/FormGroup.test.d.ts +1 -0
- package/lib/src/__tests__/FormGroup.types.test.d.ts +3 -0
- package/lib/src/__tests__/Grid.test.d.ts +1 -0
- package/lib/src/__tests__/Header.test.d.ts +1 -0
- package/lib/src/__tests__/Header.types.test.d.ts +3 -0
- package/lib/src/__tests__/Heading.test.d.ts +1 -0
- package/lib/src/__tests__/Heading.types.test.d.ts +3 -0
- package/lib/src/__tests__/KeyPaths.types.test.d.ts +11 -0
- package/lib/src/__tests__/Label.test.d.ts +1 -0
- package/lib/src/__tests__/Label.types.test.d.ts +3 -0
- package/lib/src/__tests__/LabelGroup.test.d.ts +1 -0
- package/lib/src/__tests__/LabelGroup.types.test.d.ts +3 -0
- package/lib/src/__tests__/Link.test.d.ts +1 -0
- package/lib/src/__tests__/Link.types.test.d.ts +3 -0
- package/lib/src/__tests__/Merge.types.test.d.ts +30 -0
- package/lib/src/__tests__/NewButton.test.d.ts +1 -0
- package/lib/src/__tests__/Overlay.test.d.ts +1 -0
- package/lib/src/__tests__/Overlay.types.test.d.ts +6 -0
- package/lib/src/__tests__/Pagehead.test.d.ts +1 -0
- package/lib/src/__tests__/Pagehead.types.test.d.ts +3 -0
- package/lib/src/__tests__/Pagination/Pagination.test.d.ts +1 -0
- package/lib/src/__tests__/Pagination/PaginationModel.test.d.ts +1 -0
- package/lib/src/__tests__/Pagination.types.test.d.ts +3 -0
- package/lib/src/__tests__/PointerBox.test.d.ts +1 -0
- package/lib/src/__tests__/Popover.test.d.ts +1 -0
- package/lib/src/__tests__/Popover.types.test.d.ts +3 -0
- package/lib/src/__tests__/Portal.test.d.ts +1 -0
- package/lib/src/__tests__/Position.test.d.ts +1 -0
- package/lib/src/__tests__/ProgressBar.test.d.ts +1 -0
- package/lib/src/__tests__/SelectMenu.test.d.ts +1 -0
- package/lib/src/__tests__/SelectMenu.types.test.d.ts +3 -0
- package/lib/src/__tests__/SelectPanel.test.d.ts +1 -0
- package/lib/src/__tests__/SelectPanel.types.test.d.ts +3 -0
- package/lib/src/__tests__/SideNav.test.d.ts +1 -0
- package/lib/src/__tests__/SideNav.types.test.d.ts +3 -0
- package/lib/src/__tests__/Spinner.test.d.ts +1 -0
- package/lib/src/__tests__/StateLabel.test.d.ts +1 -0
- package/lib/src/__tests__/StateLabel.types.test.d.ts +3 -0
- package/lib/src/__tests__/StyledOcticon.test.d.ts +1 -0
- package/lib/src/__tests__/StyledOcticon.types.test.d.ts +3 -0
- package/lib/src/__tests__/SubNav.test.d.ts +1 -0
- package/lib/src/__tests__/SubNav.types.test.d.ts +3 -0
- package/lib/src/__tests__/SubNavLink.test.d.ts +1 -0
- package/lib/src/__tests__/TabNav.test.d.ts +1 -0
- package/lib/src/__tests__/TabNav.types.test.d.ts +3 -0
- package/lib/src/__tests__/Text.test.d.ts +1 -0
- package/lib/src/__tests__/TextInput.test.d.ts +1 -0
- package/lib/src/__tests__/TextInputWithTokens.test.d.ts +1 -0
- package/lib/src/__tests__/ThemeProvider.test.d.ts +1 -0
- package/lib/src/__tests__/Timeline.test.d.ts +1 -0
- package/lib/src/__tests__/Timeline.types.test.d.ts +3 -0
- package/lib/src/__tests__/Token.test.d.ts +1 -0
- package/lib/src/__tests__/Tooltip.test.d.ts +1 -0
- package/lib/src/__tests__/Tooltip.types.test.d.ts +3 -0
- package/lib/src/__tests__/Truncate.test.d.ts +1 -0
- package/lib/src/__tests__/Truncate.types.test.d.ts +3 -0
- package/lib/src/__tests__/UnderlineNav.test.d.ts +1 -0
- package/lib/src/__tests__/UnderlineNav.types.test.d.ts +3 -0
- package/lib/src/__tests__/UnderlineNavLink.test.d.ts +1 -0
- package/lib/src/__tests__/behaviors/anchoredPosition.test.d.ts +1 -0
- package/lib/src/__tests__/behaviors/focusTrap.test.d.ts +1 -0
- package/lib/src/__tests__/behaviors/focusZone.test.d.ts +1 -0
- package/lib/src/__tests__/behaviors/iterateFocusableElements.test.d.ts +1 -0
- package/lib/src/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +1 -0
- package/lib/src/__tests__/filterObject.test.d.ts +1 -0
- package/lib/src/__tests__/hooks/useAnchoredPosition.test.d.ts +1 -0
- package/lib/src/__tests__/hooks/useOnEscapePress.test.d.ts +1 -0
- package/lib/src/__tests__/hooks/useOnOutsideClick.test.d.ts +1 -0
- package/lib/src/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +1 -0
- package/lib/src/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +1 -0
- package/lib/src/__tests__/theme.test.d.ts +1 -0
- package/lib/src/__tests__/themeGet.test.d.ts +1 -0
- package/lib/src/__tests__/themePreval.test.d.ts +1 -0
- package/lib/src/__tests__/useSafeTimeout.test.d.ts +1 -0
- package/lib/src/__tests__/utils/createSlots.test.d.ts +1 -0
- package/lib/src/behaviors/anchoredPosition.d.ts +89 -0
- package/lib/src/behaviors/focusTrap.d.ts +12 -0
- package/lib/src/behaviors/focusZone.d.ts +137 -0
- package/lib/src/behaviors/scrollIntoViewingArea.d.ts +1 -0
- package/lib/src/constants.d.ts +20 -0
- package/lib/src/drafts.d.ts +8 -0
- package/lib/src/hooks/index.d.ts +11 -0
- package/lib/src/hooks/useAnchoredPosition.d.ts +20 -0
- package/lib/src/hooks/useCombinedRefs.d.ts +10 -0
- package/lib/src/hooks/useDetails.d.ts +17 -0
- package/lib/src/hooks/useDialog.d.ts +16 -0
- package/lib/src/hooks/useFocusTrap.d.ts +32 -0
- package/lib/src/hooks/useFocusZone.d.ts +23 -0
- package/lib/src/hooks/useOnEscapePress.d.ts +23 -0
- package/lib/src/hooks/useOnOutsideClick.d.ts +8 -0
- package/lib/src/hooks/useOpenAndCloseFocus.d.ts +8 -0
- package/lib/src/hooks/useOverlay.d.ts +15 -0
- package/lib/src/hooks/useProvidedRefOrCreate.d.ts +10 -0
- package/lib/src/hooks/useProvidedStateOrCreate.d.ts +10 -0
- package/lib/src/hooks/useRenderForcingRef.d.ts +8 -0
- package/lib/src/hooks/useResizeObserver.d.ts +1 -0
- package/lib/src/hooks/useSafeTimeout.d.ts +12 -0
- package/lib/src/hooks/useScrollFlash.d.ts +6 -0
- package/lib/src/index.d.ts +120 -0
- package/lib/src/polyfills/eventListenerSignal.d.ts +6 -0
- package/lib/src/sx.d.ts +14 -0
- package/lib/src/theme-preval.d.ts +49 -0
- package/lib/src/theme.d.ts +80 -0
- package/lib/src/utils/create-slots.d.ts +17 -0
- package/lib/src/utils/deprecate.d.ts +18 -0
- package/lib/src/utils/isNumeric.d.ts +1 -0
- package/lib/src/utils/iterateFocusableElements.d.ts +42 -0
- package/lib/src/utils/ssr.d.ts +1 -0
- package/lib/src/utils/test-deprecations.d.ts +1 -0
- package/lib/src/utils/test-helpers.d.ts +0 -0
- package/lib/src/utils/test-matchers.d.ts +1 -0
- package/lib/src/utils/testing.d.ts +545 -0
- package/lib/src/utils/theme.d.ts +9 -0
- package/lib/src/utils/types/AriaRole.d.ts +1 -0
- package/lib/src/utils/types/ComponentProps.d.ts +9 -0
- package/lib/src/utils/types/Flatten.d.ts +4 -0
- package/lib/src/utils/types/KeyPaths.d.ts +3 -0
- package/lib/src/utils/types/MandateProps.d.ts +3 -0
- package/lib/src/utils/types/Merge.d.ts +19 -0
- package/lib/src/utils/types/index.d.ts +5 -0
- package/lib/src/utils/uniqueId.d.ts +1 -0
- package/lib/src/utils/use-force-update.d.ts +1 -0
- package/lib/src/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib/src/utils/userAgent.d.ts +1 -0
- package/lib/sx.js +8 -5
- package/lib/theme-preval.js +3119 -357
- package/lib/theme.js +5 -8
- package/lib/utils/create-slots.js +105 -0
- package/lib/utils/deprecate.js +6 -5
- package/lib/utils/isNumeric.js +1 -0
- package/lib/utils/iterateFocusableElements.js +113 -0
- package/lib/utils/ssr.js +19 -0
- package/lib/utils/test-deprecations.js +2 -1
- package/lib/utils/test-helpers.js +9 -0
- package/lib/utils/test-matchers.js +6 -50
- package/lib/utils/testing.js +65 -49
- package/lib/utils/theme.js +68 -0
- package/lib/utils/types/AriaRole.js +1 -0
- package/lib/utils/types/ComponentProps.js +1 -0
- package/lib/utils/types/Flatten.js +1 -0
- package/lib/utils/types/KeyPaths.js +1 -0
- package/lib/utils/types/MandateProps.js +1 -0
- package/lib/utils/types/Merge.js +1 -0
- package/lib/utils/types/index.js +70 -0
- package/lib/utils/uniqueId.js +12 -0
- package/lib/utils/use-force-update.js +19 -0
- package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
- package/lib/utils/userAgent.js +15 -0
- package/lib-esm/ActionList/Divider.js +23 -0
- package/lib-esm/ActionList/Group.js +24 -0
- package/lib-esm/ActionList/Header.js +33 -0
- package/lib-esm/ActionList/Item.js +241 -0
- package/lib-esm/ActionList/List.js +181 -0
- package/lib-esm/ActionList/index.js +18 -0
- package/lib-esm/ActionList2/Description.js +41 -0
- package/lib-esm/ActionList2/Divider.js +23 -0
- package/lib-esm/ActionList2/Group.js +87 -0
- package/lib-esm/ActionList2/Item.js +210 -0
- package/lib-esm/ActionList2/LinkItem.js +43 -0
- package/lib-esm/ActionList2/List.js +36 -0
- package/lib-esm/ActionList2/Selection.js +68 -0
- package/lib-esm/ActionList2/Visuals.js +68 -0
- package/lib-esm/ActionList2/index.js +33 -0
- package/lib-esm/ActionMenu.js +82 -0
- package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
- package/lib-esm/AnchoredOverlay/index.js +1 -0
- package/lib-esm/Autocomplete/Autocomplete.js +123 -0
- package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
- package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
- package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
- package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
- package/lib-esm/Autocomplete/index.js +1 -0
- package/lib-esm/Avatar.js +2 -11
- package/lib-esm/AvatarPair.js +8 -14
- package/lib-esm/AvatarStack.js +12 -21
- package/lib-esm/BaseStyles.js +23 -26
- package/lib-esm/BorderBox.js +6 -12
- package/lib-esm/Box.js +2 -13
- package/lib-esm/BranchName.js +2 -13
- package/lib-esm/Breadcrumbs.js +58 -0
- package/lib-esm/Button/Button.js +3 -10
- package/lib-esm/Button/ButtonBase.js +1 -19
- package/lib-esm/Button/ButtonClose.js +5 -20
- package/lib-esm/Button/ButtonDanger.js +2 -9
- package/lib-esm/Button/ButtonGroup.js +2 -7
- package/lib-esm/Button/ButtonInvisible.js +3 -10
- package/lib-esm/Button/ButtonOutline.js +2 -9
- package/lib-esm/Button/ButtonPrimary.js +2 -9
- package/lib-esm/Button/ButtonTableList.js +2 -14
- package/lib-esm/Button/index.js +8 -8
- package/lib-esm/Caret.js +13 -16
- package/lib-esm/Checkbox.js +44 -0
- package/lib-esm/CircleBadge.js +3 -19
- package/lib-esm/CircleOcticon.js +9 -15
- package/lib-esm/CounterLabel.js +4 -16
- package/lib-esm/Details.js +2 -10
- package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
- package/lib-esm/Dialog/Dialog.js +275 -0
- package/lib-esm/Dialog.js +31 -46
- package/lib-esm/Dropdown.js +38 -58
- package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
- package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
- package/lib-esm/DropdownMenu/index.js +2 -0
- package/lib-esm/DropdownStyles.js +6 -6
- package/lib-esm/FilterList.js +3 -29
- package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
- package/lib-esm/FilteredActionList/index.js +1 -0
- package/lib-esm/FilteredSearch.js +2 -11
- package/lib-esm/Flash.js +36 -13
- package/lib-esm/Flex.js +4 -4
- package/lib-esm/FormGroup.js +3 -20
- package/lib-esm/Grid.js +5 -7
- package/lib-esm/Header.js +6 -34
- package/lib-esm/Heading.js +2 -12
- package/lib-esm/Label.js +3 -15
- package/lib-esm/LabelGroup.js +2 -9
- package/lib-esm/Link.js +2 -28
- package/lib-esm/NewButton/button-counter.js +18 -0
- package/lib-esm/NewButton/button.js +287 -0
- package/lib-esm/NewButton/index.js +5 -0
- package/lib-esm/NewButton/types.js +1 -0
- package/lib-esm/Overlay.js +160 -0
- package/lib-esm/Pagehead.js +2 -12
- package/lib-esm/Pagination/Pagination.js +15 -28
- package/lib-esm/Pagination/model.js +1 -1
- package/lib-esm/PointerBox.js +4 -11
- package/lib-esm/Popover.js +5 -27
- package/lib-esm/Portal/Portal.js +83 -0
- package/lib-esm/Portal/index.js +3 -0
- package/lib-esm/Position.js +42 -37
- package/lib-esm/ProgressBar.js +9 -25
- package/lib-esm/SelectMenu/SelectMenu.js +27 -38
- package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
- package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
- package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
- package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
- package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
- package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
- package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
- package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
- package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
- package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
- package/lib-esm/SelectMenu/index.js +1 -2
- package/lib-esm/SelectPanel/SelectPanel.js +127 -0
- package/lib-esm/SelectPanel/index.js +1 -0
- package/lib-esm/SideNav.js +29 -45
- package/lib-esm/Spinner.js +45 -0
- package/lib-esm/StateLabel.js +55 -23
- package/lib-esm/StyledOcticon.js +1 -12
- package/lib-esm/SubNav.js +24 -48
- package/lib-esm/TabNav.js +13 -33
- package/lib-esm/Text.js +0 -10
- package/lib-esm/TextInput.js +24 -62
- package/lib-esm/TextInputWithTokens.js +291 -0
- package/lib-esm/ThemeProvider.js +161 -0
- package/lib-esm/Timeline.js +26 -81
- package/lib-esm/Token/AvatarToken.js +43 -0
- package/lib-esm/Token/IssueLabelToken.js +124 -0
- package/lib-esm/Token/Token.js +84 -0
- package/lib-esm/Token/TokenBase.js +83 -0
- package/lib-esm/Token/_RemoveTokenButton.js +69 -0
- package/lib-esm/Token/_TokenTextContainer.js +6 -0
- package/lib-esm/Token/index.js +3 -0
- package/lib-esm/Tooltip.js +4 -19
- package/lib-esm/Truncate.js +2 -15
- package/lib-esm/UnderlineNav.js +5 -28
- package/lib-esm/_TextInputWrapper.js +31 -0
- package/lib-esm/_UnstyledTextInput.js +7 -0
- package/lib-esm/behaviors/anchoredPosition.js +309 -0
- package/lib-esm/behaviors/focusTrap.js +170 -0
- package/lib-esm/behaviors/focusZone.js +560 -0
- package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
- package/lib-esm/constants.js +9 -23
- package/lib-esm/drafts.js +9 -0
- package/lib-esm/hooks/index.js +7 -0
- package/lib-esm/hooks/useAnchoredPosition.js +35 -0
- package/lib-esm/hooks/useCombinedRefs.js +37 -0
- package/lib-esm/hooks/useDetails.js +10 -3
- package/lib-esm/hooks/useDialog.js +21 -6
- package/lib-esm/hooks/useFocusTrap.js +54 -0
- package/lib-esm/hooks/useFocusZone.js +37 -0
- package/lib-esm/hooks/useOnEscapePress.js +59 -0
- package/lib-esm/hooks/useOnOutsideClick.js +79 -0
- package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
- package/lib-esm/hooks/useOverlay.js +30 -0
- package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
- package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
- package/lib-esm/hooks/useRenderForcingRef.js +18 -0
- package/lib-esm/hooks/useResizeObserver.js +10 -0
- package/lib-esm/hooks/useSafeTimeout.js +31 -0
- package/lib-esm/hooks/useScrollFlash.js +22 -0
- package/lib-esm/index.js +29 -7
- package/lib-esm/polyfills/eventListenerSignal.js +57 -0
- package/lib-esm/script/component-status-project/build.d.ts +1 -0
- package/lib-esm/src/ActionList/Divider.d.ts +9 -0
- package/lib-esm/src/ActionList/Group.d.ts +28 -0
- package/lib-esm/src/ActionList/Header.d.ts +29 -0
- package/lib-esm/src/ActionList/Item.d.ts +98 -0
- package/lib-esm/src/ActionList/List.d.ts +88 -0
- package/lib-esm/src/ActionList/index.d.ts +17 -0
- package/lib-esm/src/ActionList2/Description.d.ts +12 -0
- package/lib-esm/src/ActionList2/Divider.d.ts +5 -0
- package/lib-esm/src/ActionList2/Group.d.ts +37 -0
- package/lib-esm/src/ActionList2/Item.d.ts +63 -0
- package/lib-esm/src/ActionList2/LinkItem.d.ts +17 -0
- package/lib-esm/src/ActionList2/List.d.ts +26 -0
- package/lib-esm/src/ActionList2/Selection.d.ts +5 -0
- package/lib-esm/src/ActionList2/Visuals.d.ts +9 -0
- package/lib-esm/src/ActionList2/index.d.ts +36 -0
- package/lib-esm/src/ActionMenu.d.ts +40 -0
- package/lib-esm/src/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
- package/lib-esm/src/AnchoredOverlay/index.d.ts +2 -0
- package/lib-esm/src/Autocomplete/Autocomplete.d.ts +305 -0
- package/lib-esm/src/Autocomplete/AutocompleteContext.d.ts +17 -0
- package/lib-esm/src/Autocomplete/AutocompleteInput.d.ts +293 -0
- package/lib-esm/src/Autocomplete/AutocompleteMenu.d.ts +72 -0
- package/lib-esm/src/Autocomplete/AutocompleteOverlay.d.ts +20 -0
- package/lib-esm/src/Autocomplete/index.d.ts +2 -0
- package/lib-esm/src/Avatar.d.ts +14 -0
- package/lib-esm/src/AvatarPair.d.ts +8 -0
- package/lib-esm/src/AvatarStack.d.ts +8 -0
- package/lib-esm/src/BaseStyles.d.ts +14 -0
- package/lib-esm/src/BorderBox.d.ts +7 -0
- package/lib-esm/src/Box.d.ts +6 -0
- package/lib-esm/src/BranchName.d.ts +5 -0
- package/lib-esm/src/Breadcrumbs.d.ts +41 -0
- package/lib-esm/src/Button/Button.d.ts +284 -0
- package/lib-esm/src/Button/ButtonBase.d.ts +9 -0
- package/lib-esm/src/Button/ButtonClose.d.ts +279 -0
- package/lib-esm/src/Button/ButtonDanger.d.ts +284 -0
- package/lib-esm/src/Button/ButtonGroup.d.ts +4 -0
- package/lib-esm/src/Button/ButtonInvisible.d.ts +284 -0
- package/lib-esm/src/Button/ButtonOutline.d.ts +284 -0
- package/lib-esm/src/Button/ButtonPrimary.d.ts +284 -0
- package/lib-esm/src/Button/ButtonStyles.d.ts +2 -0
- package/lib-esm/src/Button/ButtonTableList.d.ts +5 -0
- package/lib-esm/src/Button/index.d.ts +16 -0
- package/lib-esm/src/Caret.d.ts +21 -0
- package/lib-esm/src/Checkbox.d.ts +29 -0
- package/lib-esm/src/CircleBadge.d.ts +24 -0
- package/lib-esm/src/CircleOcticon.d.ts +392 -0
- package/lib-esm/src/CounterLabel.d.ts +7 -0
- package/lib-esm/src/Details.d.ts +5 -0
- package/lib-esm/src/Dialog/ConfirmationDialog.d.ts +44 -0
- package/lib-esm/src/Dialog/Dialog.d.ts +163 -0
- package/lib-esm/src/Dialog.d.ts +406 -0
- package/lib-esm/src/Dropdown.d.ts +1113 -0
- package/lib-esm/src/DropdownMenu/DropdownButton.d.ts +280 -0
- package/lib-esm/src/DropdownMenu/DropdownMenu.d.ts +43 -0
- package/lib-esm/src/DropdownMenu/index.d.ts +4 -0
- package/lib-esm/src/DropdownStyles.d.ts +3 -0
- package/lib-esm/src/FilterList.d.ts +283 -0
- package/lib-esm/src/FilteredActionList/FilteredActionList.d.ts +16 -0
- package/lib-esm/src/FilteredActionList/index.d.ts +2 -0
- package/lib-esm/src/FilteredSearch.d.ts +5 -0
- package/lib-esm/src/Flash.d.ts +8 -0
- package/lib-esm/src/Flex.d.ts +7 -0
- package/lib-esm/src/FormGroup.d.ts +11 -0
- package/lib-esm/src/Grid.d.ts +7 -0
- package/lib-esm/src/Header.d.ts +23 -0
- package/lib-esm/src/Heading.d.ts +5 -0
- package/lib-esm/src/Label.d.ts +10 -0
- package/lib-esm/src/LabelGroup.d.ts +5 -0
- package/lib-esm/src/Link.d.ts +9 -0
- package/lib-esm/src/NewButton/button-counter.d.ts +6 -0
- package/lib-esm/src/NewButton/button.d.ts +13 -0
- package/lib-esm/src/NewButton/index.d.ts +14 -0
- package/lib-esm/src/NewButton/types.d.ts +32 -0
- package/lib-esm/src/Overlay.d.ts +66 -0
- package/lib-esm/src/Pagehead.d.ts +5 -0
- package/lib-esm/src/Pagination/Pagination.d.ts +24 -0
- package/lib-esm/src/Pagination/index.d.ts +3 -0
- package/lib-esm/src/Pagination/model.d.ts +26 -0
- package/lib-esm/src/PointerBox.d.ts +11 -0
- package/lib-esm/src/Popover.d.ts +20 -0
- package/lib-esm/src/Portal/Portal.d.ts +25 -0
- package/lib-esm/src/Portal/index.d.ts +4 -0
- package/lib-esm/src/Position.d.ts +34 -0
- package/lib-esm/src/ProgressBar.d.ts +26 -0
- package/lib-esm/src/SelectMenu/SelectMenu.d.ts +1670 -0
- package/lib-esm/src/SelectMenu/SelectMenuContext.d.ts +8 -0
- package/lib-esm/src/SelectMenu/SelectMenuDivider.d.ts +5 -0
- package/lib-esm/src/SelectMenu/SelectMenuFilter.d.ts +9 -0
- package/lib-esm/src/SelectMenu/SelectMenuFooter.d.ts +5 -0
- package/lib-esm/src/SelectMenu/SelectMenuHeader.d.ts +10 -0
- package/lib-esm/src/SelectMenu/SelectMenuItem.d.ts +14 -0
- package/lib-esm/src/SelectMenu/SelectMenuList.d.ts +5 -0
- package/lib-esm/src/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
- package/lib-esm/src/SelectMenu/SelectMenuModal.d.ts +14 -0
- package/lib-esm/src/SelectMenu/SelectMenuTab.d.ts +13 -0
- package/lib-esm/src/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
- package/lib-esm/src/SelectMenu/SelectMenuTabs.d.ts +10 -0
- package/lib-esm/src/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
- package/lib-esm/src/SelectMenu/index.d.ts +2 -0
- package/lib-esm/src/SelectPanel/SelectPanel.d.ts +25 -0
- package/lib-esm/src/SelectPanel/index.d.ts +2 -0
- package/lib-esm/src/SideNav.d.ts +34 -0
- package/lib-esm/src/Spinner.d.ts +16 -0
- package/lib-esm/src/StateLabel.d.ts +15 -0
- package/lib-esm/src/StyledOcticon.d.ts +11 -0
- package/lib-esm/src/SubNav.d.ts +26 -0
- package/lib-esm/src/TabNav.d.ts +19 -0
- package/lib-esm/src/Text.d.ts +6 -0
- package/lib-esm/src/TextInput.d.ts +14 -0
- package/lib-esm/src/TextInputWithTokens.d.ts +328 -0
- package/lib-esm/src/ThemeProvider.d.ts +26 -0
- package/lib-esm/src/Timeline.d.ts +33 -0
- package/lib-esm/src/Token/AvatarToken.d.ts +7 -0
- package/lib-esm/src/Token/IssueLabelToken.d.ts +14 -0
- package/lib-esm/src/Token/Token.d.ts +15 -0
- package/lib-esm/src/Token/TokenBase.d.ts +31 -0
- package/lib-esm/src/Token/_RemoveTokenButton.d.ts +12 -0
- package/lib-esm/src/Token/_TokenTextContainer.d.ts +3 -0
- package/lib-esm/src/Token/index.d.ts +3 -0
- package/lib-esm/src/Tooltip.d.ts +17 -0
- package/lib-esm/src/Truncate.d.ts +10 -0
- package/lib-esm/src/UnderlineNav.d.ts +24 -0
- package/lib-esm/src/_TextInputWrapper.d.ts +10 -0
- package/lib-esm/src/_UnstyledTextInput.d.ts +2 -0
- package/lib-esm/src/__tests__/ActionList.test.d.ts +1 -0
- package/lib-esm/src/__tests__/ActionList.types.test.d.ts +6 -0
- package/lib-esm/src/__tests__/ActionList2.test.d.ts +2 -0
- package/lib-esm/src/__tests__/ActionMenu.test.d.ts +1 -0
- package/lib-esm/src/__tests__/AnchoredOverlay.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Autocomplete.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Avatar.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Avatar.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/AvatarStack.test.d.ts +1 -0
- package/lib-esm/src/__tests__/BorderBox.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Box.test.d.ts +1 -0
- package/lib-esm/src/__tests__/BranchName.test.d.ts +1 -0
- package/lib-esm/src/__tests__/BranchName.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Breadcrumbs.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Breadcrumbs.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/BreadcrumbsItem.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Button.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Caret.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Checkbox.test.d.ts +2 -0
- package/lib-esm/src/__tests__/CircleBadge.test.d.ts +1 -0
- package/lib-esm/src/__tests__/CircleBadge.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/CircleOcticon.test.d.ts +1 -0
- package/lib-esm/src/__tests__/ConfirmationDialog.test.d.ts +1 -0
- package/lib-esm/src/__tests__/CounterLabel.test.d.ts +1 -0
- package/lib-esm/src/__tests__/CounterLabel.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Details.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Details.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Dialog.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Dialog.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Dialog2.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Dropdown.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Dropdown.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/DropdownMenu.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FilterList.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FilterList.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/FilterListItem.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FilteredSearch.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FilteredSearch.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Flash.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Flash.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Flex.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FormGroup.test.d.ts +1 -0
- package/lib-esm/src/__tests__/FormGroup.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Grid.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Header.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Header.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Heading.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Heading.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/KeyPaths.types.test.d.ts +11 -0
- package/lib-esm/src/__tests__/Label.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Label.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/LabelGroup.test.d.ts +1 -0
- package/lib-esm/src/__tests__/LabelGroup.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Link.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Link.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Merge.types.test.d.ts +30 -0
- package/lib-esm/src/__tests__/NewButton.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Overlay.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Overlay.types.test.d.ts +6 -0
- package/lib-esm/src/__tests__/Pagehead.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Pagehead.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Pagination/Pagination.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Pagination/PaginationModel.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Pagination.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/PointerBox.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Popover.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Popover.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Portal.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Position.test.d.ts +1 -0
- package/lib-esm/src/__tests__/ProgressBar.test.d.ts +1 -0
- package/lib-esm/src/__tests__/SelectMenu.test.d.ts +1 -0
- package/lib-esm/src/__tests__/SelectMenu.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/SelectPanel.test.d.ts +1 -0
- package/lib-esm/src/__tests__/SelectPanel.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/SideNav.test.d.ts +1 -0
- package/lib-esm/src/__tests__/SideNav.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Spinner.test.d.ts +1 -0
- package/lib-esm/src/__tests__/StateLabel.test.d.ts +1 -0
- package/lib-esm/src/__tests__/StateLabel.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/StyledOcticon.test.d.ts +1 -0
- package/lib-esm/src/__tests__/StyledOcticon.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/SubNav.test.d.ts +1 -0
- package/lib-esm/src/__tests__/SubNav.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/SubNavLink.test.d.ts +1 -0
- package/lib-esm/src/__tests__/TabNav.test.d.ts +1 -0
- package/lib-esm/src/__tests__/TabNav.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Text.test.d.ts +1 -0
- package/lib-esm/src/__tests__/TextInput.test.d.ts +1 -0
- package/lib-esm/src/__tests__/TextInputWithTokens.test.d.ts +1 -0
- package/lib-esm/src/__tests__/ThemeProvider.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Timeline.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Timeline.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Token.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Tooltip.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Tooltip.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/Truncate.test.d.ts +1 -0
- package/lib-esm/src/__tests__/Truncate.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/UnderlineNav.test.d.ts +1 -0
- package/lib-esm/src/__tests__/UnderlineNav.types.test.d.ts +3 -0
- package/lib-esm/src/__tests__/UnderlineNavLink.test.d.ts +1 -0
- package/lib-esm/src/__tests__/behaviors/anchoredPosition.test.d.ts +1 -0
- package/lib-esm/src/__tests__/behaviors/focusTrap.test.d.ts +1 -0
- package/lib-esm/src/__tests__/behaviors/focusZone.test.d.ts +1 -0
- package/lib-esm/src/__tests__/behaviors/iterateFocusableElements.test.d.ts +1 -0
- package/lib-esm/src/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +1 -0
- package/lib-esm/src/__tests__/filterObject.test.d.ts +1 -0
- package/lib-esm/src/__tests__/hooks/useAnchoredPosition.test.d.ts +1 -0
- package/lib-esm/src/__tests__/hooks/useOnEscapePress.test.d.ts +1 -0
- package/lib-esm/src/__tests__/hooks/useOnOutsideClick.test.d.ts +1 -0
- package/lib-esm/src/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +1 -0
- package/lib-esm/src/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +1 -0
- package/lib-esm/src/__tests__/theme.test.d.ts +1 -0
- package/lib-esm/src/__tests__/themeGet.test.d.ts +1 -0
- package/lib-esm/src/__tests__/themePreval.test.d.ts +1 -0
- package/lib-esm/src/__tests__/useSafeTimeout.test.d.ts +1 -0
- package/lib-esm/src/__tests__/utils/createSlots.test.d.ts +1 -0
- package/lib-esm/src/behaviors/anchoredPosition.d.ts +89 -0
- package/lib-esm/src/behaviors/focusTrap.d.ts +12 -0
- package/lib-esm/src/behaviors/focusZone.d.ts +137 -0
- package/lib-esm/src/behaviors/scrollIntoViewingArea.d.ts +1 -0
- package/lib-esm/src/constants.d.ts +20 -0
- package/lib-esm/src/drafts.d.ts +8 -0
- package/lib-esm/src/hooks/index.d.ts +11 -0
- package/lib-esm/src/hooks/useAnchoredPosition.d.ts +20 -0
- package/lib-esm/src/hooks/useCombinedRefs.d.ts +10 -0
- package/lib-esm/src/hooks/useDetails.d.ts +17 -0
- package/lib-esm/src/hooks/useDialog.d.ts +16 -0
- package/lib-esm/src/hooks/useFocusTrap.d.ts +32 -0
- package/lib-esm/src/hooks/useFocusZone.d.ts +23 -0
- package/lib-esm/src/hooks/useOnEscapePress.d.ts +23 -0
- package/lib-esm/src/hooks/useOnOutsideClick.d.ts +8 -0
- package/lib-esm/src/hooks/useOpenAndCloseFocus.d.ts +8 -0
- package/lib-esm/src/hooks/useOverlay.d.ts +15 -0
- package/lib-esm/src/hooks/useProvidedRefOrCreate.d.ts +10 -0
- package/lib-esm/src/hooks/useProvidedStateOrCreate.d.ts +10 -0
- package/lib-esm/src/hooks/useRenderForcingRef.d.ts +8 -0
- package/lib-esm/src/hooks/useResizeObserver.d.ts +1 -0
- package/lib-esm/src/hooks/useSafeTimeout.d.ts +12 -0
- package/lib-esm/src/hooks/useScrollFlash.d.ts +6 -0
- package/lib-esm/src/index.d.ts +120 -0
- package/lib-esm/src/polyfills/eventListenerSignal.d.ts +6 -0
- package/lib-esm/src/sx.d.ts +14 -0
- package/lib-esm/src/theme-preval.d.ts +49 -0
- package/lib-esm/src/theme.d.ts +80 -0
- package/lib-esm/src/utils/create-slots.d.ts +17 -0
- package/lib-esm/src/utils/deprecate.d.ts +18 -0
- package/lib-esm/src/utils/isNumeric.d.ts +1 -0
- package/lib-esm/src/utils/iterateFocusableElements.d.ts +42 -0
- package/lib-esm/src/utils/ssr.d.ts +1 -0
- package/lib-esm/src/utils/test-deprecations.d.ts +1 -0
- package/lib-esm/{utils/types.js → src/utils/test-helpers.d.ts} +0 -0
- package/lib-esm/src/utils/test-matchers.d.ts +1 -0
- package/lib-esm/src/utils/testing.d.ts +545 -0
- package/lib-esm/src/utils/theme.d.ts +9 -0
- package/lib-esm/src/utils/types/AriaRole.d.ts +1 -0
- package/lib-esm/src/utils/types/ComponentProps.d.ts +9 -0
- package/lib-esm/src/utils/types/Flatten.d.ts +4 -0
- package/lib-esm/src/utils/types/KeyPaths.d.ts +3 -0
- package/lib-esm/src/utils/types/MandateProps.d.ts +3 -0
- package/lib-esm/src/utils/types/Merge.d.ts +19 -0
- package/lib-esm/src/utils/types/index.d.ts +5 -0
- package/lib-esm/src/utils/uniqueId.d.ts +1 -0
- package/lib-esm/src/utils/use-force-update.d.ts +1 -0
- package/lib-esm/src/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib-esm/src/utils/userAgent.d.ts +1 -0
- package/lib-esm/sx.js +3 -5
- package/lib-esm/theme-preval.js +3119 -357
- package/lib-esm/theme.js +3 -8
- package/lib-esm/utils/create-slots.js +84 -0
- package/lib-esm/utils/deprecate.js +6 -5
- package/lib-esm/utils/isNumeric.js +1 -0
- package/lib-esm/utils/iterateFocusableElements.js +102 -0
- package/lib-esm/utils/ssr.js +1 -0
- package/lib-esm/utils/test-deprecations.js +1 -1
- package/lib-esm/utils/test-helpers.js +7 -0
- package/lib-esm/utils/test-matchers.js +7 -49
- package/lib-esm/utils/testing.js +60 -46
- package/lib-esm/utils/theme.js +66 -0
- package/lib-esm/utils/types/AriaRole.js +1 -0
- package/lib-esm/utils/types/ComponentProps.js +1 -0
- package/lib-esm/utils/types/Flatten.js +1 -0
- package/lib-esm/utils/types/KeyPaths.js +1 -0
- package/lib-esm/utils/types/MandateProps.js +1 -0
- package/lib-esm/utils/types/Merge.js +1 -0
- package/lib-esm/utils/types/index.js +5 -0
- package/lib-esm/utils/uniqueId.js +5 -0
- package/lib-esm/utils/use-force-update.js +6 -0
- package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
- package/lib-esm/utils/userAgent.js +8 -0
- package/package.json +116 -93
- package/index.d.ts +0 -828
- package/lib/Breadcrumb.js +0 -96
- package/lib/hooks/useMouseIntent.js +0 -58
- package/lib/stories/Button.stories.js +0 -100
- package/lib-esm/Breadcrumb.js +0 -70
- package/lib-esm/hooks/useMouseIntent.js +0 -50
- package/lib-esm/stories/Button.stories.js +0 -65
@@ -0,0 +1,35 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { getAnchoredPosition } from '../behaviors/anchoredPosition';
|
3
|
+
import { useProvidedRefOrCreate } from './useProvidedRefOrCreate';
|
4
|
+
import { useResizeObserver } from './useResizeObserver';
|
5
|
+
import useLayoutEffect from '../utils/useIsomorphicLayoutEffect';
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Calculates the top and left values for an absolutely-positioned floating element
|
9
|
+
* to be anchored to some anchor element. Returns refs for the floating element
|
10
|
+
* and the anchor element, along with the position.
|
11
|
+
* @param settings Settings for calculating the anchored position.
|
12
|
+
* @param dependencies Dependencies to determine when to re-calculate the position.
|
13
|
+
* @returns An object of {top: number, left: number} to absolutely-position the
|
14
|
+
* floating element.
|
15
|
+
*/
|
16
|
+
export function useAnchoredPosition(settings, dependencies = []) {
|
17
|
+
const floatingElementRef = useProvidedRefOrCreate(settings === null || settings === void 0 ? void 0 : settings.floatingElementRef);
|
18
|
+
const anchorElementRef = useProvidedRefOrCreate(settings === null || settings === void 0 ? void 0 : settings.anchorElementRef);
|
19
|
+
const [position, setPosition] = React.useState(undefined);
|
20
|
+
const updatePosition = React.useCallback(() => {
|
21
|
+
if (floatingElementRef.current instanceof Element && anchorElementRef.current instanceof Element) {
|
22
|
+
setPosition(getAnchoredPosition(floatingElementRef.current, anchorElementRef.current, settings));
|
23
|
+
} else {
|
24
|
+
setPosition(undefined);
|
25
|
+
}
|
26
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
27
|
+
[floatingElementRef, anchorElementRef, ...dependencies]);
|
28
|
+
useLayoutEffect(updatePosition, [updatePosition]);
|
29
|
+
useResizeObserver(updatePosition);
|
30
|
+
return {
|
31
|
+
floatingElementRef,
|
32
|
+
anchorElementRef,
|
33
|
+
position
|
34
|
+
};
|
35
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { useRef } from 'react';
|
2
|
+
import useLayoutEffect from '../utils/useIsomorphicLayoutEffect';
|
3
|
+
/**
|
4
|
+
* Creates a ref by combining multiple constituent refs. The ref returned by this hook
|
5
|
+
* should be passed as the ref for the element that needs to be shared. This is
|
6
|
+
* particularly useful when you are using `React.forwardRef` in your component but you
|
7
|
+
* also want to be able to access the local element. This is a small anti-pattern,
|
8
|
+
* though, as it breaks encapsulation.
|
9
|
+
* @param refs
|
10
|
+
*/
|
11
|
+
|
12
|
+
export function useCombinedRefs(...refs) {
|
13
|
+
const combinedRef = useRef(null);
|
14
|
+
useLayoutEffect(() => {
|
15
|
+
function setRefs(current = null) {
|
16
|
+
for (const ref of refs) {
|
17
|
+
if (!ref) {
|
18
|
+
return;
|
19
|
+
}
|
20
|
+
|
21
|
+
if (typeof ref === 'function') {
|
22
|
+
ref(current);
|
23
|
+
} else {
|
24
|
+
ref.current = current;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
setRefs(combinedRef.current);
|
30
|
+
return () => {
|
31
|
+
// ensure the refs get updated on unmount
|
32
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
33
|
+
setRefs(combinedRef.current);
|
34
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
35
|
+
}, [...refs, combinedRef.current]);
|
36
|
+
return combinedRef;
|
37
|
+
}
|
@@ -5,12 +5,18 @@ function useDetails({
|
|
5
5
|
closeOnOutsideClick,
|
6
6
|
defaultOpen,
|
7
7
|
onClickOutside
|
8
|
-
}
|
8
|
+
}) {
|
9
9
|
const [open, setOpen] = useState(defaultOpen);
|
10
10
|
const backupRef = useRef(null);
|
11
11
|
const customRef = ref !== null && ref !== void 0 ? ref : backupRef;
|
12
12
|
const onClickOutsideInternal = useCallback(event => {
|
13
|
-
|
13
|
+
const {
|
14
|
+
current
|
15
|
+
} = customRef;
|
16
|
+
const eventTarget = event.target;
|
17
|
+
const closest = eventTarget.closest('details');
|
18
|
+
|
19
|
+
if (closest !== current) {
|
14
20
|
onClickOutside && onClickOutside(event);
|
15
21
|
|
16
22
|
if (!event.defaultPrevented) {
|
@@ -30,7 +36,8 @@ function useDetails({
|
|
30
36
|
|
31
37
|
const handleToggle = e => {
|
32
38
|
if (!e.defaultPrevented) {
|
33
|
-
|
39
|
+
const eventTarget = e.target;
|
40
|
+
setOpen(eventTarget.open);
|
34
41
|
}
|
35
42
|
};
|
36
43
|
|
@@ -1,21 +1,24 @@
|
|
1
1
|
import { useCallback, useEffect } from 'react';
|
2
2
|
|
3
|
+
const noop = () => null;
|
4
|
+
|
3
5
|
function visible(el) {
|
4
6
|
return !el.hidden && (!el.type || el.type !== 'hidden') && (el.offsetWidth > 0 || el.offsetHeight > 0);
|
5
7
|
}
|
6
8
|
|
7
9
|
function focusable(el) {
|
8
|
-
|
10
|
+
const inputEl = el;
|
11
|
+
return inputEl.tabIndex >= 0 && !inputEl.disabled && visible(inputEl);
|
9
12
|
}
|
10
13
|
|
11
14
|
function useDialog({
|
12
15
|
modalRef,
|
13
16
|
overlayRef,
|
14
17
|
isOpen,
|
15
|
-
onDismiss,
|
18
|
+
onDismiss = noop,
|
16
19
|
initialFocusRef,
|
17
20
|
closeButtonRef
|
18
|
-
}
|
21
|
+
}) {
|
19
22
|
const onClickOutside = useCallback(e => {
|
20
23
|
if (modalRef.current && overlayRef.current && !modalRef.current.contains(e.target) && overlayRef.current.contains(e.target)) {
|
21
24
|
onDismiss();
|
@@ -39,20 +42,32 @@ function useDialog({
|
|
39
42
|
}
|
40
43
|
}, [isOpen, initialFocusRef, closeButtonRef]);
|
41
44
|
const getFocusableItem = useCallback((e, movement) => {
|
42
|
-
if (modalRef
|
45
|
+
if (modalRef.current) {
|
43
46
|
const items = Array.from(modalRef.current.querySelectorAll('*')).filter(focusable);
|
44
47
|
if (items.length === 0) return;
|
45
48
|
e.preventDefault();
|
46
49
|
const focusedElement = document.activeElement;
|
50
|
+
|
51
|
+
if (!focusedElement) {
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
|
47
55
|
const index = items.indexOf(focusedElement);
|
48
56
|
const offsetIndex = index + movement;
|
49
57
|
const fallbackIndex = movement === 1 ? 0 : items.length - 1;
|
50
|
-
|
58
|
+
const focusableItem = items[offsetIndex] || items[fallbackIndex];
|
59
|
+
return focusableItem;
|
51
60
|
}
|
52
61
|
}, [modalRef]);
|
53
62
|
const handleTab = useCallback(e => {
|
54
63
|
const movement = e.shiftKey ? -1 : 1;
|
55
|
-
getFocusableItem(e, movement)
|
64
|
+
const focusableItem = getFocusableItem(e, movement);
|
65
|
+
|
66
|
+
if (!focusableItem) {
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
|
70
|
+
focusableItem.focus();
|
56
71
|
}, [getFocusableItem]);
|
57
72
|
const onKeyDown = useCallback(event => {
|
58
73
|
switch (event.key) {
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { focusTrap } from '../behaviors/focusTrap';
|
3
|
+
import { useProvidedRefOrCreate } from './useProvidedRefOrCreate';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Hook used to trap focus inside a container. Returns a ref that can be added to the container
|
7
|
+
* that should trap focus.
|
8
|
+
* @param settings {FocusTrapHookSettings}
|
9
|
+
*/
|
10
|
+
export function useFocusTrap(settings, dependencies = []) {
|
11
|
+
const containerRef = useProvidedRefOrCreate(settings === null || settings === void 0 ? void 0 : settings.containerRef);
|
12
|
+
const initialFocusRef = useProvidedRefOrCreate(settings === null || settings === void 0 ? void 0 : settings.initialFocusRef);
|
13
|
+
const disabled = settings === null || settings === void 0 ? void 0 : settings.disabled;
|
14
|
+
const abortController = React.useRef();
|
15
|
+
const previousFocusedElement = React.useRef(null); // If we are enabling a focus trap and haven't already stored the previously focused element
|
16
|
+
// go ahead an do that so we can restore later when the trap is disabled.
|
17
|
+
|
18
|
+
if (!previousFocusedElement.current && !(settings !== null && settings !== void 0 && settings.disabled)) {
|
19
|
+
previousFocusedElement.current = document.activeElement;
|
20
|
+
} // This function removes the event listeners that enable the focus trap and restores focus
|
21
|
+
// to the previously-focused element (if necessary).
|
22
|
+
|
23
|
+
|
24
|
+
function disableTrap() {
|
25
|
+
var _abortController$curr;
|
26
|
+
|
27
|
+
(_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
|
28
|
+
|
29
|
+
if (settings !== null && settings !== void 0 && settings.restoreFocusOnCleanUp && previousFocusedElement.current instanceof HTMLElement) {
|
30
|
+
previousFocusedElement.current.focus();
|
31
|
+
previousFocusedElement.current = null;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
React.useEffect(() => {
|
36
|
+
if (containerRef.current instanceof HTMLElement) {
|
37
|
+
if (!disabled) {
|
38
|
+
var _initialFocusRef$curr;
|
39
|
+
|
40
|
+
abortController.current = focusTrap(containerRef.current, (_initialFocusRef$curr = initialFocusRef.current) !== null && _initialFocusRef$curr !== void 0 ? _initialFocusRef$curr : undefined);
|
41
|
+
return () => {
|
42
|
+
disableTrap();
|
43
|
+
};
|
44
|
+
} else {
|
45
|
+
disableTrap();
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
49
|
+
[containerRef, initialFocusRef, disabled, ...dependencies]);
|
50
|
+
return {
|
51
|
+
containerRef,
|
52
|
+
initialFocusRef
|
53
|
+
};
|
54
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React, { useEffect } from 'react';
|
2
|
+
import { focusZone } from '../behaviors/focusZone';
|
3
|
+
import { useProvidedRefOrCreate } from './useProvidedRefOrCreate';
|
4
|
+
export function useFocusZone(settings = {}, dependencies = []) {
|
5
|
+
const containerRef = useProvidedRefOrCreate(settings.containerRef);
|
6
|
+
const useActiveDescendant = !!settings.activeDescendantFocus;
|
7
|
+
const passedActiveDescendantRef = typeof settings.activeDescendantFocus === 'boolean' || !settings.activeDescendantFocus ? undefined : settings.activeDescendantFocus;
|
8
|
+
const activeDescendantControlRef = useProvidedRefOrCreate(passedActiveDescendantRef);
|
9
|
+
const disabled = settings.disabled;
|
10
|
+
const abortController = React.useRef();
|
11
|
+
useEffect(() => {
|
12
|
+
if (containerRef.current instanceof HTMLElement && (!useActiveDescendant || activeDescendantControlRef.current instanceof HTMLElement)) {
|
13
|
+
if (!disabled) {
|
14
|
+
var _activeDescendantCont;
|
15
|
+
|
16
|
+
const vanillaSettings = { ...settings,
|
17
|
+
activeDescendantControl: (_activeDescendantCont = activeDescendantControlRef.current) !== null && _activeDescendantCont !== void 0 ? _activeDescendantCont : undefined
|
18
|
+
};
|
19
|
+
abortController.current = focusZone(containerRef.current, vanillaSettings);
|
20
|
+
return () => {
|
21
|
+
var _abortController$curr;
|
22
|
+
|
23
|
+
(_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
|
24
|
+
};
|
25
|
+
} else {
|
26
|
+
var _abortController$curr2;
|
27
|
+
|
28
|
+
(_abortController$curr2 = abortController.current) === null || _abortController$curr2 === void 0 ? void 0 : _abortController$curr2.abort();
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
32
|
+
[disabled, ...dependencies]);
|
33
|
+
return {
|
34
|
+
containerRef,
|
35
|
+
activeDescendantControlRef
|
36
|
+
};
|
37
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { useEffect, useCallback } from 'react';
|
2
|
+
const handlers = [];
|
3
|
+
/**
|
4
|
+
* Calls all handlers in reverse order
|
5
|
+
* @param event The KeyboardEvent generated by the Escape keydown.
|
6
|
+
*/
|
7
|
+
|
8
|
+
function handleEscape(event) {
|
9
|
+
if (event.key === 'Escape' && !event.defaultPrevented) {
|
10
|
+
for (let i = handlers.length - 1; i >= 0; --i) {
|
11
|
+
handlers[i](event); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
12
|
+
|
13
|
+
if (event.defaultPrevented) {
|
14
|
+
break;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Sets up a `keydown` listener on `window.document`. If
|
21
|
+
* 1) The pressed key is "Escape", and
|
22
|
+
* 2) The event has not had `.preventDefault()` called
|
23
|
+
* The given callback will be executed.
|
24
|
+
*
|
25
|
+
* Note: If multiple `useOnEscapePress` hooks are active simultaneously, the
|
26
|
+
* callbacks will occur in reverse order. In other words, if a parent component
|
27
|
+
* and a child component both call `useOnEscapePress`, when the user presses
|
28
|
+
* Escape, the child component's callback will execute, followed by the parent's
|
29
|
+
* callback. Each callback has the chance to call `.preventDefault()` on the
|
30
|
+
* event to prevent further callbacks.
|
31
|
+
*
|
32
|
+
* @param callback {(e: KeyboardEvent) => void} The callback that gets executed
|
33
|
+
* when the Escape key is pressed. The KeyboardEvent generated by the Escape
|
34
|
+
* keypress is passed as the only argument.
|
35
|
+
*
|
36
|
+
* @param callbackDependencies {React.DependencyList} The dependencies of the given
|
37
|
+
* `onEscape` callback for memoization. Omit this param if the callback is already
|
38
|
+
* memoized. See `React.useCallback` for more info on memoization.
|
39
|
+
*/
|
40
|
+
|
41
|
+
|
42
|
+
export const useOnEscapePress = (onEscape, callbackDependencies = [onEscape]) => {
|
43
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
44
|
+
const escapeCallback = useCallback(onEscape, callbackDependencies);
|
45
|
+
useEffect(() => {
|
46
|
+
if (handlers.length === 0) {
|
47
|
+
document.addEventListener('keydown', handleEscape);
|
48
|
+
}
|
49
|
+
|
50
|
+
handlers.push(escapeCallback);
|
51
|
+
return () => {
|
52
|
+
handlers.splice(handlers.findIndex(h => h === escapeCallback), 1);
|
53
|
+
|
54
|
+
if (handlers.length === 0) {
|
55
|
+
document.removeEventListener('keydown', handleEscape);
|
56
|
+
}
|
57
|
+
};
|
58
|
+
}, [escapeCallback]);
|
59
|
+
};
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import { useEffect, useCallback, useMemo } from 'react';
|
2
|
+
// Because events are handled at the document level, we provide a mechanism for early return.
|
3
|
+
const stopPropagation = true;
|
4
|
+
/**
|
5
|
+
* Calls all handlers in reverse order
|
6
|
+
* @param event The MouseEvent generated by the click event.
|
7
|
+
*/
|
8
|
+
|
9
|
+
function handleClick(event) {
|
10
|
+
if (!event.defaultPrevented) {
|
11
|
+
for (const handler of Object.values(registry).reverse()) {
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
13
|
+
if (handler(event) === stopPropagation || event.defaultPrevented) {
|
14
|
+
break;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
const registry = {};
|
21
|
+
|
22
|
+
function register(id, handler) {
|
23
|
+
registry[id] = handler;
|
24
|
+
}
|
25
|
+
|
26
|
+
function deregister(id) {
|
27
|
+
delete registry[id];
|
28
|
+
} // For auto-incrementing unique identifiers for registered handlers.
|
29
|
+
|
30
|
+
|
31
|
+
let handlerId = 0;
|
32
|
+
export const useOnOutsideClick = ({
|
33
|
+
containerRef,
|
34
|
+
ignoreClickRefs,
|
35
|
+
onClickOutside
|
36
|
+
}) => {
|
37
|
+
const id = useMemo(() => handlerId++, []);
|
38
|
+
const handler = useCallback(event => {
|
39
|
+
var _containerRef$current;
|
40
|
+
|
41
|
+
// don't call click handler if the mouse event was triggered by an auxiliary button (right click/wheel button/etc)
|
42
|
+
if (event instanceof MouseEvent && event.button > 0) {
|
43
|
+
return stopPropagation;
|
44
|
+
} // don't call handler if the click happened inside of the container
|
45
|
+
|
46
|
+
|
47
|
+
if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(event.target)) {
|
48
|
+
return stopPropagation;
|
49
|
+
} // don't call handler if click happened on an ignored ref
|
50
|
+
|
51
|
+
|
52
|
+
if (ignoreClickRefs && ignoreClickRefs.some(({
|
53
|
+
current
|
54
|
+
}) => current === null || current === void 0 ? void 0 : current.contains(event.target))) {
|
55
|
+
return stopPropagation;
|
56
|
+
}
|
57
|
+
|
58
|
+
onClickOutside(event);
|
59
|
+
}, [containerRef, ignoreClickRefs, onClickOutside]);
|
60
|
+
useEffect(() => {
|
61
|
+
if (Object.keys(registry).length === 0) {
|
62
|
+
// use capture to ensure we get all events
|
63
|
+
document.addEventListener('mousedown', handleClick, {
|
64
|
+
capture: true
|
65
|
+
});
|
66
|
+
}
|
67
|
+
|
68
|
+
register(id, handler);
|
69
|
+
return () => {
|
70
|
+
deregister(id);
|
71
|
+
|
72
|
+
if (Object.keys(registry).length === 0) {
|
73
|
+
document.removeEventListener('mousedown', handleClick, {
|
74
|
+
capture: true
|
75
|
+
});
|
76
|
+
}
|
77
|
+
};
|
78
|
+
}, [id, handler]);
|
79
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { useEffect } from 'react';
|
2
|
+
import { iterateFocusableElements } from '../utils/iterateFocusableElements';
|
3
|
+
export function useOpenAndCloseFocus({
|
4
|
+
initialFocusRef,
|
5
|
+
returnFocusRef,
|
6
|
+
containerRef,
|
7
|
+
preventFocusOnOpen
|
8
|
+
}) {
|
9
|
+
useEffect(() => {
|
10
|
+
if (preventFocusOnOpen) {
|
11
|
+
return;
|
12
|
+
}
|
13
|
+
|
14
|
+
const returnRef = returnFocusRef.current;
|
15
|
+
|
16
|
+
if (initialFocusRef && initialFocusRef.current) {
|
17
|
+
initialFocusRef.current.focus();
|
18
|
+
} else if (containerRef.current) {
|
19
|
+
const firstItem = iterateFocusableElements(containerRef.current).next().value;
|
20
|
+
firstItem === null || firstItem === void 0 ? void 0 : firstItem.focus();
|
21
|
+
}
|
22
|
+
|
23
|
+
return function () {
|
24
|
+
returnRef === null || returnRef === void 0 ? void 0 : returnRef.focus();
|
25
|
+
};
|
26
|
+
}, [initialFocusRef, returnFocusRef, containerRef, preventFocusOnOpen]);
|
27
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { useOnOutsideClick } from './useOnOutsideClick';
|
2
|
+
import { useOpenAndCloseFocus } from './useOpenAndCloseFocus';
|
3
|
+
import { useOnEscapePress } from './useOnEscapePress';
|
4
|
+
import { useProvidedRefOrCreate } from './useProvidedRefOrCreate';
|
5
|
+
export const useOverlay = ({
|
6
|
+
overlayRef: _overlayRef,
|
7
|
+
returnFocusRef,
|
8
|
+
initialFocusRef,
|
9
|
+
onEscape,
|
10
|
+
ignoreClickRefs,
|
11
|
+
onClickOutside,
|
12
|
+
preventFocusOnOpen
|
13
|
+
}) => {
|
14
|
+
const overlayRef = useProvidedRefOrCreate(_overlayRef);
|
15
|
+
useOpenAndCloseFocus({
|
16
|
+
containerRef: overlayRef,
|
17
|
+
returnFocusRef,
|
18
|
+
initialFocusRef,
|
19
|
+
preventFocusOnOpen
|
20
|
+
});
|
21
|
+
useOnOutsideClick({
|
22
|
+
containerRef: overlayRef,
|
23
|
+
ignoreClickRefs,
|
24
|
+
onClickOutside
|
25
|
+
});
|
26
|
+
useOnEscapePress(onEscape);
|
27
|
+
return {
|
28
|
+
ref: overlayRef
|
29
|
+
};
|
30
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
/**
|
3
|
+
* There are some situations where we only want to create a new ref if one is not provided to a component
|
4
|
+
* or hook as a prop. However, due to the `rules-of-hooks`, we cannot conditionally make a call to `React.useRef`
|
5
|
+
* only in the situations where the ref is not provided as a prop.
|
6
|
+
* This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.
|
7
|
+
* @param providedRef The ref to use - if undefined, will use the ref from a call to React.useRef
|
8
|
+
* @type TRef The type of the RefObject which should be created.
|
9
|
+
*/
|
10
|
+
|
11
|
+
export function useProvidedRefOrCreate(providedRef) {
|
12
|
+
const createdRef = React.useRef(null);
|
13
|
+
return providedRef !== null && providedRef !== void 0 ? providedRef : createdRef;
|
14
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { useCallback, useState } from 'react';
|
2
|
+
/**
|
3
|
+
* There are some situations where we want to give users the option to control state externally with their own state handlers
|
4
|
+
* or default to using internal state handlers. Because of the 'rules-of-hooks', we cannot conditionally make a call to `React.useState`
|
5
|
+
* only in the situations where the state is not provided as a prop.
|
6
|
+
* This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.
|
7
|
+
* @param externalState The state to use - if undefined, will use the state from a call to React.useState
|
8
|
+
* @param setExternalState The setState to use - if undefined, will use the setState from a call to React.useState
|
9
|
+
* @param defaultState The defaultState to use, if using internal state.
|
10
|
+
*/
|
11
|
+
|
12
|
+
export function useProvidedStateOrCreate(externalState, setExternalState, defaultState) {
|
13
|
+
const [internalState, setInternalState] = useState(defaultState);
|
14
|
+
const state = externalState !== null && externalState !== void 0 ? externalState : internalState;
|
15
|
+
const setState = useCallback(s => {
|
16
|
+
setInternalState(s);
|
17
|
+
if (setExternalState) setExternalState(s);
|
18
|
+
}, [setExternalState]);
|
19
|
+
return [state, setState];
|
20
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
2
|
+
/**
|
3
|
+
* There are certain situations where a ref might be set after the current render cycle for a
|
4
|
+
* component has finished. e.g. a forward ref from a conditionally rendered child component.
|
5
|
+
* In these situations, we need to force a re-render, which is done here by the useState hook.
|
6
|
+
* @type TRef The type of the RefObject which should be created.
|
7
|
+
*/
|
8
|
+
|
9
|
+
export function useRenderForcingRef() {
|
10
|
+
const [refCurrent, setRefCurrent] = useState(null);
|
11
|
+
const ref = useRef(null);
|
12
|
+
ref.current = refCurrent;
|
13
|
+
const setRef = useCallback(newRef => {
|
14
|
+
ref.current = newRef;
|
15
|
+
setRefCurrent(newRef);
|
16
|
+
}, [ref]);
|
17
|
+
return [ref, setRef];
|
18
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import useLayoutEffect from '../utils/useIsomorphicLayoutEffect';
|
2
|
+
export function useResizeObserver(callback) {
|
3
|
+
useLayoutEffect(() => {
|
4
|
+
const observer = new window.ResizeObserver(() => callback());
|
5
|
+
observer.observe(document.documentElement);
|
6
|
+
return () => {
|
7
|
+
observer.disconnect();
|
8
|
+
};
|
9
|
+
}, [callback]);
|
10
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { useCallback, useEffect, useRef } from 'react';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Safely call `setTimeout` and `clearTimeout` within a component.
|
5
|
+
*
|
6
|
+
* This hook ensures that all timeouts are cleared when the component unmounts.
|
7
|
+
*/
|
8
|
+
export default function useSafeTimeout() {
|
9
|
+
const timers = useRef(new Set());
|
10
|
+
const safeSetTimeout = useCallback((handler, timeout, ...args) => {
|
11
|
+
const id = window.setTimeout(handler, timeout, ...args);
|
12
|
+
timers.current.add(id);
|
13
|
+
return id;
|
14
|
+
}, []);
|
15
|
+
const safeClearTimeout = useCallback(id => {
|
16
|
+
clearTimeout(id);
|
17
|
+
timers.current.delete(id);
|
18
|
+
}, []);
|
19
|
+
useEffect(() => {
|
20
|
+
return () => {
|
21
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
22
|
+
for (const id of timers.current) {
|
23
|
+
clearTimeout(id);
|
24
|
+
}
|
25
|
+
};
|
26
|
+
}, []);
|
27
|
+
return {
|
28
|
+
safeSetTimeout,
|
29
|
+
safeClearTimeout
|
30
|
+
};
|
31
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { useEffect } from 'react';
|
2
|
+
/**
|
3
|
+
* This hook will flash the scrollbars for a ref of a container that has scrollable overflow
|
4
|
+
* @param scrollContainerRef The ref of the scrollable content
|
5
|
+
*/
|
6
|
+
|
7
|
+
export default function useScrollFlash(scrollContainerRef) {
|
8
|
+
// https://adxlv.computer/projects/flash-scrollers/
|
9
|
+
useEffect(() => {
|
10
|
+
const scrollContainer = scrollContainerRef.current;
|
11
|
+
|
12
|
+
if (!scrollContainer) {
|
13
|
+
return;
|
14
|
+
}
|
15
|
+
|
16
|
+
const currentScroll = scrollContainer.scrollTop;
|
17
|
+
const maxScroll = scrollContainer.scrollHeight;
|
18
|
+
const altScroll = currentScroll < Math.min(1, maxScroll) ? currentScroll + 1 : currentScroll - 1;
|
19
|
+
scrollContainer.scrollTop = altScroll;
|
20
|
+
scrollContainer.scrollTop = currentScroll;
|
21
|
+
}, [scrollContainerRef]);
|
22
|
+
}
|
package/lib-esm/index.js
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
export { default as theme } from './theme';
|
2
2
|
export { get as themeGet } from './constants';
|
3
|
-
export { default as BaseStyles } from './BaseStyles';
|
4
|
-
|
3
|
+
export { default as BaseStyles } from './BaseStyles';
|
4
|
+
export { default as ThemeProvider, useTheme, useColorSchemeVar } from './ThemeProvider';
|
5
|
+
// Layout
|
5
6
|
export { default as BorderBox } from './BorderBox';
|
6
7
|
export { default as Box } from './Box';
|
7
8
|
export { default as Flex } from './Flex';
|
8
9
|
export { default as Grid } from './Grid';
|
9
|
-
export { default as Position, Absolute, Fixed, Relative, Sticky } from './Position';
|
10
|
-
|
10
|
+
export { default as Position, Absolute, Fixed, Relative, Sticky } from './Position';
|
11
|
+
// Hooks
|
11
12
|
export { default as useDetails } from './hooks/useDetails';
|
12
|
-
export { default as
|
13
|
+
export { default as useSafeTimeout } from './hooks/useSafeTimeout';
|
14
|
+
export { useOnOutsideClick } from './hooks/useOnOutsideClick';
|
15
|
+
export { useOpenAndCloseFocus } from './hooks/useOpenAndCloseFocus';
|
16
|
+
export { useOnEscapePress } from './hooks/useOnEscapePress';
|
17
|
+
export { useOverlay } from './hooks/useOverlay';
|
18
|
+
export { useConfirm } from './Dialog/ConfirmationDialog'; // Components
|
13
19
|
|
20
|
+
export { ActionList } from './ActionList';
|
21
|
+
export { ActionMenu } from './ActionMenu';
|
22
|
+
export { default as Autocomplete } from './Autocomplete';
|
14
23
|
export { default as Avatar } from './Avatar';
|
15
24
|
export { default as AvatarPair } from './AvatarPair';
|
16
25
|
export { default as AvatarStack } from './AvatarStack';
|
17
26
|
export { default as BranchName } from './BranchName';
|
18
|
-
export { default as Breadcrumb } from './
|
27
|
+
export { default as Breadcrumbs, Breadcrumb } from './Breadcrumbs';
|
19
28
|
export { default as Button, ButtonDanger, ButtonOutline, ButtonPrimary, ButtonInvisible, ButtonTableList, ButtonClose, ButtonGroup } from './Button';
|
29
|
+
export { NewButton } from './NewButton';
|
20
30
|
export { default as Caret } from './Caret';
|
21
31
|
export { default as CircleBadge } from './CircleBadge';
|
22
32
|
export { default as CircleOcticon } from './CircleOcticon';
|
23
33
|
export { default as CounterLabel } from './CounterLabel';
|
24
34
|
export { default as Details } from './Details';
|
25
35
|
export { default as Dialog } from './Dialog';
|
36
|
+
export { ConfirmationDialog } from './Dialog/ConfirmationDialog';
|
26
37
|
export { default as Dropdown } from './Dropdown';
|
38
|
+
export { DropdownButton, DropdownMenu } from './DropdownMenu'; // not exporting new DropdownMenu types yet due to conflict with Dropdown types above
|
39
|
+
// export type {DropdownButtonProps, DropdownMenuProps} from './DropdownMenu'
|
40
|
+
|
27
41
|
export { default as FilteredSearch } from './FilteredSearch';
|
28
42
|
export { default as FilterList } from './FilterList';
|
29
43
|
export { default as Flash } from './Flash';
|
@@ -33,20 +47,28 @@ export { default as Heading } from './Heading';
|
|
33
47
|
export { default as LabelGroup } from './LabelGroup';
|
34
48
|
export { default as Label } from './Label';
|
35
49
|
export { default as Link } from './Link';
|
50
|
+
export { default as Overlay } from './Overlay';
|
36
51
|
export { default as Pagehead } from './Pagehead';
|
37
52
|
export { default as Pagination } from './Pagination';
|
38
53
|
export { default as PointerBox } from './PointerBox';
|
39
54
|
export { default as Popover } from './Popover';
|
55
|
+
// export {default as Portal, registerPortalRoot} from './Portal'
|
56
|
+
// export type {PortalProps} from './Portal'
|
40
57
|
export { default as ProgressBar } from './ProgressBar';
|
41
58
|
export { default as SelectMenu } from './SelectMenu';
|
42
59
|
export { default as SideNav } from './SideNav';
|
60
|
+
export { default as Spinner } from './Spinner';
|
43
61
|
export { default as StateLabel } from './StateLabel';
|
44
62
|
export { default as StyledOcticon } from './StyledOcticon';
|
45
63
|
export { default as SubNav } from './SubNav';
|
46
64
|
export { default as TabNav } from './TabNav';
|
47
65
|
export { default as TextInput } from './TextInput';
|
66
|
+
export { default as TextInputWithTokens } from './TextInputWithTokens';
|
48
67
|
export { default as Text } from './Text';
|
49
68
|
export { default as Timeline } from './Timeline';
|
69
|
+
export { default as Token, IssueLabelToken, AvatarToken } from './Token';
|
50
70
|
export { default as Tooltip } from './Tooltip';
|
51
71
|
export { default as Truncate } from './Truncate';
|
52
|
-
export { default as UnderlineNav } from './UnderlineNav';
|
72
|
+
export { default as UnderlineNav } from './UnderlineNav';
|
73
|
+
export { default as Checkbox } from './Checkbox';
|
74
|
+
export { SSRProvider, useSSRSafeId } from './utils/ssr';
|