@redsift/design-system 11.5.0 → 11.6.0-muiv5-alpha.1
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/_virtual/_rollupPluginBabelHelpers.js +133 -0
- package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/_virtual/jsx-runtime.js +4 -0
- package/_virtual/jsx-runtime.js.map +1 -0
- package/_virtual/react-jsx-runtime.development.js +4 -0
- package/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/_virtual/react-jsx-runtime.production.min.js +4 -0
- package/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/components/alert/Alert.d.ts +9 -0
- package/components/alert/Alert.js +117 -0
- package/components/alert/Alert.js.map +1 -0
- package/components/alert/intl/en-US.json.js +7 -0
- package/components/alert/intl/en-US.json.js.map +1 -0
- package/components/alert/intl/fr-FR.json.js +7 -0
- package/components/alert/intl/fr-FR.json.js.map +1 -0
- package/components/alert/intl/index.js +10 -0
- package/components/alert/intl/index.js.map +1 -0
- package/components/alert/styles.js +54 -0
- package/components/alert/styles.js.map +1 -0
- package/components/alert/types.d.ts +49 -0
- package/components/alert/types.js +20 -0
- package/components/alert/types.js.map +1 -0
- package/components/app-bar/AppBar.d.ts +9 -0
- package/components/app-bar/AppBar.js +95 -0
- package/components/app-bar/AppBar.js.map +1 -0
- package/components/app-bar/intl/en-US.json.js +9 -0
- package/components/app-bar/intl/en-US.json.js.map +1 -0
- package/components/app-bar/intl/fr-FR.json.js +9 -0
- package/components/app-bar/intl/fr-FR.json.js.map +1 -0
- package/components/app-bar/intl/index.js +10 -0
- package/components/app-bar/intl/index.js.map +1 -0
- package/components/app-bar/styles.js +139 -0
- package/components/app-bar/styles.js.map +1 -0
- package/components/app-bar/types.d.ts +31 -0
- package/components/app-container/AppContainer.d.ts +11 -0
- package/components/app-container/AppContainer.js +117 -0
- package/components/app-container/AppContainer.js.map +1 -0
- package/components/app-container/context.d.ts +6 -0
- package/components/app-container/context.js +6 -0
- package/components/app-container/context.js.map +1 -0
- package/components/app-container/styles.js +30 -0
- package/components/app-container/styles.js.map +1 -0
- package/components/app-container/types.d.ts +51 -0
- package/components/app-content/AppContent.d.ts +9 -0
- package/components/app-content/AppContent.js +42 -0
- package/components/app-content/AppContent.js.map +1 -0
- package/components/app-content/styles.js +54 -0
- package/components/app-content/styles.js.map +1 -0
- package/components/app-content/types.d.ts +19 -0
- package/components/app-side-panel/AppSidePanel.d.ts +9 -0
- package/components/app-side-panel/AppSidePanel.js +86 -0
- package/components/app-side-panel/AppSidePanel.js.map +1 -0
- package/components/app-side-panel/intl/en-US.json.js +9 -0
- package/components/app-side-panel/intl/en-US.json.js.map +1 -0
- package/components/app-side-panel/intl/fr-FR.json.js +9 -0
- package/components/app-side-panel/intl/fr-FR.json.js.map +1 -0
- package/components/app-side-panel/intl/index.js +10 -0
- package/components/app-side-panel/intl/index.js.map +1 -0
- package/components/app-side-panel/styles.js +183 -0
- package/components/app-side-panel/styles.js.map +1 -0
- package/components/app-side-panel/types.d.ts +39 -0
- package/components/app-side-panel/types.js +15 -0
- package/components/app-side-panel/types.js.map +1 -0
- package/components/app-side-panel/useAppSidePanel.d.ts +6 -0
- package/components/app-side-panel/useAppSidePanel.js +23 -0
- package/components/app-side-panel/useAppSidePanel.js.map +1 -0
- package/components/badge/Badge.d.ts +9 -0
- package/components/badge/Badge.js +44 -0
- package/components/badge/Badge.js.map +1 -0
- package/components/badge/styles.js +93 -0
- package/components/badge/styles.js.map +1 -0
- package/components/badge/types.d.ts +37 -0
- package/components/badge/types.js +14 -0
- package/components/badge/types.js.map +1 -0
- package/components/breadcrumb-item/BreadcrumbItem.d.ts +9 -0
- package/components/breadcrumb-item/BreadcrumbItem.js +47 -0
- package/components/breadcrumb-item/BreadcrumbItem.js.map +1 -0
- package/components/breadcrumb-item/styles.js +48 -0
- package/components/breadcrumb-item/styles.js.map +1 -0
- package/components/breadcrumb-item/types.d.ts +23 -0
- package/components/breadcrumbs/Breadcrumbs.d.ts +13 -0
- package/components/breadcrumbs/Breadcrumbs.js +61 -0
- package/components/breadcrumbs/Breadcrumbs.js.map +1 -0
- package/components/breadcrumbs/styles.js +38 -0
- package/components/breadcrumbs/styles.js.map +1 -0
- package/components/breadcrumbs/types.d.ts +19 -0
- package/components/button/Button.d.ts +13 -0
- package/components/button/Button.js +92 -0
- package/components/button/Button.js.map +1 -0
- package/components/button/styles.d.ts +20 -0
- package/components/button/styles.js +219 -0
- package/components/button/styles.js.map +1 -0
- package/components/button/types.d.ts +67 -0
- package/components/button/types.js +19 -0
- package/components/button/types.js.map +1 -0
- package/components/button-group/ButtonGroup.d.ts +9 -0
- package/components/button-group/ButtonGroup.js +67 -0
- package/components/button-group/ButtonGroup.js.map +1 -0
- package/components/button-group/styles.js +103 -0
- package/components/button-group/styles.js.map +1 -0
- package/components/button-group/types.d.ts +36 -0
- package/components/button-group/types.js +19 -0
- package/components/button-group/types.js.map +1 -0
- package/components/button-link/ButtonLink.d.ts +13 -0
- package/components/button-link/ButtonLink.js +85 -0
- package/components/button-link/ButtonLink.js.map +1 -0
- package/components/button-link/types.d.ts +18 -0
- package/components/card/Card.d.ts +13 -0
- package/components/card/Card.js +81 -0
- package/components/card/Card.js.map +1 -0
- package/components/card/intl/en-US.json.js +9 -0
- package/components/card/intl/en-US.json.js.map +1 -0
- package/components/card/intl/fr-FR.json.js +9 -0
- package/components/card/intl/fr-FR.json.js.map +1 -0
- package/components/card/intl/index.js +10 -0
- package/components/card/intl/index.js.map +1 -0
- package/components/card/styles.js +63 -0
- package/components/card/styles.js.map +1 -0
- package/components/card/types.d.ts +25 -0
- package/components/card-actions/CardActions.d.ts +9 -0
- package/components/card-actions/CardActions.js +33 -0
- package/components/card-actions/CardActions.js.map +1 -0
- package/components/card-actions/styles.js +15 -0
- package/components/card-actions/styles.js.map +1 -0
- package/components/card-actions/types.d.ts +11 -0
- package/components/card-body/CardBody.d.ts +9 -0
- package/components/card-body/CardBody.js +28 -0
- package/components/card-body/CardBody.js.map +1 -0
- package/components/card-body/styles.js +18 -0
- package/components/card-body/styles.js.map +1 -0
- package/components/card-body/types.d.ts +11 -0
- package/components/card-header/CardHeader.d.ts +9 -0
- package/components/card-header/CardHeader.js +56 -0
- package/components/card-header/CardHeader.js.map +1 -0
- package/components/card-header/styles.js +31 -0
- package/components/card-header/styles.js.map +1 -0
- package/components/card-header/types.d.ts +28 -0
- package/components/checkbox/Checkbox.d.ts +11 -0
- package/components/checkbox/Checkbox.js +135 -0
- package/components/checkbox/Checkbox.js.map +1 -0
- package/components/checkbox/styles.js +113 -0
- package/components/checkbox/styles.js.map +1 -0
- package/components/checkbox/types.d.ts +60 -0
- package/components/checkbox-group/CheckboxGroup.d.ts +10 -0
- package/components/checkbox-group/CheckboxGroup.js +101 -0
- package/components/checkbox-group/CheckboxGroup.js.map +1 -0
- package/components/checkbox-group/context.js +6 -0
- package/components/checkbox-group/context.js.map +1 -0
- package/components/checkbox-group/styles.js +78 -0
- package/components/checkbox-group/styles.js.map +1 -0
- package/components/checkbox-group/types.d.ts +72 -0
- package/components/checkbox-group/types.js +18 -0
- package/components/checkbox-group/types.js.map +1 -0
- package/components/conditional-wrapper/ConditionalWrapper.d.ts +6 -0
- package/components/conditional-wrapper/ConditionalWrapper.js +13 -0
- package/components/conditional-wrapper/ConditionalWrapper.js.map +1 -0
- package/components/conditional-wrapper/types.d.ts +10 -0
- package/components/detailed-card/DetailedCard.d.ts +15 -0
- package/components/detailed-card/DetailedCard.js +170 -0
- package/components/detailed-card/DetailedCard.js.map +1 -0
- package/components/detailed-card/intl/en-US.json.js +7 -0
- package/components/detailed-card/intl/en-US.json.js.map +1 -0
- package/components/detailed-card/intl/fr-FR.json.js +7 -0
- package/components/detailed-card/intl/fr-FR.json.js.map +1 -0
- package/components/detailed-card/intl/index.js +10 -0
- package/components/detailed-card/intl/index.js.map +1 -0
- package/components/detailed-card/styles.js +49 -0
- package/components/detailed-card/styles.js.map +1 -0
- package/components/detailed-card/types.d.ts +40 -0
- package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.d.ts +9 -0
- package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js +33 -0
- package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js.map +1 -0
- package/components/detailed-card-collapsible-section-items/styles.js +35 -0
- package/components/detailed-card-collapsible-section-items/styles.js.map +1 -0
- package/components/detailed-card-collapsible-section-items/types.d.ts +16 -0
- package/components/detailed-card-header/DetailedCardHeader.d.ts +9 -0
- package/components/detailed-card-header/DetailedCardHeader.js +45 -0
- package/components/detailed-card-header/DetailedCardHeader.js.map +1 -0
- package/components/detailed-card-header/styles.js +26 -0
- package/components/detailed-card-header/styles.js.map +1 -0
- package/components/detailed-card-header/types.d.ts +20 -0
- package/components/detailed-card-section/DetailedCardSection.d.ts +9 -0
- package/components/detailed-card-section/DetailedCardSection.js +90 -0
- package/components/detailed-card-section/DetailedCardSection.js.map +1 -0
- package/components/detailed-card-section/intl/en-US.json.js +9 -0
- package/components/detailed-card-section/intl/en-US.json.js.map +1 -0
- package/components/detailed-card-section/intl/fr-FR.json.js +9 -0
- package/components/detailed-card-section/intl/fr-FR.json.js.map +1 -0
- package/components/detailed-card-section/intl/index.js +10 -0
- package/components/detailed-card-section/intl/index.js.map +1 -0
- package/components/detailed-card-section/styles.js +69 -0
- package/components/detailed-card-section/styles.js.map +1 -0
- package/components/detailed-card-section/types.d.ts +27 -0
- package/components/detailed-card-section-item/DetailedCardSectionItem.d.ts +9 -0
- package/components/detailed-card-section-item/DetailedCardSectionItem.js +64 -0
- package/components/detailed-card-section-item/DetailedCardSectionItem.js.map +1 -0
- package/components/detailed-card-section-item/styles.js +34 -0
- package/components/detailed-card-section-item/styles.js.map +1 -0
- package/components/detailed-card-section-item/types.d.ts +35 -0
- package/components/flexbox/Flexbox.d.ts +9 -0
- package/components/flexbox/Flexbox.js +44 -0
- package/components/flexbox/Flexbox.js.map +1 -0
- package/components/flexbox/styles.js +54 -0
- package/components/flexbox/styles.js.map +1 -0
- package/components/flexbox/types.d.ts +24 -0
- package/components/focus-within-group/FocusWithinGroup.d.ts +41 -0
- package/components/focus-within-group/FocusWithinGroup.js +91 -0
- package/components/focus-within-group/FocusWithinGroup.js.map +1 -0
- package/components/focus-within-group/context.d.ts +7 -0
- package/components/focus-within-group/context.js +21 -0
- package/components/focus-within-group/context.js.map +1 -0
- package/components/focus-within-group/reducer.d.ts +5 -0
- package/components/focus-within-group/reducer.js +419 -0
- package/components/focus-within-group/reducer.js.map +1 -0
- package/components/focus-within-group/types.d.ts +143 -0
- package/components/focus-within-group/types.js +42 -0
- package/components/focus-within-group/types.js.map +1 -0
- package/components/focus-within-group/useFocusOnList.d.ts +5 -0
- package/components/focus-within-group/useFocusOnList.js +44 -0
- package/components/focus-within-group/useFocusOnList.js.map +1 -0
- package/components/focus-within-group/useFocusOnListItem.d.ts +39 -0
- package/components/focus-within-group/useFocusOnListItem.js +148 -0
- package/components/focus-within-group/useFocusOnListItem.js.map +1 -0
- package/components/gradient-border/index.d.ts +14 -0
- package/components/gradient-border/index.js +38 -0
- package/components/gradient-border/index.js.map +1 -0
- package/components/grid/Grid.d.ts +13 -0
- package/components/grid/Grid.js +45 -0
- package/components/grid/Grid.js.map +1 -0
- package/components/grid/styles.js +55 -0
- package/components/grid/styles.js.map +1 -0
- package/components/grid/types.d.ts +22 -0
- package/components/grid-item/GridItem.d.ts +9 -0
- package/components/grid-item/GridItem.js +28 -0
- package/components/grid-item/GridItem.js.map +1 -0
- package/components/grid-item/styles.js +16 -0
- package/components/grid-item/styles.js.map +1 -0
- package/components/grid-item/types.d.ts +11 -0
- package/components/heading/Heading.d.ts +9 -0
- package/components/heading/Heading.js +50 -0
- package/components/heading/Heading.js.map +1 -0
- package/components/heading/styles.js +67 -0
- package/components/heading/styles.js.map +1 -0
- package/components/heading/types.d.ts +62 -0
- package/components/heading/types.js +26 -0
- package/components/heading/types.js.map +1 -0
- package/components/icon/Icon.d.ts +10 -0
- package/components/icon/Icon.js +116 -0
- package/components/icon/Icon.js.map +1 -0
- package/components/icon/styles.js +84 -0
- package/components/icon/styles.js.map +1 -0
- package/components/icon/types.d.ts +57 -0
- package/components/icon/types.js +18 -0
- package/components/icon/types.js.map +1 -0
- package/components/icon-button/IconButton.d.ts +12 -0
- package/components/icon-button/IconButton.js +81 -0
- package/components/icon-button/IconButton.js.map +1 -0
- package/components/icon-button/styles.js +31 -0
- package/components/icon-button/styles.js.map +1 -0
- package/components/icon-button/types.d.ts +56 -0
- package/components/icon-button/types.js +19 -0
- package/components/icon-button/types.js.map +1 -0
- package/components/icon-button-link/IconButtonLink.d.ts +13 -0
- package/components/icon-button-link/IconButtonLink.js +76 -0
- package/components/icon-button-link/IconButtonLink.js.map +1 -0
- package/components/icon-button-link/types.d.ts +18 -0
- package/components/item/Item.d.ts +10 -0
- package/components/item/Item.js +225 -0
- package/components/item/Item.js.map +1 -0
- package/components/item/styles.d.ts +20 -0
- package/components/item/styles.js +129 -0
- package/components/item/styles.js.map +1 -0
- package/components/item/types.d.ts +59 -0
- package/components/item/useMenuItem.js +55 -0
- package/components/item/useMenuItem.js.map +1 -0
- package/components/link/Link.d.ts +14 -0
- package/components/link/Link.js +67 -0
- package/components/link/Link.js.map +1 -0
- package/components/link/styles.d.ts +15 -0
- package/components/link/styles.js +145 -0
- package/components/link/styles.js.map +1 -0
- package/components/link/types.d.ts +40 -0
- package/components/link-button/LinkButton.d.ts +13 -0
- package/components/link-button/LinkButton.js +66 -0
- package/components/link-button/LinkButton.js.map +1 -0
- package/components/link-button/types.d.ts +13 -0
- package/components/listbox/ActiveDescendantListbox.d.ts +8 -0
- package/components/listbox/ActiveDescendantListbox.js +74 -0
- package/components/listbox/ActiveDescendantListbox.js.map +1 -0
- package/components/listbox/Listbox.d.ts +10 -0
- package/components/listbox/Listbox.js +110 -0
- package/components/listbox/Listbox.js.map +1 -0
- package/components/listbox/RovingTabindexListbox.d.ts +8 -0
- package/components/listbox/RovingTabindexListbox.js +30 -0
- package/components/listbox/RovingTabindexListbox.js.map +1 -0
- package/components/listbox/context.d.ts +7 -0
- package/components/listbox/context.js +15 -0
- package/components/listbox/context.js.map +1 -0
- package/components/listbox/reducer.d.ts +5 -0
- package/components/listbox/reducer.js +45 -0
- package/components/listbox/reducer.js.map +1 -0
- package/components/listbox/styles.js +44 -0
- package/components/listbox/styles.js.map +1 -0
- package/components/listbox/types.d.ts +101 -0
- package/components/listbox/types.js +32 -0
- package/components/listbox/types.js.map +1 -0
- package/components/listbox/useListboxItem.d.ts +12 -0
- package/components/listbox/useListboxItem.js +90 -0
- package/components/listbox/useListboxItem.js.map +1 -0
- package/components/number/Number.d.ts +9 -0
- package/components/number/Number.js +105 -0
- package/components/number/Number.js.map +1 -0
- package/components/number/styles.js +10 -0
- package/components/number/styles.js.map +1 -0
- package/components/number/types.d.ts +63 -0
- package/components/number-field/NumberField.d.ts +10 -0
- package/components/number-field/NumberField.js +216 -0
- package/components/number-field/NumberField.js.map +1 -0
- package/components/number-field/styles.js +240 -0
- package/components/number-field/styles.js.map +1 -0
- package/components/number-field/types.d.ts +74 -0
- package/components/number-field/types.js +14 -0
- package/components/number-field/types.js.map +1 -0
- package/components/pill/Pill.d.ts +9 -0
- package/components/pill/Pill.js +93 -0
- package/components/pill/Pill.js.map +1 -0
- package/components/pill/styles.js +305 -0
- package/components/pill/styles.js.map +1 -0
- package/components/pill/types.d.ts +47 -0
- package/components/pill/types.js +15 -0
- package/components/pill/types.js.map +1 -0
- package/components/progress-bar/ProgressBar.d.ts +9 -0
- package/components/progress-bar/ProgressBar.js +35 -0
- package/components/progress-bar/ProgressBar.js.map +1 -0
- package/components/progress-bar/styles.js +38 -0
- package/components/progress-bar/styles.js.map +1 -0
- package/components/progress-bar/types.d.ts +20 -0
- package/components/radio/Radio.d.ts +11 -0
- package/components/radio/Radio.js +128 -0
- package/components/radio/Radio.js.map +1 -0
- package/components/radio/styles.js +113 -0
- package/components/radio/styles.js.map +1 -0
- package/components/radio/types.d.ts +58 -0
- package/components/radio-group/RadioGroup.d.ts +10 -0
- package/components/radio-group/RadioGroup.js +89 -0
- package/components/radio-group/RadioGroup.js.map +1 -0
- package/components/radio-group/context.js +6 -0
- package/components/radio-group/context.js.map +1 -0
- package/components/radio-group/styles.js +78 -0
- package/components/radio-group/styles.js.map +1 -0
- package/components/radio-group/types.d.ts +68 -0
- package/components/radio-group/types.js +18 -0
- package/components/radio-group/types.js.map +1 -0
- package/components/shared/styles.d.ts +17 -0
- package/components/shared/styles.js +250 -0
- package/components/shared/styles.js.map +1 -0
- package/components/shield/Shield.d.ts +9 -0
- package/components/shield/Shield.js +136 -0
- package/components/shield/Shield.js.map +1 -0
- package/components/shield/styles.js +71 -0
- package/components/shield/styles.js.map +1 -0
- package/components/shield/types.d.ts +52 -0
- package/components/shield/types.js +25 -0
- package/components/shield/types.js.map +1 -0
- package/components/side-navigation-menu/SideNavigationMenu.d.ts +9 -0
- package/components/side-navigation-menu/SideNavigationMenu.js +367 -0
- package/components/side-navigation-menu/SideNavigationMenu.js.map +1 -0
- package/components/side-navigation-menu/context.js +6 -0
- package/components/side-navigation-menu/context.js.map +1 -0
- package/components/side-navigation-menu/reducer.js +26 -0
- package/components/side-navigation-menu/reducer.js.map +1 -0
- package/components/side-navigation-menu/styles.js +196 -0
- package/components/side-navigation-menu/styles.js.map +1 -0
- package/components/side-navigation-menu/types.d.ts +72 -0
- package/components/side-navigation-menu/types.js +21 -0
- package/components/side-navigation-menu/types.js.map +1 -0
- package/components/side-navigation-menu-bar/SideNavigationMenuBar.d.ts +9 -0
- package/components/side-navigation-menu-bar/SideNavigationMenuBar.js +217 -0
- package/components/side-navigation-menu-bar/SideNavigationMenuBar.js.map +1 -0
- package/components/side-navigation-menu-bar/context.js +6 -0
- package/components/side-navigation-menu-bar/context.js.map +1 -0
- package/components/side-navigation-menu-bar/styles.js +89 -0
- package/components/side-navigation-menu-bar/styles.js.map +1 -0
- package/components/side-navigation-menu-bar/types.d.ts +65 -0
- package/components/side-navigation-menu-bar/types.js +22 -0
- package/components/side-navigation-menu-bar/types.js.map +1 -0
- package/components/side-navigation-menu-bar/useSideNavigationMenuBar.d.ts +9 -0
- package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js +70 -0
- package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js.map +1 -0
- package/components/side-navigation-menu-item/SideNavigationMenuItem.d.ts +9 -0
- package/components/side-navigation-menu-item/SideNavigationMenuItem.js +115 -0
- package/components/side-navigation-menu-item/SideNavigationMenuItem.js.map +1 -0
- package/components/side-navigation-menu-item/styles.js +174 -0
- package/components/side-navigation-menu-item/styles.js.map +1 -0
- package/components/side-navigation-menu-item/types.d.ts +51 -0
- package/components/skeleton/Skeleton.d.ts +15 -0
- package/components/skeleton/Skeleton.js +42 -0
- package/components/skeleton/Skeleton.js.map +1 -0
- package/components/skeleton/styles.js +84 -0
- package/components/skeleton/styles.js.map +1 -0
- package/components/skeleton/types.d.ts +18 -0
- package/components/skeleton-circle/SkeletonCircle.d.ts +9 -0
- package/components/skeleton-circle/SkeletonCircle.js +36 -0
- package/components/skeleton-circle/SkeletonCircle.js.map +1 -0
- package/components/skeleton-circle/styles.js +26 -0
- package/components/skeleton-circle/styles.js.map +1 -0
- package/components/skeleton-circle/types.d.ts +12 -0
- package/components/skeleton-text/SkeletonText.d.ts +9 -0
- package/components/skeleton-text/SkeletonText.js +42 -0
- package/components/skeleton-text/SkeletonText.js.map +1 -0
- package/components/skeleton-text/styles.js +39 -0
- package/components/skeleton-text/styles.js.map +1 -0
- package/components/skeleton-text/types.d.ts +36 -0
- package/components/skeleton-text/types.js +20 -0
- package/components/skeleton-text/types.js.map +1 -0
- package/components/spinner/Spinner.d.ts +9 -0
- package/components/spinner/Spinner.js +82 -0
- package/components/spinner/Spinner.js.map +1 -0
- package/components/spinner/images/spinner-grey-l1.svg.js +4 -0
- package/components/spinner/images/spinner-grey-l1.svg.js.map +1 -0
- package/components/spinner/images/spinner-grey-l2.svg.js +4 -0
- package/components/spinner/images/spinner-grey-l2.svg.js.map +1 -0
- package/components/spinner/images/spinner-grey-l3.svg.js +4 -0
- package/components/spinner/images/spinner-grey-l3.svg.js.map +1 -0
- package/components/spinner/images/spinner-primary-n.svg.js +4 -0
- package/components/spinner/images/spinner-primary-n.svg.js.map +1 -0
- package/components/spinner/intl/en-US.json.js +7 -0
- package/components/spinner/intl/en-US.json.js.map +1 -0
- package/components/spinner/intl/fr-FR.json.js +7 -0
- package/components/spinner/intl/fr-FR.json.js.map +1 -0
- package/components/spinner/intl/index.js +10 -0
- package/components/spinner/intl/index.js.map +1 -0
- package/components/spinner/styles.js +13 -0
- package/components/spinner/styles.js.map +1 -0
- package/components/spinner/types.d.ts +38 -0
- package/components/spinner/types.js +16 -0
- package/components/spinner/types.js.map +1 -0
- package/components/switch/Switch.d.ts +11 -0
- package/components/switch/Switch.js +137 -0
- package/components/switch/Switch.js.map +1 -0
- package/components/switch/styles.js +187 -0
- package/components/switch/styles.js.map +1 -0
- package/components/switch/types.d.ts +58 -0
- package/components/switch-group/SwitchGroup.d.ts +10 -0
- package/components/switch-group/SwitchGroup.js +101 -0
- package/components/switch-group/SwitchGroup.js.map +1 -0
- package/components/switch-group/context.js +6 -0
- package/components/switch-group/context.js.map +1 -0
- package/components/switch-group/styles.js +78 -0
- package/components/switch-group/styles.js.map +1 -0
- package/components/switch-group/types.d.ts +72 -0
- package/components/switch-group/types.js +18 -0
- package/components/switch-group/types.js.map +1 -0
- package/components/text/Text.d.ts +9 -0
- package/components/text/Text.js +51 -0
- package/components/text/Text.js.map +1 -0
- package/components/text/styles.js +112 -0
- package/components/text/styles.js.map +1 -0
- package/components/text/types.d.ts +73 -0
- package/components/text/types.js +34 -0
- package/components/text/types.js.map +1 -0
- package/components/text-area/TextArea.d.ts +10 -0
- package/components/text-area/TextArea.js +165 -0
- package/components/text-area/TextArea.js.map +1 -0
- package/components/text-area/styles.js +240 -0
- package/components/text-area/styles.js.map +1 -0
- package/components/text-area/types.d.ts +28 -0
- package/components/text-area/types.js +14 -0
- package/components/text-area/types.js.map +1 -0
- package/components/text-field/TextField.d.ts +10 -0
- package/components/text-field/TextField.js +197 -0
- package/components/text-field/TextField.js.map +1 -0
- package/components/text-field/intl/en-US.json.js +8 -0
- package/components/text-field/intl/en-US.json.js.map +1 -0
- package/components/text-field/intl/fr-FR.json.js +8 -0
- package/components/text-field/intl/fr-FR.json.js.map +1 -0
- package/components/text-field/intl/index.js +10 -0
- package/components/text-field/intl/index.js.map +1 -0
- package/components/text-field/styles.d.ts +22 -0
- package/components/text-field/styles.js +252 -0
- package/components/text-field/styles.js.map +1 -0
- package/components/text-field/types.d.ts +99 -0
- package/components/text-field/types.js +18 -0
- package/components/text-field/types.js.map +1 -0
- package/components/theme/context.d.ts +11 -0
- package/components/theme/context.js +7 -0
- package/components/theme/context.js.map +1 -0
- package/components/theme/useTheme.d.ts +5 -0
- package/components/theme/useTheme.js +13 -0
- package/components/theme/useTheme.js.map +1 -0
- package/hooks/useBoundingRect.d.ts +8 -0
- package/hooks/useBoundingRect.js +17 -0
- package/hooks/useBoundingRect.js.map +1 -0
- package/hooks/useComputeNumberOfRows.d.ts +15 -0
- package/hooks/useComputeNumberOfRows.js +40 -0
- package/hooks/useComputeNumberOfRows.js.map +1 -0
- package/hooks/useIsLoaded.d.ts +5 -0
- package/hooks/useIsLoaded.js +14 -0
- package/hooks/useIsLoaded.js.map +1 -0
- package/hooks/useWindowSize.d.ts +8 -0
- package/hooks/useWindowSize.js +42 -0
- package/hooks/useWindowSize.js.map +1 -0
- package/index.d.ts +157 -4667
- package/index.js +121 -24514
- package/index.js.map +1 -1
- package/package.json +4 -3
- package/packages/popovers/src/components/tooltip/Tooltip.js +62 -0
- package/packages/popovers/src/components/tooltip/Tooltip.js.map +1 -0
- package/packages/popovers/src/components/tooltip/context.js +6 -0
- package/packages/popovers/src/components/tooltip/context.js.map +1 -0
- package/packages/popovers/src/components/tooltip/types.js +28 -0
- package/packages/popovers/src/components/tooltip/types.js.map +1 -0
- package/packages/popovers/src/components/tooltip/useTooltip.js +78 -0
- package/packages/popovers/src/components/tooltip/useTooltip.js.map +1 -0
- package/packages/popovers/src/components/tooltip/useTooltipContext.js +13 -0
- package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +1 -0
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js +80 -0
- package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +1 -0
- package/packages/popovers/src/components/tooltip-content/styles.js +128 -0
- package/packages/popovers/src/components/tooltip-content/styles.js.map +1 -0
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +47 -0
- package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +1 -0
- package/react-aria/internationalized/date/DateFormatter.d.ts +25 -0
- package/react-aria/internationalized/date/DateFormatter.js +187 -0
- package/react-aria/internationalized/date/DateFormatter.js.map +1 -0
- package/react-aria/internationalized/message/MessageDictionary.d.ts +7 -0
- package/react-aria/internationalized/message/MessageDictionary.js +82 -0
- package/react-aria/internationalized/message/MessageDictionary.js.map +1 -0
- package/react-aria/internationalized/message/MessageFormatter.js +38 -0
- package/react-aria/internationalized/message/MessageFormatter.js.map +1 -0
- package/react-aria/internationalized/number/NumberFormatter.d.ts +6 -0
- package/react-aria/internationalized/number/NumberFormatter.js +222 -0
- package/react-aria/internationalized/number/NumberFormatter.js.map +1 -0
- package/react-aria/internationalized/number/NumberParser.js +288 -0
- package/react-aria/internationalized/number/NumberParser.js.map +1 -0
- package/react-aria/internationalized/string/LocalizedStringDictionary.d.ts +21 -0
- package/react-aria/internationalized/string/LocalizedStringDictionary.js +118 -0
- package/react-aria/internationalized/string/LocalizedStringDictionary.js.map +1 -0
- package/react-aria/internationalized/string/LocalizedStringFormatter.d.ts +21 -0
- package/react-aria/internationalized/string/LocalizedStringFormatter.js +70 -0
- package/react-aria/internationalized/string/LocalizedStringFormatter.js.map +1 -0
- package/react-aria/react-aria/button/useButton.js +95 -0
- package/react-aria/react-aria/button/useButton.js.map +1 -0
- package/react-aria/react-aria/focus/focusSafely.js +33 -0
- package/react-aria/react-aria/focus/focusSafely.js.map +1 -0
- package/react-aria/react-aria/focus/useFocusRing.js +57 -0
- package/react-aria/react-aria/focus/useFocusRing.js.map +1 -0
- package/react-aria/react-aria/focus/useFocusable.js +47 -0
- package/react-aria/react-aria/focus/useFocusable.js.map +1 -0
- package/react-aria/react-aria/form/useFormValidation.js +112 -0
- package/react-aria/react-aria/form/useFormValidation.js.map +1 -0
- package/react-aria/react-aria/i18n/context.d.ts +19 -0
- package/react-aria/react-aria/i18n/context.js +41 -0
- package/react-aria/react-aria/i18n/context.js.map +1 -0
- package/react-aria/react-aria/i18n/useCollator.d.ts +8 -0
- package/react-aria/react-aria/i18n/useCollator.js +25 -0
- package/react-aria/react-aria/i18n/useCollator.js.map +1 -0
- package/react-aria/react-aria/i18n/useDateFormatter.d.ts +13 -0
- package/react-aria/react-aria/i18n/useDateFormatter.js +39 -0
- package/react-aria/react-aria/i18n/useDateFormatter.js.map +1 -0
- package/react-aria/react-aria/i18n/useDefaultLocale.d.ts +10 -0
- package/react-aria/react-aria/i18n/useDefaultLocale.js +67 -0
- package/react-aria/react-aria/i18n/useDefaultLocale.js.map +1 -0
- package/react-aria/react-aria/i18n/useFilter.d.ts +15 -0
- package/react-aria/react-aria/i18n/useFilter.js +58 -0
- package/react-aria/react-aria/i18n/useFilter.js.map +1 -0
- package/react-aria/react-aria/i18n/useListFormatter.d.ts +8 -0
- package/react-aria/react-aria/i18n/useListFormatter.js +20 -0
- package/react-aria/react-aria/i18n/useListFormatter.js.map +1 -0
- package/react-aria/react-aria/i18n/useLocalizedStringFormatter.d.ts +15 -0
- package/react-aria/react-aria/i18n/useLocalizedStringFormatter.js +38 -0
- package/react-aria/react-aria/i18n/useLocalizedStringFormatter.js.map +1 -0
- package/react-aria/react-aria/i18n/useMessageFormatter.d.ts +13 -0
- package/react-aria/react-aria/i18n/useMessageFormatter.js +32 -0
- package/react-aria/react-aria/i18n/useMessageFormatter.js.map +1 -0
- package/react-aria/react-aria/i18n/useNumberFormatter.d.ts +10 -0
- package/react-aria/react-aria/i18n/useNumberFormatter.js +21 -0
- package/react-aria/react-aria/i18n/useNumberFormatter.js.map +1 -0
- package/react-aria/react-aria/i18n/utils.js +49 -0
- package/react-aria/react-aria/i18n/utils.js.map +1 -0
- package/react-aria/react-aria/interactions/context.js +20 -0
- package/react-aria/react-aria/interactions/context.js.map +1 -0
- package/react-aria/react-aria/interactions/createEventHandler.js +48 -0
- package/react-aria/react-aria/interactions/createEventHandler.js.map +1 -0
- package/react-aria/react-aria/interactions/textSelection.js +85 -0
- package/react-aria/react-aria/interactions/textSelection.js.map +1 -0
- package/react-aria/react-aria/interactions/useFocus.js +53 -0
- package/react-aria/react-aria/interactions/useFocus.js.map +1 -0
- package/react-aria/react-aria/interactions/useFocusVisible.js +236 -0
- package/react-aria/react-aria/interactions/useFocusVisible.js.map +1 -0
- package/react-aria/react-aria/interactions/useFocusWithin.js +65 -0
- package/react-aria/react-aria/interactions/useFocusWithin.js.map +1 -0
- package/react-aria/react-aria/interactions/useKeyboard.js +27 -0
- package/react-aria/react-aria/interactions/useKeyboard.js.map +1 -0
- package/react-aria/react-aria/interactions/usePress.js +769 -0
- package/react-aria/react-aria/interactions/usePress.js.map +1 -0
- package/react-aria/react-aria/interactions/useScrollWheel.js +31 -0
- package/react-aria/react-aria/interactions/useScrollWheel.js.map +1 -0
- package/react-aria/react-aria/interactions/utils.js +116 -0
- package/react-aria/react-aria/interactions/utils.js.map +1 -0
- package/react-aria/react-aria/label/useField.js +42 -0
- package/react-aria/react-aria/label/useField.js.map +1 -0
- package/react-aria/react-aria/label/useLabel.js +42 -0
- package/react-aria/react-aria/label/useLabel.js.map +1 -0
- package/react-aria/react-aria/live-announcer/LiveAnnouncer.js +121 -0
- package/react-aria/react-aria/live-announcer/LiveAnnouncer.js.map +1 -0
- package/react-aria/react-aria/numberfield/intl/en-US.json.js +11 -0
- package/react-aria/react-aria/numberfield/intl/en-US.json.js.map +1 -0
- package/react-aria/react-aria/numberfield/intl/fr-FR.json.js +11 -0
- package/react-aria/react-aria/numberfield/intl/fr-FR.json.js.map +1 -0
- package/react-aria/react-aria/numberfield/intl/index.js +10 -0
- package/react-aria/react-aria/numberfield/intl/index.js.map +1 -0
- package/react-aria/react-aria/numberfield/useNumberField.js +294 -0
- package/react-aria/react-aria/numberfield/useNumberField.js.map +1 -0
- package/react-aria/react-aria/spinbutton/intl/en-US.json.js +7 -0
- package/react-aria/react-aria/spinbutton/intl/en-US.json.js.map +1 -0
- package/react-aria/react-aria/spinbutton/intl/fr-FR.json.js +7 -0
- package/react-aria/react-aria/spinbutton/intl/fr-FR.json.js.map +1 -0
- package/react-aria/react-aria/spinbutton/intl/index.js +10 -0
- package/react-aria/react-aria/spinbutton/intl/index.js.map +1 -0
- package/react-aria/react-aria/spinbutton/useSpinButton.js +168 -0
- package/react-aria/react-aria/spinbutton/useSpinButton.js.map +1 -0
- package/react-aria/react-aria/ssr/SSRProvider.d.ts +22 -0
- package/react-aria/react-aria/ssr/SSRProvider.js +157 -0
- package/react-aria/react-aria/ssr/SSRProvider.js.map +1 -0
- package/react-aria/react-aria/textfield/useFormattedTextField.js +142 -0
- package/react-aria/react-aria/textfield/useFormattedTextField.js.map +1 -0
- package/react-aria/react-aria/textfield/useTextField.js +156 -0
- package/react-aria/react-aria/textfield/useTextField.js.map +1 -0
- package/react-aria/react-aria/utils/chain.js +33 -0
- package/react-aria/react-aria/utils/chain.js.map +1 -0
- package/react-aria/react-aria/utils/domHelpers.js +14 -0
- package/react-aria/react-aria/utils/domHelpers.js.map +1 -0
- package/react-aria/react-aria/utils/filterDOMProps.js +45 -0
- package/react-aria/react-aria/utils/filterDOMProps.js.map +1 -0
- package/react-aria/react-aria/utils/focusWithoutScrolling.js +88 -0
- package/react-aria/react-aria/utils/focusWithoutScrolling.js.map +1 -0
- package/react-aria/react-aria/utils/isVirtualEvent.js +51 -0
- package/react-aria/react-aria/utils/isVirtualEvent.js.map +1 -0
- package/react-aria/react-aria/utils/mergeProps.js +48 -0
- package/react-aria/react-aria/utils/mergeProps.js.map +1 -0
- package/react-aria/react-aria/utils/openLink.js +55 -0
- package/react-aria/react-aria/utils/openLink.js.map +1 -0
- package/react-aria/react-aria/utils/platform.js +69 -0
- package/react-aria/react-aria/utils/platform.js.map +1 -0
- package/react-aria/react-aria/utils/runAfterTransition.js +100 -0
- package/react-aria/react-aria/utils/runAfterTransition.js.map +1 -0
- package/react-aria/react-aria/utils/useDeepMemo.js +16 -0
- package/react-aria/react-aria/utils/useDeepMemo.js.map +1 -0
- package/react-aria/react-aria/utils/useEffectEvent.js +31 -0
- package/react-aria/react-aria/utils/useEffectEvent.js.map +1 -0
- package/react-aria/react-aria/utils/useEvent.js +21 -0
- package/react-aria/react-aria/utils/useEvent.js.map +1 -0
- package/react-aria/react-aria/utils/useFormReset.js +23 -0
- package/react-aria/react-aria/utils/useFormReset.js.map +1 -0
- package/react-aria/react-aria/utils/useGlobalListeners.js +44 -0
- package/react-aria/react-aria/utils/useGlobalListeners.js.map +1 -0
- package/react-aria/react-aria/utils/useId.js +86 -0
- package/react-aria/react-aria/utils/useId.js.map +1 -0
- package/react-aria/react-aria/utils/useLabels.js +39 -0
- package/react-aria/react-aria/utils/useLabels.js.map +1 -0
- package/react-aria/react-aria/utils/useLayoutEffect.js +21 -0
- package/react-aria/react-aria/utils/useLayoutEffect.js.map +1 -0
- package/react-aria/react-aria/utils/useSyncRef.js +29 -0
- package/react-aria/react-aria/utils/useSyncRef.js.map +1 -0
- package/react-aria/react-aria/utils/useValueEffect.js +52 -0
- package/react-aria/react-aria/utils/useValueEffect.js.map +1 -0
- package/react-aria/react-stately/form/useFormValidationState.js +191 -0
- package/react-aria/react-stately/form/useFormValidationState.js.map +1 -0
- package/react-aria/react-stately/numberfield/useNumberFieldState.js +196 -0
- package/react-aria/react-stately/numberfield/useNumberFieldState.js.map +1 -0
- package/react-aria/react-stately/utils/number.js +56 -0
- package/react-aria/react-stately/utils/number.js.map +1 -0
- package/react-aria/react-stately/utils/useControlledState.js +68 -0
- package/react-aria/react-stately/utils/useControlledState.js.map +1 -0
- package/react-aria/react-types/shared/locale.d.ts +3 -0
- package/types/colors.d.ts +102 -0
- package/types/colors.js +64 -0
- package/types/colors.js.map +1 -0
- package/types/fonts.d.ts +12 -0
- package/types/fonts.js +10 -0
- package/types/fonts.js.map +1 -0
- package/types/helpers.d.ts +23 -0
- package/types/products.d.ts +40 -0
- package/types/products.js +38 -0
- package/types/products.js.map +1 -0
- package/types/styles.d.ts +283 -0
- package/types/styles.js +161 -0
- package/types/styles.js.map +1 -0
- package/utils/filterComponents.d.ts +12 -0
- package/utils/filterComponents.js +24 -0
- package/utils/filterComponents.js.map +1 -0
- package/utils/getTextWidth.d.ts +6 -0
- package/utils/getTextWidth.js +32 -0
- package/utils/getTextWidth.js.map +1 -0
- package/utils/isComponent.d.ts +12 -0
- package/utils/isComponent.js +15 -0
- package/utils/isComponent.js.map +1 -0
- package/utils/partitionComponents.d.ts +10 -0
- package/utils/partitionComponents.js +26 -0
- package/utils/partitionComponents.js.map +1 -0
- package/utils/redsift-design-tokens.d.ts +1389 -0
- package/utils/redsift-design-tokens.js +1391 -0
- package/utils/redsift-design-tokens.js.map +1 -0
- package/utils/useId.d.ts +6 -0
- package/utils/useId.js +42 -0
- package/utils/useId.js.map +1 -0
- package/utils/warnIfNoAccessibleLabelFound.d.ts +11 -0
- package/utils/warnIfNoAccessibleLabelFound.js +20 -0
- package/utils/warnIfNoAccessibleLabelFound.js.map +1 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { ButtonVariant } from './types.js';
|
|
3
|
+
import { baseStyling, focusRing } from '../shared/styles.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Component style.
|
|
7
|
+
*/
|
|
8
|
+
const StyledButton = styled.button`
|
|
9
|
+
align-items: center;
|
|
10
|
+
background: none;
|
|
11
|
+
border: none;
|
|
12
|
+
border-radius: 4px;
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
font-family: var(--redsift-typography-button-font-family);
|
|
15
|
+
font-size: var(--redsift-typography-button-font-size);
|
|
16
|
+
font-weight: var(--redsift-typography-button-font-weight);
|
|
17
|
+
gap: 8px;
|
|
18
|
+
height: fit-content;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
line-height: var(--redsift-typography-button-line-height);
|
|
21
|
+
text-decoration: none;
|
|
22
|
+
text-transform: var(--redsift-typography-button-text-transform);
|
|
23
|
+
vertical-align: middle;
|
|
24
|
+
-webkit-font-smoothing: antialiased;
|
|
25
|
+
${baseStyling}
|
|
26
|
+
|
|
27
|
+
${_ref => {
|
|
28
|
+
let {
|
|
29
|
+
$isLoading
|
|
30
|
+
} = _ref;
|
|
31
|
+
return $isLoading ? css`
|
|
32
|
+
& > span {
|
|
33
|
+
opacity: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
& > .redsift-shield {
|
|
37
|
+
position: absolute;
|
|
38
|
+
}
|
|
39
|
+
` : '';
|
|
40
|
+
}}
|
|
41
|
+
|
|
42
|
+
${_ref2 => {
|
|
43
|
+
let {
|
|
44
|
+
$variant,
|
|
45
|
+
$color,
|
|
46
|
+
$isActive,
|
|
47
|
+
$isDisabled,
|
|
48
|
+
$isGradient,
|
|
49
|
+
$isHovered,
|
|
50
|
+
$theme
|
|
51
|
+
} = _ref2;
|
|
52
|
+
return css`
|
|
53
|
+
padding: ${$variant !== ButtonVariant.secondary || $variant === ButtonVariant.secondary && $isGradient && !$isDisabled ? '9px 16px' : '8px 15px'};
|
|
54
|
+
|
|
55
|
+
${!$isGradient ? css`
|
|
56
|
+
background-color: var(
|
|
57
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
58
|
+
);
|
|
59
|
+
&,
|
|
60
|
+
.redsift-icon:not(.colored) {
|
|
61
|
+
color: var(
|
|
62
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
` : css`
|
|
66
|
+
background: var(
|
|
67
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
${$variant === ButtonVariant.primary || $isDisabled ? css`
|
|
71
|
+
&,
|
|
72
|
+
.redsift-icon:not(.colored) {
|
|
73
|
+
color: var(
|
|
74
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
` : ''}
|
|
78
|
+
|
|
79
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
80
|
+
path {
|
|
81
|
+
fill: url(#${$color}-gradient-${$isActive ? 'active' : $isHovered ? 'hover' : 'default'});
|
|
82
|
+
}
|
|
83
|
+
` : ''}
|
|
84
|
+
|
|
85
|
+
span {
|
|
86
|
+
background: var(
|
|
87
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
88
|
+
);
|
|
89
|
+
background-clip: text;
|
|
90
|
+
color: transparent;
|
|
91
|
+
}
|
|
92
|
+
`}
|
|
93
|
+
|
|
94
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
95
|
+
border: 1px solid
|
|
96
|
+
var(
|
|
97
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
98
|
+
);
|
|
99
|
+
` : ''}
|
|
100
|
+
`;
|
|
101
|
+
}};
|
|
102
|
+
|
|
103
|
+
&:hover,
|
|
104
|
+
&:focus-visible {
|
|
105
|
+
outline: none;
|
|
106
|
+
|
|
107
|
+
${_ref3 => {
|
|
108
|
+
let {
|
|
109
|
+
$variant,
|
|
110
|
+
$color,
|
|
111
|
+
$isDisabled,
|
|
112
|
+
$isGradient,
|
|
113
|
+
$theme
|
|
114
|
+
} = _ref3;
|
|
115
|
+
return css`
|
|
116
|
+
cursor: ${$isDisabled ? 'default' : 'pointer'};
|
|
117
|
+
|
|
118
|
+
${!$isGradient ? css`
|
|
119
|
+
background-color: var(
|
|
120
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : 'hover'}
|
|
121
|
+
);
|
|
122
|
+
&,
|
|
123
|
+
.redsift-icon:not(.colored) {
|
|
124
|
+
color: var(
|
|
125
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
130
|
+
border: 1px solid
|
|
131
|
+
var(
|
|
132
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}
|
|
133
|
+
);
|
|
134
|
+
` : ''}
|
|
135
|
+
` : css`
|
|
136
|
+
background: var(
|
|
137
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : 'hover'}
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
141
|
+
path {
|
|
142
|
+
fill: url(#${$color}-gradient-hover);
|
|
143
|
+
}
|
|
144
|
+
` : ''}
|
|
145
|
+
`}
|
|
146
|
+
`;
|
|
147
|
+
}};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
&:active {
|
|
151
|
+
outline: none;
|
|
152
|
+
|
|
153
|
+
${_ref4 => {
|
|
154
|
+
let {
|
|
155
|
+
$variant,
|
|
156
|
+
$color,
|
|
157
|
+
$isGradient,
|
|
158
|
+
$isHovered,
|
|
159
|
+
$isDisabled,
|
|
160
|
+
$theme
|
|
161
|
+
} = _ref4;
|
|
162
|
+
return css`
|
|
163
|
+
${!$isGradient ? css`
|
|
164
|
+
background-color: var(
|
|
165
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
166
|
+
);
|
|
167
|
+
&,
|
|
168
|
+
.redsift-icon:not(.colored) {
|
|
169
|
+
color: var(
|
|
170
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
175
|
+
border: 1px solid
|
|
176
|
+
var(
|
|
177
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
178
|
+
);
|
|
179
|
+
` : ''}
|
|
180
|
+
` : css`
|
|
181
|
+
background: var(
|
|
182
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
186
|
+
path {
|
|
187
|
+
fill: url(#${$color}-gradient-active);
|
|
188
|
+
}
|
|
189
|
+
` : ''}
|
|
190
|
+
`}
|
|
191
|
+
`;
|
|
192
|
+
}};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
${_ref5 => {
|
|
196
|
+
let {
|
|
197
|
+
$fullWidth
|
|
198
|
+
} = _ref5;
|
|
199
|
+
return $fullWidth ? `
|
|
200
|
+
width: 100%;
|
|
201
|
+
flex-grow: 1;
|
|
202
|
+
` : '';
|
|
203
|
+
}}
|
|
204
|
+
|
|
205
|
+
.redsift-icon.left {
|
|
206
|
+
margin-right: unset;
|
|
207
|
+
align-items: center;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.redsift-icon.right {
|
|
211
|
+
margin-left: unset;
|
|
212
|
+
align-items: center;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
${focusRing}
|
|
216
|
+
`;
|
|
217
|
+
|
|
218
|
+
export { StyledButton };
|
|
219
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/button/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseStyling, focusRing } from '../shared';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n align-items: center;\n background: none;\n border: none;\n border-radius: 4px;\n display: inline-flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n gap: 8px;\n height: fit-content;\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n vertical-align: middle;\n -webkit-font-smoothing: antialiased;\n ${baseStyling}\n\n ${({ $isLoading }) =>\n $isLoading\n ? css`\n & > span {\n opacity: 0;\n }\n\n & > .redsift-shield {\n position: absolute;\n }\n `\n : ''}\n\n ${({ $variant, $color, $isActive, $isDisabled, $isGradient, $isHovered, $theme }) => css`\n padding: ${$variant !== ButtonVariant.secondary ||\n ($variant === ButtonVariant.secondary && $isGradient && !$isDisabled)\n ? '9px 16px'\n : '8px 15px'};\n\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n }\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n\n ${$variant === ButtonVariant.primary || $isDisabled\n ? css`\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n }\n `\n : ''}\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-${$isActive ? 'active' : $isHovered ? 'hover' : 'default'});\n }\n `\n : ''}\n\n span {\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n background-clip: text;\n color: transparent;\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}\n );\n `\n : ''}\n `};\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isDisabled, $isGradient, $theme }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n }\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}\n );\n `\n : ''}\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-hover);\n }\n `\n : ''}\n `}\n `};\n }\n\n &:active {\n outline: none;\n\n ${({ $variant, $color, $isGradient, $isHovered, $isDisabled, $theme }) => css`\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n }\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}\n );\n `\n : ''}\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-active);\n }\n `\n : ''}\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n `\n : ''}\n\n .redsift-icon.left {\n margin-right: unset;\n align-items: center;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n align-items: center;\n }\n\n ${focusRing}\n`;\n"],"names":["StyledButton","styled","button","baseStyling","_ref","$isLoading","css","_ref2","$variant","$color","$isActive","$isDisabled","$isGradient","$isHovered","$theme","ButtonVariant","secondary","primary","_ref3","_ref4","_ref5","$fullWidth","focusRing"],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { ValueOf } from '../../types/helpers.js';
|
|
3
|
+
import { ButtonsColorPalette, Theme } from '../../types/colors.js';
|
|
4
|
+
import { StylingProps } from '../../types/styles.js';
|
|
5
|
+
import { IconProps } from '../icon/types.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Component variant.
|
|
9
|
+
*/
|
|
10
|
+
declare const ButtonVariant: {
|
|
11
|
+
readonly primary: "primary";
|
|
12
|
+
readonly secondary: "secondary";
|
|
13
|
+
readonly unstyled: "unstyled";
|
|
14
|
+
};
|
|
15
|
+
type ButtonVariant = ValueOf<typeof ButtonVariant>;
|
|
16
|
+
/**
|
|
17
|
+
* Component color.
|
|
18
|
+
*/
|
|
19
|
+
type ButtonColor = ButtonsColorPalette;
|
|
20
|
+
/**
|
|
21
|
+
* Component props.
|
|
22
|
+
*/
|
|
23
|
+
interface ButtonProps extends ComponentProps<'button'>, StylingProps {
|
|
24
|
+
/** Color variant. */
|
|
25
|
+
color?: ButtonColor;
|
|
26
|
+
/** Whether the component take the full width or not. */
|
|
27
|
+
fullWidth?: boolean;
|
|
28
|
+
/** Whether the component is active or not. */
|
|
29
|
+
isActive?: boolean;
|
|
30
|
+
/** Whether the component is disabled or not. */
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
/** Whether the component is hovered or not. */
|
|
33
|
+
isHovered?: boolean;
|
|
34
|
+
/** Whether the component is in a loading state or not. */
|
|
35
|
+
isLoading?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />
|
|
38
|
+
* Can also be a ReactElement.
|
|
39
|
+
*/
|
|
40
|
+
leftIcon?: IconProps['icon'];
|
|
41
|
+
/** Props to add to the left icon. */
|
|
42
|
+
leftIconProps?: Omit<IconProps, 'icon' | 'ref'>;
|
|
43
|
+
/**
|
|
44
|
+
* Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />
|
|
45
|
+
* Can also be a ReactElement.
|
|
46
|
+
*/
|
|
47
|
+
rightIcon?: IconProps['icon'];
|
|
48
|
+
/** Props to add to the right icon. */
|
|
49
|
+
rightIconProps?: Omit<IconProps, 'icon' | 'ref'>;
|
|
50
|
+
/** Theme. */
|
|
51
|
+
theme?: Theme;
|
|
52
|
+
/** Button variant. */
|
|
53
|
+
variant?: ButtonVariant;
|
|
54
|
+
}
|
|
55
|
+
type StyledButtonProps = ButtonProps & {
|
|
56
|
+
$color: ButtonProps['color'];
|
|
57
|
+
$fullWidth?: ButtonProps['fullWidth'];
|
|
58
|
+
$isActive: ButtonProps['isActive'];
|
|
59
|
+
$isDisabled: ButtonProps['isDisabled'];
|
|
60
|
+
$isGradient: boolean;
|
|
61
|
+
$isHovered: ButtonProps['isHovered'];
|
|
62
|
+
$isLoading: ButtonProps['isLoading'];
|
|
63
|
+
$theme: ButtonProps['theme'];
|
|
64
|
+
$variant: ButtonProps['variant'];
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { ButtonColor, ButtonProps, ButtonVariant, StyledButtonProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component variant.
|
|
3
|
+
*/
|
|
4
|
+
const ButtonVariant = {
|
|
5
|
+
primary: 'primary',
|
|
6
|
+
secondary: 'secondary',
|
|
7
|
+
unstyled: 'unstyled'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component color.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Component props.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export { ButtonVariant };
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/button/types.ts"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ButtonsColorPalette, StylingProps, Theme, ValueOf } from '../../types';\nimport { IconProps } from '../icon';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor = ButtonsColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'>, StylingProps {\n /** Color variant. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is hovered or not. */\n isHovered?: boolean;\n /** Whether the component is in a loading state or not. */\n isLoading?: boolean;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n leftIcon?: IconProps['icon'];\n /** Props to add to the left icon. */\n leftIconProps?: Omit<IconProps, 'icon' | 'ref'>;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n rightIcon?: IconProps['icon'];\n /** Props to add to the right icon. */\n rightIconProps?: Omit<IconProps, 'icon' | 'ref'>;\n /** Theme. */\n theme?: Theme;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = ButtonProps & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $isGradient: boolean;\n $isHovered: ButtonProps['isHovered'];\n $isLoading: ButtonProps['isLoading'];\n $theme: ButtonProps['theme'];\n $variant: ButtonProps['variant'];\n};\n"],"names":["ButtonVariant","primary","secondary","unstyled"],"mappings":"AAIA;AACA;AACA;AACO,MAAMA,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,EAAU;;AAGV;AACA;AACA;;AAGA;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { StyledButtonGroup } from './styles.js';
|
|
5
|
+
import { ButtonGroupVariant } from './types.js';
|
|
6
|
+
import { isComponent } from '../../utils/isComponent.js';
|
|
7
|
+
import { useTheme } from '../theme/useTheme.js';
|
|
8
|
+
import { ButtonsColorPalette } from '../../types/colors.js';
|
|
9
|
+
import { filterComponents } from '../../utils/filterComponents.js';
|
|
10
|
+
|
|
11
|
+
const _excluded = ["children", "className", "color", "theme", "variant"];
|
|
12
|
+
const COMPONENT_NAME = 'ButtonGroup';
|
|
13
|
+
const CLASSNAME = 'redsift-button-group';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The ButtonGroup component.
|
|
17
|
+
*/
|
|
18
|
+
const ButtonGroup = /*#__PURE__*/forwardRef((props, ref) => {
|
|
19
|
+
const {
|
|
20
|
+
children,
|
|
21
|
+
className,
|
|
22
|
+
color: propsColor,
|
|
23
|
+
theme: propsTheme,
|
|
24
|
+
variant: propsVariant
|
|
25
|
+
} = props,
|
|
26
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
27
|
+
const theme = useTheme(propsTheme);
|
|
28
|
+
const color = Object.values(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
|
|
29
|
+
const variant = Object.values(ButtonGroupVariant).includes(propsVariant) ? propsVariant : 'primary';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Create an array containing only valid children being either Button, IconButton, ButtonLink, MenuButton or Select.
|
|
33
|
+
*/
|
|
34
|
+
const childArray = filterComponents(['Button', 'IconButton', 'ButtonLink', 'MenuButton', 'Select', 'Dialog', 'Popover', 'Tooltip'])(children);
|
|
35
|
+
const buttons = childArray.map((child, index) => {
|
|
36
|
+
var _key;
|
|
37
|
+
if (isComponent('MenuButton')(child) || isComponent('Select')(child) || isComponent('Dialog')(child) || isComponent('Popover')(child) || isComponent('Tooltip')(child)) {
|
|
38
|
+
var _child$key;
|
|
39
|
+
return /*#__PURE__*/React__default.cloneElement(child, {
|
|
40
|
+
color,
|
|
41
|
+
theme,
|
|
42
|
+
variant,
|
|
43
|
+
key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index,
|
|
44
|
+
triggerClassName: index === 0 ? 'first-button' : index === childArray.length - 1 ? 'last-button' : 'middle-button'
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return /*#__PURE__*/React__default.cloneElement(child, {
|
|
48
|
+
color,
|
|
49
|
+
theme,
|
|
50
|
+
variant,
|
|
51
|
+
key: (_key = child.key) !== null && _key !== void 0 ? _key : index,
|
|
52
|
+
className: index === 0 ? 'first-button' : index === childArray.length - 1 ? 'last-button' : 'middle-button'
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
return /*#__PURE__*/React__default.createElement(StyledButtonGroup, _extends({}, forwardedProps, {
|
|
56
|
+
className: classNames(ButtonGroup.className, className),
|
|
57
|
+
ref: ref,
|
|
58
|
+
$color: color,
|
|
59
|
+
$variant: variant,
|
|
60
|
+
$theme: theme
|
|
61
|
+
}), buttons);
|
|
62
|
+
});
|
|
63
|
+
ButtonGroup.className = CLASSNAME;
|
|
64
|
+
ButtonGroup.displayName = COMPONENT_NAME;
|
|
65
|
+
|
|
66
|
+
export { ButtonGroup };
|
|
67
|
+
//# sourceMappingURL=ButtonGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.js","sources":["../../../src/components/button-group/ButtonGroup.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ButtonsColorPalette, Comp } from '../../types';\nimport { StyledButtonGroup } from './styles';\nimport { ButtonGroupProps, ButtonGroupVariant } from './types';\nimport { filterComponents, isComponent } from '../../utils';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'ButtonGroup';\nconst CLASSNAME = 'redsift-button-group';\n\n/**\n * The ButtonGroup component.\n */\nexport const ButtonGroup: Comp<ButtonGroupProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, color: propsColor, theme: propsTheme, variant: propsVariant, ...forwardedProps } = props;\n\n const theme = useTheme(propsTheme);\n const color = Object.values(ButtonsColorPalette).includes(propsColor!) ? propsColor : 'primary';\n const variant = Object.values(ButtonGroupVariant).includes(propsVariant!) ? propsVariant : 'primary';\n\n /**\n * Create an array containing only valid children being either Button, IconButton, ButtonLink, MenuButton or Select.\n */\n const childArray = filterComponents([\n 'Button',\n 'IconButton',\n 'ButtonLink',\n 'MenuButton',\n 'Select',\n 'Dialog',\n 'Popover',\n 'Tooltip',\n ])(children);\n const buttons = childArray.map((child, index) => {\n if (\n isComponent('MenuButton')(child) ||\n isComponent('Select')(child) ||\n isComponent('Dialog')(child) ||\n isComponent('Popover')(child) ||\n isComponent('Tooltip')(child)\n ) {\n return React.cloneElement(child, {\n color,\n theme,\n variant,\n key: child.key ?? index,\n triggerClassName:\n index === 0 ? 'first-button' : index === childArray.length - 1 ? 'last-button' : 'middle-button',\n });\n }\n return React.cloneElement(child, {\n color,\n theme,\n variant,\n key: (child as React.ReactElement<any, string | React.JSXElementConstructor<any>>).key ?? index,\n className: index === 0 ? 'first-button' : index === childArray.length - 1 ? 'last-button' : 'middle-button',\n });\n });\n\n return (\n <StyledButtonGroup\n {...forwardedProps}\n className={classNames(ButtonGroup.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $variant={variant}\n $theme={theme}\n >\n {buttons}\n </StyledButtonGroup>\n );\n});\nButtonGroup.className = CLASSNAME;\nButtonGroup.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","ButtonGroup","forwardRef","props","ref","children","className","color","propsColor","theme","propsTheme","variant","propsVariant","forwardedProps","_objectWithoutProperties","_excluded","useTheme","Object","values","ButtonsColorPalette","includes","ButtonGroupVariant","childArray","filterComponents","buttons","map","child","index","_key","isComponent","_child$key","React","cloneElement","key","triggerClassName","length","createElement","StyledButtonGroup","_extends","classNames","$color","$variant","$theme","displayName"],"mappings":";;;;;;;;;;;AAQA,MAAMA,cAAc,GAAG,aAAa,CAAA;AACpC,MAAMC,SAAS,GAAG,sBAAsB,CAAA;;AAExC;AACA;AACA;AACO,MAAMC,WAAmD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC5F,MAAM;MAAEC,QAAQ;MAAEC,SAAS;AAAEC,MAAAA,KAAK,EAAEC,UAAU;AAAEC,MAAAA,KAAK,EAAEC,UAAU;AAAEC,MAAAA,OAAO,EAAEC,YAAAA;AAAgC,KAAC,GAAGT,KAAK;AAAxBU,IAAAA,cAAc,GAAAC,wBAAA,CAAKX,KAAK,EAAAY,SAAA,CAAA,CAAA;AAErH,EAAA,MAAMN,KAAK,GAAGO,QAAQ,CAACN,UAAU,CAAC,CAAA;AAClC,EAAA,MAAMH,KAAK,GAAGU,MAAM,CAACC,MAAM,CAACC,mBAAmB,CAAC,CAACC,QAAQ,CAACZ,UAAW,CAAC,GAAGA,UAAU,GAAG,SAAS,CAAA;AAC/F,EAAA,MAAMG,OAAO,GAAGM,MAAM,CAACC,MAAM,CAACG,kBAAkB,CAAC,CAACD,QAAQ,CAACR,YAAa,CAAC,GAAGA,YAAY,GAAG,SAAS,CAAA;;AAEpG;AACF;AACA;EACE,MAAMU,UAAU,GAAGC,gBAAgB,CAAC,CAClC,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC,CAAClB,QAAQ,CAAC,CAAA;EACZ,MAAMmB,OAAO,GAAGF,UAAU,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAAC,IAAA,CAAA;AAC/C,IAAA,IACEC,WAAW,CAAC,YAAY,CAAC,CAACH,KAAK,CAAC,IAChCG,WAAW,CAAC,QAAQ,CAAC,CAACH,KAAK,CAAC,IAC5BG,WAAW,CAAC,QAAQ,CAAC,CAACH,KAAK,CAAC,IAC5BG,WAAW,CAAC,SAAS,CAAC,CAACH,KAAK,CAAC,IAC7BG,WAAW,CAAC,SAAS,CAAC,CAACH,KAAK,CAAC,EAC7B;AAAA,MAAA,IAAAI,UAAA,CAAA;AACA,MAAA,oBAAOC,cAAK,CAACC,YAAY,CAACN,KAAK,EAAE;QAC/BnB,KAAK;QACLE,KAAK;QACLE,OAAO;QACPsB,GAAG,EAAA,CAAAH,UAAA,GAAEJ,KAAK,CAACO,GAAG,MAAA,IAAA,IAAAH,UAAA,KAAA,KAAA,CAAA,GAAAA,UAAA,GAAIH,KAAK;AACvBO,QAAAA,gBAAgB,EACdP,KAAK,KAAK,CAAC,GAAG,cAAc,GAAGA,KAAK,KAAKL,UAAU,CAACa,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,eAAA;AACrF,OAAC,CAAC,CAAA;AACJ,KAAA;AACA,IAAA,oBAAOJ,cAAK,CAACC,YAAY,CAACN,KAAK,EAAE;MAC/BnB,KAAK;MACLE,KAAK;MACLE,OAAO;MACPsB,GAAG,EAAA,CAAAL,IAAA,GAAGF,KAAK,CAAwEO,GAAG,MAAA,IAAA,IAAAL,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAID,KAAK;AAC/FrB,MAAAA,SAAS,EAAEqB,KAAK,KAAK,CAAC,GAAG,cAAc,GAAGA,KAAK,KAAKL,UAAU,CAACa,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,eAAA;AAC9F,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;EAEF,oBACEJ,cAAA,CAAAK,aAAA,CAACC,iBAAiB,EAAAC,QAAA,KACZzB,cAAc,EAAA;IAClBP,SAAS,EAAEiC,UAAU,CAACtC,WAAW,CAACK,SAAS,EAAEA,SAAS,CAAE;AACxDF,IAAAA,GAAG,EAAEA,GAAiC;AACtCoC,IAAAA,MAAM,EAAEjC,KAAM;AACdkC,IAAAA,QAAQ,EAAE9B,OAAQ;AAClB+B,IAAAA,MAAM,EAAEjC,KAAAA;AAAM,GAAA,CAAA,EAEbe,OACgB,CAAC,CAAA;AAExB,CAAC,EAAC;AACFvB,WAAW,CAACK,SAAS,GAAGN,SAAS,CAAA;AACjCC,WAAW,CAAC0C,WAAW,GAAG5C,cAAc;;;;"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { ButtonGroupVariant } from './types.js';
|
|
3
|
+
import { baseStyling, baseFlexbox } from '../shared/styles.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Component style.
|
|
7
|
+
*/
|
|
8
|
+
const StyledButtonGroup = styled.div`
|
|
9
|
+
display: ${_ref => {
|
|
10
|
+
let {
|
|
11
|
+
inline
|
|
12
|
+
} = _ref;
|
|
13
|
+
return inline ? 'inline-flex' : 'flex';
|
|
14
|
+
}};
|
|
15
|
+
|
|
16
|
+
${baseStyling}
|
|
17
|
+
${baseFlexbox}
|
|
18
|
+
|
|
19
|
+
${_ref2 => {
|
|
20
|
+
let {
|
|
21
|
+
$color,
|
|
22
|
+
$variant,
|
|
23
|
+
$theme
|
|
24
|
+
} = _ref2;
|
|
25
|
+
return css`
|
|
26
|
+
${$variant === ButtonGroupVariant.secondary ? css`
|
|
27
|
+
.first-button {
|
|
28
|
+
border-top-right-radius: 0;
|
|
29
|
+
border-bottom-right-radius: 0;
|
|
30
|
+
border-right-color: transparent;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.middle-button {
|
|
34
|
+
border-top-left-radius: 0;
|
|
35
|
+
border-bottom-left-radius: 0;
|
|
36
|
+
margin-left: -1px;
|
|
37
|
+
border-top-right-radius: 0;
|
|
38
|
+
border-bottom-right-radius: 0;
|
|
39
|
+
border-right-color: transparent;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.last-button {
|
|
43
|
+
border-top-left-radius: 0;
|
|
44
|
+
border-bottom-left-radius: 0;
|
|
45
|
+
margin-left: -1px;
|
|
46
|
+
}
|
|
47
|
+
` : $variant === ButtonGroupVariant.unstyled ? css`
|
|
48
|
+
.first-button {
|
|
49
|
+
border-top-right-radius: 0;
|
|
50
|
+
border-bottom-right-radius: 0;
|
|
51
|
+
border-right: 1px solid rgba(0, 0, 0, 0.23);
|
|
52
|
+
border-color: ${`var(
|
|
53
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-default
|
|
54
|
+
)`};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.middle-button {
|
|
58
|
+
border-top-left-radius: 0;
|
|
59
|
+
border-bottom-left-radius: 0;
|
|
60
|
+
border-top-right-radius: 0;
|
|
61
|
+
border-bottom-right-radius: 0;
|
|
62
|
+
border-right: 1px solid rgba(0, 0, 0, 0.23);
|
|
63
|
+
border-color: ${`var(
|
|
64
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-default
|
|
65
|
+
)`};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.last-button {
|
|
69
|
+
border-top-left-radius: 0;
|
|
70
|
+
border-bottom-left-radius: 0;
|
|
71
|
+
}
|
|
72
|
+
` : css`
|
|
73
|
+
.first-button {
|
|
74
|
+
border-top-right-radius: 0;
|
|
75
|
+
border-bottom-right-radius: 0;
|
|
76
|
+
border-right: 1px solid #bdbdbd;
|
|
77
|
+
border-color: ${`var(
|
|
78
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-hover
|
|
79
|
+
)`};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.middle-button {
|
|
83
|
+
border-top-left-radius: 0;
|
|
84
|
+
border-bottom-left-radius: 0;
|
|
85
|
+
border-top-right-radius: 0;
|
|
86
|
+
border-bottom-right-radius: 0;
|
|
87
|
+
border-right: 1px solid #bdbdbd;
|
|
88
|
+
border-color: ${`var(
|
|
89
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-hover
|
|
90
|
+
)`};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.last-button {
|
|
94
|
+
border-top-left-radius: 0;
|
|
95
|
+
border-bottom-left-radius: 0;
|
|
96
|
+
}
|
|
97
|
+
`}
|
|
98
|
+
`;
|
|
99
|
+
}};
|
|
100
|
+
`;
|
|
101
|
+
|
|
102
|
+
export { StyledButtonGroup };
|
|
103
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/button-group/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseFlexbox, baseStyling } from '../shared';\nimport { ButtonGroupVariant, StyledButtonGroupProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButtonGroup = styled.div<StyledButtonGroupProps>`\n display: ${({ inline }) => (inline ? 'inline-flex' : 'flex')};\n\n ${baseStyling}\n ${baseFlexbox}\n\n ${({ $color, $variant, $theme }) => css`\n ${$variant === ButtonGroupVariant.secondary\n ? css`\n .first-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right-color: transparent;\n }\n\n .middle-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right-color: transparent;\n }\n\n .last-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n }\n `\n : $variant === ButtonGroupVariant.unstyled\n ? css`\n .first-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 1px solid rgba(0, 0, 0, 0.23);\n border-color: ${`var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-default\n )`};\n }\n\n .middle-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 1px solid rgba(0, 0, 0, 0.23);\n border-color: ${`var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-default\n )`};\n }\n\n .last-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n `\n : css`\n .first-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 1px solid #bdbdbd;\n border-color: ${`var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-hover\n )`};\n }\n\n .middle-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 1px solid #bdbdbd;\n border-color: ${`var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-hover\n )`};\n }\n\n .last-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n `}\n `};\n`;\n"],"names":["StyledButtonGroup","styled","div","_ref","inline","baseStyling","baseFlexbox","_ref2","$color","$variant","$theme","css","ButtonGroupVariant","secondary","unstyled"],"mappings":";;;;AAIA;AACA;AACA;AACaA,MAAAA,iBAAiB,GAAGC,MAAM,CAACC,GAA4B,CAAA;AACpE,WAAA,EAAaC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAMC,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AAC/D;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB,EAAA,EAAIC,WAAY,CAAA;AAChB;AACA,EAAA,EAAIC,KAAA,IAAA;EAAA,IAAC;IAAEC,MAAM;IAAEC,QAAQ;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAH,KAAA,CAAA;AAAA,EAAA,OAAKI,GAAI,CAAA;AAC1C,IAAA,EAAMF,QAAQ,KAAKG,kBAAkB,CAACC,SAAS,GACvCF,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDF,QAAQ,KAAKG,kBAAkB,CAACE,QAAQ,GACxCH,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA,0BAA6B,EAAA,CAAA;AAC7B,8BAAA,EAAgCD,MAAO,CAAA,oBAAA,EAAsBD,QAAS,CAAA,QAAA,EAAUD,MAAO,CAAA;AACvF,aAAe,CAAA,CAAA;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA6B,EAAA,CAAA;AAC7B,8BAAA,EAAgCE,MAAO,CAAA,oBAAA,EAAsBD,QAAS,CAAA,QAAA,EAAUD,MAAO,CAAA;AACvF,aAAe,CAAA,CAAA;AACf;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACDG,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA,0BAA6B,EAAA,CAAA;AAC7B,8BAAA,EAAgCD,MAAO,CAAA,oBAAA,EAAsBD,QAAS,CAAA,QAAA,EAAUD,MAAO,CAAA;AACvF,aAAe,CAAA,CAAA;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA6B,EAAA,CAAA;AAC7B,8BAAA,EAAgCE,MAAO,CAAA,oBAAA,EAAsBD,QAAS,CAAA,QAAA,EAAUD,MAAO,CAAA;AACvF,aAAe,CAAA,CAAA;AACf;AACA;AACA;AACA;AACA;AACA;AACA,QAAU,CAAA,CAAA;AACV,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { StylingProps, FlexLayoutProps } from '../../types/styles.js';
|
|
3
|
+
import { ValueOf } from '../../types/helpers.js';
|
|
4
|
+
import { ButtonsColorPalette, Theme } from '../../types/colors.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Component variant.
|
|
8
|
+
*/
|
|
9
|
+
declare const ButtonGroupVariant: {
|
|
10
|
+
readonly primary: "primary";
|
|
11
|
+
readonly secondary: "secondary";
|
|
12
|
+
readonly unstyled: "unstyled";
|
|
13
|
+
};
|
|
14
|
+
type ButtonGroupVariant = ValueOf<typeof ButtonGroupVariant>;
|
|
15
|
+
/**
|
|
16
|
+
* Component color.
|
|
17
|
+
*/
|
|
18
|
+
type ButtonGroupColor = ButtonsColorPalette;
|
|
19
|
+
/**
|
|
20
|
+
* Component props.
|
|
21
|
+
*/
|
|
22
|
+
interface ButtonGroupProps extends ComponentProps<'div'>, StylingProps, FlexLayoutProps {
|
|
23
|
+
/** Button color. */
|
|
24
|
+
color?: ButtonGroupColor;
|
|
25
|
+
/** Button variant. */
|
|
26
|
+
variant?: ButtonGroupVariant;
|
|
27
|
+
/** Theme. */
|
|
28
|
+
theme?: Theme;
|
|
29
|
+
}
|
|
30
|
+
type StyledButtonGroupProps = ButtonGroupProps & {
|
|
31
|
+
$color: ButtonGroupProps['color'];
|
|
32
|
+
$variant: ButtonGroupProps['variant'];
|
|
33
|
+
$theme: ButtonGroupProps['theme'];
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { ButtonGroupColor, ButtonGroupProps, ButtonGroupVariant, StyledButtonGroupProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component variant.
|
|
3
|
+
*/
|
|
4
|
+
const ButtonGroupVariant = {
|
|
5
|
+
primary: 'primary',
|
|
6
|
+
secondary: 'secondary',
|
|
7
|
+
unstyled: 'unstyled'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Component color.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Component props.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export { ButtonGroupVariant };
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/button-group/types.ts"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { FlexLayoutProps, ButtonsColorPalette, StylingProps, Theme, ValueOf } from '../../types';\n\n/**\n * Component variant.\n */\nexport const ButtonGroupVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonGroupVariant = ValueOf<typeof ButtonGroupVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonGroupColor = ButtonsColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonGroupProps extends ComponentProps<'div'>, StylingProps, FlexLayoutProps {\n /** Button color. */\n color?: ButtonGroupColor;\n /** Button variant. */\n variant?: ButtonGroupVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledButtonGroupProps = ButtonGroupProps & {\n $color: ButtonGroupProps['color'];\n $variant: ButtonGroupProps['variant'];\n $theme: ButtonGroupProps['theme'];\n};\n"],"names":["ButtonGroupVariant","primary","secondary","unstyled"],"mappings":"AAGA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,EAAU;;AAGV;AACA;AACA;;AAGA;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ButtonLinkProps } from './types.js';
|
|
2
|
+
import { Comp } from '../../types/helpers.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The ButtonLink is a semantic link that looks like a button.
|
|
6
|
+
*
|
|
7
|
+
* For a semantic button that looks like a button, please use the Button component.
|
|
8
|
+
* For a semantic link that looks like a link, please use the Link component.
|
|
9
|
+
* For a semantic button that looks like a link, please use the LinkButton component.
|
|
10
|
+
*/
|
|
11
|
+
declare const ButtonLink: Comp<ButtonLinkProps, HTMLAnchorElement>;
|
|
12
|
+
|
|
13
|
+
export { ButtonLink };
|