@dsn-starter-kit/components-react 3.0.0 → 3.1.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/README.md +32 -4
- package/dist/ActionGroup/ActionGroup.d.mts +51 -0
- package/dist/ActionGroup/ActionGroup.d.mts.map +1 -0
- package/dist/ActionGroup/ActionGroup2.mjs +65 -0
- package/dist/ActionGroup/ActionGroup2.mjs.map +1 -0
- package/dist/ActionGroup/index.d.mts +2 -0
- package/dist/Alert/Alert.d.mts +85 -0
- package/dist/Alert/Alert.d.mts.map +1 -0
- package/dist/Alert/Alert2.mjs +102 -0
- package/dist/Alert/Alert2.mjs.map +1 -0
- package/dist/Alert/index.d.mts +2 -0
- package/dist/Backdrop/Backdrop.d.mts +28 -0
- package/dist/Backdrop/Backdrop.d.mts.map +1 -0
- package/dist/Backdrop/Backdrop2.mjs +32 -0
- package/dist/Backdrop/Backdrop2.mjs.map +1 -0
- package/dist/Backdrop/index.d.mts +2 -0
- package/dist/Body/Body.d.mts +29 -0
- package/dist/Body/Body.d.mts.map +1 -0
- package/dist/Body/Body2.mjs +36 -0
- package/dist/Body/Body2.mjs.map +1 -0
- package/dist/Body/index.d.mts +2 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.mts +45 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.mts.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation2.mjs +51 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigation2.mjs.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.mts +41 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.mts.map +1 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.mjs +48 -0
- package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.mjs.map +1 -0
- package/dist/BreadcrumbNavigation/index.d.mts +3 -0
- package/dist/BreakoutSection/BreakoutSection.d.mts +32 -0
- package/dist/BreakoutSection/BreakoutSection.d.mts.map +1 -0
- package/dist/BreakoutSection/BreakoutSection2.mjs +36 -0
- package/dist/BreakoutSection/BreakoutSection2.mjs.map +1 -0
- package/dist/BreakoutSection/index.d.mts +2 -0
- package/dist/Button/Button.d.mts +92 -0
- package/dist/Button/Button.d.mts.map +1 -0
- package/dist/Button/Button2.mjs +76 -0
- package/dist/Button/Button2.mjs.map +1 -0
- package/dist/Button/index.d.mts +2 -0
- package/dist/ButtonLink/ButtonLink.d.mts +94 -0
- package/dist/ButtonLink/ButtonLink.d.mts.map +1 -0
- package/dist/ButtonLink/ButtonLink2.mjs +70 -0
- package/dist/ButtonLink/ButtonLink2.mjs.map +1 -0
- package/dist/ButtonLink/index.d.mts +2 -0
- package/dist/Card/Card.d.mts +107 -0
- package/dist/Card/Card.d.mts.map +1 -0
- package/dist/Card/Card2.mjs +125 -0
- package/dist/Card/Card2.mjs.map +1 -0
- package/dist/Card/index.d.mts +2 -0
- package/dist/Checkbox/Checkbox.d.mts +20 -0
- package/dist/Checkbox/Checkbox.d.mts.map +1 -0
- package/dist/Checkbox/Checkbox2.mjs +43 -0
- package/dist/Checkbox/Checkbox2.mjs.map +1 -0
- package/dist/Checkbox/index.d.mts +2 -0
- package/dist/CheckboxGroup/CheckboxGroup.d.mts +39 -0
- package/dist/CheckboxGroup/CheckboxGroup.d.mts.map +1 -0
- package/dist/CheckboxGroup/CheckboxGroup2.mjs +46 -0
- package/dist/CheckboxGroup/CheckboxGroup2.mjs.map +1 -0
- package/dist/CheckboxGroup/index.d.mts +2 -0
- package/dist/CheckboxOption/CheckboxOption.d.mts +17 -0
- package/dist/CheckboxOption/CheckboxOption.d.mts.map +1 -0
- package/dist/CheckboxOption/CheckboxOption2.mjs +29 -0
- package/dist/CheckboxOption/CheckboxOption2.mjs.map +1 -0
- package/dist/CheckboxOption/index.d.mts +2 -0
- package/dist/Container/Container.d.mts +43 -0
- package/dist/Container/Container.d.mts.map +1 -0
- package/dist/Container/Container2.mjs +42 -0
- package/dist/Container/Container2.mjs.map +1 -0
- package/dist/Container/index.d.mts +2 -0
- package/dist/DateInput/DateInput.d.mts +38 -0
- package/dist/DateInput/DateInput.d.mts.map +1 -0
- package/dist/DateInput/DateInput2.mjs +69 -0
- package/dist/DateInput/DateInput2.mjs.map +1 -0
- package/dist/DateInput/index.d.mts +2 -0
- package/dist/DateInputGroup/DateInputGroup.d.mts +67 -0
- package/dist/DateInputGroup/DateInputGroup.d.mts.map +1 -0
- package/dist/DateInputGroup/DateInputGroup2.mjs +120 -0
- package/dist/DateInputGroup/DateInputGroup2.mjs.map +1 -0
- package/dist/DateInputGroup/index.d.mts +2 -0
- package/dist/Details/Details.d.mts +48 -0
- package/dist/Details/Details.d.mts.map +1 -0
- package/dist/Details/Details2.mjs +61 -0
- package/dist/Details/Details2.mjs.map +1 -0
- package/dist/Details/index.d.mts +2 -0
- package/dist/DotBadge/DotBadge.d.mts +44 -0
- package/dist/DotBadge/DotBadge.d.mts.map +1 -0
- package/dist/DotBadge/DotBadge2.mjs +42 -0
- package/dist/DotBadge/DotBadge2.mjs.map +1 -0
- package/dist/DotBadge/index.d.mts +2 -0
- package/dist/Drawer/Drawer.d.mts +111 -0
- package/dist/Drawer/Drawer.d.mts.map +1 -0
- package/dist/Drawer/Drawer2.mjs +156 -0
- package/dist/Drawer/Drawer2.mjs.map +1 -0
- package/dist/Drawer/index.d.mts +2 -0
- package/dist/EmailInput/EmailInput.d.mts +40 -0
- package/dist/EmailInput/EmailInput.d.mts.map +1 -0
- package/dist/EmailInput/EmailInput.mjs +39 -0
- package/dist/EmailInput/EmailInput.mjs.map +1 -0
- package/dist/EmailInput/index.d.mts +2 -0
- package/dist/File/File.d.mts +124 -0
- package/dist/File/File.d.mts.map +1 -0
- package/dist/File/File2.mjs +196 -0
- package/dist/File/File2.mjs.map +1 -0
- package/dist/File/index.d.mts +2 -0
- package/dist/FileInput/FileInput.d.mts +38 -0
- package/dist/FileInput/FileInput.d.mts.map +1 -0
- package/dist/FileInput/FileInput2.mjs +41 -0
- package/dist/FileInput/FileInput2.mjs.map +1 -0
- package/dist/FileInput/index.d.mts +2 -0
- package/dist/FormField/FormField.d.mts +103 -0
- package/dist/FormField/FormField.d.mts.map +1 -0
- package/dist/FormField/FormField2.mjs +101 -0
- package/dist/FormField/FormField2.mjs.map +1 -0
- package/dist/FormField/index.d.mts +2 -0
- package/dist/FormFieldDescription/FormFieldDescription.d.mts +53 -0
- package/dist/FormFieldDescription/FormFieldDescription.d.mts.map +1 -0
- package/dist/FormFieldDescription/FormFieldDescription2.mjs +49 -0
- package/dist/FormFieldDescription/FormFieldDescription2.mjs.map +1 -0
- package/dist/FormFieldDescription/index.d.mts +2 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.mts +42 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.mts.map +1 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage2.mjs +44 -0
- package/dist/FormFieldErrorMessage/FormFieldErrorMessage2.mjs.map +1 -0
- package/dist/FormFieldErrorMessage/index.d.mts +2 -0
- package/dist/FormFieldLabel/FormFieldLabel.d.mts +40 -0
- package/dist/FormFieldLabel/FormFieldLabel.d.mts.map +1 -0
- package/dist/FormFieldLabel/FormFieldLabel2.mjs +42 -0
- package/dist/FormFieldLabel/FormFieldLabel2.mjs.map +1 -0
- package/dist/FormFieldLabel/index.d.mts +2 -0
- package/dist/FormFieldLegend/FormFieldLegend.d.mts +41 -0
- package/dist/FormFieldLegend/FormFieldLegend.d.mts.map +1 -0
- package/dist/FormFieldLegend/FormFieldLegend2.mjs +43 -0
- package/dist/FormFieldLegend/FormFieldLegend2.mjs.map +1 -0
- package/dist/FormFieldLegend/index.d.mts +2 -0
- package/dist/FormFieldStatus/FormFieldStatus.d.mts +62 -0
- package/dist/FormFieldStatus/FormFieldStatus.d.mts.map +1 -0
- package/dist/FormFieldStatus/FormFieldStatus2.mjs +54 -0
- package/dist/FormFieldStatus/FormFieldStatus2.mjs.map +1 -0
- package/dist/FormFieldStatus/index.d.mts +2 -0
- package/dist/FormFieldset/FormFieldset.d.mts +100 -0
- package/dist/FormFieldset/FormFieldset.d.mts.map +1 -0
- package/dist/FormFieldset/FormFieldset2.mjs +100 -0
- package/dist/FormFieldset/FormFieldset2.mjs.map +1 -0
- package/dist/FormFieldset/index.d.mts +2 -0
- package/dist/Grid/Grid.d.mts +37 -0
- package/dist/Grid/Grid.d.mts.map +1 -0
- package/dist/Grid/Grid2.mjs +38 -0
- package/dist/Grid/Grid2.mjs.map +1 -0
- package/dist/Grid/GridItem.d.mts +87 -0
- package/dist/Grid/GridItem.d.mts.map +1 -0
- package/dist/Grid/GridItem.mjs +48 -0
- package/dist/Grid/GridItem.mjs.map +1 -0
- package/dist/Grid/index.d.mts +3 -0
- package/dist/Heading/Heading.d.mts +40 -0
- package/dist/Heading/Heading.d.mts.map +1 -0
- package/dist/Heading/Heading2.mjs +33 -0
- package/dist/Heading/Heading2.mjs.map +1 -0
- package/dist/Heading/index.d.mts +2 -0
- package/dist/HeadingGroup/HeadingGroup.d.mts +25 -0
- package/dist/HeadingGroup/HeadingGroup.d.mts.map +1 -0
- package/dist/HeadingGroup/HeadingGroup2.mjs +24 -0
- package/dist/HeadingGroup/HeadingGroup2.mjs.map +1 -0
- package/dist/HeadingGroup/index.d.mts +2 -0
- package/dist/Hero/Hero.d.mts +47 -0
- package/dist/Hero/Hero.d.mts.map +1 -0
- package/dist/Hero/Hero2.mjs +50 -0
- package/dist/Hero/Hero2.mjs.map +1 -0
- package/dist/Hero/index.d.mts +2 -0
- package/dist/Icon/Icon.d.mts +47 -0
- package/dist/Icon/Icon.d.mts.map +1 -0
- package/dist/Icon/Icon2.mjs +47 -0
- package/dist/Icon/Icon2.mjs.map +1 -0
- package/dist/Icon/icon-registry.generated.d.mts +8 -0
- package/dist/Icon/icon-registry.generated.d.mts.map +1 -0
- package/dist/Icon/icon-registry.generated.mjs +818 -0
- package/dist/Icon/icon-registry.generated.mjs.map +1 -0
- package/dist/Icon/index.d.mts +3 -0
- package/dist/IconList/IconList.d.mts +68 -0
- package/dist/IconList/IconList.d.mts.map +1 -0
- package/dist/IconList/IconList2.mjs +65 -0
- package/dist/IconList/IconList2.mjs.map +1 -0
- package/dist/IconList/index.d.mts +2 -0
- package/dist/Image/Image.d.mts +56 -0
- package/dist/Image/Image.d.mts.map +1 -0
- package/dist/Image/Image2.mjs +67 -0
- package/dist/Image/Image2.mjs.map +1 -0
- package/dist/Image/index.d.mts +2 -0
- package/dist/Link/Link.d.mts +82 -0
- package/dist/Link/Link.d.mts.map +1 -0
- package/dist/Link/Link2.mjs +73 -0
- package/dist/Link/Link2.mjs.map +1 -0
- package/dist/Link/index.d.mts +2 -0
- package/dist/LinkButton/LinkButton.d.mts +54 -0
- package/dist/LinkButton/LinkButton.d.mts.map +1 -0
- package/dist/LinkButton/LinkButton2.mjs +48 -0
- package/dist/LinkButton/LinkButton2.mjs.map +1 -0
- package/dist/LinkButton/index.d.mts +2 -0
- package/dist/Logo/Logo.d.mts +35 -0
- package/dist/Logo/Logo.d.mts.map +1 -0
- package/dist/Logo/Logo2.mjs +66 -0
- package/dist/Logo/Logo2.mjs.map +1 -0
- package/dist/Logo/index.d.mts +2 -0
- package/dist/Menu/Menu.d.mts +58 -0
- package/dist/Menu/Menu.d.mts.map +1 -0
- package/dist/Menu/Menu2.mjs +47 -0
- package/dist/Menu/Menu2.mjs.map +1 -0
- package/dist/Menu/index.d.mts +2 -0
- package/dist/MenuButton/MenuButton.d.mts +56 -0
- package/dist/MenuButton/MenuButton.d.mts.map +1 -0
- package/dist/MenuButton/MenuButton2.mjs +57 -0
- package/dist/MenuButton/MenuButton2.mjs.map +1 -0
- package/dist/MenuButton/index.d.mts +2 -0
- package/dist/MenuLink/MenuLink.d.mts +98 -0
- package/dist/MenuLink/MenuLink.d.mts.map +1 -0
- package/dist/MenuLink/MenuLink2.mjs +98 -0
- package/dist/MenuLink/MenuLink2.mjs.map +1 -0
- package/dist/MenuLink/index.d.mts +2 -0
- package/dist/ModalDialog/ModalDialog.d.mts +97 -0
- package/dist/ModalDialog/ModalDialog.d.mts.map +1 -0
- package/dist/ModalDialog/ModalDialog2.mjs +134 -0
- package/dist/ModalDialog/ModalDialog2.mjs.map +1 -0
- package/dist/ModalDialog/index.d.mts +2 -0
- package/dist/Note/Note.d.mts +95 -0
- package/dist/Note/Note.d.mts.map +1 -0
- package/dist/Note/Note2.mjs +116 -0
- package/dist/Note/Note2.mjs.map +1 -0
- package/dist/Note/index.d.mts +2 -0
- package/dist/NumberBadge/NumberBadge.d.mts +44 -0
- package/dist/NumberBadge/NumberBadge.d.mts.map +1 -0
- package/dist/NumberBadge/NumberBadge2.mjs +50 -0
- package/dist/NumberBadge/NumberBadge2.mjs.map +1 -0
- package/dist/NumberBadge/index.d.mts +2 -0
- package/dist/NumberInput/NumberInput.d.mts +47 -0
- package/dist/NumberInput/NumberInput.d.mts.map +1 -0
- package/dist/NumberInput/NumberInput.mjs +40 -0
- package/dist/NumberInput/NumberInput.mjs.map +1 -0
- package/dist/NumberInput/index.d.mts +2 -0
- package/dist/OptionLabel/OptionLabel.d.mts +15 -0
- package/dist/OptionLabel/OptionLabel.d.mts.map +1 -0
- package/dist/OptionLabel/OptionLabel2.mjs +22 -0
- package/dist/OptionLabel/OptionLabel2.mjs.map +1 -0
- package/dist/OptionLabel/index.d.mts +2 -0
- package/dist/OrderedList/OrderedList.d.mts +34 -0
- package/dist/OrderedList/OrderedList.d.mts.map +1 -0
- package/dist/OrderedList/OrderedList2.mjs +37 -0
- package/dist/OrderedList/OrderedList2.mjs.map +1 -0
- package/dist/OrderedList/index.d.mts +2 -0
- package/dist/PageBody/PageBody.d.mts +35 -0
- package/dist/PageBody/PageBody.d.mts.map +1 -0
- package/dist/PageBody/PageBody2.mjs +40 -0
- package/dist/PageBody/PageBody2.mjs.map +1 -0
- package/dist/PageBody/index.d.mts +2 -0
- package/dist/PageFooter/PageFooter.d.mts +57 -0
- package/dist/PageFooter/PageFooter.d.mts.map +1 -0
- package/dist/PageFooter/PageFooter2.mjs +78 -0
- package/dist/PageFooter/PageFooter2.mjs.map +1 -0
- package/dist/PageFooter/index.d.mts +2 -0
- package/dist/PageHeader/PageHeader.d.mts +192 -0
- package/dist/PageHeader/PageHeader.d.mts.map +1 -0
- package/dist/PageHeader/PageHeader2.mjs +275 -0
- package/dist/PageHeader/PageHeader2.mjs.map +1 -0
- package/dist/PageHeader/index.d.mts +2 -0
- package/dist/PageLayout/PageLayout.d.mts +40 -0
- package/dist/PageLayout/PageLayout.d.mts.map +1 -0
- package/dist/PageLayout/PageLayout2.mjs +42 -0
- package/dist/PageLayout/PageLayout2.mjs.map +1 -0
- package/dist/PageLayout/index.d.mts +2 -0
- package/dist/Paragraph/Paragraph.d.mts +37 -0
- package/dist/Paragraph/Paragraph.d.mts.map +1 -0
- package/dist/Paragraph/Paragraph2.mjs +34 -0
- package/dist/Paragraph/Paragraph2.mjs.map +1 -0
- package/dist/Paragraph/index.d.mts +2 -0
- package/dist/PasswordInput/PasswordInput.d.mts +54 -0
- package/dist/PasswordInput/PasswordInput.d.mts.map +1 -0
- package/dist/PasswordInput/PasswordInput.mjs +43 -0
- package/dist/PasswordInput/PasswordInput.mjs.map +1 -0
- package/dist/PasswordInput/index.d.mts +2 -0
- package/dist/Popover/Popover.d.mts +118 -0
- package/dist/Popover/Popover.d.mts.map +1 -0
- package/dist/Popover/Popover2.mjs +235 -0
- package/dist/Popover/Popover2.mjs.map +1 -0
- package/dist/Popover/index.d.mts +2 -0
- package/dist/PreHeading/PreHeading.d.mts +10 -0
- package/dist/PreHeading/PreHeading.d.mts.map +1 -0
- package/dist/PreHeading/PreHeading2.mjs +18 -0
- package/dist/PreHeading/PreHeading2.mjs.map +1 -0
- package/dist/PreHeading/index.d.mts +2 -0
- package/dist/ProgressBar/ProgressBar.d.mts +60 -0
- package/dist/ProgressBar/ProgressBar.d.mts.map +1 -0
- package/dist/ProgressBar/ProgressBar2.mjs +73 -0
- package/dist/ProgressBar/ProgressBar2.mjs.map +1 -0
- package/dist/ProgressBar/index.d.mts +2 -0
- package/dist/Radio/Radio.d.mts +16 -0
- package/dist/Radio/Radio.d.mts.map +1 -0
- package/dist/Radio/Radio2.mjs +31 -0
- package/dist/Radio/Radio2.mjs.map +1 -0
- package/dist/Radio/index.d.mts +2 -0
- package/dist/RadioGroup/RadioGroup.d.mts +39 -0
- package/dist/RadioGroup/RadioGroup.d.mts.map +1 -0
- package/dist/RadioGroup/RadioGroup2.mjs +46 -0
- package/dist/RadioGroup/RadioGroup2.mjs.map +1 -0
- package/dist/RadioGroup/index.d.mts +2 -0
- package/dist/RadioOption/RadioOption.d.mts +17 -0
- package/dist/RadioOption/RadioOption.d.mts.map +1 -0
- package/dist/RadioOption/RadioOption2.mjs +29 -0
- package/dist/RadioOption/RadioOption2.mjs.map +1 -0
- package/dist/RadioOption/index.d.mts +2 -0
- package/dist/SearchInput/SearchInput.d.mts +41 -0
- package/dist/SearchInput/SearchInput.d.mts.map +1 -0
- package/dist/SearchInput/SearchInput2.mjs +48 -0
- package/dist/SearchInput/SearchInput2.mjs.map +1 -0
- package/dist/SearchInput/index.d.mts +2 -0
- package/dist/Select/Select.d.mts +53 -0
- package/dist/Select/Select.d.mts.map +1 -0
- package/dist/Select/Select2.mjs +61 -0
- package/dist/Select/Select2.mjs.map +1 -0
- package/dist/Select/index.d.mts +2 -0
- package/dist/SkipLink/SkipLink.d.mts +37 -0
- package/dist/SkipLink/SkipLink.d.mts.map +1 -0
- package/dist/SkipLink/SkipLink2.mjs +33 -0
- package/dist/SkipLink/SkipLink2.mjs.map +1 -0
- package/dist/SkipLink/index.d.mts +2 -0
- package/dist/Spinner/Spinner.d.mts +45 -0
- package/dist/Spinner/Spinner.d.mts.map +1 -0
- package/dist/Spinner/Spinner2.mjs +58 -0
- package/dist/Spinner/Spinner2.mjs.map +1 -0
- package/dist/Spinner/index.d.mts +2 -0
- package/dist/Stack/Stack.d.mts +37 -0
- package/dist/Stack/Stack.d.mts.map +1 -0
- package/dist/Stack/Stack2.mjs +38 -0
- package/dist/Stack/Stack2.mjs.map +1 -0
- package/dist/Stack/index.d.mts +2 -0
- package/dist/StatusBadge/StatusBadge.d.mts +52 -0
- package/dist/StatusBadge/StatusBadge.d.mts.map +1 -0
- package/dist/StatusBadge/StatusBadge2.mjs +49 -0
- package/dist/StatusBadge/StatusBadge2.mjs.map +1 -0
- package/dist/StatusBadge/index.d.mts +2 -0
- package/dist/SummaryList/SummaryList.d.mts +51 -0
- package/dist/SummaryList/SummaryList.d.mts.map +1 -0
- package/dist/SummaryList/SummaryList2.mjs +66 -0
- package/dist/SummaryList/SummaryList2.mjs.map +1 -0
- package/dist/SummaryList/index.d.mts +2 -0
- package/dist/Table/Table.d.mts +63 -0
- package/dist/Table/Table.d.mts.map +1 -0
- package/dist/Table/Table2.mjs +54 -0
- package/dist/Table/Table2.mjs.map +1 -0
- package/dist/Table/index.d.mts +2 -0
- package/dist/TableOfContents/TableOfContents.d.mts +64 -0
- package/dist/TableOfContents/TableOfContents.d.mts.map +1 -0
- package/dist/TableOfContents/TableOfContents2.mjs +51 -0
- package/dist/TableOfContents/TableOfContents2.mjs.map +1 -0
- package/dist/TableOfContents/index.d.mts +2 -0
- package/dist/TelephoneInput/TelephoneInput.d.mts +40 -0
- package/dist/TelephoneInput/TelephoneInput.d.mts.map +1 -0
- package/dist/TelephoneInput/TelephoneInput.mjs +39 -0
- package/dist/TelephoneInput/TelephoneInput.mjs.map +1 -0
- package/dist/TelephoneInput/index.d.mts +2 -0
- package/dist/TextArea/TextArea.d.mts +46 -0
- package/dist/TextArea/TextArea.d.mts.map +1 -0
- package/dist/TextArea/TextArea2.mjs +43 -0
- package/dist/TextArea/TextArea2.mjs.map +1 -0
- package/dist/TextArea/index.d.mts +2 -0
- package/dist/TextInput/TextInput.d.mts +46 -0
- package/dist/TextInput/TextInput.d.mts.map +1 -0
- package/dist/TextInput/TextInput2.mjs +43 -0
- package/dist/TextInput/TextInput2.mjs.map +1 -0
- package/dist/TextInput/index.d.mts +2 -0
- package/dist/TimeInput/TimeInput.d.mts +38 -0
- package/dist/TimeInput/TimeInput.d.mts.map +1 -0
- package/dist/TimeInput/TimeInput2.mjs +69 -0
- package/dist/TimeInput/TimeInput2.mjs.map +1 -0
- package/dist/TimeInput/index.d.mts +2 -0
- package/dist/UnorderedList/UnorderedList.d.mts +28 -0
- package/dist/UnorderedList/UnorderedList.d.mts.map +1 -0
- package/dist/UnorderedList/UnorderedList2.mjs +31 -0
- package/dist/UnorderedList/UnorderedList2.mjs.map +1 -0
- package/dist/UnorderedList/index.d.mts +2 -0
- package/dist/index.css +3470 -3470
- package/dist/index.d.mts +150 -3874
- package/dist/index.mjs +76 -5006
- package/dist/utils/describeControl.mjs +25 -0
- package/dist/utils/describeControl.mjs.map +1 -0
- package/package.json +4 -3
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import React, { useId } from "react";
|
|
3
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/Table/Table.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Tabel component voor het weergeven van tweedimensionale tabeldata.
|
|
8
|
+
*
|
|
9
|
+
* Gebruik altijd `<th scope="col">` voor kolomkoppen en `<th scope="row">` voor rijkoppen.
|
|
10
|
+
* Voeg `<tfoot>` toe via children voor een optionele totaal- of samenvattingsrij.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <Table caption="Productoverzicht">
|
|
14
|
+
* <thead>
|
|
15
|
+
* <tr>
|
|
16
|
+
* <th scope="col">Product</th>
|
|
17
|
+
* <th scope="col">Prijs</th>
|
|
18
|
+
* </tr>
|
|
19
|
+
* </thead>
|
|
20
|
+
* <tbody>
|
|
21
|
+
* <tr>
|
|
22
|
+
* <th scope="row">Laptop</th>
|
|
23
|
+
* <td>€999</td>
|
|
24
|
+
* </tr>
|
|
25
|
+
* </tbody>
|
|
26
|
+
* </Table>
|
|
27
|
+
*/
|
|
28
|
+
const Table = React.forwardRef(({ caption, captionId: captionIdProp, scrollable = false, children, className, ...props }, ref) => {
|
|
29
|
+
const autoId = useId();
|
|
30
|
+
const captionId = captionIdProp ?? `dsn-table-caption-${autoId}`;
|
|
31
|
+
const table = /* @__PURE__ */ jsxs("table", {
|
|
32
|
+
ref,
|
|
33
|
+
className: classNames("dsn-table", className),
|
|
34
|
+
...props,
|
|
35
|
+
children: [/* @__PURE__ */ jsx("caption", {
|
|
36
|
+
id: captionId,
|
|
37
|
+
className: "dsn-table__caption",
|
|
38
|
+
children: caption
|
|
39
|
+
}), children]
|
|
40
|
+
});
|
|
41
|
+
if (scrollable) return /* @__PURE__ */ jsx("div", {
|
|
42
|
+
className: "dsn-table-wrapper",
|
|
43
|
+
role: "region",
|
|
44
|
+
"aria-labelledby": captionId,
|
|
45
|
+
tabIndex: 0,
|
|
46
|
+
children: table
|
|
47
|
+
});
|
|
48
|
+
return table;
|
|
49
|
+
});
|
|
50
|
+
Table.displayName = "Table";
|
|
51
|
+
//#endregion
|
|
52
|
+
export { Table };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=Table2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table2.mjs","names":[],"sources":["../../src/Table/Table.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport './Table.css';\n\nexport type TableProps = React.HTMLAttributes<HTMLTableElement> & {\n /**\n * Zichtbaar bijschrift boven de tabel.\n * Dient ook als toegankelijke naam van de tabel voor schermlezers.\n */\n caption: string;\n /**\n * Optionele ID voor de caption.\n * Standaard auto-gegenereerd via `useId()`.\n * Wordt gebruikt voor `aria-labelledby` op de scroll-wrapper.\n */\n captionId?: string;\n /**\n * Wikkelt de tabel in een scroll-container (`role=\"region\"`, `tabIndex={0}`, `aria-labelledby`).\n * Gebruik dit voor tabellen die mogelijk breder zijn dan hun container.\n */\n scrollable?: boolean;\n};\n\n/**\n * Tabel component voor het weergeven van tweedimensionale tabeldata.\n *\n * Gebruik altijd `<th scope=\"col\">` voor kolomkoppen en `<th scope=\"row\">` voor rijkoppen.\n * Voeg `<tfoot>` toe via children voor een optionele totaal- of samenvattingsrij.\n *\n * @example\n * <Table caption=\"Productoverzicht\">\n * <thead>\n * <tr>\n * <th scope=\"col\">Product</th>\n * <th scope=\"col\">Prijs</th>\n * </tr>\n * </thead>\n * <tbody>\n * <tr>\n * <th scope=\"row\">Laptop</th>\n * <td>€999</td>\n * </tr>\n * </tbody>\n * </Table>\n */\nexport const Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n caption,\n captionId: captionIdProp,\n scrollable = false,\n children,\n className,\n ...props\n },\n ref\n ) => {\n const autoId = useId();\n const captionId = captionIdProp ?? `dsn-table-caption-${autoId}`;\n\n const table = (\n <table\n ref={ref}\n className={classNames('dsn-table', className)}\n {...props}\n >\n <caption id={captionId} className=\"dsn-table__caption\">\n {caption}\n </caption>\n {children}\n </table>\n );\n\n if (scrollable) {\n return (\n <div\n className=\"dsn-table-wrapper\"\n role=\"region\"\n aria-labelledby={captionId}\n tabIndex={0}\n >\n {table}\n </div>\n );\n }\n\n return table;\n }\n);\n\nTable.displayName = 'Table';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAa,QAAQ,MAAM,YAEvB,EACE,SACA,WAAW,eACX,aAAa,OACb,UACA,WACA,GAAG,SAEL,QACG;CACH,MAAM,SAAS,MAAM;CACrB,MAAM,YAAY,iBAAiB,qBAAqB;CAExD,MAAM,QACJ,qBAAC,SAAD;EACO;EACL,WAAW,WAAW,aAAa,SAAS;EAC5C,GAAI;EAHN,UAAA,CAKE,oBAAC,WAAD;GAAS,IAAI;GAAW,WAAU;GAC/B,UAAA;EACM,CAAA,GACR,QACI;;CAGT,IAAI,YACF,OACE,oBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,mBAAiB;EACjB,UAAU;EAET,UAAA;CACE,CAAA;CAIT,OAAO;AACT,CACF;AAEA,MAAM,cAAc"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { HeadingLevel } from "../Heading/Heading.mjs";
|
|
2
|
+
import "../Heading/index.mjs";
|
|
3
|
+
import React from "react";
|
|
4
|
+
//#region src/TableOfContents/TableOfContents.d.ts
|
|
5
|
+
type TableOfContentsAppearance = 'framed' | 'plain';
|
|
6
|
+
interface TableOfContentsItem {
|
|
7
|
+
/**
|
|
8
|
+
* Anchor target — moet overeenkomen met het `id` van de bijbehorende H2 op de pagina
|
|
9
|
+
*/
|
|
10
|
+
id: string;
|
|
11
|
+
/**
|
|
12
|
+
* Zichtbare linktekst
|
|
13
|
+
*/
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
interface TableOfContentsProps extends React.HTMLAttributes<HTMLElement> {
|
|
17
|
+
/**
|
|
18
|
+
* Zichtbare heading-tekst
|
|
19
|
+
* @default 'Op deze pagina'
|
|
20
|
+
*/
|
|
21
|
+
heading?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Semantisch heading-niveau
|
|
24
|
+
* @default 2
|
|
25
|
+
*/
|
|
26
|
+
headingLevel?: HeadingLevel;
|
|
27
|
+
/**
|
|
28
|
+
* Visuele weergave:
|
|
29
|
+
* - `'framed'` — accent-1 achtergrond + linkerborder, heading als heading-3 (voor gebruik inline in de content-flow)
|
|
30
|
+
* - `'plain'` — geen kader, heading als heading-5 (voor gebruik in een losstaande kolom)
|
|
31
|
+
* @default 'framed'
|
|
32
|
+
*/
|
|
33
|
+
appearance?: TableOfContentsAppearance;
|
|
34
|
+
/**
|
|
35
|
+
* Secties waarnaar gelinkt wordt — alleen H2's horen hierin opgenomen te worden
|
|
36
|
+
*/
|
|
37
|
+
items: TableOfContentsItem[];
|
|
38
|
+
/**
|
|
39
|
+
* Additional CSS class names
|
|
40
|
+
*/
|
|
41
|
+
className?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* TableOfContents component
|
|
45
|
+
* Inhoudsopgave met ankerlinks naar de H2-secties op de huidige pagina.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* // Framed (default) — inline in de content-flow
|
|
50
|
+
* <TableOfContents
|
|
51
|
+
* items={[
|
|
52
|
+
* { id: 'sectie-1', label: 'Sectie 1' },
|
|
53
|
+
* { id: 'sectie-2', label: 'Sectie 2' },
|
|
54
|
+
* ]}
|
|
55
|
+
* />
|
|
56
|
+
*
|
|
57
|
+
* // Plain — in een losstaande kolom naast de hoofdinhoud
|
|
58
|
+
* <TableOfContents appearance="plain" items={items} />
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
declare const TableOfContents: React.ForwardRefExoticComponent<TableOfContentsProps & React.RefAttributes<HTMLElement>>;
|
|
62
|
+
//#endregion
|
|
63
|
+
export { TableOfContents, TableOfContentsAppearance, TableOfContentsItem, TableOfContentsProps };
|
|
64
|
+
//# sourceMappingURL=TableOfContents.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableOfContents.d.mts","names":[],"sources":["../../src/TableOfContents/TableOfContents.tsx"],"mappings":";;;;KAOY;UAEK;;;;EAIf;;;;EAKA;;UAGe,6BAA6B,MAAM,eAAe;;;;;EAKjE;;;;;EAMA,eAAe;;;;;;;EAQf,aAAa;;;;EAKb,OAAO;;;;EAKP;;;;;;;;;;;;;;;;;;;;cAqBW,iBAAe,MAAA,0BAAA,uBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Heading } from "../Heading/Heading2.mjs";
|
|
2
|
+
import { Link } from "../Link/Link2.mjs";
|
|
3
|
+
import { UnorderedList } from "../UnorderedList/UnorderedList2.mjs";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import React, { useId } from "react";
|
|
6
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
//#region src/TableOfContents/TableOfContents.tsx
|
|
9
|
+
/**
|
|
10
|
+
* TableOfContents component
|
|
11
|
+
* Inhoudsopgave met ankerlinks naar de H2-secties op de huidige pagina.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* // Framed (default) — inline in de content-flow
|
|
16
|
+
* <TableOfContents
|
|
17
|
+
* items={[
|
|
18
|
+
* { id: 'sectie-1', label: 'Sectie 1' },
|
|
19
|
+
* { id: 'sectie-2', label: 'Sectie 2' },
|
|
20
|
+
* ]}
|
|
21
|
+
* />
|
|
22
|
+
*
|
|
23
|
+
* // Plain — in een losstaande kolom naast de hoofdinhoud
|
|
24
|
+
* <TableOfContents appearance="plain" items={items} />
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
const TableOfContents = React.forwardRef(({ heading = "Op deze pagina", headingLevel = 2, appearance = "framed", items, className, ...props }, ref) => {
|
|
28
|
+
const headingId = useId();
|
|
29
|
+
const classes = classNames("dsn-table-of-contents", appearance === "plain" && "dsn-table-of-contents--plain", className);
|
|
30
|
+
return /* @__PURE__ */ jsxs("nav", {
|
|
31
|
+
ref,
|
|
32
|
+
className: classes,
|
|
33
|
+
"aria-labelledby": headingId,
|
|
34
|
+
...props,
|
|
35
|
+
children: [/* @__PURE__ */ jsx(Heading, {
|
|
36
|
+
level: headingLevel,
|
|
37
|
+
appearance: appearance === "plain" ? "heading-5" : "heading-3",
|
|
38
|
+
className: "dsn-table-of-contents__heading",
|
|
39
|
+
id: headingId,
|
|
40
|
+
children: heading
|
|
41
|
+
}), /* @__PURE__ */ jsx(UnorderedList, { children: items.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, {
|
|
42
|
+
href: `#${item.id}`,
|
|
43
|
+
children: item.label
|
|
44
|
+
}) }, item.id)) })]
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
TableOfContents.displayName = "TableOfContents";
|
|
48
|
+
//#endregion
|
|
49
|
+
export { TableOfContents };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=TableOfContents2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableOfContents2.mjs","names":[],"sources":["../../src/TableOfContents/TableOfContents.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport { Heading, type HeadingLevel } from '../Heading';\nimport { Link } from '../Link';\nimport { UnorderedList } from '../UnorderedList';\nimport './TableOfContents.css';\n\nexport type TableOfContentsAppearance = 'framed' | 'plain';\n\nexport interface TableOfContentsItem {\n /**\n * Anchor target — moet overeenkomen met het `id` van de bijbehorende H2 op de pagina\n */\n id: string;\n\n /**\n * Zichtbare linktekst\n */\n label: string;\n}\n\nexport interface TableOfContentsProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * Zichtbare heading-tekst\n * @default 'Op deze pagina'\n */\n heading?: string;\n\n /**\n * Semantisch heading-niveau\n * @default 2\n */\n headingLevel?: HeadingLevel;\n\n /**\n * Visuele weergave:\n * - `'framed'` — accent-1 achtergrond + linkerborder, heading als heading-3 (voor gebruik inline in de content-flow)\n * - `'plain'` — geen kader, heading als heading-5 (voor gebruik in een losstaande kolom)\n * @default 'framed'\n */\n appearance?: TableOfContentsAppearance;\n\n /**\n * Secties waarnaar gelinkt wordt — alleen H2's horen hierin opgenomen te worden\n */\n items: TableOfContentsItem[];\n\n /**\n * Additional CSS class names\n */\n className?: string;\n}\n\n/**\n * TableOfContents component\n * Inhoudsopgave met ankerlinks naar de H2-secties op de huidige pagina.\n *\n * @example\n * ```tsx\n * // Framed (default) — inline in de content-flow\n * <TableOfContents\n * items={[\n * { id: 'sectie-1', label: 'Sectie 1' },\n * { id: 'sectie-2', label: 'Sectie 2' },\n * ]}\n * />\n *\n * // Plain — in een losstaande kolom naast de hoofdinhoud\n * <TableOfContents appearance=\"plain\" items={items} />\n * ```\n */\nexport const TableOfContents = React.forwardRef<\n HTMLElement,\n TableOfContentsProps\n>(\n (\n {\n heading = 'Op deze pagina',\n headingLevel = 2,\n appearance = 'framed',\n items,\n className,\n ...props\n },\n ref\n ) => {\n const headingId = useId();\n\n const classes = classNames(\n 'dsn-table-of-contents',\n appearance === 'plain' && 'dsn-table-of-contents--plain',\n className\n );\n\n return (\n <nav\n ref={ref as React.Ref<HTMLElement>}\n className={classes}\n aria-labelledby={headingId}\n {...props}\n >\n <Heading\n level={headingLevel}\n appearance={appearance === 'plain' ? 'heading-5' : 'heading-3'}\n className=\"dsn-table-of-contents__heading\"\n id={headingId}\n >\n {heading}\n </Heading>\n <UnorderedList>\n {items.map((item) => (\n <li key={item.id}>\n <Link href={`#${item.id}`}>{item.label}</Link>\n </li>\n ))}\n </UnorderedList>\n </nav>\n );\n }\n);\n\nTableOfContents.displayName = 'TableOfContents';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAa,kBAAkB,MAAM,YAKjC,EACE,UAAU,kBACV,eAAe,GACf,aAAa,UACb,OACA,WACA,GAAG,SAEL,QACG;CACH,MAAM,YAAY,MAAM;CAExB,MAAM,UAAU,WACd,yBACA,eAAe,WAAW,gCAC1B,SACF;CAEA,OACE,qBAAC,OAAD;EACO;EACL,WAAW;EACX,mBAAiB;EACjB,GAAI;EAJN,UAAA,CAME,oBAAC,SAAD;GACE,OAAO;GACP,YAAY,eAAe,UAAU,cAAc;GACnD,WAAU;GACV,IAAI;GAEH,UAAA;EACM,CAAA,GACT,oBAAC,eAAD,EAAA,UACG,MAAM,KAAK,SACV,oBAAC,MAAD,EAAA,UACE,oBAAC,MAAD;GAAM,MAAM,IAAI,KAAK;GAAO,UAAA,KAAK;EAAY,CAAA,EAC3C,GAFK,KAAK,EAEV,CACL,EACY,CAAA,CACZ;;AAET,CACF;AAEA,gBAAgB,cAAc"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormControlWidth } from "@dsn-starter-kit/core";
|
|
3
|
+
//#region src/TelephoneInput/TelephoneInput.d.ts
|
|
4
|
+
interface TelephoneInputProps 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
|
+
* Width variant for the input
|
|
12
|
+
* @default undefined (uses default max-width from form-control)
|
|
13
|
+
*/
|
|
14
|
+
width?: FormControlWidth;
|
|
15
|
+
/**
|
|
16
|
+
* Additional CSS class names
|
|
17
|
+
*/
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Telephone Input component
|
|
22
|
+
* Telephone input with appropriate inputmode and autocomplete
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* // Basic usage
|
|
27
|
+
* <TelephoneInput placeholder="06 12345678" />
|
|
28
|
+
*
|
|
29
|
+
* // With label
|
|
30
|
+
* <FormFieldLabel htmlFor="phone">Telefoonnummer</FormFieldLabel>
|
|
31
|
+
* <TelephoneInput id="phone" />
|
|
32
|
+
*
|
|
33
|
+
* // Invalid state
|
|
34
|
+
* <TelephoneInput invalid aria-invalid="true" aria-describedby="error" />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
declare const TelephoneInput: React.ForwardRefExoticComponent<TelephoneInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { TelephoneInput, TelephoneInputProps };
|
|
40
|
+
//# sourceMappingURL=TelephoneInput.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelephoneInput.d.mts","names":[],"sources":["../../src/TelephoneInput/TelephoneInput.tsx"],"mappings":";;;UAIiB,4BAA4B,KAC3C,MAAM,oBAAoB;;;;;EAO1B;;;;;EAMA,QAAQ;;;;EAKR;;;;;;;;;;;;;;;;;;;cAoBW,gBAAc,MAAA,0BAAA,sBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/TelephoneInput/TelephoneInput.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Telephone Input component
|
|
8
|
+
* Telephone input with appropriate inputmode and autocomplete
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // Basic usage
|
|
13
|
+
* <TelephoneInput placeholder="06 12345678" />
|
|
14
|
+
*
|
|
15
|
+
* // With label
|
|
16
|
+
* <FormFieldLabel htmlFor="phone">Telefoonnummer</FormFieldLabel>
|
|
17
|
+
* <TelephoneInput id="phone" />
|
|
18
|
+
*
|
|
19
|
+
* // Invalid state
|
|
20
|
+
* <TelephoneInput invalid aria-invalid="true" aria-describedby="error" />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
const TelephoneInput = React.forwardRef(({ className, invalid, width, autoComplete, ...props }, ref) => {
|
|
24
|
+
const classes = classNames("dsn-text-input", width && `dsn-text-input--width-${width}`, className);
|
|
25
|
+
return /* @__PURE__ */ jsx("input", {
|
|
26
|
+
ref,
|
|
27
|
+
type: "tel",
|
|
28
|
+
inputMode: "tel",
|
|
29
|
+
className: classes,
|
|
30
|
+
autoComplete: autoComplete || "tel",
|
|
31
|
+
"aria-invalid": invalid || void 0,
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
TelephoneInput.displayName = "TelephoneInput";
|
|
36
|
+
//#endregion
|
|
37
|
+
export { TelephoneInput };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=TelephoneInput.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelephoneInput.mjs","names":[],"sources":["../../src/TelephoneInput/TelephoneInput.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames, FormControlWidth } from '@dsn-starter-kit/core';\nimport '../TextInput/TextInput.css';\n\nexport interface TelephoneInputProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> {\n /**\n * Whether the input is in an invalid state\n * @default false\n */\n invalid?: boolean;\n\n /**\n * Width variant for the input\n * @default undefined (uses default max-width from form-control)\n */\n width?: FormControlWidth;\n\n /**\n * Additional CSS class names\n */\n className?: string;\n}\n\n/**\n * Telephone Input component\n * Telephone input with appropriate inputmode and autocomplete\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TelephoneInput placeholder=\"06 12345678\" />\n *\n * // With label\n * <FormFieldLabel htmlFor=\"phone\">Telefoonnummer</FormFieldLabel>\n * <TelephoneInput id=\"phone\" />\n *\n * // Invalid state\n * <TelephoneInput invalid aria-invalid=\"true\" aria-describedby=\"error\" />\n * ```\n */\nexport const TelephoneInput = React.forwardRef<\n HTMLInputElement,\n TelephoneInputProps\n>(({ className, invalid, width, autoComplete, ...props }, ref) => {\n const classes = classNames(\n 'dsn-text-input',\n width && `dsn-text-input--width-${width}`,\n className\n );\n\n return (\n <input\n ref={ref}\n type=\"tel\"\n inputMode=\"tel\"\n className={classes}\n autoComplete={autoComplete || 'tel'}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n});\n\nTelephoneInput.displayName = 'TelephoneInput';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAa,iBAAiB,MAAM,YAGjC,EAAE,WAAW,SAAS,OAAO,cAAc,GAAG,SAAS,QAAQ;CAChE,MAAM,UAAU,WACd,kBACA,SAAS,yBAAyB,SAClC,SACF;CAEA,OACE,oBAAC,SAAD;EACO;EACL,MAAK;EACL,WAAU;EACV,WAAW;EACX,cAAc,gBAAgB;EAC9B,gBAAc,WAAW,KAAA;EACzB,GAAI;CACL,CAAA;AAEL,CAAC;AAED,eAAe,cAAc"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormControlWidth } from "@dsn-starter-kit/core";
|
|
3
|
+
//#region src/TextArea/TextArea.d.ts
|
|
4
|
+
interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Additional CSS class names
|
|
7
|
+
*/
|
|
8
|
+
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the textarea is in an invalid state
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
invalid?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Width variant for the textarea
|
|
16
|
+
* @default undefined (uses default max-width from form-control)
|
|
17
|
+
*/
|
|
18
|
+
width?: FormControlWidth;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Text Area component
|
|
22
|
+
* Multi-line text input with support for various states (hover, focus, disabled, invalid, read-only)
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* // Basic usage
|
|
27
|
+
* <TextArea placeholder="Enter your bio" rows={4} />
|
|
28
|
+
*
|
|
29
|
+
* // With label
|
|
30
|
+
* <FormFieldLabel htmlFor="bio">Biography</FormFieldLabel>
|
|
31
|
+
* <TextArea id="bio" rows={6} />
|
|
32
|
+
*
|
|
33
|
+
* // Disabled
|
|
34
|
+
* <TextArea disabled value="Cannot edit" rows={3} />
|
|
35
|
+
*
|
|
36
|
+
* // Invalid
|
|
37
|
+
* <TextArea invalid aria-invalid="true" aria-describedby="error" rows={4} />
|
|
38
|
+
*
|
|
39
|
+
* // Read-only
|
|
40
|
+
* <TextArea readOnly value="View only" rows={3} />
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { TextArea, TextAreaProps };
|
|
46
|
+
//# sourceMappingURL=TextArea.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.d.mts","names":[],"sources":["../../src/TextArea/TextArea.tsx"],"mappings":";;;UAIiB,sBAAsB,MAAM,uBAAuB;;;;EAIlE;;;;;EAMA;;;;;EAMA,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;cA0BG,UAAQ,MAAA,0BAAA,gBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/TextArea/TextArea.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Text Area component
|
|
8
|
+
* Multi-line text input with support for various states (hover, focus, disabled, invalid, read-only)
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // Basic usage
|
|
13
|
+
* <TextArea placeholder="Enter your bio" rows={4} />
|
|
14
|
+
*
|
|
15
|
+
* // With label
|
|
16
|
+
* <FormFieldLabel htmlFor="bio">Biography</FormFieldLabel>
|
|
17
|
+
* <TextArea id="bio" rows={6} />
|
|
18
|
+
*
|
|
19
|
+
* // Disabled
|
|
20
|
+
* <TextArea disabled value="Cannot edit" rows={3} />
|
|
21
|
+
*
|
|
22
|
+
* // Invalid
|
|
23
|
+
* <TextArea invalid aria-invalid="true" aria-describedby="error" rows={4} />
|
|
24
|
+
*
|
|
25
|
+
* // Read-only
|
|
26
|
+
* <TextArea readOnly value="View only" rows={3} />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
const TextArea = React.forwardRef(({ className, invalid, width, rows = 4, ...props }, ref) => {
|
|
30
|
+
const classes = classNames("dsn-text-area", width && `dsn-text-area--width-${width}`, className);
|
|
31
|
+
return /* @__PURE__ */ jsx("textarea", {
|
|
32
|
+
ref,
|
|
33
|
+
className: classes,
|
|
34
|
+
rows,
|
|
35
|
+
"aria-invalid": invalid || void 0,
|
|
36
|
+
...props
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
TextArea.displayName = "TextArea";
|
|
40
|
+
//#endregion
|
|
41
|
+
export { TextArea };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=TextArea2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea2.mjs","names":[],"sources":["../../src/TextArea/TextArea.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames, FormControlWidth } from '@dsn-starter-kit/core';\nimport './TextArea.css';\n\nexport interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * Whether the textarea is in an invalid state\n * @default false\n */\n invalid?: boolean;\n\n /**\n * Width variant for the textarea\n * @default undefined (uses default max-width from form-control)\n */\n width?: FormControlWidth;\n}\n\n/**\n * Text Area component\n * Multi-line text input with support for various states (hover, focus, disabled, invalid, read-only)\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextArea placeholder=\"Enter your bio\" rows={4} />\n *\n * // With label\n * <FormFieldLabel htmlFor=\"bio\">Biography</FormFieldLabel>\n * <TextArea id=\"bio\" rows={6} />\n *\n * // Disabled\n * <TextArea disabled value=\"Cannot edit\" rows={3} />\n *\n * // Invalid\n * <TextArea invalid aria-invalid=\"true\" aria-describedby=\"error\" rows={4} />\n *\n * // Read-only\n * <TextArea readOnly value=\"View only\" rows={3} />\n * ```\n */\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, invalid, width, rows = 4, ...props }, ref) => {\n const classes = classNames(\n 'dsn-text-area',\n width && `dsn-text-area--width-${width}`,\n className\n );\n\n return (\n <textarea\n ref={ref}\n className={classes}\n rows={rows}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAa,WAAW,MAAM,YAC3B,EAAE,WAAW,SAAS,OAAO,OAAO,GAAG,GAAG,SAAS,QAAQ;CAC1D,MAAM,UAAU,WACd,iBACA,SAAS,wBAAwB,SACjC,SACF;CAEA,OACE,oBAAC,YAAD;EACO;EACL,WAAW;EACL;EACN,gBAAc,WAAW,KAAA;EACzB,GAAI;CACL,CAAA;AAEL,CACF;AAEA,SAAS,cAAc"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormControlWidth } from "@dsn-starter-kit/core";
|
|
3
|
+
//#region src/TextInput/TextInput.d.ts
|
|
4
|
+
interface TextInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Additional CSS class names
|
|
7
|
+
*/
|
|
8
|
+
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the input is in an invalid state
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
invalid?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Width variant for the input
|
|
16
|
+
* @default undefined (uses default max-width from form-control)
|
|
17
|
+
*/
|
|
18
|
+
width?: FormControlWidth;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Text Input component
|
|
22
|
+
* Single-line text input with support for various states (hover, focus, disabled, invalid, read-only)
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* // Basic usage
|
|
27
|
+
* <TextInput placeholder="Enter your name" />
|
|
28
|
+
*
|
|
29
|
+
* // With label
|
|
30
|
+
* <FormFieldLabel htmlFor="email">Email</FormFieldLabel>
|
|
31
|
+
* <TextInput id="email" type="email" />
|
|
32
|
+
*
|
|
33
|
+
* // Disabled
|
|
34
|
+
* <TextInput disabled value="Read only value" />
|
|
35
|
+
*
|
|
36
|
+
* // Invalid
|
|
37
|
+
* <TextInput invalid aria-invalid="true" aria-describedby="error" />
|
|
38
|
+
*
|
|
39
|
+
* // Read-only
|
|
40
|
+
* <TextInput readOnly value="Cannot edit this" />
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
declare const TextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { TextInput, TextInputProps };
|
|
46
|
+
//# sourceMappingURL=TextInput.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput.d.mts","names":[],"sources":["../../src/TextInput/TextInput.tsx"],"mappings":";;;UAIiB,uBAAuB,MAAM,oBAAoB;;;;EAIhE;;;;;EAMA;;;;;EAMA,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;cA0BG,WAAS,MAAA,0BAAA,iBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/TextInput/TextInput.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Text Input component
|
|
8
|
+
* Single-line text input with support for various states (hover, focus, disabled, invalid, read-only)
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // Basic usage
|
|
13
|
+
* <TextInput placeholder="Enter your name" />
|
|
14
|
+
*
|
|
15
|
+
* // With label
|
|
16
|
+
* <FormFieldLabel htmlFor="email">Email</FormFieldLabel>
|
|
17
|
+
* <TextInput id="email" type="email" />
|
|
18
|
+
*
|
|
19
|
+
* // Disabled
|
|
20
|
+
* <TextInput disabled value="Read only value" />
|
|
21
|
+
*
|
|
22
|
+
* // Invalid
|
|
23
|
+
* <TextInput invalid aria-invalid="true" aria-describedby="error" />
|
|
24
|
+
*
|
|
25
|
+
* // Read-only
|
|
26
|
+
* <TextInput readOnly value="Cannot edit this" />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
const TextInput = React.forwardRef(({ className, invalid, width, type = "text", ...props }, ref) => {
|
|
30
|
+
const classes = classNames("dsn-text-input", width && `dsn-text-input--width-${width}`, className);
|
|
31
|
+
return /* @__PURE__ */ jsx("input", {
|
|
32
|
+
ref,
|
|
33
|
+
type,
|
|
34
|
+
className: classes,
|
|
35
|
+
"aria-invalid": invalid || void 0,
|
|
36
|
+
...props
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
TextInput.displayName = "TextInput";
|
|
40
|
+
//#endregion
|
|
41
|
+
export { TextInput };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=TextInput2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput2.mjs","names":[],"sources":["../../src/TextInput/TextInput.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames, FormControlWidth } from '@dsn-starter-kit/core';\nimport './TextInput.css';\n\nexport interface TextInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * Whether the input is in an invalid state\n * @default false\n */\n invalid?: boolean;\n\n /**\n * Width variant for the input\n * @default undefined (uses default max-width from form-control)\n */\n width?: FormControlWidth;\n}\n\n/**\n * Text Input component\n * Single-line text input with support for various states (hover, focus, disabled, invalid, read-only)\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextInput placeholder=\"Enter your name\" />\n *\n * // With label\n * <FormFieldLabel htmlFor=\"email\">Email</FormFieldLabel>\n * <TextInput id=\"email\" type=\"email\" />\n *\n * // Disabled\n * <TextInput disabled value=\"Read only value\" />\n *\n * // Invalid\n * <TextInput invalid aria-invalid=\"true\" aria-describedby=\"error\" />\n *\n * // Read-only\n * <TextInput readOnly value=\"Cannot edit this\" />\n * ```\n */\nexport const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n ({ className, invalid, width, type = 'text', ...props }, ref) => {\n const classes = classNames(\n 'dsn-text-input',\n width && `dsn-text-input--width-${width}`,\n className\n );\n\n return (\n <input\n ref={ref}\n type={type}\n className={classes}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n }\n);\n\nTextInput.displayName = 'TextInput';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAa,YAAY,MAAM,YAC5B,EAAE,WAAW,SAAS,OAAO,OAAO,QAAQ,GAAG,SAAS,QAAQ;CAC/D,MAAM,UAAU,WACd,kBACA,SAAS,yBAAyB,SAClC,SACF;CAEA,OACE,oBAAC,SAAD;EACO;EACC;EACN,WAAW;EACX,gBAAc,WAAW,KAAA;EACzB,GAAI;CACL,CAAA;AAEL,CACF;AAEA,UAAU,cAAc"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/TimeInput/TimeInput.d.ts
|
|
3
|
+
interface TimeInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* Whether the input is in an invalid state
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
invalid?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Additional CSS class names
|
|
11
|
+
*/
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Time Input component
|
|
16
|
+
* Time input with an interactive clock button at inline-end that opens the native time picker.
|
|
17
|
+
* Fixed width (sm) — not configurable, as time inputs have a predictable content width.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // Basic usage
|
|
22
|
+
* <TimeInput />
|
|
23
|
+
*
|
|
24
|
+
* // With label
|
|
25
|
+
* <FormFieldLabel htmlFor="time">Tijd</FormFieldLabel>
|
|
26
|
+
* <TimeInput id="time" />
|
|
27
|
+
*
|
|
28
|
+
* // With default value
|
|
29
|
+
* <TimeInput defaultValue="14:30" />
|
|
30
|
+
*
|
|
31
|
+
* // Invalid state
|
|
32
|
+
* <TimeInput invalid aria-invalid="true" aria-describedby="error" />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
declare const TimeInput: React.ForwardRefExoticComponent<TimeInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { TimeInput, TimeInputProps };
|
|
38
|
+
//# sourceMappingURL=TimeInput.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeInput.d.mts","names":[],"sources":["../../src/TimeInput/TimeInput.tsx"],"mappings":";;UAOiB,uBAAuB,KACtC,MAAM,oBAAoB;;;;;EAO1B;;;;EAKA;;;;;;;;;;;;;;;;;;;;;;;cAwBW,WAAS,MAAA,0BAAA,iBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Icon } from "../Icon/Icon2.mjs";
|
|
2
|
+
import { Button } from "../Button/Button2.mjs";
|
|
3
|
+
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
//#region src/TimeInput/TimeInput.tsx
|
|
9
|
+
/**
|
|
10
|
+
* Time Input component
|
|
11
|
+
* Time input with an interactive clock button at inline-end that opens the native time picker.
|
|
12
|
+
* Fixed width (sm) — not configurable, as time inputs have a predictable content width.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* // Basic usage
|
|
17
|
+
* <TimeInput />
|
|
18
|
+
*
|
|
19
|
+
* // With label
|
|
20
|
+
* <FormFieldLabel htmlFor="time">Tijd</FormFieldLabel>
|
|
21
|
+
* <TimeInput id="time" />
|
|
22
|
+
*
|
|
23
|
+
* // With default value
|
|
24
|
+
* <TimeInput defaultValue="14:30" />
|
|
25
|
+
*
|
|
26
|
+
* // Invalid state
|
|
27
|
+
* <TimeInput invalid aria-invalid="true" aria-describedby="error" />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
const TimeInput = React.forwardRef(({ className, invalid, disabled, readOnly, ...props }, ref) => {
|
|
31
|
+
const inputRef = React.useRef(null);
|
|
32
|
+
const handleRef = React.useCallback((node) => {
|
|
33
|
+
inputRef.current = node;
|
|
34
|
+
if (typeof ref === "function") ref(node);
|
|
35
|
+
else if (ref) ref.current = node;
|
|
36
|
+
}, [ref]);
|
|
37
|
+
const handleButtonClick = () => {
|
|
38
|
+
if (inputRef.current && "showPicker" in inputRef.current) inputRef.current.showPicker();
|
|
39
|
+
};
|
|
40
|
+
const inputClasses = classNames("dsn-text-input", "dsn-time-input", className);
|
|
41
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
42
|
+
className: "dsn-time-input-wrapper",
|
|
43
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
44
|
+
ref: handleRef,
|
|
45
|
+
type: "time",
|
|
46
|
+
className: inputClasses,
|
|
47
|
+
"aria-invalid": invalid || void 0,
|
|
48
|
+
disabled,
|
|
49
|
+
readOnly,
|
|
50
|
+
...props
|
|
51
|
+
}), !disabled && !readOnly && /* @__PURE__ */ jsx(Button, {
|
|
52
|
+
variant: "subtle",
|
|
53
|
+
size: "small",
|
|
54
|
+
iconOnly: true,
|
|
55
|
+
iconStart: /* @__PURE__ */ jsx(Icon, {
|
|
56
|
+
name: "clock",
|
|
57
|
+
"aria-hidden": true
|
|
58
|
+
}),
|
|
59
|
+
className: "dsn-time-input__button",
|
|
60
|
+
onClick: handleButtonClick,
|
|
61
|
+
children: "Tijdkiezer openen"
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
TimeInput.displayName = "TimeInput";
|
|
66
|
+
//#endregion
|
|
67
|
+
export { TimeInput };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=TimeInput2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeInput2.mjs","names":[],"sources":["../../src/TimeInput/TimeInput.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport '../TextInput/TextInput.css';\nimport './TimeInput.css';\n\nexport interface TimeInputProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> {\n /**\n * Whether the input is in an invalid state\n * @default false\n */\n invalid?: boolean;\n\n /**\n * Additional CSS class names\n */\n className?: string;\n}\n\n/**\n * Time Input component\n * Time input with an interactive clock button at inline-end that opens the native time picker.\n * Fixed width (sm) — not configurable, as time inputs have a predictable content width.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TimeInput />\n *\n * // With label\n * <FormFieldLabel htmlFor=\"time\">Tijd</FormFieldLabel>\n * <TimeInput id=\"time\" />\n *\n * // With default value\n * <TimeInput defaultValue=\"14:30\" />\n *\n * // Invalid state\n * <TimeInput invalid aria-invalid=\"true\" aria-describedby=\"error\" />\n * ```\n */\nexport const TimeInput = React.forwardRef<HTMLInputElement, TimeInputProps>(\n ({ className, invalid, disabled, readOnly, ...props }, ref) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n // Merge external ref with internal ref\n const handleRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n (inputRef as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n }\n },\n [ref]\n );\n\n const handleButtonClick = () => {\n if (inputRef.current && 'showPicker' in inputRef.current) {\n inputRef.current.showPicker();\n }\n };\n\n const inputClasses = classNames(\n 'dsn-text-input',\n 'dsn-time-input',\n className\n );\n\n return (\n <div className=\"dsn-time-input-wrapper\">\n <input\n ref={handleRef}\n type=\"time\"\n className={inputClasses}\n aria-invalid={invalid || undefined}\n disabled={disabled}\n readOnly={readOnly}\n {...props}\n />\n {!disabled && !readOnly && (\n <Button\n variant=\"subtle\"\n size=\"small\"\n iconOnly\n iconStart={<Icon name=\"clock\" aria-hidden />}\n className=\"dsn-time-input__button\"\n onClick={handleButtonClick}\n >\n Tijdkiezer openen\n </Button>\n )}\n </div>\n );\n }\n);\n\nTimeInput.displayName = 'TimeInput';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,YAAY,MAAM,YAC5B,EAAE,WAAW,SAAS,UAAU,UAAU,GAAG,SAAS,QAAQ;CAC7D,MAAM,WAAW,MAAM,OAAyB,IAAI;CAGpD,MAAM,YAAY,MAAM,aACrB,SAAkC;EACjC,SAA8D,UAC5D;EACF,IAAI,OAAO,QAAQ,YACjB,IAAI,IAAI;OACH,IAAI,KACT,IAAyD,UACvD;CAEN,GACA,CAAC,GAAG,CACN;CAEA,MAAM,0BAA0B;EAC9B,IAAI,SAAS,WAAW,gBAAgB,SAAS,SAC/C,SAAS,QAAQ,WAAW;CAEhC;CAEA,MAAM,eAAe,WACnB,kBACA,kBACA,SACF;CAEA,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,oBAAC,SAAD;GACE,KAAK;GACL,MAAK;GACL,WAAW;GACX,gBAAc,WAAW,KAAA;GACf;GACA;GACV,GAAI;EACL,CAAA,GACA,CAAC,YAAY,CAAC,YACb,oBAAC,QAAD;GACE,SAAQ;GACR,MAAK;GACL,UAAA;GACA,WAAW,oBAAC,MAAD;IAAM,MAAK;IAAQ,eAAA;GAAa,CAAA;GAC3C,WAAU;GACV,SAAS;GACV,UAAA;EAEO,CAAA,CAEP;;AAET,CACF;AAEA,UAAU,cAAc"}
|