@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,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DateInput Component Styles
|
|
3
|
+
* Fixed-width wrapper positions the Button (subtle, small, icon-only) at inline-end inside the input.
|
|
4
|
+
* The input uses dsn-text-input base styles with extra padding-inline-end
|
|
5
|
+
* to prevent typed text from overlapping the button.
|
|
6
|
+
* Button hover/focus/color states come from the Button component itself.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* Wrapper — fixed md width (20ch), positions calendar button absolutely inside the input */
|
|
10
|
+
.dsn-date-input-wrapper {
|
|
11
|
+
position: relative;
|
|
12
|
+
display: block;
|
|
13
|
+
inline-size: 100%;
|
|
14
|
+
max-inline-size: var(--dsn-form-control-width-md);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Calendar button — centered vertically, positioned at inline-end with reduced margin */
|
|
18
|
+
.dsn-date-input__button {
|
|
19
|
+
position: absolute;
|
|
20
|
+
inset-block-start: 50%;
|
|
21
|
+
inset-inline-end: var(--dsn-date-input-button-inset-inline-end);
|
|
22
|
+
transform: translateY(-50%);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Input — extra padding-inline-end to make room for the calendar button */
|
|
26
|
+
/* Hide the native browser calendar/date picker indicator */
|
|
27
|
+
.dsn-date-input {
|
|
28
|
+
padding-inline-end: var(--dsn-date-input-padding-inline-end-with-icon);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.dsn-date-input::-webkit-calendar-picker-indicator {
|
|
32
|
+
display: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.dsn-date-input::-webkit-inner-spin-button {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '../TextInput/TextInput.css';
|
|
3
|
+
import './DateInput.css';
|
|
4
|
+
export interface DateInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
5
|
+
/**
|
|
6
|
+
* Whether the input is in an invalid state
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
invalid?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Additional CSS class names
|
|
12
|
+
*/
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Date Input component
|
|
17
|
+
* Date input with an interactive calendar button at inline-end that opens the native date picker.
|
|
18
|
+
* Fixed width (sm) — not configurable, as date inputs have a predictable content width.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* // Basic usage
|
|
23
|
+
* <DateInput />
|
|
24
|
+
*
|
|
25
|
+
* // With label
|
|
26
|
+
* <FormFieldLabel htmlFor="date">Datum</FormFieldLabel>
|
|
27
|
+
* <DateInput id="date" />
|
|
28
|
+
*
|
|
29
|
+
* // With default value
|
|
30
|
+
* <DateInput defaultValue="2025-03-15" />
|
|
31
|
+
*
|
|
32
|
+
* // Invalid state
|
|
33
|
+
* <DateInput invalid aria-invalid="true" aria-describedby="error" />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare const DateInput: React.ForwardRefExoticComponent<DateInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
37
|
+
//# sourceMappingURL=DateInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,CACP;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,SAAS,yFAyDrB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { Button } from '../Button';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import '../TextInput/TextInput.css';
|
|
7
|
+
import './DateInput.css';
|
|
8
|
+
/**
|
|
9
|
+
* Date Input component
|
|
10
|
+
* Date input with an interactive calendar button at inline-end that opens the native date picker.
|
|
11
|
+
* Fixed width (sm) — not configurable, as date inputs have a predictable content width.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* // Basic usage
|
|
16
|
+
* <DateInput />
|
|
17
|
+
*
|
|
18
|
+
* // With label
|
|
19
|
+
* <FormFieldLabel htmlFor="date">Datum</FormFieldLabel>
|
|
20
|
+
* <DateInput id="date" />
|
|
21
|
+
*
|
|
22
|
+
* // With default value
|
|
23
|
+
* <DateInput defaultValue="2025-03-15" />
|
|
24
|
+
*
|
|
25
|
+
* // Invalid state
|
|
26
|
+
* <DateInput invalid aria-invalid="true" aria-describedby="error" />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const DateInput = React.forwardRef(({ className, invalid, disabled, readOnly, ...props }, ref) => {
|
|
30
|
+
const inputRef = React.useRef(null);
|
|
31
|
+
// Merge external ref with internal ref
|
|
32
|
+
const handleRef = React.useCallback((node) => {
|
|
33
|
+
inputRef.current =
|
|
34
|
+
node;
|
|
35
|
+
if (typeof ref === 'function') {
|
|
36
|
+
ref(node);
|
|
37
|
+
}
|
|
38
|
+
else if (ref) {
|
|
39
|
+
ref.current =
|
|
40
|
+
node;
|
|
41
|
+
}
|
|
42
|
+
}, [ref]);
|
|
43
|
+
const handleButtonClick = () => {
|
|
44
|
+
if (inputRef.current && 'showPicker' in inputRef.current) {
|
|
45
|
+
inputRef.current.showPicker();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const inputClasses = classNames('dsn-text-input', 'dsn-date-input', className);
|
|
49
|
+
return (_jsxs("div", { className: "dsn-date-input-wrapper", children: [_jsx("input", { ref: handleRef, type: "date", className: inputClasses, "aria-invalid": invalid || undefined, disabled: disabled, readOnly: readOnly, ...props }), !disabled && !readOnly && (_jsx(Button, { variant: "subtle", size: "small", iconOnly: true, iconStart: _jsx(Icon, { name: "calendar-event", "aria-hidden": true }), className: "dsn-date-input__button", onClick: handleButtonClick, children: "Datumkiezer openen" }))] }));
|
|
50
|
+
});
|
|
51
|
+
DateInput.displayName = 'DateInput';
|
|
52
|
+
//# sourceMappingURL=DateInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.js","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,4BAA4B,CAAC;AACpC,OAAO,iBAAiB,CAAC;AAkBzB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEtD,uCAAuC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,IAA6B,EAAE,EAAE;QAC/B,QAA4D,CAAC,OAAO;YACnE,IAAI,CAAC;QACP,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACd,GAAuD,CAAC,OAAO;gBAC9D,IAAI,CAAC;QACT,CAAC;IACH,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,QAAQ,CAAC,OAAO,IAAI,YAAY,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzD,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,UAAU,CAC7B,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,gBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,YAAY,kBACT,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,KACd,KAAK,GACT,EACD,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CACzB,KAAC,MAAM,IACL,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,OAAO,EACZ,QAAQ,QACR,SAAS,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,gBAAgB,wBAAe,EACrD,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,iBAAiB,mCAGnB,CACV,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DateInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DateInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DateInputGroup Component Styles
|
|
3
|
+
* Three inputs (dag, maand, jaar) in a horizontal flex row — GOV.UK date input pattern.
|
|
4
|
+
* Each field has a label above its input.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Outer wrapper — flex row with gap between the three fields */
|
|
8
|
+
.dsn-date-input-group {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
gap: var(--dsn-date-input-group-gap);
|
|
13
|
+
align-items: flex-end;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Each field — label + input stacked vertically */
|
|
17
|
+
.dsn-date-input-group__field {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: var(--dsn-date-input-group-label-gap);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Field label — uses form field label styling tokens */
|
|
24
|
+
.dsn-date-input-group__label {
|
|
25
|
+
font-family: var(--dsn-form-field-label-font-family);
|
|
26
|
+
font-size: var(--dsn-form-field-label-font-size);
|
|
27
|
+
font-weight: var(--dsn-form-field-label-font-weight);
|
|
28
|
+
line-height: var(--dsn-form-field-label-line-height);
|
|
29
|
+
color: var(--dsn-form-field-label-color);
|
|
30
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './DateInputGroup.css';
|
|
3
|
+
export interface DateInputGroupValue {
|
|
4
|
+
day: string;
|
|
5
|
+
month: string;
|
|
6
|
+
year: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DateInputGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
9
|
+
/**
|
|
10
|
+
* The current value of the date group
|
|
11
|
+
*/
|
|
12
|
+
value?: DateInputGroupValue;
|
|
13
|
+
/**
|
|
14
|
+
* Called when any field changes, with the full updated value object
|
|
15
|
+
*/
|
|
16
|
+
onChange?: (value: DateInputGroupValue) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Whether all fields are in an invalid state
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
invalid?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether all fields are disabled
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* id prefix used to generate unique ids for each field (dag, maand, jaar)
|
|
29
|
+
* E.g. id="geboortedatum" → "geboortedatum-dag", "geboortedatum-maand", "geboortedatum-jaar"
|
|
30
|
+
*/
|
|
31
|
+
id?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Date Input Group component
|
|
35
|
+
* Three separate inputs for day, month and year.
|
|
36
|
+
* More accessible than a native date picker: works consistently across all browsers and
|
|
37
|
+
* devices, and allows partial input (e.g. year only).
|
|
38
|
+
*
|
|
39
|
+
* Wrap in a FormFieldset for a complete form field with legend and error message.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* // Basic usage
|
|
44
|
+
* <DateInputGroup
|
|
45
|
+
* value={{ day: '', month: '', year: '' }}
|
|
46
|
+
* onChange={(val) => setValue(val)}
|
|
47
|
+
* />
|
|
48
|
+
*
|
|
49
|
+
* // Complete form field
|
|
50
|
+
* <FormFieldset>
|
|
51
|
+
* <FormFieldLegend>Geboortedatum</FormFieldLegend>
|
|
52
|
+
* <FormFieldDescription>Bijvoorbeeld: 15 3 1990</FormFieldDescription>
|
|
53
|
+
* <DateInputGroup
|
|
54
|
+
* id="geboortedatum"
|
|
55
|
+
* value={value}
|
|
56
|
+
* onChange={setValue}
|
|
57
|
+
* />
|
|
58
|
+
* </FormFieldset>
|
|
59
|
+
*
|
|
60
|
+
* // Invalid state
|
|
61
|
+
* <DateInputGroup invalid value={value} onChange={setValue} />
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const DateInputGroup: React.ForwardRefExoticComponent<DateInputGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
65
|
+
//# sourceMappingURL=DateInputGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInputGroup.d.ts","sourceRoot":"","sources":["../../src/DateInputGroup/DateInputGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,CACX;IACC;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEhD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,cAAc,4FA4EzB,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 { NumberInput } from '../NumberInput';
|
|
5
|
+
import './DateInputGroup.css';
|
|
6
|
+
/**
|
|
7
|
+
* Date Input Group component
|
|
8
|
+
* Three separate inputs for day, month and year.
|
|
9
|
+
* More accessible than a native date picker: works consistently across all browsers and
|
|
10
|
+
* devices, and allows partial input (e.g. year only).
|
|
11
|
+
*
|
|
12
|
+
* Wrap in a FormFieldset for a complete form field with legend and error message.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* // Basic usage
|
|
17
|
+
* <DateInputGroup
|
|
18
|
+
* value={{ day: '', month: '', year: '' }}
|
|
19
|
+
* onChange={(val) => setValue(val)}
|
|
20
|
+
* />
|
|
21
|
+
*
|
|
22
|
+
* // Complete form field
|
|
23
|
+
* <FormFieldset>
|
|
24
|
+
* <FormFieldLegend>Geboortedatum</FormFieldLegend>
|
|
25
|
+
* <FormFieldDescription>Bijvoorbeeld: 15 3 1990</FormFieldDescription>
|
|
26
|
+
* <DateInputGroup
|
|
27
|
+
* id="geboortedatum"
|
|
28
|
+
* value={value}
|
|
29
|
+
* onChange={setValue}
|
|
30
|
+
* />
|
|
31
|
+
* </FormFieldset>
|
|
32
|
+
*
|
|
33
|
+
* // Invalid state
|
|
34
|
+
* <DateInputGroup invalid value={value} onChange={setValue} />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export const DateInputGroup = React.forwardRef(({ className, value, onChange, invalid, disabled, id, ...props }, ref) => {
|
|
38
|
+
const classes = classNames('dsn-date-input-group', className);
|
|
39
|
+
const handleChange = (field) => (e) => {
|
|
40
|
+
onChange?.({
|
|
41
|
+
day: value?.day ?? '',
|
|
42
|
+
month: value?.month ?? '',
|
|
43
|
+
year: value?.year ?? '',
|
|
44
|
+
[field]: e.target.value,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const dayId = id ? `${id}-dag` : undefined;
|
|
48
|
+
const monthId = id ? `${id}-maand` : undefined;
|
|
49
|
+
const yearId = id ? `${id}-jaar` : undefined;
|
|
50
|
+
return (_jsxs("div", { ref: ref, className: classes, ...props, children: [_jsxs("div", { className: "dsn-date-input-group__field", children: [_jsx("label", { className: "dsn-date-input-group__label", htmlFor: dayId, children: "Dag" }), _jsx(NumberInput, { id: dayId, width: "xs", value: value?.day ?? '', onChange: handleChange('day'), invalid: invalid, "aria-invalid": invalid || undefined, disabled: disabled, placeholder: "DD", min: 1, max: 31 })] }), _jsxs("div", { className: "dsn-date-input-group__field", children: [_jsx("label", { className: "dsn-date-input-group__label", htmlFor: monthId, children: "Maand" }), _jsx(NumberInput, { id: monthId, width: "xs", value: value?.month ?? '', onChange: handleChange('month'), invalid: invalid, "aria-invalid": invalid || undefined, disabled: disabled, placeholder: "MM", min: 1, max: 12 })] }), _jsxs("div", { className: "dsn-date-input-group__field", children: [_jsx("label", { className: "dsn-date-input-group__label", htmlFor: yearId, children: "Jaar" }), _jsx(NumberInput, { id: yearId, width: "sm", value: value?.year ?? '', onChange: handleChange('year'), invalid: invalid, "aria-invalid": invalid || undefined, disabled: disabled, placeholder: "JJJJ", min: 1, max: 9999 })] })] }));
|
|
51
|
+
});
|
|
52
|
+
DateInputGroup.displayName = 'DateInputGroup';
|
|
53
|
+
//# sourceMappingURL=DateInputGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInputGroup.js","sourceRoot":"","sources":["../../src/DateInputGroup/DateInputGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,sBAAsB,CAAC;AAyC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAE9D,MAAM,YAAY,GAChB,CAAC,KAAgC,EAAE,EAAE,CACrC,CAAC,CAAsC,EAAE,EAAE;QACzC,QAAQ,EAAE,CAAC;YACT,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE;YACrB,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACzB,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE;YACvB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7C,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,KAAM,KAAK,aAC1C,eAAK,SAAS,EAAC,6BAA6B,aAC1C,gBAAO,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,KAAK,oBAErD,EACR,KAAC,WAAW,IACV,EAAE,EAAE,KAAK,EACT,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EACvB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,EAC7B,OAAO,EAAE,OAAO,kBACF,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,IAAI,EAChB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,EAAE,GACP,IACE,EACN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,gBAAO,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,OAAO,sBAEvD,EACR,KAAC,WAAW,IACV,EAAE,EAAE,OAAO,EACX,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EACzB,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,kBACF,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,IAAI,EAChB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,EAAE,GACP,IACE,EACN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,gBAAO,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,MAAM,qBAEtD,EACR,KAAC,WAAW,IACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EACxB,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,EAC9B,OAAO,EAAE,OAAO,kBACF,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,MAAM,EAClB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,IAAI,GACT,IACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DateInputGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DateInputGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Details component styles for React
|
|
3
|
+
* Re-exports the base Details styles from components-html
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Details Component
|
|
8
|
+
* Expandable disclosure widget based on the native <details>/<summary> element.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* <!-- Default (closed) -->
|
|
12
|
+
* <details class="dsn-details">
|
|
13
|
+
* <summary class="dsn-details__summary">
|
|
14
|
+
* <svg class="dsn-icon dsn-details__icon" aria-hidden="true"><!-- chevron-down --></svg>
|
|
15
|
+
* <span class="dsn-details__summary-label">Label</span>
|
|
16
|
+
* </summary>
|
|
17
|
+
* <div class="dsn-details__content">
|
|
18
|
+
* <p class="dsn-paragraph">Aanvullende informatie.</p>
|
|
19
|
+
* </div>
|
|
20
|
+
* </details>
|
|
21
|
+
*
|
|
22
|
+
* <!-- Default open -->
|
|
23
|
+
* <details class="dsn-details" open>
|
|
24
|
+
* <summary class="dsn-details__summary">
|
|
25
|
+
* <svg class="dsn-icon dsn-details__icon" aria-hidden="true"><!-- chevron-down --></svg>
|
|
26
|
+
* <span class="dsn-details__summary-label">Label</span>
|
|
27
|
+
* </summary>
|
|
28
|
+
* <div class="dsn-details__content">
|
|
29
|
+
* <p class="dsn-paragraph">Inhoud is standaard zichtbaar.</p>
|
|
30
|
+
* </div>
|
|
31
|
+
* </details>
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/* ===========================
|
|
35
|
+
Base layout
|
|
36
|
+
=========================== */
|
|
37
|
+
.dsn-details {
|
|
38
|
+
display: flex;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
row-gap: var(--dsn-details-row-gap);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* ===========================
|
|
44
|
+
Summary (toggle trigger)
|
|
45
|
+
=========================== */
|
|
46
|
+
.dsn-details__summary {
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
gap: var(--dsn-details-summary-gap);
|
|
50
|
+
width: fit-content;
|
|
51
|
+
list-style: none;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Hide native browser disclosure marker (WebKit) */
|
|
56
|
+
.dsn-details__summary::-webkit-details-marker {
|
|
57
|
+
display: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* ===========================
|
|
61
|
+
Summary label
|
|
62
|
+
=========================== */
|
|
63
|
+
.dsn-details__summary-label {
|
|
64
|
+
color: var(--dsn-details-summary-color);
|
|
65
|
+
text-decoration-line: var(--dsn-details-summary-text-decoration-line);
|
|
66
|
+
text-underline-offset: var(--dsn-details-summary-text-underline-offset);
|
|
67
|
+
text-decoration-thickness: var(
|
|
68
|
+
--dsn-details-summary-text-decoration-thickness
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ===========================
|
|
73
|
+
Summary hover state
|
|
74
|
+
=========================== */
|
|
75
|
+
.dsn-details__summary:hover .dsn-details__summary-label {
|
|
76
|
+
color: var(--dsn-details-summary-hover-color);
|
|
77
|
+
text-decoration-line: var(--dsn-details-summary-hover-text-decoration-line);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* ===========================
|
|
81
|
+
Summary active state
|
|
82
|
+
=========================== */
|
|
83
|
+
.dsn-details__summary:active .dsn-details__summary-label {
|
|
84
|
+
color: var(--dsn-details-summary-active-color);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* ===========================
|
|
88
|
+
Summary focus state — consistent met Link component
|
|
89
|
+
=========================== */
|
|
90
|
+
.dsn-details__summary:focus-visible {
|
|
91
|
+
background-color: var(--dsn-focus-background-color);
|
|
92
|
+
color: var(--dsn-focus-color);
|
|
93
|
+
text-decoration: none;
|
|
94
|
+
outline: var(--dsn-focus-outline-width) var(--dsn-focus-outline-style)
|
|
95
|
+
var(--dsn-focus-outline-color);
|
|
96
|
+
outline-offset: var(--dsn-focus-outline-offset);
|
|
97
|
+
box-shadow: 0 0 0
|
|
98
|
+
calc(var(--dsn-focus-outline-offset) + var(--dsn-focus-outline-width))
|
|
99
|
+
var(--dsn-focus-inverse-outline-color);
|
|
100
|
+
box-decoration-break: clone;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* ===========================
|
|
104
|
+
Icon — rotates 180° when open
|
|
105
|
+
=========================== */
|
|
106
|
+
.dsn-details__icon {
|
|
107
|
+
flex-shrink: 0;
|
|
108
|
+
width: var(--dsn-details-icon-size);
|
|
109
|
+
height: var(--dsn-details-icon-size);
|
|
110
|
+
color: var(--dsn-details-summary-color);
|
|
111
|
+
transition: transform var(--dsn-transition-duration-normal)
|
|
112
|
+
var(--dsn-transition-easing-default);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.dsn-details[open] .dsn-details__icon {
|
|
116
|
+
transform: rotate(180deg);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ===========================
|
|
120
|
+
Content area
|
|
121
|
+
=========================== */
|
|
122
|
+
.dsn-details__content {
|
|
123
|
+
margin-inline-start: calc(
|
|
124
|
+
var(--dsn-details-icon-size) / 2 -
|
|
125
|
+
var(--dsn-details-content-border-inline-start-width) / 2
|
|
126
|
+
);
|
|
127
|
+
background-color: var(--dsn-details-content-background-color);
|
|
128
|
+
border-inline-start: var(--dsn-details-content-border-inline-start-width)
|
|
129
|
+
solid var(--dsn-details-content-border-color);
|
|
130
|
+
padding-inline-start: var(--dsn-details-content-padding-inline-start);
|
|
131
|
+
padding-inline-end: var(--dsn-details-content-padding-inline-end);
|
|
132
|
+
padding-block: var(--dsn-details-content-padding-block);
|
|
133
|
+
}
|
|
134
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Details.css';
|
|
3
|
+
export interface DetailsProps extends Omit<React.HTMLAttributes<HTMLDetailsElement>, 'onToggle'> {
|
|
4
|
+
/**
|
|
5
|
+
* Zichtbare labeltekst in de `<summary>`
|
|
6
|
+
*/
|
|
7
|
+
summary: string;
|
|
8
|
+
/**
|
|
9
|
+
* Standaard open bij eerste render (ongecontroleerde staat)
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Callback die wordt aangeroepen wanneer de open/dicht staat wijzigt
|
|
15
|
+
*/
|
|
16
|
+
onToggle?: (open: boolean) => void;
|
|
17
|
+
/**
|
|
18
|
+
* De verborgen inhoud
|
|
19
|
+
*/
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Details component
|
|
24
|
+
* Uitvouwbare inhoudsaanwijzer voor aanvullende inhoud die niet iedereen nodig heeft.
|
|
25
|
+
* Gebaseerd op het native `<details>`/`<summary>` element — CSS-only, geen JavaScript voor de toggle.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* // Standaard gesloten
|
|
30
|
+
* <Details summary="Meer informatie">
|
|
31
|
+
* <Paragraph>Aanvullende informatie die beschikbaar is voor wie dit nodig heeft.</Paragraph>
|
|
32
|
+
* </Details>
|
|
33
|
+
*
|
|
34
|
+
* // Standaard open
|
|
35
|
+
* <Details summary="Meer informatie" defaultOpen>
|
|
36
|
+
* <Paragraph>Inhoud is standaard zichtbaar.</Paragraph>
|
|
37
|
+
* </Details>
|
|
38
|
+
*
|
|
39
|
+
* // Met toggle callback
|
|
40
|
+
* <Details summary="Meer informatie" onToggle={(open) => console.log('open:', open)}>
|
|
41
|
+
* <Paragraph>Inhoud.</Paragraph>
|
|
42
|
+
* </Details>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const Details: React.ForwardRefExoticComponent<DetailsProps & React.RefAttributes<HTMLDetailsElement>>;
|
|
46
|
+
//# sourceMappingURL=Details.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.d.ts","sourceRoot":"","sources":["../../src/Details/Details.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,EACxC,UAAU,CACX;IACC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,yFA2BnB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 './Details.css';
|
|
6
|
+
/**
|
|
7
|
+
* Details component
|
|
8
|
+
* Uitvouwbare inhoudsaanwijzer voor aanvullende inhoud die niet iedereen nodig heeft.
|
|
9
|
+
* Gebaseerd op het native `<details>`/`<summary>` element — CSS-only, geen JavaScript voor de toggle.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* // Standaard gesloten
|
|
14
|
+
* <Details summary="Meer informatie">
|
|
15
|
+
* <Paragraph>Aanvullende informatie die beschikbaar is voor wie dit nodig heeft.</Paragraph>
|
|
16
|
+
* </Details>
|
|
17
|
+
*
|
|
18
|
+
* // Standaard open
|
|
19
|
+
* <Details summary="Meer informatie" defaultOpen>
|
|
20
|
+
* <Paragraph>Inhoud is standaard zichtbaar.</Paragraph>
|
|
21
|
+
* </Details>
|
|
22
|
+
*
|
|
23
|
+
* // Met toggle callback
|
|
24
|
+
* <Details summary="Meer informatie" onToggle={(open) => console.log('open:', open)}>
|
|
25
|
+
* <Paragraph>Inhoud.</Paragraph>
|
|
26
|
+
* </Details>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const Details = React.forwardRef(({ className, summary, defaultOpen = false, onToggle, children, ...props }, ref) => {
|
|
30
|
+
const classes = classNames('dsn-details', className);
|
|
31
|
+
const handleToggle = (event) => {
|
|
32
|
+
onToggle?.(event.currentTarget.open);
|
|
33
|
+
};
|
|
34
|
+
return (_jsxs("details", { ref: ref, className: classes, open: defaultOpen || undefined, onToggle: handleToggle, ...props, children: [_jsxs("summary", { className: "dsn-details__summary", children: [_jsx(Icon, { name: "chevron-down", className: "dsn-details__icon", "aria-hidden": true }), _jsx("span", { className: "dsn-details__summary-label", children: summary })] }), _jsx("div", { className: "dsn-details__content", children: children })] }));
|
|
35
|
+
});
|
|
36
|
+
Details.displayName = 'Details';
|
|
37
|
+
//# sourceMappingURL=Details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details.js","sourceRoot":"","sources":["../../src/Details/Details.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,eAAe,CAAC;AA4BvB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EACzE,GAAG,EACH,EAAE;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,CAAC,KAA+C,EAAE,EAAE;QACvE,QAAQ,EAAE,CAAE,KAAK,CAAC,aAAoC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO,CACL,mBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,WAAW,IAAI,SAAS,EAC9B,QAAQ,EAAE,YAAY,KAClB,KAAK,aAET,mBAAS,SAAS,EAAC,sBAAsB,aACvC,KAAC,IAAI,IAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,mBAAmB,wBAAe,EACtE,eAAM,SAAS,EAAC,4BAA4B,YAAE,OAAO,GAAQ,IACrD,EACV,cAAK,SAAS,EAAC,sBAAsB,YAAE,QAAQ,GAAO,IAC9C,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Details/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Details/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|