@dsn-starter-kit/components-react 1.0.0
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/LICENSE +21 -0
- package/README.md +181 -0
- package/dist/ActionGroup/ActionGroup.css +55 -0
- package/dist/ActionGroup/ActionGroup.d.ts +41 -0
- package/dist/ActionGroup/ActionGroup.d.ts.map +1 -0
- package/dist/ActionGroup/ActionGroup.js +36 -0
- package/dist/ActionGroup/ActionGroup.js.map +1 -0
- package/dist/ActionGroup/index.d.ts +3 -0
- package/dist/ActionGroup/index.d.ts.map +1 -0
- package/dist/ActionGroup/index.js +2 -0
- package/dist/ActionGroup/index.js.map +1 -0
- package/dist/Alert/Alert.css +145 -0
- package/dist/Alert/Alert.d.ts +69 -0
- package/dist/Alert/Alert.d.ts.map +1 -0
- package/dist/Alert/Alert.js +57 -0
- package/dist/Alert/Alert.js.map +1 -0
- package/dist/Alert/index.d.ts +3 -0
- package/dist/Alert/index.d.ts.map +1 -0
- package/dist/Alert/index.js +2 -0
- package/dist/Alert/index.js.map +1 -0
- package/dist/Backdrop/Backdrop.css +30 -0
- package/dist/Backdrop/Backdrop.d.ts +26 -0
- package/dist/Backdrop/Backdrop.d.ts.map +1 -0
- package/dist/Backdrop/Backdrop.js +23 -0
- package/dist/Backdrop/Backdrop.js.map +1 -0
- package/dist/Backdrop/index.d.ts +3 -0
- package/dist/Backdrop/index.d.ts.map +1 -0
- package/dist/Backdrop/index.js +2 -0
- package/dist/Backdrop/index.js.map +1 -0
- package/dist/Body/Body.css +14 -0
- package/dist/Body/Body.d.ts +27 -0
- package/dist/Body/Body.d.ts.map +1 -0
- package/dist/Body/Body.js +27 -0
- package/dist/Body/Body.js.map +1 -0
- package/dist/Body/index.d.ts +3 -0
- package/dist/Body/index.d.ts.map +1 -0
- package/dist/Body/index.js +2 -0
- package/dist/Body/index.js.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.css +216 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.ts +43 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.ts.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.js +42 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.js.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.ts +32 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.ts.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.js +20 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.js.map +1 -0
- package/dist/BreadcrumbNavigation/index.d.ts +3 -0
- package/dist/BreadcrumbNavigation/index.d.ts.map +1 -0
- package/dist/BreadcrumbNavigation/index.js +3 -0
- package/dist/BreadcrumbNavigation/index.js.map +1 -0
- package/dist/BreakoutSection/BreakoutSection.css +19 -0
- package/dist/BreakoutSection/BreakoutSection.d.ts +30 -0
- package/dist/BreakoutSection/BreakoutSection.d.ts.map +1 -0
- package/dist/BreakoutSection/BreakoutSection.js +27 -0
- package/dist/BreakoutSection/BreakoutSection.js.map +1 -0
- package/dist/BreakoutSection/index.d.ts +3 -0
- package/dist/BreakoutSection/index.d.ts.map +1 -0
- package/dist/BreakoutSection/index.js +2 -0
- package/dist/BreakoutSection/index.js.map +1 -0
- package/dist/Button/Button.css +337 -0
- package/dist/Button/Button.d.ts +90 -0
- package/dist/Button/Button.d.ts.map +1 -0
- package/dist/Button/Button.js +53 -0
- package/dist/Button/Button.js.map +1 -0
- package/dist/Button/index.d.ts +3 -0
- package/dist/Button/index.d.ts.map +1 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/index.js.map +1 -0
- package/dist/ButtonLink/ButtonLink.css +29 -0
- package/dist/ButtonLink/ButtonLink.d.ts +92 -0
- package/dist/ButtonLink/ButtonLink.d.ts.map +1 -0
- package/dist/ButtonLink/ButtonLink.js +50 -0
- package/dist/ButtonLink/ButtonLink.js.map +1 -0
- package/dist/ButtonLink/index.d.ts +3 -0
- package/dist/ButtonLink/index.d.ts.map +1 -0
- package/dist/ButtonLink/index.js +2 -0
- package/dist/ButtonLink/index.js.map +1 -0
- package/dist/Card/Card.css +169 -0
- package/dist/Card/Card.d.ts +105 -0
- package/dist/Card/Card.d.ts.map +1 -0
- package/dist/Card/Card.js +80 -0
- package/dist/Card/Card.js.map +1 -0
- package/dist/Card/index.d.ts +3 -0
- package/dist/Card/index.d.ts.map +1 -0
- package/dist/Card/index.js +2 -0
- package/dist/Card/index.js.map +1 -0
- package/dist/Checkbox/Checkbox.css +239 -0
- package/dist/Checkbox/Checkbox.d.ts +18 -0
- package/dist/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/Checkbox/Checkbox.js +24 -0
- package/dist/Checkbox/Checkbox.js.map +1 -0
- package/dist/Checkbox/index.d.ts +3 -0
- package/dist/Checkbox/index.d.ts.map +1 -0
- package/dist/Checkbox/index.js +2 -0
- package/dist/Checkbox/index.js.map +1 -0
- package/dist/CheckboxGroup/CheckboxGroup.css +10 -0
- package/dist/CheckboxGroup/CheckboxGroup.d.ts +37 -0
- package/dist/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
- package/dist/CheckboxGroup/CheckboxGroup.js +37 -0
- package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/CheckboxGroup/index.d.ts +3 -0
- package/dist/CheckboxGroup/index.d.ts.map +1 -0
- package/dist/CheckboxGroup/index.js +2 -0
- package/dist/CheckboxGroup/index.js.map +1 -0
- package/dist/CheckboxOption/CheckboxOption.css +17 -0
- package/dist/CheckboxOption/CheckboxOption.d.ts +14 -0
- package/dist/CheckboxOption/CheckboxOption.d.ts.map +1 -0
- package/dist/CheckboxOption/CheckboxOption.js +15 -0
- package/dist/CheckboxOption/CheckboxOption.js.map +1 -0
- package/dist/CheckboxOption/index.d.ts +3 -0
- package/dist/CheckboxOption/index.d.ts.map +1 -0
- package/dist/CheckboxOption/index.js +2 -0
- package/dist/CheckboxOption/index.js.map +1 -0
- package/dist/Container/Container.css +48 -0
- package/dist/Container/Container.d.ts +41 -0
- package/dist/Container/Container.d.ts.map +1 -0
- package/dist/Container/Container.js +33 -0
- package/dist/Container/Container.js.map +1 -0
- package/dist/Container/index.d.ts +3 -0
- package/dist/Container/index.d.ts.map +1 -0
- package/dist/Container/index.js +2 -0
- package/dist/Container/index.js.map +1 -0
- package/dist/DateInput/DateInput.css +37 -0
- package/dist/DateInput/DateInput.d.ts +37 -0
- package/dist/DateInput/DateInput.d.ts.map +1 -0
- package/dist/DateInput/DateInput.js +52 -0
- package/dist/DateInput/DateInput.js.map +1 -0
- package/dist/DateInput/index.d.ts +3 -0
- package/dist/DateInput/index.d.ts.map +1 -0
- package/dist/DateInput/index.js +2 -0
- package/dist/DateInput/index.js.map +1 -0
- package/dist/DateInputGroup/DateInputGroup.css +30 -0
- package/dist/DateInputGroup/DateInputGroup.d.ts +65 -0
- package/dist/DateInputGroup/DateInputGroup.d.ts.map +1 -0
- package/dist/DateInputGroup/DateInputGroup.js +53 -0
- package/dist/DateInputGroup/DateInputGroup.js.map +1 -0
- package/dist/DateInputGroup/index.d.ts +3 -0
- package/dist/DateInputGroup/index.d.ts.map +1 -0
- package/dist/DateInputGroup/index.js +2 -0
- package/dist/DateInputGroup/index.js.map +1 -0
- package/dist/Details/Details.css +134 -0
- package/dist/Details/Details.d.ts +46 -0
- package/dist/Details/Details.d.ts.map +1 -0
- package/dist/Details/Details.js +37 -0
- package/dist/Details/Details.js.map +1 -0
- package/dist/Details/index.d.ts +3 -0
- package/dist/Details/index.d.ts.map +1 -0
- package/dist/Details/index.js +2 -0
- package/dist/Details/index.js.map +1 -0
- package/dist/DotBadge/DotBadge.css +98 -0
- package/dist/DotBadge/DotBadge.d.ts +40 -0
- package/dist/DotBadge/DotBadge.d.ts.map +1 -0
- package/dist/DotBadge/DotBadge.js +33 -0
- package/dist/DotBadge/DotBadge.js.map +1 -0
- package/dist/DotBadge/index.d.ts +2 -0
- package/dist/DotBadge/index.d.ts.map +1 -0
- package/dist/DotBadge/index.js +2 -0
- package/dist/DotBadge/index.js.map +1 -0
- package/dist/Drawer/Drawer.css +258 -0
- package/dist/Drawer/Drawer.d.ts +109 -0
- package/dist/Drawer/Drawer.d.ts.map +1 -0
- package/dist/Drawer/Drawer.js +115 -0
- package/dist/Drawer/Drawer.js.map +1 -0
- package/dist/Drawer/index.d.ts +3 -0
- package/dist/Drawer/index.d.ts.map +1 -0
- package/dist/Drawer/index.js +2 -0
- package/dist/Drawer/index.js.map +1 -0
- package/dist/EmailInput/EmailInput.css +4 -0
- package/dist/EmailInput/EmailInput.d.ts +38 -0
- package/dist/EmailInput/EmailInput.d.ts.map +1 -0
- package/dist/EmailInput/EmailInput.js +27 -0
- package/dist/EmailInput/EmailInput.js.map +1 -0
- package/dist/EmailInput/index.d.ts +3 -0
- package/dist/EmailInput/index.d.ts.map +1 -0
- package/dist/EmailInput/index.js +2 -0
- package/dist/EmailInput/index.js.map +1 -0
- package/dist/File/File.css +206 -0
- package/dist/File/File.d.ts +116 -0
- package/dist/File/File.d.ts.map +1 -0
- package/dist/File/File.js +100 -0
- package/dist/File/File.js.map +1 -0
- package/dist/File/index.d.ts +3 -0
- package/dist/File/index.d.ts.map +1 -0
- package/dist/File/index.js +2 -0
- package/dist/File/index.js.map +1 -0
- package/dist/FileInput/FileInput.css +112 -0
- package/dist/FileInput/FileInput.d.ts +36 -0
- package/dist/FileInput/FileInput.d.ts.map +1 -0
- package/dist/FileInput/FileInput.js +31 -0
- package/dist/FileInput/FileInput.js.map +1 -0
- package/dist/FileInput/index.d.ts +3 -0
- package/dist/FileInput/index.d.ts.map +1 -0
- package/dist/FileInput/index.js +2 -0
- package/dist/FileInput/index.js.map +1 -0
- package/dist/FormField/FormField.css +16 -0
- package/dist/FormField/FormField.d.ts +85 -0
- package/dist/FormField/FormField.d.ts.map +1 -0
- package/dist/FormField/FormField.js +60 -0
- package/dist/FormField/FormField.js.map +1 -0
- package/dist/FormField/index.d.ts +3 -0
- package/dist/FormField/index.d.ts.map +1 -0
- package/dist/FormField/index.js +2 -0
- package/dist/FormField/index.js.map +1 -0
- package/dist/FormFieldDescription/FormFieldDescription.css +25 -0
- package/dist/FormFieldDescription/FormFieldDescription.d.ts +47 -0
- package/dist/FormFieldDescription/FormFieldDescription.d.ts.map +1 -0
- package/dist/FormFieldDescription/FormFieldDescription.js +37 -0
- package/dist/FormFieldDescription/FormFieldDescription.js.map +1 -0
- package/dist/FormFieldDescription/index.d.ts +3 -0
- package/dist/FormFieldDescription/index.d.ts.map +1 -0
- package/dist/FormFieldDescription/index.js +2 -0
- package/dist/FormFieldDescription/index.js.map +1 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.css +38 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.ts +40 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.ts.map +1 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.js +32 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.js.map +1 -0
- package/dist/FormFieldErrorMessage/index.d.ts +3 -0
- package/dist/FormFieldErrorMessage/index.d.ts.map +1 -0
- package/dist/FormFieldErrorMessage/index.js +2 -0
- package/dist/FormFieldErrorMessage/index.js.map +1 -0
- package/dist/FormFieldLabel/FormFieldLabel.css +48 -0
- package/dist/FormFieldLabel/FormFieldLabel.d.ts +38 -0
- package/dist/FormFieldLabel/FormFieldLabel.d.ts.map +1 -0
- package/dist/FormFieldLabel/FormFieldLabel.js +30 -0
- package/dist/FormFieldLabel/FormFieldLabel.js.map +1 -0
- package/dist/FormFieldLabel/index.d.ts +3 -0
- package/dist/FormFieldLabel/index.d.ts.map +1 -0
- package/dist/FormFieldLabel/index.js +2 -0
- package/dist/FormFieldLabel/index.js.map +1 -0
- package/dist/FormFieldLegend/FormFieldLegend.css +7 -0
- package/dist/FormFieldLegend/FormFieldLegend.d.ts +39 -0
- package/dist/FormFieldLegend/FormFieldLegend.d.ts.map +1 -0
- package/dist/FormFieldLegend/FormFieldLegend.js +31 -0
- package/dist/FormFieldLegend/FormFieldLegend.js.map +1 -0
- package/dist/FormFieldLegend/index.d.ts +2 -0
- package/dist/FormFieldLegend/index.d.ts.map +1 -0
- package/dist/FormFieldLegend/index.js +2 -0
- package/dist/FormFieldLegend/index.js.map +1 -0
- package/dist/FormFieldStatus/FormFieldStatus.css +66 -0
- package/dist/FormFieldStatus/FormFieldStatus.d.ts +52 -0
- package/dist/FormFieldStatus/FormFieldStatus.d.ts.map +1 -0
- package/dist/FormFieldStatus/FormFieldStatus.js +44 -0
- package/dist/FormFieldStatus/FormFieldStatus.js.map +1 -0
- package/dist/FormFieldStatus/index.d.ts +3 -0
- package/dist/FormFieldStatus/index.d.ts.map +1 -0
- package/dist/FormFieldStatus/index.js +2 -0
- package/dist/FormFieldStatus/index.js.map +1 -0
- package/dist/FormFieldset/FormFieldset.css +24 -0
- package/dist/FormFieldset/FormFieldset.d.ts +83 -0
- package/dist/FormFieldset/FormFieldset.d.ts.map +1 -0
- package/dist/FormFieldset/FormFieldset.js +59 -0
- package/dist/FormFieldset/FormFieldset.js.map +1 -0
- package/dist/FormFieldset/index.d.ts +2 -0
- package/dist/FormFieldset/index.d.ts.map +1 -0
- package/dist/FormFieldset/index.js +2 -0
- package/dist/FormFieldset/index.js.map +1 -0
- package/dist/Grid/Grid.css +573 -0
- package/dist/Grid/Grid.d.ts +35 -0
- package/dist/Grid/Grid.d.ts.map +1 -0
- package/dist/Grid/Grid.js +29 -0
- package/dist/Grid/Grid.js.map +1 -0
- package/dist/Grid/GridItem.d.ts +84 -0
- package/dist/Grid/GridItem.d.ts.map +1 -0
- package/dist/Grid/GridItem.js +39 -0
- package/dist/Grid/GridItem.js.map +1 -0
- package/dist/Grid/index.d.ts +5 -0
- package/dist/Grid/index.d.ts.map +1 -0
- package/dist/Grid/index.js +3 -0
- package/dist/Grid/index.js.map +1 -0
- package/dist/Heading/Heading.css +81 -0
- package/dist/Heading/Heading.d.ts +38 -0
- package/dist/Heading/Heading.d.ts.map +1 -0
- package/dist/Heading/Heading.js +24 -0
- package/dist/Heading/Heading.js.map +1 -0
- package/dist/Heading/index.d.ts +3 -0
- package/dist/Heading/index.d.ts.map +1 -0
- package/dist/Heading/index.js +2 -0
- package/dist/Heading/index.js.map +1 -0
- package/dist/Hero/Hero.css +205 -0
- package/dist/Hero/Hero.d.ts +45 -0
- package/dist/Hero/Hero.d.ts.map +1 -0
- package/dist/Hero/Hero.js +33 -0
- package/dist/Hero/Hero.js.map +1 -0
- package/dist/Hero/index.d.ts +3 -0
- package/dist/Hero/index.d.ts.map +1 -0
- package/dist/Hero/index.js +2 -0
- package/dist/Hero/index.js.map +1 -0
- package/dist/Icon/Icon.css +57 -0
- package/dist/Icon/Icon.d.ts +48 -0
- package/dist/Icon/Icon.d.ts.map +1 -0
- package/dist/Icon/Icon.js +42 -0
- package/dist/Icon/Icon.js.map +1 -0
- package/dist/Icon/icon-registry.generated.d.ts +4 -0
- package/dist/Icon/icon-registry.generated.d.ts.map +1 -0
- package/dist/Icon/icon-registry.generated.js +105 -0
- package/dist/Icon/icon-registry.generated.js.map +1 -0
- package/dist/Icon/index.d.ts +3 -0
- package/dist/Icon/index.d.ts.map +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Icon/index.js.map +1 -0
- package/dist/Image/Image.css +123 -0
- package/dist/Image/Image.d.ts +54 -0
- package/dist/Image/Image.d.ts.map +1 -0
- package/dist/Image/Image.js +53 -0
- package/dist/Image/Image.js.map +1 -0
- package/dist/Image/index.d.ts +3 -0
- package/dist/Image/index.d.ts.map +1 -0
- package/dist/Image/index.js +2 -0
- package/dist/Image/index.js.map +1 -0
- package/dist/Link/Link.css +113 -0
- package/dist/Link/Link.d.ts +80 -0
- package/dist/Link/Link.d.ts.map +1 -0
- package/dist/Link/Link.js +58 -0
- package/dist/Link/Link.js.map +1 -0
- package/dist/Link/index.d.ts +3 -0
- package/dist/Link/index.d.ts.map +1 -0
- package/dist/Link/index.js +2 -0
- package/dist/Link/index.js.map +1 -0
- package/dist/LinkButton/LinkButton.css +40 -0
- package/dist/LinkButton/LinkButton.d.ts +52 -0
- package/dist/LinkButton/LinkButton.d.ts.map +1 -0
- package/dist/LinkButton/LinkButton.js +34 -0
- package/dist/LinkButton/LinkButton.js.map +1 -0
- package/dist/LinkButton/index.d.ts +3 -0
- package/dist/LinkButton/index.d.ts.map +1 -0
- package/dist/LinkButton/index.js +2 -0
- package/dist/LinkButton/index.js.map +1 -0
- package/dist/Logo/Logo.css +33 -0
- package/dist/Logo/Logo.d.ts +33 -0
- package/dist/Logo/Logo.d.ts.map +1 -0
- package/dist/Logo/Logo.js +32 -0
- package/dist/Logo/Logo.js.map +1 -0
- package/dist/Logo/index.d.ts +2 -0
- package/dist/Logo/index.d.ts.map +1 -0
- package/dist/Logo/index.js +2 -0
- package/dist/Logo/index.js.map +1 -0
- package/dist/Menu/Menu.css +57 -0
- package/dist/Menu/Menu.d.ts +56 -0
- package/dist/Menu/Menu.d.ts.map +1 -0
- package/dist/Menu/Menu.js +38 -0
- package/dist/Menu/Menu.js.map +1 -0
- package/dist/Menu/index.d.ts +2 -0
- package/dist/Menu/index.d.ts.map +1 -0
- package/dist/Menu/index.js +2 -0
- package/dist/Menu/index.js.map +1 -0
- package/dist/MenuButton/MenuButton.css +106 -0
- package/dist/MenuButton/MenuButton.d.ts +54 -0
- package/dist/MenuButton/MenuButton.d.ts.map +1 -0
- package/dist/MenuButton/MenuButton.js +37 -0
- package/dist/MenuButton/MenuButton.js.map +1 -0
- package/dist/MenuButton/index.d.ts +2 -0
- package/dist/MenuButton/index.d.ts.map +1 -0
- package/dist/MenuButton/index.js +2 -0
- package/dist/MenuButton/index.js.map +1 -0
- package/dist/MenuLink/MenuLink.css +212 -0
- package/dist/MenuLink/MenuLink.d.ts +96 -0
- package/dist/MenuLink/MenuLink.d.ts.map +1 -0
- package/dist/MenuLink/MenuLink.js +50 -0
- package/dist/MenuLink/MenuLink.js.map +1 -0
- package/dist/MenuLink/index.d.ts +2 -0
- package/dist/MenuLink/index.d.ts.map +1 -0
- package/dist/MenuLink/index.js +2 -0
- package/dist/MenuLink/index.js.map +1 -0
- package/dist/ModalDialog/ModalDialog.css +199 -0
- package/dist/ModalDialog/ModalDialog.d.ts +95 -0
- package/dist/ModalDialog/ModalDialog.d.ts.map +1 -0
- package/dist/ModalDialog/ModalDialog.js +93 -0
- package/dist/ModalDialog/ModalDialog.js.map +1 -0
- package/dist/ModalDialog/index.d.ts +3 -0
- package/dist/ModalDialog/index.d.ts.map +1 -0
- package/dist/ModalDialog/index.js +2 -0
- package/dist/ModalDialog/index.js.map +1 -0
- package/dist/Note/Note.css +169 -0
- package/dist/Note/Note.d.ts +78 -0
- package/dist/Note/Note.d.ts.map +1 -0
- package/dist/Note/Note.js +68 -0
- package/dist/Note/Note.js.map +1 -0
- package/dist/Note/index.d.ts +3 -0
- package/dist/Note/index.d.ts.map +1 -0
- package/dist/Note/index.js +2 -0
- package/dist/Note/index.js.map +1 -0
- package/dist/NumberBadge/NumberBadge.css +83 -0
- package/dist/NumberBadge/NumberBadge.d.ts +42 -0
- package/dist/NumberBadge/NumberBadge.d.ts.map +1 -0
- package/dist/NumberBadge/NumberBadge.js +46 -0
- package/dist/NumberBadge/NumberBadge.js.map +1 -0
- package/dist/NumberBadge/index.d.ts +2 -0
- package/dist/NumberBadge/index.d.ts.map +1 -0
- package/dist/NumberBadge/index.js +2 -0
- package/dist/NumberBadge/index.js.map +1 -0
- package/dist/NumberInput/NumberInput.css +4 -0
- package/dist/NumberInput/NumberInput.d.ts +45 -0
- package/dist/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/NumberInput/NumberInput.js +27 -0
- package/dist/NumberInput/NumberInput.js.map +1 -0
- package/dist/NumberInput/index.d.ts +3 -0
- package/dist/NumberInput/index.d.ts.map +1 -0
- package/dist/NumberInput/index.js +2 -0
- package/dist/NumberInput/index.js.map +1 -0
- package/dist/OptionLabel/OptionLabel.css +18 -0
- package/dist/OptionLabel/OptionLabel.d.ts +13 -0
- package/dist/OptionLabel/OptionLabel.d.ts.map +1 -0
- package/dist/OptionLabel/OptionLabel.js +13 -0
- package/dist/OptionLabel/OptionLabel.js.map +1 -0
- package/dist/OptionLabel/index.d.ts +3 -0
- package/dist/OptionLabel/index.d.ts.map +1 -0
- package/dist/OptionLabel/index.js +2 -0
- package/dist/OptionLabel/index.js.map +1 -0
- package/dist/OrderedList/OrderedList.css +37 -0
- package/dist/OrderedList/OrderedList.d.ts +32 -0
- package/dist/OrderedList/OrderedList.d.ts.map +1 -0
- package/dist/OrderedList/OrderedList.js +28 -0
- package/dist/OrderedList/OrderedList.js.map +1 -0
- package/dist/OrderedList/index.d.ts +3 -0
- package/dist/OrderedList/index.d.ts.map +1 -0
- package/dist/OrderedList/index.js +2 -0
- package/dist/OrderedList/index.js.map +1 -0
- package/dist/PageBody/PageBody.css +69 -0
- package/dist/PageBody/PageBody.d.ts +33 -0
- package/dist/PageBody/PageBody.d.ts.map +1 -0
- package/dist/PageBody/PageBody.js +28 -0
- package/dist/PageBody/PageBody.js.map +1 -0
- package/dist/PageBody/index.d.ts +2 -0
- package/dist/PageBody/index.d.ts.map +1 -0
- package/dist/PageBody/index.js +2 -0
- package/dist/PageBody/index.js.map +1 -0
- package/dist/PageFooter/PageFooter.css +102 -0
- package/dist/PageFooter/PageFooter.d.ts +55 -0
- package/dist/PageFooter/PageFooter.d.ts.map +1 -0
- package/dist/PageFooter/PageFooter.js +45 -0
- package/dist/PageFooter/PageFooter.js.map +1 -0
- package/dist/PageFooter/index.d.ts +2 -0
- package/dist/PageFooter/index.d.ts.map +1 -0
- package/dist/PageFooter/index.js +2 -0
- package/dist/PageFooter/index.js.map +1 -0
- package/dist/PageHeader/PageHeader.css +517 -0
- package/dist/PageHeader/PageHeader.d.ts +190 -0
- package/dist/PageHeader/PageHeader.d.ts.map +1 -0
- package/dist/PageHeader/PageHeader.js +115 -0
- package/dist/PageHeader/PageHeader.js.map +1 -0
- package/dist/PageHeader/index.d.ts +2 -0
- package/dist/PageHeader/index.d.ts.map +1 -0
- package/dist/PageHeader/index.js +2 -0
- package/dist/PageHeader/index.js.map +1 -0
- package/dist/PageLayout/PageLayout.css +6 -0
- package/dist/PageLayout/PageLayout.d.ts +38 -0
- package/dist/PageLayout/PageLayout.d.ts.map +1 -0
- package/dist/PageLayout/PageLayout.js +33 -0
- package/dist/PageLayout/PageLayout.js.map +1 -0
- package/dist/PageLayout/index.d.ts +2 -0
- package/dist/PageLayout/index.d.ts.map +1 -0
- package/dist/PageLayout/index.js +2 -0
- package/dist/PageLayout/index.js.map +1 -0
- package/dist/Paragraph/Paragraph.css +38 -0
- package/dist/Paragraph/Paragraph.d.ts +35 -0
- package/dist/Paragraph/Paragraph.d.ts.map +1 -0
- package/dist/Paragraph/Paragraph.js +25 -0
- package/dist/Paragraph/Paragraph.js.map +1 -0
- package/dist/Paragraph/index.d.ts +3 -0
- package/dist/Paragraph/index.d.ts.map +1 -0
- package/dist/Paragraph/index.js +2 -0
- package/dist/Paragraph/index.js.map +1 -0
- package/dist/PasswordInput/PasswordInput.css +4 -0
- package/dist/PasswordInput/PasswordInput.d.ts +52 -0
- package/dist/PasswordInput/PasswordInput.d.ts.map +1 -0
- package/dist/PasswordInput/PasswordInput.js +32 -0
- package/dist/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/PasswordInput/index.d.ts +3 -0
- package/dist/PasswordInput/index.d.ts.map +1 -0
- package/dist/PasswordInput/index.js +2 -0
- package/dist/PasswordInput/index.js.map +1 -0
- package/dist/Popover/Popover.css +233 -0
- package/dist/Popover/Popover.d.ts +117 -0
- package/dist/Popover/Popover.d.ts.map +1 -0
- package/dist/Popover/Popover.js +219 -0
- package/dist/Popover/Popover.js.map +1 -0
- package/dist/Popover/index.d.ts +3 -0
- package/dist/Popover/index.d.ts.map +1 -0
- package/dist/Popover/index.js +2 -0
- package/dist/Popover/index.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.css +91 -0
- package/dist/ProgressBar/ProgressBar.d.ts +53 -0
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/ProgressBar/ProgressBar.js +36 -0
- package/dist/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/ProgressBar/index.d.ts +2 -0
- package/dist/ProgressBar/index.d.ts.map +1 -0
- package/dist/ProgressBar/index.js +2 -0
- package/dist/ProgressBar/index.js.map +1 -0
- package/dist/Radio/Radio.css +169 -0
- package/dist/Radio/Radio.d.ts +14 -0
- package/dist/Radio/Radio.d.ts.map +1 -0
- package/dist/Radio/Radio.js +14 -0
- package/dist/Radio/Radio.js.map +1 -0
- package/dist/Radio/index.d.ts +3 -0
- package/dist/Radio/index.d.ts.map +1 -0
- package/dist/Radio/index.js +2 -0
- package/dist/Radio/index.js.map +1 -0
- package/dist/RadioGroup/RadioGroup.css +10 -0
- package/dist/RadioGroup/RadioGroup.d.ts +37 -0
- package/dist/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/RadioGroup/RadioGroup.js +37 -0
- package/dist/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/RadioGroup/index.d.ts +3 -0
- package/dist/RadioGroup/index.d.ts.map +1 -0
- package/dist/RadioGroup/index.js +2 -0
- package/dist/RadioGroup/index.js.map +1 -0
- package/dist/RadioOption/RadioOption.css +17 -0
- package/dist/RadioOption/RadioOption.d.ts +14 -0
- package/dist/RadioOption/RadioOption.d.ts.map +1 -0
- package/dist/RadioOption/RadioOption.js +15 -0
- package/dist/RadioOption/RadioOption.js.map +1 -0
- package/dist/RadioOption/index.d.ts +3 -0
- package/dist/RadioOption/index.d.ts.map +1 -0
- package/dist/RadioOption/index.js +2 -0
- package/dist/RadioOption/index.js.map +1 -0
- package/dist/SearchInput/SearchInput.css +59 -0
- package/dist/SearchInput/SearchInput.d.ts +40 -0
- package/dist/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/SearchInput/SearchInput.js +31 -0
- package/dist/SearchInput/SearchInput.js.map +1 -0
- package/dist/SearchInput/index.d.ts +3 -0
- package/dist/SearchInput/index.d.ts.map +1 -0
- package/dist/SearchInput/index.js +2 -0
- package/dist/SearchInput/index.js.map +1 -0
- package/dist/Select/Select.css +86 -0
- package/dist/Select/Select.d.ts +52 -0
- package/dist/Select/Select.d.ts.map +1 -0
- package/dist/Select/Select.js +43 -0
- package/dist/Select/Select.js.map +1 -0
- package/dist/Select/index.d.ts +3 -0
- package/dist/Select/index.d.ts.map +1 -0
- package/dist/Select/index.js +2 -0
- package/dist/Select/index.js.map +1 -0
- package/dist/SkipLink/SkipLink.css +58 -0
- package/dist/SkipLink/SkipLink.d.ts +35 -0
- package/dist/SkipLink/SkipLink.d.ts.map +1 -0
- package/dist/SkipLink/SkipLink.js +23 -0
- package/dist/SkipLink/SkipLink.js.map +1 -0
- package/dist/SkipLink/index.d.ts +2 -0
- package/dist/SkipLink/index.d.ts.map +1 -0
- package/dist/SkipLink/index.js +2 -0
- package/dist/SkipLink/index.js.map +1 -0
- package/dist/Spinner/Spinner.css +101 -0
- package/dist/Spinner/Spinner.d.ts +43 -0
- package/dist/Spinner/Spinner.d.ts.map +1 -0
- package/dist/Spinner/Spinner.js +30 -0
- package/dist/Spinner/Spinner.js.map +1 -0
- package/dist/Spinner/index.d.ts +2 -0
- package/dist/Spinner/index.d.ts.map +1 -0
- package/dist/Spinner/index.js +2 -0
- package/dist/Spinner/index.js.map +1 -0
- package/dist/Stack/Stack.css +59 -0
- package/dist/Stack/Stack.d.ts +35 -0
- package/dist/Stack/Stack.d.ts.map +1 -0
- package/dist/Stack/Stack.js +29 -0
- package/dist/Stack/Stack.js.map +1 -0
- package/dist/Stack/index.d.ts +3 -0
- package/dist/Stack/index.d.ts.map +1 -0
- package/dist/Stack/index.js +2 -0
- package/dist/Stack/index.js.map +1 -0
- package/dist/StatusBadge/StatusBadge.css +87 -0
- package/dist/StatusBadge/StatusBadge.d.ts +50 -0
- package/dist/StatusBadge/StatusBadge.d.ts.map +1 -0
- package/dist/StatusBadge/StatusBadge.js +40 -0
- package/dist/StatusBadge/StatusBadge.js.map +1 -0
- package/dist/StatusBadge/index.d.ts +2 -0
- package/dist/StatusBadge/index.d.ts.map +1 -0
- package/dist/StatusBadge/index.js +2 -0
- package/dist/StatusBadge/index.js.map +1 -0
- package/dist/SummaryList/SummaryList.css +151 -0
- package/dist/SummaryList/SummaryList.d.ts +49 -0
- package/dist/SummaryList/SummaryList.d.ts.map +1 -0
- package/dist/SummaryList/SummaryList.js +31 -0
- package/dist/SummaryList/SummaryList.js.map +1 -0
- package/dist/SummaryList/index.d.ts +3 -0
- package/dist/SummaryList/index.d.ts.map +1 -0
- package/dist/SummaryList/index.js +2 -0
- package/dist/SummaryList/index.js.map +1 -0
- package/dist/Table/Table.css +243 -0
- package/dist/Table/Table.d.ts +61 -0
- package/dist/Table/Table.d.ts.map +1 -0
- package/dist/Table/Table.js +37 -0
- package/dist/Table/Table.js.map +1 -0
- package/dist/Table/index.d.ts +3 -0
- package/dist/Table/index.d.ts.map +1 -0
- package/dist/Table/index.js +2 -0
- package/dist/Table/index.js.map +1 -0
- package/dist/TelephoneInput/TelephoneInput.css +4 -0
- package/dist/TelephoneInput/TelephoneInput.d.ts +38 -0
- package/dist/TelephoneInput/TelephoneInput.d.ts.map +1 -0
- package/dist/TelephoneInput/TelephoneInput.js +27 -0
- package/dist/TelephoneInput/TelephoneInput.js.map +1 -0
- package/dist/TelephoneInput/index.d.ts +3 -0
- package/dist/TelephoneInput/index.d.ts.map +1 -0
- package/dist/TelephoneInput/index.js +2 -0
- package/dist/TelephoneInput/index.js.map +1 -0
- package/dist/TextArea/TextArea.css +126 -0
- package/dist/TextArea/TextArea.d.ts +44 -0
- package/dist/TextArea/TextArea.d.ts.map +1 -0
- package/dist/TextArea/TextArea.js +33 -0
- package/dist/TextArea/TextArea.js.map +1 -0
- package/dist/TextArea/index.d.ts +3 -0
- package/dist/TextArea/index.d.ts.map +1 -0
- package/dist/TextArea/index.js +2 -0
- package/dist/TextArea/index.js.map +1 -0
- package/dist/TextInput/TextInput.css +122 -0
- package/dist/TextInput/TextInput.d.ts +44 -0
- package/dist/TextInput/TextInput.d.ts.map +1 -0
- package/dist/TextInput/TextInput.js +33 -0
- package/dist/TextInput/TextInput.js.map +1 -0
- package/dist/TextInput/index.d.ts +3 -0
- package/dist/TextInput/index.d.ts.map +1 -0
- package/dist/TextInput/index.js +2 -0
- package/dist/TextInput/index.js.map +1 -0
- package/dist/TimeInput/TimeInput.css +37 -0
- package/dist/TimeInput/TimeInput.d.ts +37 -0
- package/dist/TimeInput/TimeInput.d.ts.map +1 -0
- package/dist/TimeInput/TimeInput.js +52 -0
- package/dist/TimeInput/TimeInput.js.map +1 -0
- package/dist/TimeInput/index.d.ts +3 -0
- package/dist/TimeInput/index.d.ts.map +1 -0
- package/dist/TimeInput/index.js +2 -0
- package/dist/TimeInput/index.js.map +1 -0
- package/dist/UnorderedList/UnorderedList.css +38 -0
- package/dist/UnorderedList/UnorderedList.d.ts +26 -0
- package/dist/UnorderedList/UnorderedList.d.ts.map +1 -0
- package/dist/UnorderedList/UnorderedList.js +22 -0
- package/dist/UnorderedList/UnorderedList.js.map +1 -0
- package/dist/UnorderedList/index.d.ts +3 -0
- package/dist/UnorderedList/index.d.ts.map +1 -0
- package/dist/UnorderedList/index.js +2 -0
- package/dist/UnorderedList/index.js.map +1 -0
- package/dist/index.css +7036 -0
- package/dist/index.d.ts +76 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { classNames } from '@dsn-starter-kit/core';
|
|
4
|
+
import './BreakoutSection.css';
|
|
5
|
+
/**
|
|
6
|
+
* BreakoutSection layout component
|
|
7
|
+
* Laat een sectie "uitslaan" buiten een beperkte paginabreedte om de volledige
|
|
8
|
+
* viewportbreedte te beslaan via `margin-inline: calc(50% - 50vw)`.
|
|
9
|
+
*
|
|
10
|
+
* Vereiste: de parent (.dsn-page-body) heeft `overflow-x: clip` zodat er geen
|
|
11
|
+
* horizontale scrolbalk verschijnt.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <BreakoutSection style={{ backgroundColor: 'var(--dsn-color-accent-1-inverse-bg-default)' }}>
|
|
16
|
+
* <div style={{ maxInlineSize: 'var(--dsn-page-max-inline-size)', marginInline: 'auto', paddingInline: 'var(--dsn-page-body-padding-inline)' }}>
|
|
17
|
+
* <Heading level={2}>Uitgeslagen sectie</Heading>
|
|
18
|
+
* </div>
|
|
19
|
+
* </BreakoutSection>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export const BreakoutSection = React.forwardRef(({ as: As = 'section', className, children, ...props }, ref) => {
|
|
23
|
+
const classes = classNames('dsn-breakout-section', className);
|
|
24
|
+
return (_jsx(As, { ref: ref, className: classes, ...props, children: children }));
|
|
25
|
+
});
|
|
26
|
+
BreakoutSection.displayName = 'BreakoutSection';
|
|
27
|
+
//# sourceMappingURL=BreakoutSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreakoutSection.js","sourceRoot":"","sources":["../../src/BreakoutSection/BreakoutSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,uBAAuB,CAAC;AAc/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAE9D,OAAO,CACL,KAAC,EAAE,IAAC,GAAG,EAAE,GAAgC,EAAE,SAAS,EAAE,OAAO,KAAM,KAAK,YACrE,QAAQ,GACN,CACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/BreakoutSection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/BreakoutSection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button Component Styles for React
|
|
3
|
+
* Re-exports the base Button styles from components-html
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Button Component
|
|
8
|
+
* Uses component tokens for consistent styling
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
.dsn-button {
|
|
12
|
+
/* Reset */
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
align-self: flex-start;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
position: relative; /* Ankerpunt voor DotBadge */
|
|
18
|
+
|
|
19
|
+
/* Typography */
|
|
20
|
+
font-family: var(--dsn-button-font-family);
|
|
21
|
+
font-weight: var(--dsn-button-font-weight);
|
|
22
|
+
line-height: var(--dsn-button-line-height);
|
|
23
|
+
text-decoration: none;
|
|
24
|
+
|
|
25
|
+
/* Borders */
|
|
26
|
+
border: var(--dsn-button-border-width) solid transparent;
|
|
27
|
+
border-radius: var(--dsn-button-border-radius);
|
|
28
|
+
|
|
29
|
+
/* Interaction */
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
user-select: none;
|
|
32
|
+
transition:
|
|
33
|
+
background-color var(--dsn-transition-duration-normal)
|
|
34
|
+
var(--dsn-transition-easing-default),
|
|
35
|
+
color var(--dsn-transition-duration-normal)
|
|
36
|
+
var(--dsn-transition-easing-default),
|
|
37
|
+
border-color var(--dsn-transition-duration-normal)
|
|
38
|
+
var(--dsn-transition-easing-default);
|
|
39
|
+
|
|
40
|
+
/* Accessibility - WCAG pointer target */
|
|
41
|
+
min-block-size: var(--dsn-button-min-block-size);
|
|
42
|
+
min-inline-size: var(--dsn-button-min-inline-size);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* =============================================================================
|
|
46
|
+
Size Variants
|
|
47
|
+
============================================================================= */
|
|
48
|
+
|
|
49
|
+
.dsn-button--size-small {
|
|
50
|
+
font-size: var(--dsn-button-size-small-font-size);
|
|
51
|
+
padding-block: var(--dsn-button-size-small-padding-block);
|
|
52
|
+
padding-inline: var(--dsn-button-size-small-padding-inline);
|
|
53
|
+
gap: var(--dsn-button-size-small-gap);
|
|
54
|
+
min-block-size: var(--dsn-button-size-small-min-block-size);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.dsn-button--size-default {
|
|
58
|
+
font-size: var(--dsn-button-size-default-font-size);
|
|
59
|
+
padding-block: var(--dsn-button-size-default-padding-block);
|
|
60
|
+
padding-inline: var(--dsn-button-size-default-padding-inline);
|
|
61
|
+
gap: var(--dsn-button-size-default-gap);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.dsn-button--size-large {
|
|
65
|
+
font-size: var(--dsn-button-size-large-font-size);
|
|
66
|
+
padding-block: var(--dsn-button-size-large-padding-block);
|
|
67
|
+
padding-inline: var(--dsn-button-size-large-padding-inline);
|
|
68
|
+
gap: var(--dsn-button-size-large-gap);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Icon sizing per button size */
|
|
72
|
+
.dsn-button--size-small > .dsn-icon {
|
|
73
|
+
width: var(--dsn-button-size-small-icon-size);
|
|
74
|
+
height: var(--dsn-button-size-small-icon-size);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.dsn-button--size-default > .dsn-icon {
|
|
78
|
+
width: var(--dsn-button-size-default-icon-size);
|
|
79
|
+
height: var(--dsn-button-size-default-icon-size);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.dsn-button--size-large > .dsn-icon {
|
|
83
|
+
width: var(--dsn-button-size-large-icon-size);
|
|
84
|
+
height: var(--dsn-button-size-large-icon-size);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Icon Only Button */
|
|
88
|
+
.dsn-button--icon-only {
|
|
89
|
+
padding-inline: var(--dsn-button-size-default-icon-only-padding);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.dsn-button--icon-only.dsn-button--size-small {
|
|
93
|
+
padding-inline: var(--dsn-button-size-small-icon-only-padding);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.dsn-button--icon-only.dsn-button--size-large {
|
|
97
|
+
padding-inline: var(--dsn-button-size-large-icon-only-padding);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Icon Only — hide text label visually, keep accessible for screen readers */
|
|
101
|
+
.dsn-button--icon-only .dsn-button__label {
|
|
102
|
+
position: absolute;
|
|
103
|
+
inline-size: 1px;
|
|
104
|
+
block-size: 1px;
|
|
105
|
+
padding: 0;
|
|
106
|
+
margin: -1px;
|
|
107
|
+
overflow: hidden;
|
|
108
|
+
clip-path: inset(50%);
|
|
109
|
+
white-space: nowrap;
|
|
110
|
+
border: 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* =============================================================================
|
|
114
|
+
Focus State
|
|
115
|
+
============================================================================= */
|
|
116
|
+
|
|
117
|
+
.dsn-button:focus-visible {
|
|
118
|
+
background-color: var(--dsn-focus-background-color);
|
|
119
|
+
color: var(--dsn-focus-color);
|
|
120
|
+
border-color: var(--dsn-focus-background-color);
|
|
121
|
+
outline: var(--dsn-focus-outline-width) var(--dsn-focus-outline-style)
|
|
122
|
+
var(--dsn-focus-outline-color);
|
|
123
|
+
outline-offset: var(--dsn-focus-outline-offset);
|
|
124
|
+
box-shadow: 0 0 0
|
|
125
|
+
calc(var(--dsn-focus-outline-offset) + var(--dsn-focus-outline-width))
|
|
126
|
+
var(--dsn-focus-inverse-outline-color);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* =============================================================================
|
|
130
|
+
Color Variants
|
|
131
|
+
============================================================================= */
|
|
132
|
+
|
|
133
|
+
/* Variant: Strong (main CTA) */
|
|
134
|
+
.dsn-button--strong {
|
|
135
|
+
background-color: var(--dsn-button-strong-background-color);
|
|
136
|
+
color: var(--dsn-button-strong-color);
|
|
137
|
+
border-color: var(--dsn-button-strong-border-color);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.dsn-button--strong:hover:not(:disabled) {
|
|
141
|
+
background-color: var(--dsn-button-strong-hover-background-color);
|
|
142
|
+
color: var(--dsn-button-strong-hover-color);
|
|
143
|
+
border-color: var(--dsn-button-strong-hover-border-color);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.dsn-button--strong:active:not(:disabled) {
|
|
147
|
+
background-color: var(--dsn-button-strong-active-background-color);
|
|
148
|
+
color: var(--dsn-button-strong-active-color);
|
|
149
|
+
border-color: var(--dsn-button-strong-active-border-color);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* Variant: Default (alternative actions) */
|
|
153
|
+
.dsn-button--default {
|
|
154
|
+
background-color: var(--dsn-button-default-background-color);
|
|
155
|
+
color: var(--dsn-button-default-color);
|
|
156
|
+
border-color: var(--dsn-button-default-border-color);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.dsn-button--default:hover:not(:disabled) {
|
|
160
|
+
background-color: var(--dsn-button-default-hover-background-color);
|
|
161
|
+
color: var(--dsn-button-default-hover-color);
|
|
162
|
+
border-color: var(--dsn-button-default-hover-border-color);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.dsn-button--default:active:not(:disabled) {
|
|
166
|
+
background-color: var(--dsn-button-default-active-background-color);
|
|
167
|
+
color: var(--dsn-button-default-active-color);
|
|
168
|
+
border-color: var(--dsn-button-default-active-border-color);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Variant: Subtle (low emphasis) */
|
|
172
|
+
.dsn-button--subtle {
|
|
173
|
+
background-color: var(--dsn-button-subtle-background-color);
|
|
174
|
+
color: var(--dsn-button-subtle-color);
|
|
175
|
+
border-color: var(--dsn-button-subtle-border-color);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.dsn-button--subtle:hover:not(:disabled) {
|
|
179
|
+
background-color: var(--dsn-button-subtle-hover-background-color);
|
|
180
|
+
color: var(--dsn-button-subtle-hover-color);
|
|
181
|
+
border-color: var(--dsn-button-subtle-hover-border-color);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.dsn-button--subtle:active:not(:disabled) {
|
|
185
|
+
background-color: var(--dsn-button-subtle-active-background-color);
|
|
186
|
+
color: var(--dsn-button-subtle-active-color);
|
|
187
|
+
border-color: var(--dsn-button-subtle-active-border-color);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* =============================================================================
|
|
191
|
+
Sentiment Variants: Negative
|
|
192
|
+
============================================================================= */
|
|
193
|
+
|
|
194
|
+
.dsn-button--strong-negative {
|
|
195
|
+
background-color: var(--dsn-button-strong-negative-background-color);
|
|
196
|
+
color: var(--dsn-button-strong-negative-color);
|
|
197
|
+
border-color: var(--dsn-button-strong-negative-border-color);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.dsn-button--strong-negative:hover:not(:disabled) {
|
|
201
|
+
background-color: var(--dsn-button-strong-negative-hover-background-color);
|
|
202
|
+
color: var(--dsn-button-strong-negative-hover-color);
|
|
203
|
+
border-color: var(--dsn-button-strong-negative-hover-border-color);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.dsn-button--strong-negative:active:not(:disabled) {
|
|
207
|
+
background-color: var(--dsn-button-strong-negative-active-background-color);
|
|
208
|
+
color: var(--dsn-button-strong-negative-active-color);
|
|
209
|
+
border-color: var(--dsn-button-strong-negative-active-border-color);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.dsn-button--default-negative {
|
|
213
|
+
background-color: var(--dsn-button-default-negative-background-color);
|
|
214
|
+
color: var(--dsn-button-default-negative-color);
|
|
215
|
+
border-color: var(--dsn-button-default-negative-border-color);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.dsn-button--default-negative:hover:not(:disabled) {
|
|
219
|
+
background-color: var(--dsn-button-default-negative-hover-background-color);
|
|
220
|
+
color: var(--dsn-button-default-negative-hover-color);
|
|
221
|
+
border-color: var(--dsn-button-default-negative-hover-border-color);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.dsn-button--default-negative:active:not(:disabled) {
|
|
225
|
+
background-color: var(--dsn-button-default-negative-active-background-color);
|
|
226
|
+
color: var(--dsn-button-default-negative-active-color);
|
|
227
|
+
border-color: var(--dsn-button-default-negative-active-border-color);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.dsn-button--subtle-negative {
|
|
231
|
+
background-color: var(--dsn-button-subtle-negative-background-color);
|
|
232
|
+
color: var(--dsn-button-subtle-negative-color);
|
|
233
|
+
border-color: var(--dsn-button-subtle-negative-border-color);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.dsn-button--subtle-negative:hover:not(:disabled) {
|
|
237
|
+
background-color: var(--dsn-button-subtle-negative-hover-background-color);
|
|
238
|
+
color: var(--dsn-button-subtle-negative-hover-color);
|
|
239
|
+
border-color: var(--dsn-button-subtle-negative-hover-border-color);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.dsn-button--subtle-negative:active:not(:disabled) {
|
|
243
|
+
background-color: var(--dsn-button-subtle-negative-active-background-color);
|
|
244
|
+
color: var(--dsn-button-subtle-negative-active-color);
|
|
245
|
+
border-color: var(--dsn-button-subtle-negative-active-border-color);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* =============================================================================
|
|
249
|
+
Sentiment Variants: Positive
|
|
250
|
+
============================================================================= */
|
|
251
|
+
|
|
252
|
+
.dsn-button--strong-positive {
|
|
253
|
+
background-color: var(--dsn-button-strong-positive-background-color);
|
|
254
|
+
color: var(--dsn-button-strong-positive-color);
|
|
255
|
+
border-color: var(--dsn-button-strong-positive-border-color);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.dsn-button--strong-positive:hover:not(:disabled) {
|
|
259
|
+
background-color: var(--dsn-button-strong-positive-hover-background-color);
|
|
260
|
+
color: var(--dsn-button-strong-positive-hover-color);
|
|
261
|
+
border-color: var(--dsn-button-strong-positive-hover-border-color);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.dsn-button--strong-positive:active:not(:disabled) {
|
|
265
|
+
background-color: var(--dsn-button-strong-positive-active-background-color);
|
|
266
|
+
color: var(--dsn-button-strong-positive-active-color);
|
|
267
|
+
border-color: var(--dsn-button-strong-positive-active-border-color);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.dsn-button--default-positive {
|
|
271
|
+
background-color: var(--dsn-button-default-positive-background-color);
|
|
272
|
+
color: var(--dsn-button-default-positive-color);
|
|
273
|
+
border-color: var(--dsn-button-default-positive-border-color);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.dsn-button--default-positive:hover:not(:disabled) {
|
|
277
|
+
background-color: var(--dsn-button-default-positive-hover-background-color);
|
|
278
|
+
color: var(--dsn-button-default-positive-hover-color);
|
|
279
|
+
border-color: var(--dsn-button-default-positive-hover-border-color);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.dsn-button--default-positive:active:not(:disabled) {
|
|
283
|
+
background-color: var(--dsn-button-default-positive-active-background-color);
|
|
284
|
+
color: var(--dsn-button-default-positive-active-color);
|
|
285
|
+
border-color: var(--dsn-button-default-positive-active-border-color);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.dsn-button--subtle-positive {
|
|
289
|
+
background-color: var(--dsn-button-subtle-positive-background-color);
|
|
290
|
+
color: var(--dsn-button-subtle-positive-color);
|
|
291
|
+
border-color: var(--dsn-button-subtle-positive-border-color);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.dsn-button--subtle-positive:hover:not(:disabled) {
|
|
295
|
+
background-color: var(--dsn-button-subtle-positive-hover-background-color);
|
|
296
|
+
color: var(--dsn-button-subtle-positive-hover-color);
|
|
297
|
+
border-color: var(--dsn-button-subtle-positive-hover-border-color);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.dsn-button--subtle-positive:active:not(:disabled) {
|
|
301
|
+
background-color: var(--dsn-button-subtle-positive-active-background-color);
|
|
302
|
+
color: var(--dsn-button-subtle-positive-active-color);
|
|
303
|
+
border-color: var(--dsn-button-subtle-positive-active-border-color);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* =============================================================================
|
|
307
|
+
States
|
|
308
|
+
============================================================================= */
|
|
309
|
+
|
|
310
|
+
/* Disabled State */
|
|
311
|
+
.dsn-button:disabled {
|
|
312
|
+
background-color: var(--dsn-button-disabled-background-color);
|
|
313
|
+
color: var(--dsn-button-disabled-color);
|
|
314
|
+
border-color: var(--dsn-button-disabled-border-color);
|
|
315
|
+
cursor: not-allowed;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/* Loading State */
|
|
319
|
+
.dsn-button--loading {
|
|
320
|
+
pointer-events: none;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.dsn-button--loading > .dsn-button__loader {
|
|
324
|
+
animation: dsn-button-spin 0.8s linear infinite;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
@keyframes dsn-button-spin {
|
|
328
|
+
to {
|
|
329
|
+
transform: rotate(360deg);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* Full Width */
|
|
334
|
+
.dsn-button--full-width {
|
|
335
|
+
width: 100%;
|
|
336
|
+
}
|
|
337
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Button.css';
|
|
3
|
+
export type ButtonVariant = 'strong' | 'strong-negative' | 'strong-positive' | 'default' | 'default-negative' | 'default-positive' | 'subtle' | 'subtle-negative' | 'subtle-positive';
|
|
4
|
+
export type ButtonSize = 'small' | 'default' | 'large';
|
|
5
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
/**
|
|
7
|
+
* Button visual style
|
|
8
|
+
* @default 'strong'
|
|
9
|
+
*/
|
|
10
|
+
variant?: ButtonVariant;
|
|
11
|
+
/**
|
|
12
|
+
* Button size
|
|
13
|
+
* @default 'default'
|
|
14
|
+
*/
|
|
15
|
+
size?: ButtonSize;
|
|
16
|
+
/**
|
|
17
|
+
* Whether button shows loading state
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
loading?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether button takes full width of container
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
fullWidth?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether button contains only an icon (adjusts padding)
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
iconOnly?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Icon element rendered before the button text
|
|
33
|
+
*/
|
|
34
|
+
iconStart?: React.ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* Icon element rendered after the button text
|
|
37
|
+
*/
|
|
38
|
+
iconEnd?: React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Additional CSS class names
|
|
41
|
+
*/
|
|
42
|
+
className?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Button content
|
|
45
|
+
*/
|
|
46
|
+
children?: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Button component with multiple variants and sizes
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* // Basic usage
|
|
54
|
+
* <Button variant="strong">Save</Button>
|
|
55
|
+
*
|
|
56
|
+
* // With icon before text
|
|
57
|
+
* <Button variant="default" iconStart={<Icon name="plus" />}>
|
|
58
|
+
* Add item
|
|
59
|
+
* </Button>
|
|
60
|
+
*
|
|
61
|
+
* // With icon after text
|
|
62
|
+
* <Button variant="default" iconEnd={<Icon name="arrow-right" />}>
|
|
63
|
+
* Next
|
|
64
|
+
* </Button>
|
|
65
|
+
*
|
|
66
|
+
* // With icons on both sides
|
|
67
|
+
* <Button iconStart={<Icon name="check" />} iconEnd={<Icon name="arrow-right" />}>
|
|
68
|
+
* Confirm
|
|
69
|
+
* </Button>
|
|
70
|
+
*
|
|
71
|
+
* // Icon only — children is the accessible text label, icon via iconStart
|
|
72
|
+
* <Button variant="subtle" iconOnly iconStart={<Icon name="x" />}>
|
|
73
|
+
* Sluiten
|
|
74
|
+
* </Button>
|
|
75
|
+
*
|
|
76
|
+
* // Loading state
|
|
77
|
+
* <Button loading disabled>Saving...</Button>
|
|
78
|
+
*
|
|
79
|
+
* // Different sizes
|
|
80
|
+
* <Button size="small">Small</Button>
|
|
81
|
+
* <Button size="default">Default</Button>
|
|
82
|
+
* <Button size="large">Large</Button>
|
|
83
|
+
*
|
|
84
|
+
* // Sentiment variants
|
|
85
|
+
* <Button variant="strong-negative">Delete</Button>
|
|
86
|
+
* <Button variant="strong-positive">Confirm</Button>
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
90
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,kBAAkB,GAClB,kBAAkB,GAClB,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,CAAC;AACtB,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,MAAM,uFAiDlB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { classNames } from '@dsn-starter-kit/core';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import './Button.css';
|
|
6
|
+
/**
|
|
7
|
+
* Button component with multiple variants and sizes
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // Basic usage
|
|
12
|
+
* <Button variant="strong">Save</Button>
|
|
13
|
+
*
|
|
14
|
+
* // With icon before text
|
|
15
|
+
* <Button variant="default" iconStart={<Icon name="plus" />}>
|
|
16
|
+
* Add item
|
|
17
|
+
* </Button>
|
|
18
|
+
*
|
|
19
|
+
* // With icon after text
|
|
20
|
+
* <Button variant="default" iconEnd={<Icon name="arrow-right" />}>
|
|
21
|
+
* Next
|
|
22
|
+
* </Button>
|
|
23
|
+
*
|
|
24
|
+
* // With icons on both sides
|
|
25
|
+
* <Button iconStart={<Icon name="check" />} iconEnd={<Icon name="arrow-right" />}>
|
|
26
|
+
* Confirm
|
|
27
|
+
* </Button>
|
|
28
|
+
*
|
|
29
|
+
* // Icon only — children is the accessible text label, icon via iconStart
|
|
30
|
+
* <Button variant="subtle" iconOnly iconStart={<Icon name="x" />}>
|
|
31
|
+
* Sluiten
|
|
32
|
+
* </Button>
|
|
33
|
+
*
|
|
34
|
+
* // Loading state
|
|
35
|
+
* <Button loading disabled>Saving...</Button>
|
|
36
|
+
*
|
|
37
|
+
* // Different sizes
|
|
38
|
+
* <Button size="small">Small</Button>
|
|
39
|
+
* <Button size="default">Default</Button>
|
|
40
|
+
* <Button size="large">Large</Button>
|
|
41
|
+
*
|
|
42
|
+
* // Sentiment variants
|
|
43
|
+
* <Button variant="strong-negative">Delete</Button>
|
|
44
|
+
* <Button variant="strong-positive">Confirm</Button>
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export const Button = React.forwardRef(({ variant = 'strong', size = 'default', loading = false, fullWidth = false, iconOnly = false, iconStart, iconEnd, className, disabled, children, type = 'button', ...props }, ref) => {
|
|
48
|
+
const classes = classNames('dsn-button', `dsn-button--${variant}`, `dsn-button--size-${size}`, loading && 'dsn-button--loading', fullWidth && 'dsn-button--full-width', iconOnly && 'dsn-button--icon-only', className);
|
|
49
|
+
const loaderIcon = loading ? (_jsx(Icon, { name: "loader", className: "dsn-button__loader", "aria-hidden": true })) : null;
|
|
50
|
+
return (_jsxs("button", { ref: ref, type: type, className: classes, disabled: disabled || loading, "aria-busy": loading || undefined, ...props, children: [loading ? loaderIcon : iconStart, children !== undefined && children !== null && (_jsx("span", { className: "dsn-button__label", children: children })), iconEnd] }));
|
|
51
|
+
});
|
|
52
|
+
Button.displayName = 'Button';
|
|
53
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,cAAc,CAAC;AAkEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,CACE,EACE,OAAO,GAAG,QAAQ,EAClB,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,OAAO,GAAG,UAAU,CACxB,YAAY,EACZ,eAAe,OAAO,EAAE,EACxB,oBAAoB,IAAI,EAAE,EAC1B,OAAO,IAAI,qBAAqB,EAChC,SAAS,IAAI,wBAAwB,EACrC,QAAQ,IAAI,uBAAuB,EACnC,SAAS,CACV,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,oBAAoB,wBAAe,CAClE,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,kBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,IAAI,OAAO,eAClB,OAAO,IAAI,SAAS,KAC3B,KAAK,aAER,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAChC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,CAC9C,eAAM,SAAS,EAAC,mBAAmB,YAAE,QAAQ,GAAQ,CACtD,EACA,OAAO,IACD,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonLink Component Styles for React
|
|
3
|
+
* Re-exports the base ButtonLink styles from components-html
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ButtonLink Component
|
|
8
|
+
* Resets <a> styles so the element uses dsn-button appearance.
|
|
9
|
+
* Always combine with dsn-button, dsn-button--{variant}, and dsn-button--size-{size}:
|
|
10
|
+
* <a class="dsn-button dsn-button--strong dsn-button--size-default dsn-button-link" href="/">Label</a>
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
.dsn-button-link {
|
|
14
|
+
/* Anchor reset — dsn-button handles most resets already */
|
|
15
|
+
text-decoration: none; /* Safety net: mocht dsn-button dit ooit weglaten */
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Disabled staat via aria-disabled — <a> heeft geen native :disabled.
|
|
19
|
+
dsn-button:disabled matcht niet op <a>, dus we repliceren de stijlen handmatig.
|
|
20
|
+
pointer-events: none blokkeert ook hover/active (Button's :not(:disabled) matcht
|
|
21
|
+
altijd op <a>, dus we kunnen niet op die guards vertrouwen). */
|
|
22
|
+
.dsn-button-link[aria-disabled='true'] {
|
|
23
|
+
background-color: var(--dsn-button-disabled-background-color);
|
|
24
|
+
color: var(--dsn-button-disabled-color);
|
|
25
|
+
border-color: var(--dsn-button-disabled-border-color);
|
|
26
|
+
cursor: not-allowed;
|
|
27
|
+
pointer-events: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './ButtonLink.css';
|
|
3
|
+
export type ButtonLinkVariant = 'strong' | 'strong-negative' | 'strong-positive' | 'default' | 'default-negative' | 'default-positive' | 'subtle' | 'subtle-negative' | 'subtle-positive';
|
|
4
|
+
export type ButtonLinkSize = 'small' | 'default' | 'large';
|
|
5
|
+
export interface ButtonLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
6
|
+
/**
|
|
7
|
+
* Navigation URL
|
|
8
|
+
*/
|
|
9
|
+
href?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Visual style — same variants as Button (excl. 'link')
|
|
12
|
+
* @default 'strong'
|
|
13
|
+
*/
|
|
14
|
+
variant?: ButtonLinkVariant;
|
|
15
|
+
/**
|
|
16
|
+
* Button size
|
|
17
|
+
* @default 'default'
|
|
18
|
+
*/
|
|
19
|
+
size?: ButtonLinkSize;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the button-link takes full width of container
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
fullWidth?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether button-link contains only an icon (hides label text visually)
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
iconOnly?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Icon element rendered before the label text
|
|
32
|
+
*/
|
|
33
|
+
iconStart?: React.ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Icon element rendered after the label text
|
|
36
|
+
*/
|
|
37
|
+
iconEnd?: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the link is disabled.
|
|
40
|
+
* Maps to aria-disabled="true" + tabIndex={-1} + prevents navigation.
|
|
41
|
+
* <a> has no native disabled attribute.
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the link opens in a new tab.
|
|
47
|
+
* Automatically adds target="_blank", rel="noopener noreferrer",
|
|
48
|
+
* and an inline "(opent nieuw tabblad)" hint — same behaviour as Link.
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
external?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Additional CSS class names
|
|
54
|
+
*/
|
|
55
|
+
className?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Link content (wrapped in dsn-button__label, same as Button)
|
|
58
|
+
*/
|
|
59
|
+
children?: React.ReactNode;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* ButtonLink — semantically an <a>, visually styled as a Button.
|
|
63
|
+
*
|
|
64
|
+
* Use when an action navigates to a URL but needs the visual prominence of a Button.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* // Basic usage (strong, default size)
|
|
69
|
+
* <ButtonLink href="/volgende">Volgende stap</ButtonLink>
|
|
70
|
+
*
|
|
71
|
+
* // Subtle variant
|
|
72
|
+
* <ButtonLink href="/" variant="subtle">Terug naar overzicht</ButtonLink>
|
|
73
|
+
*
|
|
74
|
+
* // With icon
|
|
75
|
+
* <ButtonLink href="/download" iconStart={<Icon name="download" aria-hidden />}>
|
|
76
|
+
* Download rapport
|
|
77
|
+
* </ButtonLink>
|
|
78
|
+
*
|
|
79
|
+
* // Icon-only
|
|
80
|
+
* <ButtonLink href="/info" iconOnly iconStart={<Icon name="info-circle" aria-hidden />}>
|
|
81
|
+
* Meer informatie
|
|
82
|
+
* </ButtonLink>
|
|
83
|
+
*
|
|
84
|
+
* // Disabled
|
|
85
|
+
* <ButtonLink href="/dashboard" disabled>Niet beschikbaar</ButtonLink>
|
|
86
|
+
*
|
|
87
|
+
* // Opens in new tab with visible hint
|
|
88
|
+
* <ButtonLink href="https://example.com" external>Externe pagina</ButtonLink>
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare const ButtonLink: React.ForwardRefExoticComponent<ButtonLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
92
|
+
//# sourceMappingURL=ButtonLink.d.ts.map
|