@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,38 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/FileInput/FileInput.d.ts
|
|
3
|
+
interface FileInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* Additional CSS class names
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the input is in an invalid state
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
invalid?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* File Input component
|
|
16
|
+
* Styled wrapper around native <input type="file"> with support for
|
|
17
|
+
* disabled and invalid states and multiple file selection.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // Basic usage
|
|
22
|
+
* <FileInput />
|
|
23
|
+
*
|
|
24
|
+
* // With label
|
|
25
|
+
* <FormFieldLabel htmlFor="attachment">Bijlage</FormFieldLabel>
|
|
26
|
+
* <FileInput id="attachment" accept=".pdf,.docx" />
|
|
27
|
+
*
|
|
28
|
+
* // Multiple files
|
|
29
|
+
* <FileInput multiple />
|
|
30
|
+
*
|
|
31
|
+
* // Invalid
|
|
32
|
+
* <FileInput invalid aria-describedby="error" />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
declare const FileInput: React.ForwardRefExoticComponent<FileInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { FileInput, FileInputProps };
|
|
38
|
+
//# sourceMappingURL=FileInput.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileInput.d.mts","names":[],"sources":["../../src/FileInput/FileInput.tsx"],"mappings":";;UAIiB,uBAAuB,KACtC,MAAM,oBAAoB;;;;EAM1B;;;;;EAMA;;;;;;;;;;;;;;;;;;;;;;;cAwBW,WAAS,MAAA,0BAAA,iBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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/FileInput/FileInput.tsx
|
|
6
|
+
/**
|
|
7
|
+
* File Input component
|
|
8
|
+
* Styled wrapper around native <input type="file"> with support for
|
|
9
|
+
* disabled and invalid states and multiple file selection.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* // Basic usage
|
|
14
|
+
* <FileInput />
|
|
15
|
+
*
|
|
16
|
+
* // With label
|
|
17
|
+
* <FormFieldLabel htmlFor="attachment">Bijlage</FormFieldLabel>
|
|
18
|
+
* <FileInput id="attachment" accept=".pdf,.docx" />
|
|
19
|
+
*
|
|
20
|
+
* // Multiple files
|
|
21
|
+
* <FileInput multiple />
|
|
22
|
+
*
|
|
23
|
+
* // Invalid
|
|
24
|
+
* <FileInput invalid aria-describedby="error" />
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
const FileInput = React.forwardRef(({ className, invalid, ...props }, ref) => {
|
|
28
|
+
const classes = classNames("dsn-file-input", className);
|
|
29
|
+
return /* @__PURE__ */ jsx("input", {
|
|
30
|
+
ref,
|
|
31
|
+
type: "file",
|
|
32
|
+
className: classes,
|
|
33
|
+
"aria-invalid": invalid || void 0,
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
FileInput.displayName = "FileInput";
|
|
38
|
+
//#endregion
|
|
39
|
+
export { FileInput };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=FileInput2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileInput2.mjs","names":[],"sources":["../../src/FileInput/FileInput.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport './FileInput.css';\n\nexport interface FileInputProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> {\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/**\n * File Input component\n * Styled wrapper around native <input type=\"file\"> with support for\n * disabled and invalid states and multiple file selection.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <FileInput />\n *\n * // With label\n * <FormFieldLabel htmlFor=\"attachment\">Bijlage</FormFieldLabel>\n * <FileInput id=\"attachment\" accept=\".pdf,.docx\" />\n *\n * // Multiple files\n * <FileInput multiple />\n *\n * // Invalid\n * <FileInput invalid aria-describedby=\"error\" />\n * ```\n */\nexport const FileInput = React.forwardRef<HTMLInputElement, FileInputProps>(\n ({ className, invalid, ...props }, ref) => {\n const classes = classNames('dsn-file-input', className);\n\n return (\n <input\n ref={ref}\n type=\"file\"\n className={classes}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n }\n);\n\nFileInput.displayName = 'FileInput';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAa,YAAY,MAAM,YAC5B,EAAE,WAAW,SAAS,GAAG,SAAS,QAAQ;CACzC,MAAM,UAAU,WAAW,kBAAkB,SAAS;CAEtD,OACE,oBAAC,SAAD;EACO;EACL,MAAK;EACL,WAAW;EACX,gBAAc,WAAW,KAAA;EACzB,GAAI;CACL,CAAA;AAEL,CACF;AAEA,UAAU,cAAc"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { FormFieldStatusVariant } from "../FormFieldStatus/FormFieldStatus.mjs";
|
|
2
|
+
import "../FormFieldStatus/index.mjs";
|
|
3
|
+
import React from "react";
|
|
4
|
+
//#region src/FormField/FormField.d.ts
|
|
5
|
+
interface FormFieldProps {
|
|
6
|
+
/**
|
|
7
|
+
* The label text for the form field
|
|
8
|
+
*/
|
|
9
|
+
label: string;
|
|
10
|
+
/**
|
|
11
|
+
* The ID of the form control. Used for the label's htmlFor and as the base
|
|
12
|
+
* for the generated description/error/status IDs. When omitted, the IDs are
|
|
13
|
+
* generated via useId(), but the label is no longer explicitly linked.
|
|
14
|
+
*/
|
|
15
|
+
htmlFor?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional suffix for the label (e.g., "(niet verplicht)" or "(verplicht)")
|
|
18
|
+
*/
|
|
19
|
+
labelSuffix?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional description text
|
|
22
|
+
*/
|
|
23
|
+
description?: React.ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Optional error message (shows when field is invalid)
|
|
26
|
+
*/
|
|
27
|
+
error?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Optional status message
|
|
30
|
+
*/
|
|
31
|
+
status?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Status variant (for status message styling)
|
|
34
|
+
* @default 'default'
|
|
35
|
+
*/
|
|
36
|
+
statusVariant?: FormFieldStatusVariant;
|
|
37
|
+
/**
|
|
38
|
+
* Announce status changes to screen readers via an aria-live region.
|
|
39
|
+
* Only enable this for status text that changes during interaction,
|
|
40
|
+
* such as a character counter.
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
statusLive?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Additional CSS class names
|
|
46
|
+
*/
|
|
47
|
+
className?: string;
|
|
48
|
+
/**
|
|
49
|
+
* The form control element (input, textarea, CheckboxGroup, RadioGroup, etc.)
|
|
50
|
+
*/
|
|
51
|
+
children: React.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Form Field component
|
|
55
|
+
* Container that combines FormFieldLabel, FormFieldDescription, Control, FormFieldErrorMessage, and FormFieldStatus
|
|
56
|
+
* Uses div/label structure (for fieldset/legend use FormFieldset component)
|
|
57
|
+
*
|
|
58
|
+
* Description, error and status are linked to the control via aria-describedby.
|
|
59
|
+
* FormField clones the child element to add the attribute, so the child must be
|
|
60
|
+
* a single element that forwards props to its DOM node. An aria-describedby the
|
|
61
|
+
* consumer already set on the control is preserved.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```tsx
|
|
65
|
+
* // Text input field
|
|
66
|
+
* <FormField label="E-mailadres" htmlFor="email" description="We sturen hier geen spam naartoe">
|
|
67
|
+
* <TextInput id="email" type="email" />
|
|
68
|
+
* </FormField>
|
|
69
|
+
*
|
|
70
|
+
* // With error
|
|
71
|
+
* <FormField
|
|
72
|
+
* label="Wachtwoord"
|
|
73
|
+
* htmlFor="password"
|
|
74
|
+
* error="Wachtwoord moet minimaal 8 tekens bevatten"
|
|
75
|
+
* >
|
|
76
|
+
* <PasswordInput id="password" invalid />
|
|
77
|
+
* </FormField>
|
|
78
|
+
*
|
|
79
|
+
* // With status (character counter): statusLive announces each change
|
|
80
|
+
* <FormField
|
|
81
|
+
* label="Bio"
|
|
82
|
+
* htmlFor="bio"
|
|
83
|
+
* status="280 van 500 karakters gebruikt"
|
|
84
|
+
* statusLive
|
|
85
|
+
* >
|
|
86
|
+
* <TextArea id="bio" rows={4} />
|
|
87
|
+
* </FormField>
|
|
88
|
+
*
|
|
89
|
+
* // With positive status
|
|
90
|
+
* <FormField
|
|
91
|
+
* label="Wachtwoord"
|
|
92
|
+
* htmlFor="password"
|
|
93
|
+
* status="Wachtwoord is sterk genoeg"
|
|
94
|
+
* statusVariant="positive"
|
|
95
|
+
* >
|
|
96
|
+
* <PasswordInput id="password" />
|
|
97
|
+
* </FormField>
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
|
|
101
|
+
//#endregion
|
|
102
|
+
export { FormField, FormFieldProps };
|
|
103
|
+
//# sourceMappingURL=FormField.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormField.d.mts","names":[],"sources":["../../src/FormField/FormField.tsx"],"mappings":";;;;UASiB;;;;EAIf;;;;;;EAOA;;;;EAKA;;;;EAKA,cAAc,MAAM;;;;EAKpB,QAAQ,MAAM;;;;EAKd,SAAS,MAAM;;;;;EAMf,gBAAgB;;;;;;;EAQhB;;;;EAKA;;;;EAKA,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkDL,WAAS,MAAA,0BAAA,iBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { FormFieldLabel } from "../FormFieldLabel/FormFieldLabel2.mjs";
|
|
2
|
+
import { FormFieldDescription } from "../FormFieldDescription/FormFieldDescription2.mjs";
|
|
3
|
+
import { FormFieldErrorMessage } from "../FormFieldErrorMessage/FormFieldErrorMessage2.mjs";
|
|
4
|
+
import { FormFieldStatus } from "../FormFieldStatus/FormFieldStatus2.mjs";
|
|
5
|
+
import { describeControl } from "../utils/describeControl.mjs";
|
|
6
|
+
/* empty css */
|
|
7
|
+
import React, { useId } from "react";
|
|
8
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
//#region src/FormField/FormField.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Form Field component
|
|
13
|
+
* Container that combines FormFieldLabel, FormFieldDescription, Control, FormFieldErrorMessage, and FormFieldStatus
|
|
14
|
+
* Uses div/label structure (for fieldset/legend use FormFieldset component)
|
|
15
|
+
*
|
|
16
|
+
* Description, error and status are linked to the control via aria-describedby.
|
|
17
|
+
* FormField clones the child element to add the attribute, so the child must be
|
|
18
|
+
* a single element that forwards props to its DOM node. An aria-describedby the
|
|
19
|
+
* consumer already set on the control is preserved.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* // Text input field
|
|
24
|
+
* <FormField label="E-mailadres" htmlFor="email" description="We sturen hier geen spam naartoe">
|
|
25
|
+
* <TextInput id="email" type="email" />
|
|
26
|
+
* </FormField>
|
|
27
|
+
*
|
|
28
|
+
* // With error
|
|
29
|
+
* <FormField
|
|
30
|
+
* label="Wachtwoord"
|
|
31
|
+
* htmlFor="password"
|
|
32
|
+
* error="Wachtwoord moet minimaal 8 tekens bevatten"
|
|
33
|
+
* >
|
|
34
|
+
* <PasswordInput id="password" invalid />
|
|
35
|
+
* </FormField>
|
|
36
|
+
*
|
|
37
|
+
* // With status (character counter): statusLive announces each change
|
|
38
|
+
* <FormField
|
|
39
|
+
* label="Bio"
|
|
40
|
+
* htmlFor="bio"
|
|
41
|
+
* status="280 van 500 karakters gebruikt"
|
|
42
|
+
* statusLive
|
|
43
|
+
* >
|
|
44
|
+
* <TextArea id="bio" rows={4} />
|
|
45
|
+
* </FormField>
|
|
46
|
+
*
|
|
47
|
+
* // With positive status
|
|
48
|
+
* <FormField
|
|
49
|
+
* label="Wachtwoord"
|
|
50
|
+
* htmlFor="password"
|
|
51
|
+
* status="Wachtwoord is sterk genoeg"
|
|
52
|
+
* statusVariant="positive"
|
|
53
|
+
* >
|
|
54
|
+
* <PasswordInput id="password" />
|
|
55
|
+
* </FormField>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
const FormField = React.forwardRef(({ label, htmlFor, labelSuffix, description, error, status, statusVariant = "default", statusLive = false, className, children }, ref) => {
|
|
59
|
+
const generatedId = useId();
|
|
60
|
+
const idBase = htmlFor ?? generatedId;
|
|
61
|
+
const descriptionId = description ? `${idBase}-description` : void 0;
|
|
62
|
+
const errorId = error ? `${idBase}-error` : void 0;
|
|
63
|
+
const statusId = status ? `${idBase}-status` : void 0;
|
|
64
|
+
const control = describeControl(children, [
|
|
65
|
+
descriptionId,
|
|
66
|
+
errorId,
|
|
67
|
+
statusId
|
|
68
|
+
]);
|
|
69
|
+
const containerClasses = classNames("dsn-form-field", { "dsn-form-field--invalid": !!error }, className);
|
|
70
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
71
|
+
ref,
|
|
72
|
+
className: containerClasses,
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsx(FormFieldLabel, {
|
|
75
|
+
htmlFor,
|
|
76
|
+
suffix: labelSuffix,
|
|
77
|
+
children: label
|
|
78
|
+
}),
|
|
79
|
+
description && /* @__PURE__ */ jsx(FormFieldDescription, {
|
|
80
|
+
id: descriptionId,
|
|
81
|
+
children: description
|
|
82
|
+
}),
|
|
83
|
+
error && /* @__PURE__ */ jsx(FormFieldErrorMessage, {
|
|
84
|
+
id: errorId,
|
|
85
|
+
children: error
|
|
86
|
+
}),
|
|
87
|
+
control,
|
|
88
|
+
status && /* @__PURE__ */ jsx(FormFieldStatus, {
|
|
89
|
+
id: statusId,
|
|
90
|
+
variant: statusVariant,
|
|
91
|
+
live: statusLive,
|
|
92
|
+
children: status
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
FormField.displayName = "FormField";
|
|
98
|
+
//#endregion
|
|
99
|
+
export { FormField };
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=FormField2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormField2.mjs","names":[],"sources":["../../src/FormField/FormField.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport { FormFieldLabel } from '../FormFieldLabel';\nimport { FormFieldDescription } from '../FormFieldDescription';\nimport { FormFieldErrorMessage } from '../FormFieldErrorMessage';\nimport { FormFieldStatus, FormFieldStatusVariant } from '../FormFieldStatus';\nimport { describeControl } from '../utils/describeControl';\nimport './FormField.css';\n\nexport interface FormFieldProps {\n /**\n * The label text for the form field\n */\n label: string;\n\n /**\n * The ID of the form control. Used for the label's htmlFor and as the base\n * for the generated description/error/status IDs. When omitted, the IDs are\n * generated via useId(), but the label is no longer explicitly linked.\n */\n htmlFor?: string;\n\n /**\n * Optional suffix for the label (e.g., \"(niet verplicht)\" or \"(verplicht)\")\n */\n labelSuffix?: string;\n\n /**\n * Optional description text\n */\n description?: React.ReactNode;\n\n /**\n * Optional error message (shows when field is invalid)\n */\n error?: React.ReactNode;\n\n /**\n * Optional status message\n */\n status?: React.ReactNode;\n\n /**\n * Status variant (for status message styling)\n * @default 'default'\n */\n statusVariant?: FormFieldStatusVariant;\n\n /**\n * Announce status changes to screen readers via an aria-live region.\n * Only enable this for status text that changes during interaction,\n * such as a character counter.\n * @default false\n */\n statusLive?: boolean;\n\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * The form control element (input, textarea, CheckboxGroup, RadioGroup, etc.)\n */\n children: React.ReactNode;\n}\n\n/**\n * Form Field component\n * Container that combines FormFieldLabel, FormFieldDescription, Control, FormFieldErrorMessage, and FormFieldStatus\n * Uses div/label structure (for fieldset/legend use FormFieldset component)\n *\n * Description, error and status are linked to the control via aria-describedby.\n * FormField clones the child element to add the attribute, so the child must be\n * a single element that forwards props to its DOM node. An aria-describedby the\n * consumer already set on the control is preserved.\n *\n * @example\n * ```tsx\n * // Text input field\n * <FormField label=\"E-mailadres\" htmlFor=\"email\" description=\"We sturen hier geen spam naartoe\">\n * <TextInput id=\"email\" type=\"email\" />\n * </FormField>\n *\n * // With error\n * <FormField\n * label=\"Wachtwoord\"\n * htmlFor=\"password\"\n * error=\"Wachtwoord moet minimaal 8 tekens bevatten\"\n * >\n * <PasswordInput id=\"password\" invalid />\n * </FormField>\n *\n * // With status (character counter): statusLive announces each change\n * <FormField\n * label=\"Bio\"\n * htmlFor=\"bio\"\n * status=\"280 van 500 karakters gebruikt\"\n * statusLive\n * >\n * <TextArea id=\"bio\" rows={4} />\n * </FormField>\n *\n * // With positive status\n * <FormField\n * label=\"Wachtwoord\"\n * htmlFor=\"password\"\n * status=\"Wachtwoord is sterk genoeg\"\n * statusVariant=\"positive\"\n * >\n * <PasswordInput id=\"password\" />\n * </FormField>\n * ```\n */\nexport const FormField = React.forwardRef<HTMLDivElement, FormFieldProps>(\n (\n {\n label,\n htmlFor,\n labelSuffix,\n description,\n error,\n status,\n statusVariant = 'default',\n statusLive = false,\n className,\n children,\n },\n ref\n ) => {\n const generatedId = useId();\n const idBase = htmlFor ?? generatedId;\n\n const descriptionId = description ? `${idBase}-description` : undefined;\n const errorId = error ? `${idBase}-error` : undefined;\n const statusId = status ? `${idBase}-status` : undefined;\n\n // Koppel de extra teksten aan de control zelf. De volgorde volgt de\n // visuele volgorde, zodat een screenreader dezelfde route loopt als het oog.\n const control = describeControl(children, [\n descriptionId,\n errorId,\n statusId,\n ]);\n\n const containerClasses = classNames(\n 'dsn-form-field',\n {\n 'dsn-form-field--invalid': !!error,\n },\n className\n );\n\n return (\n <div ref={ref} className={containerClasses}>\n <FormFieldLabel htmlFor={htmlFor} suffix={labelSuffix}>\n {label}\n </FormFieldLabel>\n\n {description && (\n <FormFieldDescription id={descriptionId}>\n {description}\n </FormFieldDescription>\n )}\n\n {error && (\n <FormFieldErrorMessage id={errorId}>{error}</FormFieldErrorMessage>\n )}\n\n {control}\n\n {status && (\n <FormFieldStatus\n id={statusId}\n variant={statusVariant}\n live={statusLive}\n >\n {status}\n </FormFieldStatus>\n )}\n </div>\n );\n }\n);\n\nFormField.displayName = 'FormField';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkHA,MAAa,YAAY,MAAM,YAE3B,EACE,OACA,SACA,aACA,aACA,OACA,QACA,gBAAgB,WAChB,aAAa,OACb,WACA,YAEF,QACG;CACH,MAAM,cAAc,MAAM;CAC1B,MAAM,SAAS,WAAW;CAE1B,MAAM,gBAAgB,cAAc,GAAG,OAAO,gBAAgB,KAAA;CAC9D,MAAM,UAAU,QAAQ,GAAG,OAAO,UAAU,KAAA;CAC5C,MAAM,WAAW,SAAS,GAAG,OAAO,WAAW,KAAA;CAI/C,MAAM,UAAU,gBAAgB,UAAU;EACxC;EACA;EACA;CACF,CAAC;CAED,MAAM,mBAAmB,WACvB,kBACA,EACE,2BAA2B,CAAC,CAAC,MAC/B,GACA,SACF;CAEA,OACE,qBAAC,OAAD;EAAU;EAAK,WAAW;EAA1B,UAAA;GACE,oBAAC,gBAAD;IAAyB;IAAS,QAAQ;IACvC,UAAA;GACa,CAAA;GAEf,eACC,oBAAC,sBAAD;IAAsB,IAAI;IACvB,UAAA;GACmB,CAAA;GAGvB,SACC,oBAAC,uBAAD;IAAuB,IAAI;IAAU,UAAA;GAA6B,CAAA;GAGnE;GAEA,UACC,oBAAC,iBAAD;IACE,IAAI;IACJ,SAAS;IACT,MAAM;IAEL,UAAA;GACc,CAAA;EAEhB;;AAET,CACF;AAEA,UAAU,cAAc"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/FormFieldDescription/FormFieldDescription.d.ts
|
|
3
|
+
interface FormFieldDescriptionProps extends React.HTMLAttributes<HTMLElement> {
|
|
4
|
+
/**
|
|
5
|
+
* HTML element to render: use 'div' when the description contains block-level
|
|
6
|
+
* content, which a `<p>` cannot hold. Note that block-level content in a
|
|
7
|
+
* description is discouraged, see the component docs.
|
|
8
|
+
* @default 'p'
|
|
9
|
+
*/
|
|
10
|
+
as?: 'p' | 'div';
|
|
11
|
+
/**
|
|
12
|
+
* Additional CSS class names
|
|
13
|
+
*/
|
|
14
|
+
className?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Description content
|
|
17
|
+
*/
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Form Field Description component
|
|
22
|
+
* Optional help text displayed below the label and above the form control.
|
|
23
|
+
*
|
|
24
|
+
* Use text only. The content of an `aria-describedby` reference is flattened into a
|
|
25
|
+
* single string, so list structure and links lose their meaning. VoiceOver in Safari
|
|
26
|
+
* does not read a list inside a description at all, and a link inside a description
|
|
27
|
+
* cannot be reached or activated. To make several requirements scannable, put them on
|
|
28
|
+
* their own lines with a `<br>` and a space on both sides of it: the description then
|
|
29
|
+
* stays a single `<p>` holding only text. A real list belongs above the form field,
|
|
30
|
+
* outside the `aria-describedby` reference, where it keeps its list semantics.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // Basic usage
|
|
35
|
+
* <FormFieldDescription>
|
|
36
|
+
* Vul hier uw officiële voornaam in zoals deze op uw paspoort staat.
|
|
37
|
+
* </FormFieldDescription>
|
|
38
|
+
*
|
|
39
|
+
* // With ID for aria-describedby
|
|
40
|
+
* <FormFieldDescription id="email-description">
|
|
41
|
+
* We gebruiken uw e-mailadres alleen voor accountgerelateerde berichten.
|
|
42
|
+
* </FormFieldDescription>
|
|
43
|
+
*
|
|
44
|
+
* // Several requirements: one line each via <br>, never a list
|
|
45
|
+
* <FormFieldDescription id="upload-description">
|
|
46
|
+
* Het bestand mag maximaal 5 MB zijn. <br /> Toegestane bestandstypen: pdf en docx.
|
|
47
|
+
* </FormFieldDescription>
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
declare const FormFieldDescription: React.ForwardRefExoticComponent<FormFieldDescriptionProps & React.RefAttributes<HTMLElement>>;
|
|
51
|
+
//#endregion
|
|
52
|
+
export { FormFieldDescription, FormFieldDescriptionProps };
|
|
53
|
+
//# sourceMappingURL=FormFieldDescription.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldDescription.d.mts","names":[],"sources":["../../src/FormFieldDescription/FormFieldDescription.tsx"],"mappings":";;UAIiB,kCAAkC,MAAM,eAAe;;;;;;;EAOtE;;;;EAKA;;;;EAKA,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCN,sBAAoB,MAAA,0BAAA,4BAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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/FormFieldDescription/FormFieldDescription.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Form Field Description component
|
|
8
|
+
* Optional help text displayed below the label and above the form control.
|
|
9
|
+
*
|
|
10
|
+
* Use text only. The content of an `aria-describedby` reference is flattened into a
|
|
11
|
+
* single string, so list structure and links lose their meaning. VoiceOver in Safari
|
|
12
|
+
* does not read a list inside a description at all, and a link inside a description
|
|
13
|
+
* cannot be reached or activated. To make several requirements scannable, put them on
|
|
14
|
+
* their own lines with a `<br>` and a space on both sides of it: the description then
|
|
15
|
+
* stays a single `<p>` holding only text. A real list belongs above the form field,
|
|
16
|
+
* outside the `aria-describedby` reference, where it keeps its list semantics.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* // Basic usage
|
|
21
|
+
* <FormFieldDescription>
|
|
22
|
+
* Vul hier uw officiële voornaam in zoals deze op uw paspoort staat.
|
|
23
|
+
* </FormFieldDescription>
|
|
24
|
+
*
|
|
25
|
+
* // With ID for aria-describedby
|
|
26
|
+
* <FormFieldDescription id="email-description">
|
|
27
|
+
* We gebruiken uw e-mailadres alleen voor accountgerelateerde berichten.
|
|
28
|
+
* </FormFieldDescription>
|
|
29
|
+
*
|
|
30
|
+
* // Several requirements: one line each via <br>, never a list
|
|
31
|
+
* <FormFieldDescription id="upload-description">
|
|
32
|
+
* Het bestand mag maximaal 5 MB zijn. <br /> Toegestane bestandstypen: pdf en docx.
|
|
33
|
+
* </FormFieldDescription>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
const FormFieldDescription = React.forwardRef(({ as: As = "p", className, children, ...props }, ref) => {
|
|
37
|
+
const classes = classNames("dsn-form-field-description", className);
|
|
38
|
+
return /* @__PURE__ */ jsx(As, {
|
|
39
|
+
ref,
|
|
40
|
+
className: classes,
|
|
41
|
+
...props,
|
|
42
|
+
children
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
FormFieldDescription.displayName = "FormFieldDescription";
|
|
46
|
+
//#endregion
|
|
47
|
+
export { FormFieldDescription };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=FormFieldDescription2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldDescription2.mjs","names":[],"sources":["../../src/FormFieldDescription/FormFieldDescription.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport './FormFieldDescription.css';\n\nexport interface FormFieldDescriptionProps extends React.HTMLAttributes<HTMLElement> {\n /**\n * HTML element to render: use 'div' when the description contains block-level\n * content, which a `<p>` cannot hold. Note that block-level content in a\n * description is discouraged, see the component docs.\n * @default 'p'\n */\n as?: 'p' | 'div';\n\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * Description content\n */\n children?: React.ReactNode;\n}\n\n/**\n * Form Field Description component\n * Optional help text displayed below the label and above the form control.\n *\n * Use text only. The content of an `aria-describedby` reference is flattened into a\n * single string, so list structure and links lose their meaning. VoiceOver in Safari\n * does not read a list inside a description at all, and a link inside a description\n * cannot be reached or activated. To make several requirements scannable, put them on\n * their own lines with a `<br>` and a space on both sides of it: the description then\n * stays a single `<p>` holding only text. A real list belongs above the form field,\n * outside the `aria-describedby` reference, where it keeps its list semantics.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <FormFieldDescription>\n * Vul hier uw officiële voornaam in zoals deze op uw paspoort staat.\n * </FormFieldDescription>\n *\n * // With ID for aria-describedby\n * <FormFieldDescription id=\"email-description\">\n * We gebruiken uw e-mailadres alleen voor accountgerelateerde berichten.\n * </FormFieldDescription>\n *\n * // Several requirements: one line each via <br>, never a list\n * <FormFieldDescription id=\"upload-description\">\n * Het bestand mag maximaal 5 MB zijn. <br /> Toegestane bestandstypen: pdf en docx.\n * </FormFieldDescription>\n * ```\n */\nexport const FormFieldDescription = React.forwardRef<\n HTMLElement,\n FormFieldDescriptionProps\n>(({ as: As = 'p', className, children, ...props }, ref) => {\n const classes = classNames('dsn-form-field-description', className);\n\n return (\n <As\n ref={ref as React.Ref<HTMLParagraphElement>}\n className={classes}\n {...props}\n >\n {children}\n </As>\n );\n});\n\nFormFieldDescription.displayName = 'FormFieldDescription';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAa,uBAAuB,MAAM,YAGvC,EAAE,IAAI,KAAK,KAAK,WAAW,UAAU,GAAG,SAAS,QAAQ;CAC1D,MAAM,UAAU,WAAW,8BAA8B,SAAS;CAElE,OACE,oBAAC,IAAD;EACO;EACL,WAAW;EACX,GAAI;EAEH;CACC,CAAA;AAER,CAAC;AAED,qBAAqB,cAAc"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/FormFieldErrorMessage/FormFieldErrorMessage.d.ts
|
|
3
|
+
interface FormFieldErrorMessageProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
4
|
+
/**
|
|
5
|
+
* Whether to show the exclamation-circle icon before the message
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
showIcon?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Additional CSS class names
|
|
11
|
+
*/
|
|
12
|
+
className?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Error message content
|
|
15
|
+
*/
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Form Field Error Message component
|
|
20
|
+
* Error message displayed below the description and above the form control
|
|
21
|
+
* Shows exclamation-circle icon by default for visual emphasis
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* // Basic usage with icon (default)
|
|
26
|
+
* <FormFieldErrorMessage>Dit veld is verplicht.</FormFieldErrorMessage>
|
|
27
|
+
*
|
|
28
|
+
* // Without icon
|
|
29
|
+
* <FormFieldErrorMessage showIcon={false}>
|
|
30
|
+
* Ongeldige waarde opgegeven.
|
|
31
|
+
* </FormFieldErrorMessage>
|
|
32
|
+
*
|
|
33
|
+
* // With ID for aria-describedby
|
|
34
|
+
* <FormFieldErrorMessage id="email-error">
|
|
35
|
+
* Vul een geldig e-mailadres in.
|
|
36
|
+
* </FormFieldErrorMessage>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
declare const FormFieldErrorMessage: React.ForwardRefExoticComponent<FormFieldErrorMessageProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { FormFieldErrorMessage, FormFieldErrorMessageProps };
|
|
42
|
+
//# sourceMappingURL=FormFieldErrorMessage.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldErrorMessage.d.mts","names":[],"sources":["../../src/FormFieldErrorMessage/FormFieldErrorMessage.tsx"],"mappings":";;UAKiB,mCAAmC,MAAM,eAAe;;;;;EAKvE;;;;EAKA;;;;EAKA,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;cAwBN,uBAAqB,MAAA,0BAAA,6BAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Icon } from "../Icon/Icon2.mjs";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/FormFieldErrorMessage/FormFieldErrorMessage.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Form Field Error Message component
|
|
9
|
+
* Error message displayed below the description and above the form control
|
|
10
|
+
* Shows exclamation-circle icon by default for visual emphasis
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* // Basic usage with icon (default)
|
|
15
|
+
* <FormFieldErrorMessage>Dit veld is verplicht.</FormFieldErrorMessage>
|
|
16
|
+
*
|
|
17
|
+
* // Without icon
|
|
18
|
+
* <FormFieldErrorMessage showIcon={false}>
|
|
19
|
+
* Ongeldige waarde opgegeven.
|
|
20
|
+
* </FormFieldErrorMessage>
|
|
21
|
+
*
|
|
22
|
+
* // With ID for aria-describedby
|
|
23
|
+
* <FormFieldErrorMessage id="email-error">
|
|
24
|
+
* Vul een geldig e-mailadres in.
|
|
25
|
+
* </FormFieldErrorMessage>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
const FormFieldErrorMessage = React.forwardRef(({ showIcon = true, className, children, ...props }, ref) => {
|
|
29
|
+
const classes = classNames("dsn-form-field-error-message", className);
|
|
30
|
+
return /* @__PURE__ */ jsxs("p", {
|
|
31
|
+
ref,
|
|
32
|
+
className: classes,
|
|
33
|
+
...props,
|
|
34
|
+
children: [showIcon && /* @__PURE__ */ jsx(Icon, {
|
|
35
|
+
name: "exclamation-circle",
|
|
36
|
+
"aria-hidden": true
|
|
37
|
+
}), children]
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
FormFieldErrorMessage.displayName = "FormFieldErrorMessage";
|
|
41
|
+
//#endregion
|
|
42
|
+
export { FormFieldErrorMessage };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=FormFieldErrorMessage2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldErrorMessage2.mjs","names":[],"sources":["../../src/FormFieldErrorMessage/FormFieldErrorMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport { Icon } from '../Icon';\nimport './FormFieldErrorMessage.css';\n\nexport interface FormFieldErrorMessageProps extends React.HTMLAttributes<HTMLParagraphElement> {\n /**\n * Whether to show the exclamation-circle icon before the message\n * @default true\n */\n showIcon?: boolean;\n\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * Error message content\n */\n children?: React.ReactNode;\n}\n\n/**\n * Form Field Error Message component\n * Error message displayed below the description and above the form control\n * Shows exclamation-circle icon by default for visual emphasis\n *\n * @example\n * ```tsx\n * // Basic usage with icon (default)\n * <FormFieldErrorMessage>Dit veld is verplicht.</FormFieldErrorMessage>\n *\n * // Without icon\n * <FormFieldErrorMessage showIcon={false}>\n * Ongeldige waarde opgegeven.\n * </FormFieldErrorMessage>\n *\n * // With ID for aria-describedby\n * <FormFieldErrorMessage id=\"email-error\">\n * Vul een geldig e-mailadres in.\n * </FormFieldErrorMessage>\n * ```\n */\nexport const FormFieldErrorMessage = React.forwardRef<\n HTMLParagraphElement,\n FormFieldErrorMessageProps\n>(({ showIcon = true, className, children, ...props }, ref) => {\n const classes = classNames('dsn-form-field-error-message', className);\n\n return (\n <p ref={ref} className={classes} {...props}>\n {showIcon && <Icon name=\"exclamation-circle\" aria-hidden />}\n {children}\n </p>\n );\n});\n\nFormFieldErrorMessage.displayName = 'FormFieldErrorMessage';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,wBAAwB,MAAM,YAGxC,EAAE,WAAW,MAAM,WAAW,UAAU,GAAG,SAAS,QAAQ;CAC7D,MAAM,UAAU,WAAW,gCAAgC,SAAS;CAEpE,OACE,qBAAC,KAAD;EAAQ;EAAK,WAAW;EAAS,GAAI;EAArC,UAAA,CACG,YAAY,oBAAC,MAAD;GAAM,MAAK;GAAqB,eAAA;EAAa,CAAA,GACzD,QACA;;AAEP,CAAC;AAED,sBAAsB,cAAc"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/FormFieldLabel/FormFieldLabel.d.ts
|
|
3
|
+
interface FormFieldLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
|
|
4
|
+
/**
|
|
5
|
+
* Optional suffix text displayed after the label (e.g., "(niet verplicht)")
|
|
6
|
+
*/
|
|
7
|
+
suffix?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Additional CSS class names
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Label content
|
|
14
|
+
*/
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Form Field Label component
|
|
19
|
+
* Label for form controls with optional suffix for "(niet verplicht)" or "(verplicht)"
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* // Basic usage
|
|
24
|
+
* <FormFieldLabel htmlFor="firstname">Voornaam</FormFieldLabel>
|
|
25
|
+
*
|
|
26
|
+
* // With suffix for optional fields
|
|
27
|
+
* <FormFieldLabel htmlFor="middlename" suffix="(niet verplicht)">
|
|
28
|
+
* Tussenvoegsel
|
|
29
|
+
* </FormFieldLabel>
|
|
30
|
+
*
|
|
31
|
+
* // With suffix for required fields (when most fields are optional)
|
|
32
|
+
* <FormFieldLabel htmlFor="email" suffix="(verplicht)">
|
|
33
|
+
* E-mailadres
|
|
34
|
+
* </FormFieldLabel>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
declare const FormFieldLabel: React.ForwardRefExoticComponent<FormFieldLabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { FormFieldLabel, FormFieldLabelProps };
|
|
40
|
+
//# sourceMappingURL=FormFieldLabel.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldLabel.d.mts","names":[],"sources":["../../src/FormFieldLabel/FormFieldLabel.tsx"],"mappings":";;UAIiB,4BAA4B,MAAM,oBAAoB;;;;EAIrE;;;;EAKA;;;;EAKA,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;cAuBN,gBAAc,MAAA,0BAAA,sBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { classNames } from "@dsn-starter-kit/core";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/FormFieldLabel/FormFieldLabel.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Form Field Label component
|
|
8
|
+
* Label for form controls with optional suffix for "(niet verplicht)" or "(verplicht)"
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* // Basic usage
|
|
13
|
+
* <FormFieldLabel htmlFor="firstname">Voornaam</FormFieldLabel>
|
|
14
|
+
*
|
|
15
|
+
* // With suffix for optional fields
|
|
16
|
+
* <FormFieldLabel htmlFor="middlename" suffix="(niet verplicht)">
|
|
17
|
+
* Tussenvoegsel
|
|
18
|
+
* </FormFieldLabel>
|
|
19
|
+
*
|
|
20
|
+
* // With suffix for required fields (when most fields are optional)
|
|
21
|
+
* <FormFieldLabel htmlFor="email" suffix="(verplicht)">
|
|
22
|
+
* E-mailadres
|
|
23
|
+
* </FormFieldLabel>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
const FormFieldLabel = React.forwardRef(({ suffix, className, children, ...props }, ref) => {
|
|
27
|
+
const classes = classNames("dsn-form-field-label", className);
|
|
28
|
+
return /* @__PURE__ */ jsxs("label", {
|
|
29
|
+
ref,
|
|
30
|
+
className: classes,
|
|
31
|
+
...props,
|
|
32
|
+
children: [children, suffix && /* @__PURE__ */ jsx("span", {
|
|
33
|
+
className: "dsn-form-field-label-suffix",
|
|
34
|
+
children: suffix
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
FormFieldLabel.displayName = "FormFieldLabel";
|
|
39
|
+
//#endregion
|
|
40
|
+
export { FormFieldLabel };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=FormFieldLabel2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldLabel2.mjs","names":[],"sources":["../../src/FormFieldLabel/FormFieldLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { classNames } from '@dsn-starter-kit/core';\nimport './FormFieldLabel.css';\n\nexport interface FormFieldLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n /**\n * Optional suffix text displayed after the label (e.g., \"(niet verplicht)\")\n */\n suffix?: string;\n\n /**\n * Additional CSS class names\n */\n className?: string;\n\n /**\n * Label content\n */\n children?: React.ReactNode;\n}\n\n/**\n * Form Field Label component\n * Label for form controls with optional suffix for \"(niet verplicht)\" or \"(verplicht)\"\n *\n * @example\n * ```tsx\n * // Basic usage\n * <FormFieldLabel htmlFor=\"firstname\">Voornaam</FormFieldLabel>\n *\n * // With suffix for optional fields\n * <FormFieldLabel htmlFor=\"middlename\" suffix=\"(niet verplicht)\">\n * Tussenvoegsel\n * </FormFieldLabel>\n *\n * // With suffix for required fields (when most fields are optional)\n * <FormFieldLabel htmlFor=\"email\" suffix=\"(verplicht)\">\n * E-mailadres\n * </FormFieldLabel>\n * ```\n */\nexport const FormFieldLabel = React.forwardRef<\n HTMLLabelElement,\n FormFieldLabelProps\n>(({ suffix, className, children, ...props }, ref) => {\n const classes = classNames('dsn-form-field-label', className);\n\n return (\n <label ref={ref} className={classes} {...props}>\n {children}\n {suffix && <span className=\"dsn-form-field-label-suffix\">{suffix}</span>}\n </label>\n );\n});\n\nFormFieldLabel.displayName = 'FormFieldLabel';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAa,iBAAiB,MAAM,YAGjC,EAAE,QAAQ,WAAW,UAAU,GAAG,SAAS,QAAQ;CACpD,MAAM,UAAU,WAAW,wBAAwB,SAAS;CAE5D,OACE,qBAAC,SAAD;EAAY;EAAK,WAAW;EAAS,GAAI;EAAzC,UAAA,CACG,UACA,UAAU,oBAAC,QAAD;GAAM,WAAU;GAA+B,UAAA;EAAa,CAAA,CAClE;;AAEX,CAAC;AAED,eAAe,cAAc"}
|