@primer/components 0.0.0-202111114525 → 0.0.0-2021111164412
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 +944 -31
- 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 +1286 -849
- package/dist/browser.esm.js.map +1 -1
- package/dist/browser.umd.js +1322 -885
- package/dist/browser.umd.js.map +1 -1
- package/lib/ActionList/Divider.d.ts +9 -0
- package/lib/ActionList/Divider.js +40 -0
- package/lib/ActionList/Group.d.ts +28 -0
- package/lib/ActionList/Group.js +35 -0
- package/lib/ActionList/Header.d.ts +29 -0
- package/lib/ActionList/Header.js +51 -0
- package/lib/ActionList/Item.d.ts +98 -0
- package/lib/ActionList/Item.js +276 -0
- package/lib/ActionList/List.d.ts +88 -0
- package/lib/ActionList/List.js +199 -0
- package/lib/ActionList/index.d.ts +17 -0
- package/lib/ActionList/index.js +29 -0
- package/lib/ActionList2/Description.d.ts +12 -0
- package/lib/ActionList2/Description.js +57 -0
- package/lib/ActionList2/Divider.d.ts +5 -0
- package/lib/ActionList2/Divider.js +35 -0
- package/lib/ActionList2/Group.d.ts +37 -0
- package/lib/ActionList2/Group.js +106 -0
- package/lib/ActionList2/Item.d.ts +63 -0
- package/lib/ActionList2/Item.js +244 -0
- package/lib/ActionList2/LinkItem.d.ts +17 -0
- package/lib/ActionList2/LinkItem.js +57 -0
- package/lib/ActionList2/List.d.ts +26 -0
- package/lib/ActionList2/List.js +58 -0
- package/lib/ActionList2/Selection.d.ts +5 -0
- package/lib/ActionList2/Selection.js +86 -0
- package/lib/ActionList2/Visuals.d.ts +9 -0
- package/lib/ActionList2/Visuals.js +90 -0
- package/lib/ActionList2/index.d.ts +36 -0
- package/lib/ActionList2/index.js +47 -0
- package/lib/ActionMenu.d.ts +40 -0
- package/lib/ActionMenu.js +103 -0
- package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
- package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
- package/lib/AnchoredOverlay/index.d.ts +2 -0
- package/lib/AnchoredOverlay/index.js +13 -0
- package/lib/Autocomplete/Autocomplete.d.ts +305 -0
- package/lib/Autocomplete/Autocomplete.js +145 -0
- package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
- package/lib/Autocomplete/AutocompleteContext.js +11 -0
- package/lib/Autocomplete/AutocompleteInput.d.ts +293 -0
- package/lib/Autocomplete/AutocompleteInput.js +157 -0
- package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
- package/lib/Autocomplete/AutocompleteMenu.js +217 -0
- package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
- package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
- package/lib/Autocomplete/index.d.ts +2 -0
- package/lib/Autocomplete/index.js +15 -0
- package/lib/Avatar.d.ts +15 -0
- package/lib/Avatar.js +0 -11
- package/lib/AvatarPair.d.ts +8 -0
- package/lib/AvatarPair.js +10 -16
- package/lib/AvatarStack.d.ts +8 -0
- package/lib/AvatarStack.js +16 -25
- package/lib/BaseStyles.d.ts +14 -0
- package/lib/BaseStyles.js +25 -31
- package/lib/BorderBox.d.ts +7 -0
- package/lib/BorderBox.js +5 -16
- package/lib/Box.d.ts +6 -0
- package/lib/Box.js +2 -15
- package/lib/BranchName.d.ts +6 -0
- package/lib/BranchName.js +1 -14
- package/lib/Breadcrumbs.d.ts +41 -0
- package/lib/Breadcrumbs.js +82 -0
- package/lib/Button/Button.d.ts +284 -0
- package/lib/Button/Button.js +3 -15
- package/lib/Button/ButtonBase.d.ts +9 -0
- package/lib/Button/ButtonBase.js +2 -25
- package/lib/Button/ButtonClose.d.ts +279 -0
- package/lib/Button/ButtonClose.js +9 -26
- package/lib/Button/ButtonDanger.d.ts +284 -0
- package/lib/Button/ButtonDanger.js +2 -14
- package/lib/Button/ButtonGroup.d.ts +4 -0
- package/lib/Button/ButtonGroup.js +2 -8
- package/lib/Button/ButtonInvisible.d.ts +284 -0
- package/lib/Button/ButtonInvisible.js +3 -15
- package/lib/Button/ButtonOutline.d.ts +284 -0
- package/lib/Button/ButtonOutline.js +2 -14
- package/lib/Button/ButtonPrimary.d.ts +284 -0
- package/lib/Button/ButtonPrimary.js +2 -14
- package/lib/Button/ButtonStyles.d.ts +2 -0
- package/lib/Button/ButtonTableList.d.ts +5 -0
- package/lib/Button/ButtonTableList.js +1 -15
- package/lib/Button/index.d.ts +16 -0
- package/lib/Button/index.js +9 -59
- package/lib/Caret.d.ts +21 -0
- package/lib/Caret.js +25 -31
- package/lib/Checkbox.d.ts +29 -0
- package/lib/Checkbox.js +64 -0
- package/lib/CheckboxInputField.d.ts +11 -0
- package/lib/CheckboxInputField.js +73 -0
- package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
- package/lib/ChoiceFieldset/ChoiceFieldCaption.js +35 -0
- package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
- package/lib/ChoiceFieldset/ChoiceFieldLabel.js +35 -0
- package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +64 -0
- package/lib/ChoiceFieldset/ChoiceFieldset.js +99 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetCaption.js +30 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +44 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetList.js +80 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +15 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +24 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetListItem.js +65 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
- package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +17 -0
- package/lib/ChoiceFieldset/index.d.ts +3 -0
- package/lib/ChoiceFieldset/index.js +23 -0
- package/lib/CircleBadge.d.ts +24 -0
- package/lib/CircleBadge.js +16 -40
- package/lib/CircleOcticon.d.ts +392 -0
- package/lib/CircleOcticon.js +9 -19
- package/lib/CounterLabel.d.ts +7 -0
- package/lib/CounterLabel.js +3 -17
- package/lib/Details.d.ts +6 -0
- package/lib/Details.js +1 -9
- package/lib/Dialog/ConfirmationDialog.d.ts +44 -0
- package/lib/Dialog/ConfirmationDialog.js +191 -0
- package/lib/Dialog/Dialog.d.ts +163 -0
- package/lib/Dialog/Dialog.js +311 -0
- package/lib/Dialog.d.ts +406 -0
- package/lib/Dialog.js +34 -49
- package/lib/Dropdown.d.ts +1177 -0
- package/lib/Dropdown.js +45 -60
- package/lib/DropdownMenu/DropdownButton.d.ts +280 -0
- package/lib/DropdownMenu/DropdownButton.js +33 -0
- package/lib/DropdownMenu/DropdownMenu.d.ts +43 -0
- package/lib/DropdownMenu/DropdownMenu.js +94 -0
- package/lib/DropdownMenu/index.d.ts +4 -0
- package/lib/DropdownMenu/index.js +21 -0
- package/lib/DropdownStyles.d.ts +3 -0
- package/lib/DropdownStyles.js +6 -6
- package/lib/FilterList.d.ts +283 -0
- package/lib/FilterList.js +2 -30
- package/lib/FilteredActionList/FilteredActionList.d.ts +16 -0
- package/lib/FilteredActionList/FilteredActionList.js +137 -0
- package/lib/FilteredActionList/index.d.ts +2 -0
- package/lib/FilteredActionList/index.js +13 -0
- package/lib/FilteredSearch.d.ts +5 -0
- package/lib/FilteredSearch.js +1 -12
- package/lib/Flash.d.ts +8 -0
- package/lib/Flash.js +35 -14
- package/lib/Flex.d.ts +7 -0
- package/lib/Flex.js +3 -5
- package/lib/FormGroup.d.ts +11 -0
- package/lib/FormGroup.js +2 -22
- package/lib/Grid.d.ts +7 -0
- package/lib/Grid.js +4 -9
- package/lib/Header.d.ts +23 -0
- package/lib/Header.js +7 -37
- package/lib/Heading.d.ts +6 -0
- package/lib/Heading.js +0 -7
- package/lib/Label.d.ts +10 -0
- package/lib/Label.js +5 -19
- package/lib/LabelGroup.d.ts +5 -0
- package/lib/LabelGroup.js +1 -9
- package/lib/Link.d.ts +9 -0
- package/lib/Link.js +2 -30
- package/lib/NewButton/button-counter.d.ts +6 -0
- package/lib/NewButton/button-counter.js +31 -0
- package/lib/NewButton/button.d.ts +13 -0
- package/lib/NewButton/button.js +308 -0
- package/lib/NewButton/index.d.ts +14 -0
- package/lib/NewButton/index.js +15 -0
- package/lib/NewButton/types.d.ts +32 -0
- package/lib/{utils → NewButton}/types.js +0 -0
- package/lib/Overlay.d.ts +66 -0
- package/lib/Overlay.js +184 -0
- package/lib/Pagehead.d.ts +5 -0
- package/lib/Pagehead.js +1 -13
- package/lib/Pagination/Pagination.d.ts +24 -0
- package/lib/Pagination/Pagination.js +14 -29
- package/lib/Pagination/index.d.ts +3 -0
- package/lib/Pagination/model.d.ts +26 -0
- package/lib/Pagination/model.js +1 -1
- package/lib/PointerBox.d.ts +11 -0
- package/lib/PointerBox.js +4 -13
- package/lib/Popover.d.ts +20 -0
- package/lib/Popover.js +15 -38
- package/lib/Portal/Portal.d.ts +25 -0
- package/lib/Portal/Portal.js +101 -0
- package/lib/Portal/index.d.ts +4 -0
- package/lib/Portal/index.js +17 -0
- package/lib/Position.d.ts +34 -0
- package/lib/Position.js +46 -46
- package/lib/ProgressBar.d.ts +21 -0
- package/lib/ProgressBar.js +3 -18
- package/lib/RadioInputField.d.ts +9 -0
- package/lib/RadioInputField.js +82 -0
- package/lib/SelectMenu/SelectMenu.d.ts +1670 -0
- package/lib/SelectMenu/SelectMenu.js +32 -44
- package/lib/SelectMenu/SelectMenuContext.d.ts +8 -0
- package/lib/SelectMenu/SelectMenuContext.js +1 -1
- package/lib/SelectMenu/SelectMenuDivider.d.ts +5 -0
- package/lib/SelectMenu/SelectMenuDivider.js +6 -14
- package/lib/SelectMenu/SelectMenuFilter.d.ts +9 -0
- package/lib/SelectMenu/SelectMenuFilter.js +13 -21
- package/lib/SelectMenu/SelectMenuFooter.d.ts +5 -0
- package/lib/SelectMenu/SelectMenuFooter.js +6 -14
- package/lib/SelectMenu/SelectMenuHeader.d.ts +10 -0
- package/lib/SelectMenu/SelectMenuHeader.js +4 -17
- package/lib/SelectMenu/SelectMenuItem.d.ts +14 -0
- package/lib/SelectMenu/SelectMenuItem.js +13 -21
- package/lib/SelectMenu/SelectMenuList.d.ts +5 -0
- package/lib/SelectMenu/SelectMenuList.js +6 -14
- package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
- package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
- package/lib/SelectMenu/SelectMenuModal.d.ts +14 -0
- package/lib/SelectMenu/SelectMenuModal.js +11 -23
- package/lib/SelectMenu/SelectMenuTab.d.ts +13 -0
- package/lib/SelectMenu/SelectMenuTab.js +16 -26
- package/lib/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
- package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
- package/lib/SelectMenu/SelectMenuTabs.d.ts +10 -0
- package/lib/SelectMenu/SelectMenuTabs.js +10 -17
- package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
- package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
- package/lib/SelectMenu/index.d.ts +2 -0
- package/lib/SelectMenu/index.js +7 -5
- package/lib/SelectPanel/SelectPanel.d.ts +25 -0
- package/lib/SelectPanel/SelectPanel.js +147 -0
- package/lib/SelectPanel/index.d.ts +2 -0
- package/lib/SelectPanel/index.js +13 -0
- package/lib/SideNav.d.ts +34 -0
- package/lib/SideNav.js +35 -51
- package/lib/Spinner.d.ts +17 -0
- package/lib/Spinner.js +60 -0
- package/lib/StateLabel.d.ts +15 -0
- package/lib/StateLabel.js +53 -23
- package/lib/StyledOcticon.d.ts +11 -0
- package/lib/StyledOcticon.js +1 -15
- package/lib/SubNav.d.ts +26 -0
- package/lib/SubNav.js +10 -40
- package/lib/TabNav.d.ts +19 -0
- package/lib/TabNav.js +29 -49
- package/lib/Text.d.ts +6 -0
- package/lib/Text.js +0 -12
- package/lib/TextInput.d.ts +14 -0
- package/lib/TextInput.js +25 -76
- package/lib/TextInputField.d.ts +581 -0
- package/lib/TextInputField.js +66 -0
- package/lib/TextInputWithTokens.d.ts +328 -0
- package/lib/TextInputWithTokens.js +318 -0
- package/lib/ThemeProvider.d.ts +26 -0
- package/lib/ThemeProvider.js +193 -0
- package/lib/Timeline.d.ts +33 -0
- package/lib/Timeline.js +54 -99
- package/lib/Token/AvatarToken.d.ts +7 -0
- package/lib/Token/AvatarToken.js +64 -0
- package/lib/Token/IssueLabelToken.d.ts +14 -0
- package/lib/Token/IssueLabelToken.js +144 -0
- package/lib/Token/Token.d.ts +15 -0
- package/lib/Token/Token.js +105 -0
- package/lib/Token/TokenBase.d.ts +31 -0
- package/lib/Token/TokenBase.js +104 -0
- package/lib/Token/_RemoveTokenButton.d.ts +12 -0
- package/lib/Token/_RemoveTokenButton.js +90 -0
- package/lib/Token/_TokenTextContainer.d.ts +3 -0
- package/lib/Token/_TokenTextContainer.js +17 -0
- package/lib/Token/index.d.ts +3 -0
- package/lib/Token/index.js +31 -0
- package/lib/Tooltip.d.ts +17 -0
- package/lib/Tooltip.js +12 -30
- package/lib/Truncate.d.ts +10 -0
- package/lib/Truncate.js +2 -18
- package/lib/UnderlineNav.d.ts +24 -0
- package/lib/UnderlineNav.js +3 -29
- package/lib/_InputCaption.d.ts +13 -0
- package/lib/_InputCaption.js +27 -0
- package/lib/_InputField/InputField.d.ts +39 -0
- package/lib/_InputField/InputField.js +90 -0
- package/lib/_InputField/InputFieldCaption.d.ts +3 -0
- package/lib/_InputField/InputFieldCaption.js +30 -0
- package/lib/_InputField/InputFieldLabel.d.ts +9 -0
- package/lib/_InputField/InputFieldLabel.js +34 -0
- package/lib/_InputField/InputFieldValidation.d.ts +6 -0
- package/lib/_InputField/InputFieldValidation.js +17 -0
- package/lib/_InputField/ToggleInputField.d.ts +13 -0
- package/lib/_InputField/ToggleInputField.js +71 -0
- package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
- package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
- package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
- package/lib/_InputField/ValidationAnimationContainer.js +48 -0
- package/lib/_InputField/index.d.ts +1 -0
- package/lib/_InputField/index.js +15 -0
- package/lib/_InputField/slots.d.ts +13 -0
- package/lib/_InputField/slots.js +17 -0
- package/lib/_InputLabel.d.ts +8 -0
- package/lib/_InputLabel.js +44 -0
- package/lib/_InputValidation.d.ts +8 -0
- package/lib/_InputValidation.js +56 -0
- package/lib/_TextInputWrapper.d.ts +10 -0
- package/lib/_TextInputWrapper.js +51 -0
- package/lib/_UnstyledTextInput.d.ts +2 -0
- package/lib/_UnstyledTextInput.js +20 -0
- package/lib/_VisuallyHidden.d.ts +6 -0
- package/lib/_VisuallyHidden.js +39 -0
- package/lib/behaviors/anchoredPosition.d.ts +89 -0
- package/lib/behaviors/anchoredPosition.js +316 -0
- package/lib/behaviors/focusTrap.d.ts +12 -0
- package/lib/behaviors/focusTrap.js +179 -0
- package/lib/behaviors/focusZone.d.ts +137 -0
- package/lib/behaviors/focusZone.js +578 -0
- package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
- package/lib/behaviors/scrollIntoViewingArea.js +39 -0
- package/lib/constants.d.ts +20 -0
- package/lib/constants.js +11 -27
- package/lib/drafts.d.ts +8 -0
- package/lib/drafts.js +31 -0
- package/lib/hooks/index.d.ts +11 -0
- package/lib/hooks/index.js +61 -0
- package/lib/hooks/useAnchoredPosition.d.ts +20 -0
- package/lib/hooks/useAnchoredPosition.js +51 -0
- package/lib/hooks/useCombinedRefs.d.ts +10 -0
- package/lib/hooks/useCombinedRefs.js +47 -0
- package/lib/hooks/useDetails.d.ts +17 -0
- package/lib/hooks/useDetails.js +10 -3
- package/lib/hooks/useDialog.d.ts +16 -0
- package/lib/hooks/useDialog.js +21 -6
- package/lib/hooks/useFocusTrap.d.ts +32 -0
- package/lib/hooks/useFocusTrap.js +69 -0
- package/lib/hooks/useFocusZone.d.ts +23 -0
- package/lib/hooks/useFocusZone.js +53 -0
- package/lib/hooks/useOnEscapePress.d.ts +23 -0
- package/lib/hooks/useOnEscapePress.js +69 -0
- package/lib/hooks/useOnOutsideClick.d.ts +8 -0
- package/lib/hooks/useOnOutsideClick.js +90 -0
- package/lib/hooks/useOpenAndCloseFocus.d.ts +8 -0
- package/lib/hooks/useOpenAndCloseFocus.js +36 -0
- package/lib/hooks/useOverlay.d.ts +15 -0
- package/lib/hooks/useOverlay.js +43 -0
- package/lib/hooks/useProvidedRefOrCreate.d.ts +10 -0
- package/lib/hooks/useProvidedRefOrCreate.js +24 -0
- package/lib/hooks/useProvidedStateOrCreate.d.ts +10 -0
- package/lib/hooks/useProvidedStateOrCreate.js +27 -0
- package/lib/hooks/useRenderForcingRef.d.ts +8 -0
- package/lib/hooks/useRenderForcingRef.js +25 -0
- package/lib/hooks/useResizeObserver.d.ts +1 -0
- package/lib/hooks/useResizeObserver.js +20 -0
- package/lib/hooks/useSafeTimeout.d.ts +12 -0
- package/lib/hooks/useSafeTimeout.js +38 -0
- package/lib/hooks/useScrollFlash.d.ts +6 -0
- package/lib/hooks/useScrollFlash.js +29 -0
- package/lib/index.d.ts +124 -0
- package/lib/index.js +229 -7
- package/lib/polyfills/eventListenerSignal.d.ts +6 -0
- package/lib/polyfills/eventListenerSignal.js +64 -0
- package/lib/sx.d.ts +14 -0
- package/lib/sx.js +8 -5
- package/lib/theme-preval.d.ts +49 -0
- package/lib/theme-preval.js +3119 -357
- package/lib/theme.d.ts +80 -0
- package/lib/theme.js +5 -8
- package/lib/utils/create-slots.d.ts +17 -0
- package/lib/utils/create-slots.js +105 -0
- package/lib/utils/deprecate.d.ts +18 -0
- package/lib/utils/deprecate.js +6 -5
- package/lib/utils/isNumeric.d.ts +1 -0
- package/lib/utils/isNumeric.js +1 -0
- package/lib/utils/iterateFocusableElements.d.ts +42 -0
- package/lib/utils/iterateFocusableElements.js +113 -0
- package/lib/utils/ssr.d.ts +1 -0
- package/lib/utils/ssr.js +19 -0
- package/lib/utils/test-deprecations.d.ts +1 -0
- package/lib/utils/test-deprecations.js +2 -1
- package/lib/utils/test-helpers.d.ts +0 -0
- package/lib/utils/test-helpers.js +9 -0
- package/lib/utils/test-matchers.d.ts +1 -0
- package/lib/utils/test-matchers.js +6 -50
- package/lib/utils/testing.d.ts +545 -0
- package/lib/utils/testing.js +65 -49
- package/lib/utils/theme.d.ts +9 -0
- package/lib/utils/theme.js +68 -0
- package/lib/utils/types/AriaRole.d.ts +1 -0
- package/lib/utils/types/AriaRole.js +1 -0
- package/lib/utils/types/ComponentProps.d.ts +9 -0
- package/lib/utils/types/ComponentProps.js +1 -0
- package/lib/utils/types/Flatten.d.ts +4 -0
- package/lib/utils/types/Flatten.js +1 -0
- package/lib/utils/types/FormValidationStatus.d.ts +1 -0
- package/lib/utils/types/FormValidationStatus.js +1 -0
- package/lib/utils/types/KeyPaths.d.ts +3 -0
- package/lib/utils/types/KeyPaths.js +1 -0
- package/lib/utils/types/MandateProps.d.ts +3 -0
- package/lib/utils/types/MandateProps.js +1 -0
- package/lib/utils/types/Merge.d.ts +19 -0
- package/lib/utils/types/Merge.js +1 -0
- package/lib/utils/types/index.d.ts +5 -0
- package/lib/utils/types/index.js +70 -0
- package/lib/utils/uniqueId.d.ts +1 -0
- package/lib/utils/uniqueId.js +12 -0
- package/lib/utils/use-force-update.d.ts +1 -0
- package/lib/utils/use-force-update.js +19 -0
- package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
- package/lib/utils/userAgent.d.ts +1 -0
- package/lib/utils/userAgent.js +15 -0
- package/lib-esm/ActionList/Divider.d.ts +9 -0
- package/lib-esm/ActionList/Divider.js +23 -0
- package/lib-esm/ActionList/Group.d.ts +28 -0
- package/lib-esm/ActionList/Group.js +24 -0
- package/lib-esm/ActionList/Header.d.ts +29 -0
- package/lib-esm/ActionList/Header.js +33 -0
- package/lib-esm/ActionList/Item.d.ts +98 -0
- package/lib-esm/ActionList/Item.js +241 -0
- package/lib-esm/ActionList/List.d.ts +88 -0
- package/lib-esm/ActionList/List.js +181 -0
- package/lib-esm/ActionList/index.d.ts +17 -0
- package/lib-esm/ActionList/index.js +18 -0
- package/lib-esm/ActionList2/Description.d.ts +12 -0
- package/lib-esm/ActionList2/Description.js +41 -0
- package/lib-esm/ActionList2/Divider.d.ts +5 -0
- package/lib-esm/ActionList2/Divider.js +23 -0
- package/lib-esm/ActionList2/Group.d.ts +37 -0
- package/lib-esm/ActionList2/Group.js +87 -0
- package/lib-esm/ActionList2/Item.d.ts +63 -0
- package/lib-esm/ActionList2/Item.js +210 -0
- package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
- package/lib-esm/ActionList2/LinkItem.js +43 -0
- package/lib-esm/ActionList2/List.d.ts +26 -0
- package/lib-esm/ActionList2/List.js +36 -0
- package/lib-esm/ActionList2/Selection.d.ts +5 -0
- package/lib-esm/ActionList2/Selection.js +68 -0
- package/lib-esm/ActionList2/Visuals.d.ts +9 -0
- package/lib-esm/ActionList2/Visuals.js +68 -0
- package/lib-esm/ActionList2/index.d.ts +36 -0
- package/lib-esm/ActionList2/index.js +33 -0
- package/lib-esm/ActionMenu.d.ts +40 -0
- package/lib-esm/ActionMenu.js +82 -0
- package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
- package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
- package/lib-esm/AnchoredOverlay/index.d.ts +2 -0
- package/lib-esm/AnchoredOverlay/index.js +1 -0
- package/lib-esm/Autocomplete/Autocomplete.d.ts +305 -0
- package/lib-esm/Autocomplete/Autocomplete.js +123 -0
- package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
- package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
- package/lib-esm/Autocomplete/AutocompleteInput.d.ts +293 -0
- package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
- package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
- package/lib-esm/Autocomplete/AutocompleteMenu.js +195 -0
- package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
- package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
- package/lib-esm/Autocomplete/index.d.ts +2 -0
- package/lib-esm/Autocomplete/index.js +1 -0
- package/lib-esm/Avatar.d.ts +15 -0
- package/lib-esm/Avatar.js +0 -9
- package/lib-esm/AvatarPair.d.ts +8 -0
- package/lib-esm/AvatarPair.js +9 -14
- package/lib-esm/AvatarStack.d.ts +8 -0
- package/lib-esm/AvatarStack.js +15 -23
- package/lib-esm/BaseStyles.d.ts +14 -0
- package/lib-esm/BaseStyles.js +23 -26
- package/lib-esm/BorderBox.d.ts +7 -0
- package/lib-esm/BorderBox.js +6 -12
- package/lib-esm/Box.d.ts +6 -0
- package/lib-esm/Box.js +2 -13
- package/lib-esm/BranchName.d.ts +6 -0
- package/lib-esm/BranchName.js +1 -12
- package/lib-esm/Breadcrumbs.d.ts +41 -0
- package/lib-esm/Breadcrumbs.js +58 -0
- package/lib-esm/Button/Button.d.ts +284 -0
- package/lib-esm/Button/Button.js +3 -10
- package/lib-esm/Button/ButtonBase.d.ts +9 -0
- package/lib-esm/Button/ButtonBase.js +1 -19
- package/lib-esm/Button/ButtonClose.d.ts +279 -0
- package/lib-esm/Button/ButtonClose.js +5 -20
- package/lib-esm/Button/ButtonDanger.d.ts +284 -0
- package/lib-esm/Button/ButtonDanger.js +2 -9
- package/lib-esm/Button/ButtonGroup.d.ts +4 -0
- package/lib-esm/Button/ButtonGroup.js +2 -7
- package/lib-esm/Button/ButtonInvisible.d.ts +284 -0
- package/lib-esm/Button/ButtonInvisible.js +3 -10
- package/lib-esm/Button/ButtonOutline.d.ts +284 -0
- package/lib-esm/Button/ButtonOutline.js +2 -9
- package/lib-esm/Button/ButtonPrimary.d.ts +284 -0
- package/lib-esm/Button/ButtonPrimary.js +2 -9
- package/lib-esm/Button/ButtonStyles.d.ts +2 -0
- package/lib-esm/Button/ButtonTableList.d.ts +5 -0
- package/lib-esm/Button/ButtonTableList.js +2 -14
- package/lib-esm/Button/index.d.ts +16 -0
- package/lib-esm/Button/index.js +8 -8
- package/lib-esm/Caret.d.ts +21 -0
- package/lib-esm/Caret.js +24 -30
- package/lib-esm/Checkbox.d.ts +29 -0
- package/lib-esm/Checkbox.js +44 -0
- package/lib-esm/CheckboxInputField.d.ts +11 -0
- package/lib-esm/CheckboxInputField.js +56 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +20 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +20 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +64 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +76 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.js +18 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +31 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +63 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +5 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +24 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.js +44 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
- package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +7 -0
- package/lib-esm/ChoiceFieldset/index.d.ts +3 -0
- package/lib-esm/ChoiceFieldset/index.js +2 -0
- package/lib-esm/CircleBadge.d.ts +24 -0
- package/lib-esm/CircleBadge.js +15 -39
- package/lib-esm/CircleOcticon.d.ts +392 -0
- package/lib-esm/CircleOcticon.js +9 -16
- package/lib-esm/CounterLabel.d.ts +7 -0
- package/lib-esm/CounterLabel.js +4 -16
- package/lib-esm/Details.d.ts +6 -0
- package/lib-esm/Details.js +1 -8
- package/lib-esm/Dialog/ConfirmationDialog.d.ts +44 -0
- package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
- package/lib-esm/Dialog/Dialog.d.ts +163 -0
- package/lib-esm/Dialog/Dialog.js +275 -0
- package/lib-esm/Dialog.d.ts +406 -0
- package/lib-esm/Dialog.js +31 -46
- package/lib-esm/Dropdown.d.ts +1177 -0
- package/lib-esm/Dropdown.js +38 -58
- package/lib-esm/DropdownMenu/DropdownButton.d.ts +280 -0
- package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
- package/lib-esm/DropdownMenu/DropdownMenu.d.ts +43 -0
- package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
- package/lib-esm/DropdownMenu/index.d.ts +4 -0
- package/lib-esm/DropdownMenu/index.js +2 -0
- package/lib-esm/DropdownStyles.d.ts +3 -0
- package/lib-esm/DropdownStyles.js +6 -6
- package/lib-esm/FilterList.d.ts +283 -0
- package/lib-esm/FilterList.js +3 -29
- package/lib-esm/FilteredActionList/FilteredActionList.d.ts +16 -0
- package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
- package/lib-esm/FilteredActionList/index.d.ts +2 -0
- package/lib-esm/FilteredActionList/index.js +1 -0
- package/lib-esm/FilteredSearch.d.ts +5 -0
- package/lib-esm/FilteredSearch.js +2 -11
- package/lib-esm/Flash.d.ts +8 -0
- package/lib-esm/Flash.js +36 -13
- package/lib-esm/Flex.d.ts +7 -0
- package/lib-esm/Flex.js +4 -4
- package/lib-esm/FormGroup.d.ts +11 -0
- package/lib-esm/FormGroup.js +3 -20
- package/lib-esm/Grid.d.ts +7 -0
- package/lib-esm/Grid.js +5 -7
- package/lib-esm/Header.d.ts +23 -0
- package/lib-esm/Header.js +6 -34
- package/lib-esm/Heading.d.ts +6 -0
- package/lib-esm/Heading.js +0 -6
- package/lib-esm/Label.d.ts +10 -0
- package/lib-esm/Label.js +3 -15
- package/lib-esm/LabelGroup.d.ts +5 -0
- package/lib-esm/LabelGroup.js +2 -9
- package/lib-esm/Link.d.ts +9 -0
- package/lib-esm/Link.js +2 -28
- package/lib-esm/NewButton/button-counter.d.ts +6 -0
- package/lib-esm/NewButton/button-counter.js +18 -0
- package/lib-esm/NewButton/button.d.ts +13 -0
- package/lib-esm/NewButton/button.js +287 -0
- package/lib-esm/NewButton/index.d.ts +14 -0
- package/lib-esm/NewButton/index.js +5 -0
- package/lib-esm/NewButton/types.d.ts +32 -0
- package/lib-esm/NewButton/types.js +1 -0
- package/lib-esm/Overlay.d.ts +66 -0
- package/lib-esm/Overlay.js +160 -0
- package/lib-esm/Pagehead.d.ts +5 -0
- package/lib-esm/Pagehead.js +2 -12
- package/lib-esm/Pagination/Pagination.d.ts +24 -0
- package/lib-esm/Pagination/Pagination.js +15 -28
- package/lib-esm/Pagination/index.d.ts +3 -0
- package/lib-esm/Pagination/model.d.ts +26 -0
- package/lib-esm/Pagination/model.js +1 -1
- package/lib-esm/PointerBox.d.ts +11 -0
- package/lib-esm/PointerBox.js +4 -11
- package/lib-esm/Popover.d.ts +20 -0
- package/lib-esm/Popover.js +13 -36
- package/lib-esm/Portal/Portal.d.ts +25 -0
- package/lib-esm/Portal/Portal.js +83 -0
- package/lib-esm/Portal/index.d.ts +4 -0
- package/lib-esm/Portal/index.js +3 -0
- package/lib-esm/Position.d.ts +34 -0
- package/lib-esm/Position.js +42 -37
- package/lib-esm/ProgressBar.d.ts +21 -0
- package/lib-esm/ProgressBar.js +3 -15
- package/lib-esm/RadioInputField.d.ts +9 -0
- package/lib-esm/RadioInputField.js +65 -0
- package/lib-esm/SelectMenu/SelectMenu.d.ts +1670 -0
- package/lib-esm/SelectMenu/SelectMenu.js +27 -38
- package/lib-esm/SelectMenu/SelectMenuContext.d.ts +8 -0
- package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
- package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +5 -0
- package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +9 -0
- package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
- package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +5 -0
- package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +10 -0
- package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
- package/lib-esm/SelectMenu/SelectMenuItem.d.ts +14 -0
- package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
- package/lib-esm/SelectMenu/SelectMenuList.d.ts +5 -0
- package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
- package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
- package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
- package/lib-esm/SelectMenu/SelectMenuModal.d.ts +14 -0
- package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
- package/lib-esm/SelectMenu/SelectMenuTab.d.ts +13 -0
- package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
- package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
- package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
- package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +10 -0
- package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
- package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
- package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
- package/lib-esm/SelectMenu/index.d.ts +2 -0
- package/lib-esm/SelectMenu/index.js +1 -2
- package/lib-esm/SelectPanel/SelectPanel.d.ts +25 -0
- package/lib-esm/SelectPanel/SelectPanel.js +127 -0
- package/lib-esm/SelectPanel/index.d.ts +2 -0
- package/lib-esm/SelectPanel/index.js +1 -0
- package/lib-esm/SideNav.d.ts +34 -0
- package/lib-esm/SideNav.js +29 -45
- package/lib-esm/Spinner.d.ts +17 -0
- package/lib-esm/Spinner.js +46 -0
- package/lib-esm/StateLabel.d.ts +15 -0
- package/lib-esm/StateLabel.js +55 -23
- package/lib-esm/StyledOcticon.d.ts +11 -0
- package/lib-esm/StyledOcticon.js +1 -12
- package/lib-esm/SubNav.d.ts +26 -0
- package/lib-esm/SubNav.js +10 -37
- package/lib-esm/TabNav.d.ts +19 -0
- package/lib-esm/TabNav.js +23 -46
- package/lib-esm/Text.d.ts +6 -0
- package/lib-esm/Text.js +0 -10
- package/lib-esm/TextInput.d.ts +14 -0
- package/lib-esm/TextInput.js +24 -62
- package/lib-esm/TextInputField.d.ts +581 -0
- package/lib-esm/TextInputField.js +50 -0
- package/lib-esm/TextInputWithTokens.d.ts +328 -0
- package/lib-esm/TextInputWithTokens.js +291 -0
- package/lib-esm/ThemeProvider.d.ts +26 -0
- package/lib-esm/ThemeProvider.js +161 -0
- package/lib-esm/Timeline.d.ts +33 -0
- package/lib-esm/Timeline.js +45 -94
- package/lib-esm/Token/AvatarToken.d.ts +7 -0
- package/lib-esm/Token/AvatarToken.js +43 -0
- package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
- package/lib-esm/Token/IssueLabelToken.js +124 -0
- package/lib-esm/Token/Token.d.ts +15 -0
- package/lib-esm/Token/Token.js +84 -0
- package/lib-esm/Token/TokenBase.d.ts +31 -0
- package/lib-esm/Token/TokenBase.js +83 -0
- package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
- package/lib-esm/Token/_RemoveTokenButton.js +69 -0
- package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
- package/lib-esm/Token/_TokenTextContainer.js +6 -0
- package/lib-esm/Token/index.d.ts +3 -0
- package/lib-esm/Token/index.js +3 -0
- package/lib-esm/Tooltip.d.ts +17 -0
- package/lib-esm/Tooltip.js +11 -28
- package/lib-esm/Truncate.d.ts +10 -0
- package/lib-esm/Truncate.js +2 -15
- package/lib-esm/UnderlineNav.d.ts +24 -0
- package/lib-esm/UnderlineNav.js +5 -28
- package/lib-esm/_InputCaption.d.ts +13 -0
- package/lib-esm/_InputCaption.js +16 -0
- package/lib-esm/_InputField/InputField.d.ts +39 -0
- package/lib-esm/_InputField/InputField.js +70 -0
- package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
- package/lib-esm/_InputField/InputFieldCaption.js +18 -0
- package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
- package/lib-esm/_InputField/InputFieldLabel.js +22 -0
- package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
- package/lib-esm/_InputField/InputFieldValidation.js +7 -0
- package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
- package/lib-esm/_InputField/ToggleInputField.js +54 -0
- package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
- package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
- package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
- package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
- package/lib-esm/_InputField/index.d.ts +1 -0
- package/lib-esm/_InputField/index.js +1 -0
- package/lib-esm/_InputField/slots.d.ts +13 -0
- package/lib-esm/_InputField/slots.js +5 -0
- package/lib-esm/_InputLabel.d.ts +8 -0
- package/lib-esm/_InputLabel.js +32 -0
- package/lib-esm/_InputValidation.d.ts +8 -0
- package/lib-esm/_InputValidation.js +43 -0
- package/lib-esm/_TextInputWrapper.d.ts +10 -0
- package/lib-esm/_TextInputWrapper.js +31 -0
- package/lib-esm/_UnstyledTextInput.d.ts +2 -0
- package/lib-esm/_UnstyledTextInput.js +7 -0
- package/lib-esm/_VisuallyHidden.d.ts +6 -0
- package/lib-esm/_VisuallyHidden.js +26 -0
- package/lib-esm/behaviors/anchoredPosition.d.ts +89 -0
- package/lib-esm/behaviors/anchoredPosition.js +309 -0
- package/lib-esm/behaviors/focusTrap.d.ts +12 -0
- package/lib-esm/behaviors/focusTrap.js +170 -0
- package/lib-esm/behaviors/focusZone.d.ts +137 -0
- package/lib-esm/behaviors/focusZone.js +560 -0
- package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
- package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
- package/lib-esm/constants.d.ts +20 -0
- package/lib-esm/constants.js +9 -23
- package/lib-esm/drafts.d.ts +8 -0
- package/lib-esm/drafts.js +9 -0
- package/lib-esm/hooks/index.d.ts +11 -0
- package/lib-esm/hooks/index.js +7 -0
- package/lib-esm/hooks/useAnchoredPosition.d.ts +20 -0
- package/lib-esm/hooks/useAnchoredPosition.js +35 -0
- package/lib-esm/hooks/useCombinedRefs.d.ts +10 -0
- package/lib-esm/hooks/useCombinedRefs.js +37 -0
- package/lib-esm/hooks/useDetails.d.ts +17 -0
- package/lib-esm/hooks/useDetails.js +10 -3
- package/lib-esm/hooks/useDialog.d.ts +16 -0
- package/lib-esm/hooks/useDialog.js +21 -6
- package/lib-esm/hooks/useFocusTrap.d.ts +32 -0
- package/lib-esm/hooks/useFocusTrap.js +54 -0
- package/lib-esm/hooks/useFocusZone.d.ts +23 -0
- package/lib-esm/hooks/useFocusZone.js +37 -0
- package/lib-esm/hooks/useOnEscapePress.d.ts +23 -0
- package/lib-esm/hooks/useOnEscapePress.js +59 -0
- package/lib-esm/hooks/useOnOutsideClick.d.ts +8 -0
- package/lib-esm/hooks/useOnOutsideClick.js +79 -0
- package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +8 -0
- package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
- package/lib-esm/hooks/useOverlay.d.ts +15 -0
- package/lib-esm/hooks/useOverlay.js +30 -0
- package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +10 -0
- package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
- package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +10 -0
- package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
- package/lib-esm/hooks/useRenderForcingRef.d.ts +8 -0
- package/lib-esm/hooks/useRenderForcingRef.js +18 -0
- package/lib-esm/hooks/useResizeObserver.d.ts +1 -0
- package/lib-esm/hooks/useResizeObserver.js +10 -0
- package/lib-esm/hooks/useSafeTimeout.d.ts +12 -0
- package/lib-esm/hooks/useSafeTimeout.js +31 -0
- package/lib-esm/hooks/useScrollFlash.d.ts +6 -0
- package/lib-esm/hooks/useScrollFlash.js +22 -0
- package/lib-esm/index.d.ts +124 -0
- package/lib-esm/index.js +33 -7
- package/lib-esm/polyfills/eventListenerSignal.d.ts +6 -0
- package/lib-esm/polyfills/eventListenerSignal.js +57 -0
- package/lib-esm/sx.d.ts +14 -0
- package/lib-esm/sx.js +3 -5
- package/lib-esm/theme-preval.d.ts +49 -0
- package/lib-esm/theme-preval.js +3119 -357
- package/lib-esm/theme.d.ts +80 -0
- package/lib-esm/theme.js +3 -8
- package/lib-esm/utils/create-slots.d.ts +17 -0
- package/lib-esm/utils/create-slots.js +84 -0
- package/lib-esm/utils/deprecate.d.ts +18 -0
- package/lib-esm/utils/deprecate.js +6 -5
- package/lib-esm/utils/isNumeric.d.ts +1 -0
- package/lib-esm/utils/isNumeric.js +1 -0
- package/lib-esm/utils/iterateFocusableElements.d.ts +42 -0
- package/lib-esm/utils/iterateFocusableElements.js +102 -0
- package/lib-esm/utils/ssr.d.ts +1 -0
- package/lib-esm/utils/ssr.js +1 -0
- package/lib-esm/utils/test-deprecations.d.ts +1 -0
- package/lib-esm/utils/test-deprecations.js +1 -1
- package/lib-esm/utils/{types.js → test-helpers.d.ts} +0 -0
- package/lib-esm/utils/test-helpers.js +7 -0
- package/lib-esm/utils/test-matchers.d.ts +1 -0
- package/lib-esm/utils/test-matchers.js +7 -49
- package/lib-esm/utils/testing.d.ts +545 -0
- package/lib-esm/utils/testing.js +60 -46
- package/lib-esm/utils/theme.d.ts +9 -0
- package/lib-esm/utils/theme.js +66 -0
- package/lib-esm/utils/types/AriaRole.d.ts +1 -0
- package/lib-esm/utils/types/AriaRole.js +1 -0
- package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
- package/lib-esm/utils/types/ComponentProps.js +1 -0
- package/lib-esm/utils/types/Flatten.d.ts +4 -0
- package/lib-esm/utils/types/Flatten.js +1 -0
- package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
- package/lib-esm/utils/types/FormValidationStatus.js +1 -0
- package/lib-esm/utils/types/KeyPaths.d.ts +3 -0
- package/lib-esm/utils/types/KeyPaths.js +1 -0
- package/lib-esm/utils/types/MandateProps.d.ts +3 -0
- package/lib-esm/utils/types/MandateProps.js +1 -0
- package/lib-esm/utils/types/Merge.d.ts +19 -0
- package/lib-esm/utils/types/Merge.js +1 -0
- package/lib-esm/utils/types/index.d.ts +5 -0
- package/lib-esm/utils/types/index.js +5 -0
- package/lib-esm/utils/uniqueId.d.ts +1 -0
- package/lib-esm/utils/uniqueId.js +5 -0
- package/lib-esm/utils/use-force-update.d.ts +1 -0
- package/lib-esm/utils/use-force-update.js +6 -0
- package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
- package/lib-esm/utils/userAgent.d.ts +1 -0
- package/lib-esm/utils/userAgent.js +8 -0
- package/package.json +114 -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,191 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useConfirm = useConfirm;
|
7
|
+
exports.ConfirmationDialog = void 0;
|
8
|
+
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
10
|
+
|
11
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
12
|
+
|
13
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
14
|
+
|
15
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
16
|
+
|
17
|
+
var _ThemeProvider = require("../ThemeProvider");
|
18
|
+
|
19
|
+
var _focusZone = require("../behaviors/focusZone");
|
20
|
+
|
21
|
+
var _constants = require("../constants");
|
22
|
+
|
23
|
+
var _Dialog = require("../Dialog/Dialog");
|
24
|
+
|
25
|
+
var _useFocusZone = require("../hooks/useFocusZone");
|
26
|
+
|
27
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
28
|
+
|
29
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
30
|
+
|
31
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
32
|
+
|
33
|
+
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); }
|
34
|
+
|
35
|
+
const StyledConfirmationHeader = _styledComponents.default.header.withConfig({
|
36
|
+
displayName: "ConfirmationDialog__StyledConfirmationHeader",
|
37
|
+
componentId: "sc-1ub32x2-0"
|
38
|
+
})(["padding:", ";display:flex;flex-direction:row;"], (0, _constants.get)('space.2'));
|
39
|
+
|
40
|
+
const StyledTitle = (0, _styledComponents.default)(_Box.default).withConfig({
|
41
|
+
displayName: "ConfirmationDialog__StyledTitle",
|
42
|
+
componentId: "sc-1ub32x2-1"
|
43
|
+
})(["font-size:", ";font-weight:", ";padding:6px ", ";flex-grow:1;"], (0, _constants.get)('fontSizes.3'), (0, _constants.get)('fontWeights.bold'), (0, _constants.get)('space.2'));
|
44
|
+
|
45
|
+
const ConfirmationHeader = ({
|
46
|
+
title,
|
47
|
+
onClose,
|
48
|
+
dialogLabelId
|
49
|
+
}) => {
|
50
|
+
const onCloseClick = (0, _react.useCallback)(() => {
|
51
|
+
onClose('close-button');
|
52
|
+
}, [onClose]);
|
53
|
+
return /*#__PURE__*/_react.default.createElement(StyledConfirmationHeader, null, /*#__PURE__*/_react.default.createElement(StyledTitle, {
|
54
|
+
id: dialogLabelId
|
55
|
+
}, title), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.CloseButton, {
|
56
|
+
onClose: onCloseClick
|
57
|
+
}));
|
58
|
+
};
|
59
|
+
|
60
|
+
ConfirmationHeader.displayName = "ConfirmationHeader";
|
61
|
+
const StyledConfirmationBody = (0, _styledComponents.default)(_Box.default).withConfig({
|
62
|
+
displayName: "ConfirmationDialog__StyledConfirmationBody",
|
63
|
+
componentId: "sc-1ub32x2-2"
|
64
|
+
})(["font-size:", ";padding:0 ", " ", " ", ";color:", ";flex-grow:1;"], (0, _constants.get)('fontSizes.1'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.fg.muted'));
|
65
|
+
|
66
|
+
const ConfirmationBody = ({
|
67
|
+
children
|
68
|
+
}) => {
|
69
|
+
return /*#__PURE__*/_react.default.createElement(StyledConfirmationBody, null, children);
|
70
|
+
};
|
71
|
+
|
72
|
+
ConfirmationBody.displayName = "ConfirmationBody";
|
73
|
+
const StyledConfirmationFooter = (0, _styledComponents.default)(_Box.default).withConfig({
|
74
|
+
displayName: "ConfirmationDialog__StyledConfirmationFooter",
|
75
|
+
componentId: "sc-1ub32x2-3"
|
76
|
+
})(["display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-gap:", ";align-items:end;justify-content:end;padding:", " ", " ", ";"], (0, _constants.get)('space.2'), (0, _constants.get)('space.1'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'));
|
77
|
+
|
78
|
+
const ConfirmationFooter = ({
|
79
|
+
footerButtons
|
80
|
+
}) => {
|
81
|
+
const {
|
82
|
+
containerRef: footerRef
|
83
|
+
} = (0, _useFocusZone.useFocusZone)({
|
84
|
+
bindKeys: _focusZone.FocusKeys.ArrowHorizontal | _focusZone.FocusKeys.Tab,
|
85
|
+
focusInStrategy: 'closest'
|
86
|
+
}); // Must have exactly 2 buttons!
|
87
|
+
|
88
|
+
return /*#__PURE__*/_react.default.createElement(StyledConfirmationFooter, {
|
89
|
+
ref: footerRef
|
90
|
+
}, /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Buttons, {
|
91
|
+
buttons: footerButtons !== null && footerButtons !== void 0 ? footerButtons : []
|
92
|
+
}));
|
93
|
+
};
|
94
|
+
|
95
|
+
ConfirmationFooter.displayName = "ConfirmationFooter";
|
96
|
+
|
97
|
+
/**
|
98
|
+
* A ConfirmationDialog is a special kind of dialog with more rigid behavior. It
|
99
|
+
* is used to confirm a user action. ConfirmationDialogs always have exactly
|
100
|
+
* two buttons: one to cancel the action and one to confirm it. No custom
|
101
|
+
* rendering capabilities are provided for ConfirmationDialog.
|
102
|
+
*/
|
103
|
+
const ConfirmationDialog = props => {
|
104
|
+
const {
|
105
|
+
onClose,
|
106
|
+
title,
|
107
|
+
cancelButtonContent = 'Cancel',
|
108
|
+
confirmButtonContent = 'OK',
|
109
|
+
confirmButtonType = 'normal',
|
110
|
+
children
|
111
|
+
} = props;
|
112
|
+
const onCancelButtonClick = (0, _react.useCallback)(() => {
|
113
|
+
onClose('cancel');
|
114
|
+
}, [onClose]);
|
115
|
+
const onConfirmButtonClick = (0, _react.useCallback)(() => {
|
116
|
+
onClose('confirm');
|
117
|
+
}, [onClose]);
|
118
|
+
const cancelButton = {
|
119
|
+
content: cancelButtonContent,
|
120
|
+
onClick: onCancelButtonClick
|
121
|
+
};
|
122
|
+
const confirmButton = {
|
123
|
+
content: confirmButtonContent,
|
124
|
+
buttonType: confirmButtonType,
|
125
|
+
onClick: onConfirmButtonClick,
|
126
|
+
autoFocus: true
|
127
|
+
};
|
128
|
+
const footerButtons = [cancelButton, confirmButton];
|
129
|
+
return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
|
130
|
+
onClose: onClose,
|
131
|
+
title: title,
|
132
|
+
footerButtons: footerButtons,
|
133
|
+
role: "alertdialog",
|
134
|
+
width: "medium",
|
135
|
+
renderHeader: ConfirmationHeader,
|
136
|
+
renderBody: ConfirmationBody,
|
137
|
+
renderFooter: ConfirmationFooter
|
138
|
+
}, children);
|
139
|
+
};
|
140
|
+
|
141
|
+
exports.ConfirmationDialog = ConfirmationDialog;
|
142
|
+
ConfirmationDialog.displayName = "ConfirmationDialog";
|
143
|
+
|
144
|
+
async function confirm(themeProps, options) {
|
145
|
+
const {
|
146
|
+
content,
|
147
|
+
...confirmationDialogProps
|
148
|
+
} = options;
|
149
|
+
return new Promise(resolve => {
|
150
|
+
const hostElement = document.createElement('div');
|
151
|
+
|
152
|
+
const onClose = gesture => {
|
153
|
+
_reactDom.default.unmountComponentAtNode(hostElement);
|
154
|
+
|
155
|
+
if (gesture === 'confirm') {
|
156
|
+
resolve(true);
|
157
|
+
} else {
|
158
|
+
resolve(false);
|
159
|
+
}
|
160
|
+
};
|
161
|
+
|
162
|
+
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_ThemeProvider.ThemeProvider, themeProps, /*#__PURE__*/_react.default.createElement(ConfirmationDialog, _extends({}, confirmationDialogProps, {
|
163
|
+
onClose: onClose
|
164
|
+
}), content)), hostElement);
|
165
|
+
});
|
166
|
+
}
|
167
|
+
/**
|
168
|
+
* This hook takes no parameters and returns an `async` function, `confirm`. When `confirm`
|
169
|
+
* is called, it shows the confirmation dialog. When the dialog is dismissed, a promise is
|
170
|
+
* resolved with `true` or `false` depending on whether or not the confirm button was used.
|
171
|
+
*/
|
172
|
+
|
173
|
+
|
174
|
+
function useConfirm() {
|
175
|
+
const {
|
176
|
+
theme,
|
177
|
+
colorMode,
|
178
|
+
dayScheme,
|
179
|
+
nightScheme
|
180
|
+
} = (0, _ThemeProvider.useTheme)();
|
181
|
+
const result = (0, _react.useCallback)(options => {
|
182
|
+
const themeProps = {
|
183
|
+
theme,
|
184
|
+
colorMode,
|
185
|
+
dayScheme,
|
186
|
+
nightScheme
|
187
|
+
};
|
188
|
+
return confirm(themeProps, options);
|
189
|
+
}, [theme, colorMode, dayScheme, nightScheme]);
|
190
|
+
return result;
|
191
|
+
}
|
@@ -0,0 +1,163 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ButtonProps } from '../Button';
|
3
|
+
import { SxProp } from '../sx';
|
4
|
+
/**
|
5
|
+
* Props that characterize a button to be rendered into the footer of
|
6
|
+
* a Dialog.
|
7
|
+
*/
|
8
|
+
export declare type DialogButtonProps = ButtonProps & {
|
9
|
+
/**
|
10
|
+
* The type of Button element to use
|
11
|
+
*/
|
12
|
+
buttonType?: 'normal' | 'primary' | 'danger';
|
13
|
+
/**
|
14
|
+
* The Button's inner text
|
15
|
+
*/
|
16
|
+
content: React.ReactNode;
|
17
|
+
/**
|
18
|
+
* If true, and if this is the only button with autoFocus set to true,
|
19
|
+
* focus this button automatically when the dialog appears.
|
20
|
+
*/
|
21
|
+
autoFocus?: boolean;
|
22
|
+
/**
|
23
|
+
* A reference to the rendered Button’s DOM node, used together with
|
24
|
+
* `autoFocus` for `focusTrap`’s `initialFocus`.
|
25
|
+
*/
|
26
|
+
ref?: React.RefObject<HTMLButtonElement>;
|
27
|
+
};
|
28
|
+
/**
|
29
|
+
* Props to customize the rendering of the Dialog.
|
30
|
+
*/
|
31
|
+
export interface DialogProps {
|
32
|
+
/**
|
33
|
+
* Title of the Dialog. Also serves as the aria-label for this Dialog.
|
34
|
+
*/
|
35
|
+
title?: React.ReactNode;
|
36
|
+
/**
|
37
|
+
* The Dialog's subtitle. Optional. Rendered below the title in smaller
|
38
|
+
* type with less contrast. Also serves as the aria-describedby for this
|
39
|
+
* Dialog.
|
40
|
+
*/
|
41
|
+
subtitle?: React.ReactNode;
|
42
|
+
/**
|
43
|
+
* Provide a custom renderer for the dialog header. This content is
|
44
|
+
* rendered directly into the dialog body area, full bleed from edge
|
45
|
+
* to edge, top to the start of the body element.
|
46
|
+
*
|
47
|
+
* Warning: using a custom renderer may violate Primer UX principles.
|
48
|
+
*/
|
49
|
+
renderHeader?: React.FunctionComponent<DialogHeaderProps>;
|
50
|
+
/**
|
51
|
+
* Provide a custom render function for the dialog body. This content is
|
52
|
+
* rendered directly into the dialog body area, full bleed from edge to
|
53
|
+
* edge, header to footer.
|
54
|
+
*
|
55
|
+
* Warning: using a custom renderer may violate Primer UX principles.
|
56
|
+
*/
|
57
|
+
renderBody?: React.FunctionComponent<DialogProps>;
|
58
|
+
/**
|
59
|
+
* Provide a custom render function for the dialog footer. This content is
|
60
|
+
* rendered directly into the dialog footer area, full bleed from edge to
|
61
|
+
* edge, end of the body element to bottom.
|
62
|
+
*
|
63
|
+
* Warning: using a custom renderer may violate Primer UX principles.
|
64
|
+
*/
|
65
|
+
renderFooter?: React.FunctionComponent<DialogProps>;
|
66
|
+
/**
|
67
|
+
* Specifies the buttons to be rendered in the Dialog footer.
|
68
|
+
*/
|
69
|
+
footerButtons?: DialogButtonProps[];
|
70
|
+
/**
|
71
|
+
* This method is invoked when a gesture to close the dialog is used (either
|
72
|
+
* an Escape key press or clicking the "X" in the top-right corner). The
|
73
|
+
* gesture argument indicates the gesture that was used to close the dialog
|
74
|
+
* (either 'close-button' or 'escape').
|
75
|
+
*/
|
76
|
+
onClose: (gesture: 'close-button' | 'escape') => void;
|
77
|
+
/**
|
78
|
+
* Default: "dialog". The ARIA role to assign to this dialog.
|
79
|
+
* @see https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal
|
80
|
+
* @see https://www.w3.org/TR/wai-aria-practices-1.1/#alertdialog
|
81
|
+
*/
|
82
|
+
role?: 'dialog' | 'alertdialog';
|
83
|
+
/**
|
84
|
+
* The width of the dialog.
|
85
|
+
* small: 296px
|
86
|
+
* medium: 320px
|
87
|
+
* large: 480px
|
88
|
+
* xlarge: 640px
|
89
|
+
*/
|
90
|
+
width?: DialogWidth;
|
91
|
+
/**
|
92
|
+
* The height of the dialog.
|
93
|
+
* small: 296x480
|
94
|
+
* large: 480x640
|
95
|
+
* auto: variable based on contents
|
96
|
+
*/
|
97
|
+
height?: DialogHeight;
|
98
|
+
}
|
99
|
+
/**
|
100
|
+
* Props that are passed to a component that serves as a dialog header
|
101
|
+
*/
|
102
|
+
export interface DialogHeaderProps extends DialogProps {
|
103
|
+
/**
|
104
|
+
* ID of the element that will be used as the `aria-labelledby` attribute on the
|
105
|
+
* dialog. This ID should be set to the element that renders the dialog's title.
|
106
|
+
*/
|
107
|
+
dialogLabelId: string;
|
108
|
+
/**
|
109
|
+
* ID of the element that will be used as the `aria-describedby` attribute on the
|
110
|
+
* dialog. This ID should be set to the element that renders the dialog's subtitle.
|
111
|
+
*/
|
112
|
+
dialogDescriptionId: string;
|
113
|
+
}
|
114
|
+
declare const heightMap: {
|
115
|
+
readonly small: "480px";
|
116
|
+
readonly large: "640px";
|
117
|
+
readonly auto: "auto";
|
118
|
+
};
|
119
|
+
declare const widthMap: {
|
120
|
+
readonly small: "296px";
|
121
|
+
readonly medium: "320px";
|
122
|
+
readonly large: "480px";
|
123
|
+
readonly xlarge: "640px";
|
124
|
+
};
|
125
|
+
export declare type DialogWidth = keyof typeof widthMap;
|
126
|
+
export declare type DialogHeight = keyof typeof heightMap;
|
127
|
+
/**
|
128
|
+
* A dialog is a type of overlay that can be used for confirming actions, asking
|
129
|
+
* for disambiguation, and presenting small forms. They generally allow the user
|
130
|
+
* to focus on a quick task without having to navigate to a different page.
|
131
|
+
*
|
132
|
+
* Dialogs appear in the page after a direct user interaction. Don't show dialogs
|
133
|
+
* on page load or as system alerts.
|
134
|
+
*
|
135
|
+
* Dialogs appear centered in the page, with a visible backdrop that dims the rest
|
136
|
+
* of the window for focus.
|
137
|
+
*
|
138
|
+
* All dialogs have a title and a close button.
|
139
|
+
*
|
140
|
+
* Dialogs are modal. Dialogs can be dismissed by clicking on the close button,
|
141
|
+
* pressing the escape key, or by interacting with another button in the dialog.
|
142
|
+
* To avoid losing information and missing important messages, clicking outside
|
143
|
+
* of the dialog will not close it.
|
144
|
+
*
|
145
|
+
* The sub components provided (e.g. Header, Title, etc.) are available for custom
|
146
|
+
* renderers only. They are not intended to be used otherwise.
|
147
|
+
*/
|
148
|
+
export declare const Dialog: React.ForwardRefExoticComponent<DialogProps & {
|
149
|
+
children?: React.ReactNode;
|
150
|
+
} & React.RefAttributes<HTMLDivElement>> & {
|
151
|
+
Header: import("styled-components").StyledComponent<"div", any, {}, never>;
|
152
|
+
Title: import("styled-components").StyledComponent<"div", any, SxProp, never>;
|
153
|
+
Subtitle: import("styled-components").StyledComponent<"div", any, SxProp, never>;
|
154
|
+
Body: import("styled-components").StyledComponent<"div", any, SxProp, never>;
|
155
|
+
Footer: import("styled-components").StyledComponent<"div", any, SxProp, never>;
|
156
|
+
Buttons: React.FC<{
|
157
|
+
buttons: DialogButtonProps[];
|
158
|
+
}>;
|
159
|
+
CloseButton: React.FC<{
|
160
|
+
onClose: () => void;
|
161
|
+
}>;
|
162
|
+
};
|
163
|
+
export {};
|
@@ -0,0 +1,311 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Dialog = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
11
|
+
|
12
|
+
var _Button = _interopRequireWildcard(require("../Button"));
|
13
|
+
|
14
|
+
var _Box = _interopRequireDefault(require("../Box"));
|
15
|
+
|
16
|
+
var _constants = require("../constants");
|
17
|
+
|
18
|
+
var _hooks = require("../hooks");
|
19
|
+
|
20
|
+
var _useFocusTrap = require("../hooks/useFocusTrap");
|
21
|
+
|
22
|
+
var _sx = _interopRequireDefault(require("../sx"));
|
23
|
+
|
24
|
+
var _StyledOcticon = _interopRequireDefault(require("../StyledOcticon"));
|
25
|
+
|
26
|
+
var _octiconsReact = require("@primer/octicons-react");
|
27
|
+
|
28
|
+
var _useFocusZone = require("../hooks/useFocusZone");
|
29
|
+
|
30
|
+
var _focusZone = require("../behaviors/focusZone");
|
31
|
+
|
32
|
+
var _Portal = _interopRequireDefault(require("../Portal"));
|
33
|
+
|
34
|
+
var _useCombinedRefs = require("../hooks/useCombinedRefs");
|
35
|
+
|
36
|
+
var _ssr = require("@react-aria/ssr");
|
37
|
+
|
38
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
39
|
+
|
40
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
41
|
+
|
42
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
43
|
+
|
44
|
+
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); }
|
45
|
+
|
46
|
+
const ANIMATION_DURATION = '200ms';
|
47
|
+
/**
|
48
|
+
* Props that characterize a button to be rendered into the footer of
|
49
|
+
* a Dialog.
|
50
|
+
*/
|
51
|
+
|
52
|
+
const Backdrop = (0, _styledComponents.default)('div').withConfig({
|
53
|
+
displayName: "Dialog__Backdrop",
|
54
|
+
componentId: "sc-11pkgky-0"
|
55
|
+
})(["position:fixed;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4);animation:dialog-backdrop-appear ", " ", ";@keyframes dialog-backdrop-appear{0%{opacity:0;}100%{opacity:1;}}"], ANIMATION_DURATION, (0, _constants.get)('animation.easeOutCubic'));
|
56
|
+
const heightMap = {
|
57
|
+
small: '480px',
|
58
|
+
large: '640px',
|
59
|
+
auto: 'auto'
|
60
|
+
};
|
61
|
+
const widthMap = {
|
62
|
+
small: '296px',
|
63
|
+
medium: '320px',
|
64
|
+
large: '480px',
|
65
|
+
xlarge: '640px'
|
66
|
+
};
|
67
|
+
|
68
|
+
const StyledDialog = _styledComponents.default.div.withConfig({
|
69
|
+
displayName: "Dialog__StyledDialog",
|
70
|
+
componentId: "sc-11pkgky-1"
|
71
|
+
})(["display:flex;flex-direction:column;background-color:", ";box-shadow:", ";min-width:296px;max-width:calc(100vw - 64px);max-height:calc(100vh - 64px);width:", ";height:", ";border-radius:12px;opacity:1;animation:overlay--dialog-appear ", " ", ";@keyframes overlay--dialog-appear{0%{opacity:0;transform:scale(0.5);}100%{opacity:1;transform:scale(1);}}", ";"], (0, _constants.get)('colors.canvas.overlay'), (0, _constants.get)('shadows.overlay.shadow'), props => {
|
72
|
+
var _props$width;
|
73
|
+
|
74
|
+
return widthMap[(_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'xlarge'];
|
75
|
+
}, props => {
|
76
|
+
var _props$height;
|
77
|
+
|
78
|
+
return heightMap[(_props$height = props.height) !== null && _props$height !== void 0 ? _props$height : 'auto'];
|
79
|
+
}, ANIMATION_DURATION, (0, _constants.get)('animation.easeOutCubic'), _sx.default);
|
80
|
+
|
81
|
+
const DefaultHeader = ({
|
82
|
+
dialogLabelId,
|
83
|
+
title,
|
84
|
+
subtitle,
|
85
|
+
dialogDescriptionId,
|
86
|
+
onClose
|
87
|
+
}) => {
|
88
|
+
const onCloseClick = (0, _react.useCallback)(() => {
|
89
|
+
onClose('close-button');
|
90
|
+
}, [onClose]);
|
91
|
+
return /*#__PURE__*/_react.default.createElement(Dialog.Header, null, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
92
|
+
display: "flex"
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
94
|
+
display: "flex",
|
95
|
+
px: 2,
|
96
|
+
py: "6px",
|
97
|
+
flexDirection: "column",
|
98
|
+
flexGrow: 1
|
99
|
+
}, /*#__PURE__*/_react.default.createElement(Dialog.Title, {
|
100
|
+
id: dialogLabelId
|
101
|
+
}, title !== null && title !== void 0 ? title : 'Dialog'), subtitle && /*#__PURE__*/_react.default.createElement(Dialog.Subtitle, {
|
102
|
+
id: dialogDescriptionId
|
103
|
+
}, subtitle)), /*#__PURE__*/_react.default.createElement(Dialog.CloseButton, {
|
104
|
+
onClose: onCloseClick
|
105
|
+
})));
|
106
|
+
};
|
107
|
+
|
108
|
+
DefaultHeader.displayName = "DefaultHeader";
|
109
|
+
|
110
|
+
const DefaultBody = ({
|
111
|
+
children
|
112
|
+
}) => {
|
113
|
+
return /*#__PURE__*/_react.default.createElement(Dialog.Body, null, children);
|
114
|
+
};
|
115
|
+
|
116
|
+
DefaultBody.displayName = "DefaultBody";
|
117
|
+
|
118
|
+
const DefaultFooter = ({
|
119
|
+
footerButtons
|
120
|
+
}) => {
|
121
|
+
const {
|
122
|
+
containerRef: footerRef
|
123
|
+
} = (0, _useFocusZone.useFocusZone)({
|
124
|
+
bindKeys: _focusZone.FocusKeys.ArrowHorizontal | _focusZone.FocusKeys.Tab,
|
125
|
+
focusInStrategy: 'closest'
|
126
|
+
});
|
127
|
+
return footerButtons ? /*#__PURE__*/_react.default.createElement(Dialog.Footer, {
|
128
|
+
ref: footerRef
|
129
|
+
}, /*#__PURE__*/_react.default.createElement(Dialog.Buttons, {
|
130
|
+
buttons: footerButtons
|
131
|
+
})) : null;
|
132
|
+
};
|
133
|
+
|
134
|
+
const _Dialog = /*#__PURE__*/_react.default.forwardRef((props, forwardedRef) => {
|
135
|
+
const {
|
136
|
+
title = 'Dialog',
|
137
|
+
subtitle = '',
|
138
|
+
renderHeader,
|
139
|
+
renderBody,
|
140
|
+
renderFooter,
|
141
|
+
onClose,
|
142
|
+
role = 'dialog',
|
143
|
+
width = 'xlarge',
|
144
|
+
height = 'auto',
|
145
|
+
footerButtons = []
|
146
|
+
} = props;
|
147
|
+
const dialogLabelId = (0, _ssr.useSSRSafeId)();
|
148
|
+
const dialogDescriptionId = (0, _ssr.useSSRSafeId)();
|
149
|
+
const autoFocusedFooterButtonRef = (0, _react.useRef)(null);
|
150
|
+
|
151
|
+
for (const footerButton of footerButtons) {
|
152
|
+
if (footerButton.autoFocus) {
|
153
|
+
footerButton.ref = autoFocusedFooterButtonRef;
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
const defaultedProps = { ...props,
|
158
|
+
title,
|
159
|
+
subtitle,
|
160
|
+
role,
|
161
|
+
dialogLabelId,
|
162
|
+
dialogDescriptionId
|
163
|
+
};
|
164
|
+
const dialogRef = (0, _react.useRef)(null);
|
165
|
+
const combinedRef = (0, _useCombinedRefs.useCombinedRefs)(dialogRef, forwardedRef);
|
166
|
+
const backdropRef = (0, _react.useRef)(null);
|
167
|
+
(0, _useFocusTrap.useFocusTrap)({
|
168
|
+
containerRef: dialogRef,
|
169
|
+
restoreFocusOnCleanUp: true,
|
170
|
+
initialFocusRef: autoFocusedFooterButtonRef
|
171
|
+
});
|
172
|
+
(0, _hooks.useOnEscapePress)(event => {
|
173
|
+
onClose('escape');
|
174
|
+
event.preventDefault();
|
175
|
+
}, [onClose]);
|
176
|
+
const header = (renderHeader !== null && renderHeader !== void 0 ? renderHeader : DefaultHeader)(defaultedProps);
|
177
|
+
const body = (renderBody !== null && renderBody !== void 0 ? renderBody : DefaultBody)(defaultedProps);
|
178
|
+
const footer = (renderFooter !== null && renderFooter !== void 0 ? renderFooter : DefaultFooter)(defaultedProps);
|
179
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Portal.default, null, /*#__PURE__*/_react.default.createElement(Backdrop, {
|
180
|
+
ref: backdropRef
|
181
|
+
}, /*#__PURE__*/_react.default.createElement(StyledDialog, {
|
182
|
+
width: width,
|
183
|
+
height: height,
|
184
|
+
ref: combinedRef,
|
185
|
+
role: role,
|
186
|
+
"aria-labelledby": dialogLabelId,
|
187
|
+
"aria-describedby": dialogDescriptionId
|
188
|
+
}, header, body, footer))));
|
189
|
+
});
|
190
|
+
|
191
|
+
_Dialog.displayName = 'Dialog';
|
192
|
+
|
193
|
+
const Header = _styledComponents.default.div.attrs({
|
194
|
+
as: 'header'
|
195
|
+
}).withConfig({
|
196
|
+
displayName: "Dialog__Header",
|
197
|
+
componentId: "sc-11pkgky-2"
|
198
|
+
})(["box-shadow:0 1px 0 ", ";padding:", ";z-index:1;flex-shrink:0;"], (0, _constants.get)('colors.border.default'), (0, _constants.get)('space.2'));
|
199
|
+
|
200
|
+
const Title = _styledComponents.default.div.withConfig({
|
201
|
+
displayName: "Dialog__Title",
|
202
|
+
componentId: "sc-11pkgky-3"
|
203
|
+
})(["font-size:", ";font-weight:", ";", ";"], (0, _constants.get)('fontSizes.1'), (0, _constants.get)('fontWeights.bold'), _sx.default);
|
204
|
+
|
205
|
+
const Subtitle = _styledComponents.default.div.withConfig({
|
206
|
+
displayName: "Dialog__Subtitle",
|
207
|
+
componentId: "sc-11pkgky-4"
|
208
|
+
})(["font-size:", ";margin-top:", ";color:", ";", ";"], (0, _constants.get)('fontSizes.0'), (0, _constants.get)('space.1'), (0, _constants.get)('colors.fg.muted'), _sx.default);
|
209
|
+
|
210
|
+
const Body = _styledComponents.default.div.withConfig({
|
211
|
+
displayName: "Dialog__Body",
|
212
|
+
componentId: "sc-11pkgky-5"
|
213
|
+
})(["flex-grow:1;overflow:auto;padding:", ";", ";"], (0, _constants.get)('space.3'), _sx.default);
|
214
|
+
|
215
|
+
const Footer = _styledComponents.default.div.attrs({
|
216
|
+
as: 'footer'
|
217
|
+
}).withConfig({
|
218
|
+
displayName: "Dialog__Footer",
|
219
|
+
componentId: "sc-11pkgky-6"
|
220
|
+
})(["box-shadow:0 -1px 0 ", ";padding:", ";display:flex;flex-flow:wrap;justify-content:flex-end;z-index:1;flex-shrink:0;button{margin-left:", ";&:first-child{margin-left:0;}}", ";"], (0, _constants.get)('colors.border.default'), (0, _constants.get)('space.3'), (0, _constants.get)('space.1'), _sx.default);
|
221
|
+
|
222
|
+
const buttonTypes = {
|
223
|
+
normal: _Button.default,
|
224
|
+
primary: _Button.ButtonPrimary,
|
225
|
+
danger: _Button.ButtonDanger
|
226
|
+
};
|
227
|
+
|
228
|
+
const Buttons = ({
|
229
|
+
buttons
|
230
|
+
}) => {
|
231
|
+
var _buttons$find;
|
232
|
+
|
233
|
+
const autoFocusRef = (0, _hooks.useProvidedRefOrCreate)((_buttons$find = buttons.find(button => button.autoFocus)) === null || _buttons$find === void 0 ? void 0 : _buttons$find.ref);
|
234
|
+
let autoFocusCount = 0;
|
235
|
+
const [hasRendered, setHasRendered] = (0, _react.useState)(0);
|
236
|
+
(0, _react.useEffect)(() => {
|
237
|
+
// hack to work around dialogs originating from other focus traps.
|
238
|
+
if (hasRendered === 1) {
|
239
|
+
var _autoFocusRef$current;
|
240
|
+
|
241
|
+
(_autoFocusRef$current = autoFocusRef.current) === null || _autoFocusRef$current === void 0 ? void 0 : _autoFocusRef$current.focus();
|
242
|
+
} else {
|
243
|
+
setHasRendered(hasRendered + 1);
|
244
|
+
}
|
245
|
+
}, [autoFocusRef, hasRendered]);
|
246
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttons.map((dialogButtonProps, index) => {
|
247
|
+
const {
|
248
|
+
content,
|
249
|
+
buttonType = 'normal',
|
250
|
+
autoFocus = false,
|
251
|
+
...buttonProps
|
252
|
+
} = dialogButtonProps;
|
253
|
+
const ButtonElement = buttonTypes[buttonType];
|
254
|
+
return /*#__PURE__*/_react.default.createElement(ButtonElement, _extends({
|
255
|
+
key: index
|
256
|
+
}, buttonProps, {
|
257
|
+
variant: buttonType,
|
258
|
+
ref: autoFocus && autoFocusCount === 0 ? (autoFocusCount++, autoFocusRef) : null
|
259
|
+
}), content);
|
260
|
+
}));
|
261
|
+
};
|
262
|
+
|
263
|
+
const DialogCloseButton = (0, _styledComponents.default)(_Button.default).withConfig({
|
264
|
+
displayName: "Dialog__DialogCloseButton",
|
265
|
+
componentId: "sc-11pkgky-7"
|
266
|
+
})(["border-radius:4px;background:transparent;border:0;vertical-align:middle;color:", ";padding:", ";align-self:flex-start;line-height:normal;box-shadow:none;"], (0, _constants.get)('colors.fg.muted'), (0, _constants.get)('space.2'));
|
267
|
+
|
268
|
+
const CloseButton = ({
|
269
|
+
onClose
|
270
|
+
}) => {
|
271
|
+
return /*#__PURE__*/_react.default.createElement(DialogCloseButton, {
|
272
|
+
"aria-label": "Close",
|
273
|
+
onClick: onClose
|
274
|
+
}, /*#__PURE__*/_react.default.createElement(_StyledOcticon.default, {
|
275
|
+
icon: _octiconsReact.XIcon
|
276
|
+
}));
|
277
|
+
};
|
278
|
+
|
279
|
+
CloseButton.displayName = "CloseButton";
|
280
|
+
|
281
|
+
/**
|
282
|
+
* A dialog is a type of overlay that can be used for confirming actions, asking
|
283
|
+
* for disambiguation, and presenting small forms. They generally allow the user
|
284
|
+
* to focus on a quick task without having to navigate to a different page.
|
285
|
+
*
|
286
|
+
* Dialogs appear in the page after a direct user interaction. Don't show dialogs
|
287
|
+
* on page load or as system alerts.
|
288
|
+
*
|
289
|
+
* Dialogs appear centered in the page, with a visible backdrop that dims the rest
|
290
|
+
* of the window for focus.
|
291
|
+
*
|
292
|
+
* All dialogs have a title and a close button.
|
293
|
+
*
|
294
|
+
* Dialogs are modal. Dialogs can be dismissed by clicking on the close button,
|
295
|
+
* pressing the escape key, or by interacting with another button in the dialog.
|
296
|
+
* To avoid losing information and missing important messages, clicking outside
|
297
|
+
* of the dialog will not close it.
|
298
|
+
*
|
299
|
+
* The sub components provided (e.g. Header, Title, etc.) are available for custom
|
300
|
+
* renderers only. They are not intended to be used otherwise.
|
301
|
+
*/
|
302
|
+
const Dialog = Object.assign(_Dialog, {
|
303
|
+
Header,
|
304
|
+
Title,
|
305
|
+
Subtitle,
|
306
|
+
Body,
|
307
|
+
Footer,
|
308
|
+
Buttons,
|
309
|
+
CloseButton
|
310
|
+
});
|
311
|
+
exports.Dialog = Dialog;
|