@dnb/eufemia 10.55.0 → 10.56.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/CHANGELOG.md +31 -0
- package/cjs/components/accordion/Accordion.d.ts +2 -2
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.js +1 -1
- package/cjs/components/accordion/AccordionDocs.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +3 -3
- package/cjs/components/anchor/style/dnb-anchor.css +6 -6
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
- package/cjs/components/button/style/themes/button-mixins.scss +2 -0
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -0
- package/cjs/components/card/style/dnb-card.css +15 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +17 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +2 -1
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
- package/cjs/components/date-picker/DatePicker.d.ts +248 -65
- package/cjs/components/date-picker/DatePicker.js +125 -135
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.d.ts +2 -2
- package/cjs/components/date-picker/DatePickerCalc.js +6 -6
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js +9 -9
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerContext.d.ts +2 -2
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerDocs.js +284 -0
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -0
- package/cjs/components/date-picker/DatePickerFooter.js +18 -18
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +3 -3
- package/cjs/components/date-picker/DatePickerInput.js +18 -18
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.d.ts +2 -2
- package/cjs/components/date-picker/DatePickerProvider.js +25 -25
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/hooks/useDates.js +8 -8
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
- package/cjs/components/form-label/FormLabel.js +26 -3
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/help-button/HelpButtonInline.d.ts +37 -0
- package/cjs/components/help-button/HelpButtonInline.js +184 -0
- package/cjs/components/help-button/HelpButtonInline.js.map +1 -0
- package/cjs/components/help-button/style/dnb-help-button-inline.css +98 -0
- package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -0
- package/cjs/components/help-button/style/dnb-help-button-inline.scss +128 -0
- package/cjs/components/help-button/style/dnb-help-button.css +104 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
- package/cjs/components/help-button/style/dnb-help-button.scss +3 -2
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
- package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
- package/cjs/components/list-format/ListFormat.d.ts +6 -4
- package/cjs/components/list-format/ListFormat.js +16 -9
- package/cjs/components/list-format/ListFormat.js.map +1 -1
- package/cjs/components/list-format/ListFormatDocs.js +18 -4
- package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
- package/cjs/components/modal/ModalContent.js +4 -2
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +8 -0
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
- package/cjs/components/tabs/style/dnb-tabs.css +2 -0
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
- package/cjs/components/tag/style/dnb-tag.css +2 -0
- package/cjs/components/textarea/Textarea.js +1 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
- package/cjs/components/upload/style/dnb-upload.css +3 -2
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/components/upload/style/dnb-upload.scss +3 -2
- package/cjs/elements/ElementDocs.d.ts +1 -0
- package/cjs/elements/ElementDocs.js +20 -12
- package/cjs/elements/ElementDocs.js.map +1 -1
- package/cjs/elements/lib.d.ts +4 -7
- package/cjs/elements/lists/Dl.d.ts +1 -1
- package/cjs/elements/lists/Dl.js.map +1 -1
- package/cjs/elements/lists/DlDocs.js +1 -1
- package/cjs/elements/lists/DlDocs.js.map +1 -1
- package/cjs/elements/lists/Li.d.ts +1 -1
- package/cjs/elements/lists/Li.js +4 -4
- package/cjs/elements/lists/Li.js.map +1 -1
- package/cjs/elements/lists/Ol.d.ts +2 -2
- package/cjs/elements/lists/Ol.js +3 -3
- package/cjs/elements/lists/Ol.js.map +1 -1
- package/cjs/elements/lists/OlDocs.js +1 -1
- package/cjs/elements/lists/OlDocs.js.map +1 -1
- package/cjs/elements/lists/Ul.d.ts +2 -2
- package/cjs/elements/lists/Ul.js +3 -3
- package/cjs/elements/lists/Ul.js.map +1 -1
- package/cjs/elements/lists/UlDocs.js +1 -1
- package/cjs/elements/lists/UlDocs.js.map +1 -1
- package/cjs/elements/typography/P.d.ts +9 -5
- package/cjs/elements/typography/P.js +24 -13
- package/cjs/elements/typography/P.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/Composition.d.ts +1 -1
- package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +16 -9
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +17 -4
- package/cjs/extensions/forms/Field/Date/Date.js +62 -34
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
- package/cjs/extensions/forms/Field/Date/DateDocs.js +52 -13
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +2 -7
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js +2 -9
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +0 -5
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +5 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Option/OptionDocs.js +32 -0
- package/cjs/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +0 -4
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js +14 -19
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
- package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -2
- package/cjs/extensions/forms/Field/Slider/Slider.js +0 -5
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
- package/cjs/extensions/forms/Field/String/String.js +0 -4
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/String/StringDocs.js +0 -5
- package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/String/style/dnb-string.css +11 -0
- package/cjs/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
- package/cjs/extensions/forms/Field/String/style/dnb-string.scss +17 -0
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -14
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +5 -3
- package/cjs/extensions/forms/Field/Upload/Upload.js +57 -28
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
- package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
- package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -28
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +19 -4
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +19 -4
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +20 -7
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
- package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js +47 -0
- package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +12 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +5 -0
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +105 -47
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +1 -7
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/shared/Context.d.ts +2 -2
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +16 -16
- package/cjs/shared/locales/en-GB.js +16 -16
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +17 -17
- package/cjs/shared/locales/en-US.js +3 -3
- package/cjs/shared/locales/en-US.js.map +1 -1
- package/cjs/shared/locales/index.d.ts +34 -32
- package/cjs/shared/locales/index.js.map +1 -1
- package/cjs/shared/locales/nb-NO.d.ts +16 -16
- package/cjs/shared/locales/nb-NO.js +16 -16
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +344 -56
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-components.scss +1 -0
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +105 -47
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +105 -47
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +2 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +467 -108
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +107 -49
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +107 -49
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/Accordion.d.ts +2 -2
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionDocs.js +1 -1
- package/components/accordion/AccordionDocs.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +3 -3
- package/components/anchor/style/dnb-anchor.css +6 -6
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
- package/components/button/style/themes/button-mixins.scss +2 -0
- package/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
- package/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
- package/components/button/style/themes/dnb-button-theme-ui.css +4 -0
- package/components/card/style/dnb-card.css +15 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +17 -0
- package/components/card/style/themes/dnb-card-theme-ui.css +2 -1
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
- package/components/date-picker/DatePicker.d.ts +248 -65
- package/components/date-picker/DatePicker.js +126 -136
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerAddon.js.map +1 -1
- package/components/date-picker/DatePickerCalc.d.ts +2 -2
- package/components/date-picker/DatePickerCalc.js +6 -6
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/components/date-picker/DatePickerCalendar.js +9 -9
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +2 -2
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.d.ts +3 -0
- package/components/date-picker/DatePickerDocs.js +276 -0
- package/components/date-picker/DatePickerDocs.js.map +1 -0
- package/components/date-picker/DatePickerFooter.js +18 -18
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +3 -3
- package/components/date-picker/DatePickerInput.js +18 -18
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.d.ts +2 -2
- package/components/date-picker/DatePickerProvider.js +25 -25
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/hooks/useDates.js +8 -8
- package/components/date-picker/hooks/useDates.js.map +1 -1
- package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
- package/components/form-label/FormLabel.js +26 -3
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/help-button/HelpButtonInline.d.ts +37 -0
- package/components/help-button/HelpButtonInline.js +174 -0
- package/components/help-button/HelpButtonInline.js.map +1 -0
- package/components/help-button/style/dnb-help-button-inline.css +98 -0
- package/components/help-button/style/dnb-help-button-inline.min.css +1 -0
- package/components/help-button/style/dnb-help-button-inline.scss +128 -0
- package/components/help-button/style/dnb-help-button.css +104 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -1
- package/components/help-button/style/dnb-help-button.scss +3 -2
- package/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
- package/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
- package/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
- package/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
- package/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
- package/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
- package/components/list-format/ListFormat.d.ts +6 -4
- package/components/list-format/ListFormat.js +15 -9
- package/components/list-format/ListFormat.js.map +1 -1
- package/components/list-format/ListFormatDocs.js +15 -4
- package/components/list-format/ListFormatDocs.js.map +1 -1
- package/components/modal/ModalContent.js +4 -2
- package/components/modal/ModalContent.js.map +1 -1
- package/components/table/style/dnb-table.css +8 -0
- package/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
- package/components/tabs/style/dnb-tabs.css +2 -0
- package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
- package/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
- package/components/tag/style/dnb-tag.css +2 -0
- package/components/textarea/Textarea.js +1 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
- package/components/upload/style/dnb-upload.css +3 -2
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/components/upload/style/dnb-upload.scss +3 -2
- package/elements/ElementDocs.d.ts +1 -0
- package/elements/ElementDocs.js +16 -11
- package/elements/ElementDocs.js.map +1 -1
- package/elements/lib.d.ts +4 -7
- package/elements/lists/Dl.d.ts +1 -1
- package/elements/lists/Dl.js.map +1 -1
- package/elements/lists/DlDocs.js +2 -2
- package/elements/lists/DlDocs.js.map +1 -1
- package/elements/lists/Li.d.ts +1 -1
- package/elements/lists/Li.js +4 -4
- package/elements/lists/Li.js.map +1 -1
- package/elements/lists/Ol.d.ts +2 -2
- package/elements/lists/Ol.js +3 -3
- package/elements/lists/Ol.js.map +1 -1
- package/elements/lists/OlDocs.js +2 -2
- package/elements/lists/OlDocs.js.map +1 -1
- package/elements/lists/Ul.d.ts +2 -2
- package/elements/lists/Ul.js +3 -3
- package/elements/lists/Ul.js.map +1 -1
- package/elements/lists/UlDocs.js +2 -2
- package/elements/lists/UlDocs.js.map +1 -1
- package/elements/typography/P.d.ts +9 -5
- package/elements/typography/P.js +21 -12
- package/elements/typography/P.js.map +1 -1
- package/es/components/accordion/Accordion.d.ts +2 -2
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionDocs.js +1 -1
- package/es/components/accordion/AccordionDocs.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +3 -3
- package/es/components/anchor/style/dnb-anchor.css +6 -6
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
- package/es/components/button/style/themes/button-mixins.scss +2 -0
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -0
- package/es/components/card/style/dnb-card.css +15 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +17 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.css +2 -1
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
- package/es/components/date-picker/DatePicker.d.ts +248 -65
- package/es/components/date-picker/DatePicker.js +126 -136
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerAddon.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.d.ts +2 -2
- package/es/components/date-picker/DatePickerCalc.js +6 -6
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/es/components/date-picker/DatePickerCalendar.js +9 -9
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +2 -2
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.d.ts +3 -0
- package/es/components/date-picker/DatePickerDocs.js +276 -0
- package/es/components/date-picker/DatePickerDocs.js.map +1 -0
- package/es/components/date-picker/DatePickerFooter.js +18 -18
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +3 -3
- package/es/components/date-picker/DatePickerInput.js +18 -18
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.d.ts +2 -2
- package/es/components/date-picker/DatePickerProvider.js +25 -25
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.js +8 -8
- package/es/components/date-picker/hooks/useDates.js.map +1 -1
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
- package/es/components/form-label/FormLabel.js +26 -3
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/help-button/HelpButtonInline.d.ts +37 -0
- package/es/components/help-button/HelpButtonInline.js +173 -0
- package/es/components/help-button/HelpButtonInline.js.map +1 -0
- package/es/components/help-button/style/dnb-help-button-inline.css +98 -0
- package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -0
- package/es/components/help-button/style/dnb-help-button-inline.scss +128 -0
- package/es/components/help-button/style/dnb-help-button.css +104 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -1
- package/es/components/help-button/style/dnb-help-button.scss +3 -2
- package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
- package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
- package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
- package/es/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
- package/es/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
- package/es/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
- package/es/components/list-format/ListFormat.d.ts +6 -4
- package/es/components/list-format/ListFormat.js +15 -9
- package/es/components/list-format/ListFormat.js.map +1 -1
- package/es/components/list-format/ListFormatDocs.js +15 -4
- package/es/components/list-format/ListFormatDocs.js.map +1 -1
- package/es/components/modal/ModalContent.js +4 -2
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/table/style/dnb-table.css +8 -0
- package/es/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
- package/es/components/tabs/style/dnb-tabs.css +2 -0
- package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
- package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
- package/es/components/tag/style/dnb-tag.css +2 -0
- package/es/components/textarea/Textarea.js +1 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
- package/es/components/upload/style/dnb-upload.css +3 -2
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/components/upload/style/dnb-upload.scss +3 -2
- package/es/elements/ElementDocs.d.ts +1 -0
- package/es/elements/ElementDocs.js +16 -11
- package/es/elements/ElementDocs.js.map +1 -1
- package/es/elements/lib.d.ts +4 -7
- package/es/elements/lists/Dl.d.ts +1 -1
- package/es/elements/lists/Dl.js.map +1 -1
- package/es/elements/lists/DlDocs.js +2 -2
- package/es/elements/lists/DlDocs.js.map +1 -1
- package/es/elements/lists/Li.d.ts +1 -1
- package/es/elements/lists/Li.js +4 -4
- package/es/elements/lists/Li.js.map +1 -1
- package/es/elements/lists/Ol.d.ts +2 -2
- package/es/elements/lists/Ol.js +3 -3
- package/es/elements/lists/Ol.js.map +1 -1
- package/es/elements/lists/OlDocs.js +2 -2
- package/es/elements/lists/OlDocs.js.map +1 -1
- package/es/elements/lists/Ul.d.ts +2 -2
- package/es/elements/lists/Ul.js +3 -3
- package/es/elements/lists/Ul.js.map +1 -1
- package/es/elements/lists/UlDocs.js +2 -2
- package/es/elements/lists/UlDocs.js.map +1 -1
- package/es/elements/typography/P.d.ts +9 -5
- package/es/elements/typography/P.js +21 -12
- package/es/elements/typography/P.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Composition/Composition.d.ts +1 -1
- package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/es/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
- package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +17 -4
- package/es/extensions/forms/Field/Date/Date.js +62 -35
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
- package/es/extensions/forms/Field/Date/DateDocs.js +47 -12
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
- package/es/extensions/forms/Field/Expiry/Expiry.js +2 -7
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js +3 -10
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +0 -5
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +5 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Option/OptionDocs.js +25 -0
- package/es/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -4
- package/es/extensions/forms/Field/Selection/Selection.js +16 -20
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
- package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
- package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -2
- package/es/extensions/forms/Field/Slider/Slider.js +0 -5
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +2 -2
- package/es/extensions/forms/Field/String/String.js +1 -5
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/String/StringDocs.js +0 -5
- package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/es/extensions/forms/Field/String/style/dnb-string.css +11 -0
- package/es/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
- package/es/extensions/forms/Field/String/style/dnb-string.scss +17 -0
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js +2 -15
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +5 -3
- package/es/extensions/forms/Field/Upload/Upload.js +56 -27
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
- package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
- package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -28
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
- package/es/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
- package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
- package/es/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
- package/es/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
- package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
- package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
- package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js +38 -0
- package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -0
- package/es/extensions/forms/hooks/useFieldProps.js +11 -1
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +5 -0
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +105 -47
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +1 -7
- package/es/extensions/forms/types.js.map +1 -1
- package/es/shared/Context.d.ts +2 -2
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +16 -16
- package/es/shared/locales/en-GB.js +16 -16
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +17 -17
- package/es/shared/locales/en-US.js +3 -3
- package/es/shared/locales/en-US.js.map +1 -1
- package/es/shared/locales/index.d.ts +34 -32
- package/es/shared/locales/index.js.map +1 -1
- package/es/shared/locales/nb-NO.d.ts +16 -16
- package/es/shared/locales/nb-NO.js +16 -16
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +344 -56
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-components.scss +1 -0
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +105 -47
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +105 -47
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +2 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +467 -108
- package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/es/style/themes/theme-ui/ui-theme-extensions.css +107 -49
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.css +107 -49
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Composition/Composition.d.ts +1 -1
- package/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
- package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
- package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +17 -4
- package/extensions/forms/Field/Date/Date.js +62 -35
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
- package/extensions/forms/Field/Date/DateDocs.js +47 -12
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
- package/extensions/forms/Field/Expiry/Expiry.js +2 -7
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js +3 -10
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +0 -5
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +5 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
- package/extensions/forms/Field/Option/OptionDocs.js +25 -0
- package/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +2 -4
- package/extensions/forms/Field/Selection/Selection.js +16 -20
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
- package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
- package/extensions/forms/Field/Slider/Slider.d.ts +2 -2
- package/extensions/forms/Field/Slider/Slider.js +0 -5
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +2 -2
- package/extensions/forms/Field/String/String.js +1 -5
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/String/StringDocs.js +0 -5
- package/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/extensions/forms/Field/String/style/dnb-string.css +11 -0
- package/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
- package/extensions/forms/Field/String/style/dnb-string.scss +17 -0
- package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/extensions/forms/Field/Toggle/Toggle.js +2 -15
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
- package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +5 -3
- package/extensions/forms/Field/Upload/Upload.js +57 -28
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
- package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
- package/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +36 -29
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
- package/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
- package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
- package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
- package/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
- package/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
- package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
- package/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
- package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
- package/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
- package/extensions/forms/Value/SummaryList/useVerifyChildren.js +40 -0
- package/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
- package/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +1 -0
- package/extensions/forms/hooks/useFieldProps.js +11 -1
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +5 -0
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +105 -47
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +1 -7
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +2 -2
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/locales/en-GB.d.ts +16 -16
- package/shared/locales/en-GB.js +16 -16
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +17 -17
- package/shared/locales/en-US.js +3 -3
- package/shared/locales/en-US.js.map +1 -1
- package/shared/locales/index.d.ts +34 -32
- package/shared/locales/index.js.map +1 -1
- package/shared/locales/nb-NO.d.ts +16 -16
- package/shared/locales/nb-NO.js +16 -16
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +344 -56
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-components.scss +1 -0
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +105 -47
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +105 -47
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +2 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +467 -108
- package/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/style/themes/theme-ui/ui-theme-extensions.css +107 -49
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.css +107 -49
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/components/date-picker/DatePickerOld.d.ts +0 -334
- package/cjs/components/date-picker/DatePickerOld.js +0 -538
- package/cjs/components/date-picker/DatePickerOld.js.map +0 -1
- package/cjs/extensions/style/index.d.ts +0 -5
- package/cjs/extensions/style/index.js +0 -6
- package/cjs/extensions/style/index.js.map +0 -1
- package/components/date-picker/DatePickerOld.d.ts +0 -334
- package/components/date-picker/DatePickerOld.js +0 -528
- package/components/date-picker/DatePickerOld.js.map +0 -1
- package/es/components/date-picker/DatePickerOld.d.ts +0 -334
- package/es/components/date-picker/DatePickerOld.js +0 -528
- package/es/components/date-picker/DatePickerOld.js.map +0 -1
- package/es/extensions/style/index.d.ts +0 -5
- package/es/extensions/style/index.js +0 -4
- package/es/extensions/style/index.js.map +0 -1
- package/extensions/style/index.d.ts +0 -5
- package/extensions/style/index.js +0 -4
- package/extensions/style/index.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldProps } from '../../types';
|
|
2
2
|
export type ToggleProps = {
|
|
3
3
|
valueOn: unknown;
|
|
4
4
|
valueOff: unknown;
|
|
@@ -6,7 +6,7 @@ export type ToggleProps = {
|
|
|
6
6
|
textOn?: string;
|
|
7
7
|
textOff?: string;
|
|
8
8
|
};
|
|
9
|
-
export type Props =
|
|
9
|
+
export type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> & ToggleProps;
|
|
10
10
|
declare function Toggle(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
declare namespace Toggle {
|
|
12
12
|
var _supportsSpacingProps: boolean;
|
|
@@ -4,7 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
5
|
import React, { useCallback, useMemo } from 'react';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
-
import { Checkbox,
|
|
7
|
+
import { Checkbox, ToggleButton } from '../../../../components';
|
|
8
8
|
import ButtonRow from '../../Form/ButtonRow';
|
|
9
9
|
import FieldBlock from '../../FieldBlock';
|
|
10
10
|
import { useFieldProps } from '../../hooks';
|
|
@@ -24,11 +24,9 @@ function Toggle(props) {
|
|
|
24
24
|
variant,
|
|
25
25
|
disabled,
|
|
26
26
|
label,
|
|
27
|
-
labelDescription,
|
|
28
27
|
textOn,
|
|
29
28
|
textOff,
|
|
30
29
|
value,
|
|
31
|
-
help,
|
|
32
30
|
hasError,
|
|
33
31
|
htmlAttributes,
|
|
34
32
|
handleChange,
|
|
@@ -52,9 +50,6 @@ function Toggle(props) {
|
|
|
52
50
|
className: cn,
|
|
53
51
|
disabled
|
|
54
52
|
}, pickSpacingProps(props));
|
|
55
|
-
const suffix = help ? React.createElement(HelpButton, {
|
|
56
|
-
title: help.title
|
|
57
|
-
}, help.content) : undefined;
|
|
58
53
|
const isOn = value === valueOn;
|
|
59
54
|
const isOff = value === valueOff;
|
|
60
55
|
useMemo(() => {
|
|
@@ -75,7 +70,6 @@ function Toggle(props) {
|
|
|
75
70
|
checked: isOn,
|
|
76
71
|
disabled: disabled,
|
|
77
72
|
status: hasError ? 'error' : undefined,
|
|
78
|
-
suffix: suffix,
|
|
79
73
|
onChange: handleCheckboxChange
|
|
80
74
|
}, htmlAttributes)));
|
|
81
75
|
case 'button':
|
|
@@ -85,18 +79,12 @@ function Toggle(props) {
|
|
|
85
79
|
checked: isOn,
|
|
86
80
|
disabled: disabled,
|
|
87
81
|
status: hasError ? 'error' : undefined,
|
|
88
|
-
suffix: suffix,
|
|
89
82
|
value: value ? 'true' : 'false',
|
|
90
83
|
on_change: handleCheckboxChange
|
|
91
84
|
}, htmlAttributes)));
|
|
92
85
|
case 'buttons':
|
|
93
86
|
return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
|
|
94
|
-
asFieldset: true
|
|
95
|
-
labelDescription: React.createElement(React.Fragment, null, labelDescription, help ? React.createElement(HelpButton, {
|
|
96
|
-
size: "small",
|
|
97
|
-
left: labelDescription ? 'x-small' : false,
|
|
98
|
-
title: help.title
|
|
99
|
-
}, help.content) : undefined)
|
|
87
|
+
asFieldset: true
|
|
100
88
|
}), React.createElement(ButtonRow, {
|
|
101
89
|
bottom: "x-small"
|
|
102
90
|
}, React.createElement(ToggleButtonGroupContext.Provider, {
|
|
@@ -121,7 +109,6 @@ function Toggle(props) {
|
|
|
121
109
|
checked: isOn,
|
|
122
110
|
disabled: disabled,
|
|
123
111
|
status: hasError ? 'error' : undefined,
|
|
124
|
-
suffix: suffix,
|
|
125
112
|
value: value ? 'true' : 'false',
|
|
126
113
|
on_change: handleCheckboxChange
|
|
127
114
|
}, htmlAttributes)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","HelpButton","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","label","labelDescription","textOn","textOff","value","help","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","_ref","checked","handleToggleChange","_ref2","cn","fieldBlockProps","forId","suffix","createElement","title","content","undefined","isOn","isOff","text","path","_extends","yes","no","status","onChange","on_change","asFieldset","Fragment","size","left","bottom","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nexport type Props = FieldHelpProps &\n Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n label,\n labelDescription,\n textOn,\n textOff,\n value,\n help,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const suffix = help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(props.path, text)\n }\n }, [isOn, props.path, setDisplayValue, textOff, textOn])\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n label ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset\n labelDescription={\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n }\n >\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","label","textOn","textOff","value","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","_ref","checked","handleToggleChange","_ref2","cn","fieldBlockProps","forId","isOn","isOff","text","path","createElement","_extends","undefined","yes","no","status","onChange","on_change","asFieldset","bottom","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n label,\n textOn,\n textOff,\n value,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(props.path, text)\n }\n }, [isOn, props.path, setDisplayValue, textOff, textOn])\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n label ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
@@ -23,11 +23,6 @@ export const ToggleProperties = {
|
|
|
23
23
|
doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',
|
|
24
24
|
type: 'string',
|
|
25
25
|
status: 'optional'
|
|
26
|
-
},
|
|
27
|
-
help: {
|
|
28
|
-
doc: 'Provide a help button. Object consisting of `title` and `content`.',
|
|
29
|
-
type: 'object',
|
|
30
|
-
status: 'optional'
|
|
31
26
|
}
|
|
32
27
|
};
|
|
33
28
|
//# sourceMappingURL=ToggleDocs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleDocs.js","names":["ToggleProperties","valueOn","doc","type","status","valueOff","textOn","textOff","variant"
|
|
1
|
+
{"version":3,"file":"ToggleDocs.js","names":["ToggleProperties","valueOn","doc","type","status","valueOff","textOn","textOff","variant"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/ToggleDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ToggleProperties: PropertiesTableProps = {\n valueOn: {\n doc: 'Source data value when the toggle is in the \"on-state\" (varies based on UI variant).',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n valueOff: {\n doc: 'Source data value when the toggle is in the \"off-state\".',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n textOn: {\n doc: 'Text to show in the UI when in the \"on-state\".',\n type: 'string',\n status: 'optional',\n },\n textOff: {\n doc: 'Text to show in the UI when in the \"off-state\".',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,sFAAsF;IAC3FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { FieldBlockWidth } from '../../FieldBlock';
|
|
2
|
-
import {
|
|
2
|
+
import { FieldProps } from '../../types';
|
|
3
3
|
import { UploadFile, UploadFileNative, UploadProps } from '../../../../components/Upload';
|
|
4
4
|
import { SpacingProps } from '../../../../shared/types';
|
|
5
5
|
export type UploadValue = Array<UploadFile | UploadFileNative>;
|
|
6
|
-
export type Props =
|
|
6
|
+
export type Props = Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> & SpacingProps & {
|
|
7
7
|
width?: Omit<FieldBlockWidth, 'medium' | 'small'>;
|
|
8
|
-
} & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'skeleton'
|
|
8
|
+
} & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'skeleton'> & {
|
|
9
|
+
asyncFileHandler?: (newFiles: UploadValue) => Promise<UploadValue>;
|
|
10
|
+
};
|
|
9
11
|
declare function UploadComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
declare namespace UploadComponent {
|
|
11
13
|
var _supportsSpacingProps: boolean;
|
|
@@ -3,34 +3,41 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
|
-
const _excluded = ["id", "className", "width", "value", "label", "labelDescription", "help", "htmlAttributes", "handleChange", "handleFocus", "handleBlur"];
|
|
6
|
+
const _excluded = ["id", "className", "width", "value", "label", "labelDescription", "help", "htmlAttributes", "handleChange", "handleFocus", "handleBlur", "asyncFileHandler"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
10
|
+
import classnames from 'classnames';
|
|
10
11
|
import FieldBlock from '../../FieldBlock';
|
|
11
12
|
import { useFieldProps, useTranslation as useFormsTranslation } from '../../hooks';
|
|
12
13
|
import Upload from '../../../../components/Upload';
|
|
13
14
|
import useUpload from '../../../../components/upload/useUpload';
|
|
14
15
|
import { pickSpacingProps } from '../../../../components/flex/utils';
|
|
15
|
-
import {
|
|
16
|
+
import HelpButtonInline, { HelpButtonInlineContent } from '../../../../components/help-button/HelpButtonInline';
|
|
16
17
|
import { useTranslation as useSharedTranslation } from '../../../../shared';
|
|
17
18
|
import { FormError } from '../../utils';
|
|
19
|
+
const validateRequired = (value, _ref) => {
|
|
20
|
+
let {
|
|
21
|
+
required,
|
|
22
|
+
isChanged,
|
|
23
|
+
error
|
|
24
|
+
} = _ref;
|
|
25
|
+
const hasError = value === null || value === void 0 ? void 0 : value.some(file => file.errorMessage);
|
|
26
|
+
if (hasError) {
|
|
27
|
+
return new FormError('Upload.errorInvalidFiles');
|
|
28
|
+
}
|
|
29
|
+
const hasFiles = (value === null || value === void 0 ? void 0 : value.length) > 0;
|
|
30
|
+
if (required && (!isChanged && !hasFiles || !hasFiles)) {
|
|
31
|
+
return error;
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
};
|
|
35
|
+
const updateFileLoadingState = (files, isLoading) => {
|
|
36
|
+
return files.map(file => _objectSpread(_objectSpread({}, file), {}, {
|
|
37
|
+
isLoading
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
18
40
|
function UploadComponent(props) {
|
|
19
|
-
const validateRequired = useCallback((value, _ref) => {
|
|
20
|
-
let {
|
|
21
|
-
required,
|
|
22
|
-
isChanged,
|
|
23
|
-
error
|
|
24
|
-
} = _ref;
|
|
25
|
-
const hasError = value === null || value === void 0 ? void 0 : value.some(file => file.errorMessage);
|
|
26
|
-
if (hasError) {
|
|
27
|
-
return new FormError('Upload.errorInvalidFiles');
|
|
28
|
-
}
|
|
29
|
-
if (required && (!isChanged || !(value.length > 0))) {
|
|
30
|
-
return error;
|
|
31
|
-
}
|
|
32
|
-
return undefined;
|
|
33
|
-
}, []);
|
|
34
41
|
const sharedTr = useSharedTranslation().Upload;
|
|
35
42
|
const formsTr = useFormsTranslation().Upload;
|
|
36
43
|
const errorMessages = useMemo(() => ({
|
|
@@ -54,7 +61,8 @@ function UploadComponent(props) {
|
|
|
54
61
|
htmlAttributes,
|
|
55
62
|
handleChange,
|
|
56
63
|
handleFocus,
|
|
57
|
-
handleBlur
|
|
64
|
+
handleBlur,
|
|
65
|
+
asyncFileHandler
|
|
58
66
|
} = _useFieldProps,
|
|
59
67
|
rest = _objectWithoutProperties(_useFieldProps, _excluded);
|
|
60
68
|
const {
|
|
@@ -67,26 +75,43 @@ function UploadComponent(props) {
|
|
|
67
75
|
onFileDelete
|
|
68
76
|
} = rest;
|
|
69
77
|
const {
|
|
78
|
+
files: fileContext,
|
|
70
79
|
setFiles
|
|
71
80
|
} = useUpload(id);
|
|
72
81
|
useEffect(() => {
|
|
73
82
|
setFiles(value);
|
|
74
|
-
}, [
|
|
83
|
+
}, [setFiles, value]);
|
|
84
|
+
const handleChangeAsync = useCallback(async files => {
|
|
85
|
+
const existingFileIds = (fileContext === null || fileContext === void 0 ? void 0 : fileContext.map(file => file.id)) || [];
|
|
86
|
+
const newFiles = files.filter(file => !existingFileIds.includes(file.id));
|
|
87
|
+
if (newFiles.length > 0) {
|
|
88
|
+
setFiles([...fileContext, ...updateFileLoadingState(newFiles, true)]);
|
|
89
|
+
const uploadedFiles = updateFileLoadingState(await asyncFileHandler(newFiles), false);
|
|
90
|
+
handleChange([...fileContext, ...uploadedFiles]);
|
|
91
|
+
} else {
|
|
92
|
+
handleChange(files);
|
|
93
|
+
}
|
|
94
|
+
}, [fileContext, asyncFileHandler, setFiles, updateFileLoadingState]);
|
|
75
95
|
const changeHandler = useCallback(_ref2 => {
|
|
76
96
|
let {
|
|
77
97
|
files
|
|
78
98
|
} = _ref2;
|
|
79
99
|
handleBlur();
|
|
80
100
|
handleFocus();
|
|
81
|
-
|
|
82
|
-
|
|
101
|
+
if (asyncFileHandler) {
|
|
102
|
+
handleChangeAsync(files);
|
|
103
|
+
} else {
|
|
104
|
+
handleChange(files);
|
|
105
|
+
}
|
|
106
|
+
}, [handleBlur, handleChange, handleFocus, asyncFileHandler, fileContext]);
|
|
83
107
|
const width = widthProp;
|
|
84
108
|
const fieldBlockProps = _objectSpread({
|
|
85
109
|
id,
|
|
86
|
-
forId: id
|
|
110
|
+
forId: `${id}-input`,
|
|
87
111
|
labelSrOnly: true,
|
|
88
|
-
className,
|
|
89
|
-
width
|
|
112
|
+
className: classnames('dnb-forms-field-upload', className),
|
|
113
|
+
width,
|
|
114
|
+
help: undefined
|
|
90
115
|
}, pickSpacingProps(props));
|
|
91
116
|
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(Upload, _extends({
|
|
92
117
|
id: id,
|
|
@@ -97,11 +122,15 @@ function UploadComponent(props) {
|
|
|
97
122
|
onChange: changeHandler,
|
|
98
123
|
onFileDelete: onFileDelete,
|
|
99
124
|
title: label !== null && label !== void 0 ? label : title,
|
|
100
|
-
text: help ? React.createElement(React.Fragment, null, labelDescription !== null && labelDescription !== void 0 ? labelDescription : text, React.createElement(
|
|
125
|
+
text: help ? React.createElement(React.Fragment, null, labelDescription !== null && labelDescription !== void 0 ? labelDescription : text, React.createElement(HelpButtonInline, {
|
|
126
|
+
contentId: `${id}-help`,
|
|
101
127
|
left: text ? 'x-small' : false,
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
}, htmlAttributes)
|
|
128
|
+
help: help
|
|
129
|
+
})) : labelDescription !== null && labelDescription !== void 0 ? labelDescription : text
|
|
130
|
+
}, htmlAttributes), help && React.createElement(HelpButtonInlineContent, {
|
|
131
|
+
contentId: `${id}-help`,
|
|
132
|
+
help: help
|
|
133
|
+
})));
|
|
105
134
|
}
|
|
106
135
|
export default UploadComponent;
|
|
107
136
|
UploadComponent._supportsSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["React","useCallback","useEffect","useMemo","FieldBlock","useFieldProps","useTranslation","useFormsTranslation","Upload","useUpload","pickSpacingProps","HelpButton","useSharedTranslation","FormError","UploadComponent","props","validateRequired","value","_ref","required","isChanged","error","hasError","some","file","errorMessage","length","undefined","sharedTr","formsTr","errorMessages","errorRequired","preparedProps","_objectSpread","_useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","rest","_objectWithoutProperties","_excluded","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","setFiles","changeHandler","_ref2","files","fieldBlockProps","forId","labelSrOnly","createElement","_extends","onChange","Fragment","left","content","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = FieldHelpProps &\n Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n >\n\nfunction UploadComponent(props: Props) {\n const validateRequired = useCallback(\n (value: UploadValue, { required, isChanged, error }) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n if (required && (!isChanged || !(value.length > 0))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { setFiles } = useUpload(id)\n\n useEffect(() => {\n setFiles(value)\n }, [handleBlur, setFiles, value])\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n handleChange(files)\n },\n [handleBlur, handleChange, handleFocus]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: id,\n labelSrOnly: true,\n className,\n width,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButton\n left={text ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["React","useCallback","useEffect","useMemo","classnames","FieldBlock","useFieldProps","useTranslation","useFormsTranslation","Upload","useUpload","pickSpacingProps","HelpButtonInline","HelpButtonInlineContent","useSharedTranslation","FormError","validateRequired","value","_ref","required","isChanged","error","hasError","some","file","errorMessage","hasFiles","length","undefined","updateFileLoadingState","files","isLoading","map","_objectSpread","UploadComponent","props","sharedTr","formsTr","errorMessages","errorRequired","preparedProps","_useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","asyncFileHandler","rest","_objectWithoutProperties","_excluded","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","fileContext","setFiles","handleChangeAsync","existingFileIds","newFiles","filter","includes","uploadedFiles","changeHandler","_ref2","fieldBlockProps","forId","labelSrOnly","createElement","_extends","onChange","Fragment","contentId","left","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n > & {\n asyncFileHandler?: (newFiles: UploadValue) => Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nconst updateFileLoadingState = (\n files: UploadValue,\n isLoading: boolean\n) => {\n return files.map((file) => ({ ...file, isLoading }))\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n asyncFileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { files: fileContext, setFiles } = useUpload(id)\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds = fileContext?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n\n if (newFiles.length > 0) {\n // Set loading\n setFiles([\n ...fileContext,\n ...updateFileLoadingState(newFiles, true),\n ])\n\n const uploadedFiles = updateFileLoadingState(\n await asyncFileHandler(newFiles),\n false\n )\n\n handleChange([...fileContext, ...uploadedFiles])\n } else {\n handleChange(files)\n }\n },\n [fileContext, asyncFileHandler, setFiles, updateFileLoadingState]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (asyncFileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleChange, handleFocus, asyncFileHandler, fileContext]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StateWithMessage, StateMessage, StateTypes, FieldBlockContextProps } from './FieldBlockContext';
|
|
3
3
|
import { ComponentProps, FieldProps, SubmitState } from '../types';
|
|
4
|
+
import { HelpProps } from '../../../components/help-button/HelpButtonInline';
|
|
4
5
|
export declare const states: Array<StateTypes>;
|
|
5
6
|
/**
|
|
6
7
|
* The width of a field block
|
|
@@ -40,6 +41,10 @@ export type SharedFieldBlockProps = {
|
|
|
40
41
|
* Width of contents block, while label etc can be wider if space is available
|
|
41
42
|
*/
|
|
42
43
|
contentWidth?: FieldBlockWidth;
|
|
44
|
+
/**
|
|
45
|
+
* Provide help content for the field.
|
|
46
|
+
*/
|
|
47
|
+
help?: HelpProps;
|
|
43
48
|
};
|
|
44
49
|
export type Props = SharedFieldBlockProps & Pick<FieldProps, keyof ComponentProps | 'info' | 'warning' | 'error' | 'disabled'> & {
|
|
45
50
|
/** The id to link a element with */
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
const _excluded = ["className", "forId", "layout", "layoutOptions", "composition", "label", "labelDescription", "labelSuffix", "labelSrOnly", "asFieldset", "required", "info", "warning", "error", "disableStatusSummary", "fieldState", "disabled", "width", "contentWidth", "labelHeight", "align", "labelSize", "contentClassName", "children"];
|
|
6
|
+
const _excluded = ["className", "forId", "layout", "layoutOptions", "composition", "label", "labelDescription", "labelSuffix", "labelSrOnly", "help", "asFieldset", "required", "info", "warning", "error", "disableStatusSummary", "fieldState", "disabled", "width", "contentWidth", "labelHeight", "align", "labelSize", "contentClassName", "children"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
import React, { useMemo, useContext, useCallback, useRef, useReducer, useEffect } from 'react';
|
|
@@ -13,8 +13,9 @@ import DataContext from '../DataContext/Context';
|
|
|
13
13
|
import IterateElementContext from '../Iterate/IterateItemContext';
|
|
14
14
|
import { Space, FormLabel, FormStatus } from '../../../components';
|
|
15
15
|
import { Ul, Li } from '../../../elements';
|
|
16
|
-
import { convertJsxToString, findElementInChildren
|
|
16
|
+
import { convertJsxToString, findElementInChildren } from '../../../shared/component-helper';
|
|
17
17
|
import useId from '../../../shared/helpers/useId';
|
|
18
|
+
import HelpButtonInline, { HelpButtonInlineContent } from '../../../components/help-button/HelpButtonInline';
|
|
18
19
|
import SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator';
|
|
19
20
|
import { createSharedState } from '../../../shared/helpers/useSharedState';
|
|
20
21
|
import useTranslation from '../hooks/useTranslation';
|
|
@@ -25,7 +26,8 @@ function FieldBlock(props) {
|
|
|
25
26
|
const dataContext = useContext(DataContext);
|
|
26
27
|
const fieldBlockContext = useContext(FieldBlockContext);
|
|
27
28
|
const nestedFieldBlockContext = !(fieldBlockContext !== null && fieldBlockContext !== void 0 && fieldBlockContext.disableStatusSummary) ? fieldBlockContext : null;
|
|
28
|
-
const
|
|
29
|
+
const id = useId((_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : props.forId);
|
|
30
|
+
const sharedData = createSharedState('field-block-props-' + id);
|
|
29
31
|
const _Object$assign = Object.assign({}, sharedData.data, props),
|
|
30
32
|
{
|
|
31
33
|
className,
|
|
@@ -37,6 +39,7 @@ function FieldBlock(props) {
|
|
|
37
39
|
labelDescription,
|
|
38
40
|
labelSuffix,
|
|
39
41
|
labelSrOnly,
|
|
42
|
+
help,
|
|
40
43
|
asFieldset,
|
|
41
44
|
required,
|
|
42
45
|
info,
|
|
@@ -231,7 +234,7 @@ function FieldBlock(props) {
|
|
|
231
234
|
}, []);
|
|
232
235
|
if (messages.length > 0) {
|
|
233
236
|
acc[type] = _objectSpread(_objectSpread({}, acc[type]), {}, {
|
|
234
|
-
|
|
237
|
+
children: React.createElement(CombineMessages, {
|
|
235
238
|
type: type,
|
|
236
239
|
messages: messages
|
|
237
240
|
})
|
|
@@ -253,7 +256,7 @@ function FieldBlock(props) {
|
|
|
253
256
|
mountedFieldsRef.current = {};
|
|
254
257
|
stateRecordRef.current = {};
|
|
255
258
|
}, []);
|
|
256
|
-
const mainClasses = classnames('dnb-forms-field-block', className, width && `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`, labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`);
|
|
259
|
+
const mainClasses = classnames('dnb-forms-field-block', className, width && `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`, contentWidth && `dnb-forms-field-block--content-width-${hasCustomContentWidth ? 'custom' : contentWidth}`, labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`);
|
|
257
260
|
const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
|
|
258
261
|
const enableFieldset = useEnableFieldset({
|
|
259
262
|
label,
|
|
@@ -262,6 +265,7 @@ function FieldBlock(props) {
|
|
|
262
265
|
nestedFieldBlockContext
|
|
263
266
|
});
|
|
264
267
|
const labelProps = {
|
|
268
|
+
className: 'dnb-forms-field-block__label',
|
|
265
269
|
element: enableFieldset ? 'legend' : 'label',
|
|
266
270
|
forId: enableFieldset ? undefined : forId,
|
|
267
271
|
srOnly: labelSrOnly,
|
|
@@ -292,10 +296,8 @@ function FieldBlock(props) {
|
|
|
292
296
|
if (dataContext !== null && dataContext !== void 0 && dataContext.prerenderFieldProps) {
|
|
293
297
|
return null;
|
|
294
298
|
}
|
|
295
|
-
if (fieldState && typeof label === 'undefined') {
|
|
296
|
-
warn('Provide a label when using an async validator or onChange event.');
|
|
297
|
-
}
|
|
298
299
|
const hasLabelDescription = isFragment(labelDescription) ? fragmentHasChildren(labelDescription) && !fragmentHasOnlyUndefinedChildren(labelDescription) : labelDescription;
|
|
300
|
+
const hasHelp = (help === null || help === void 0 ? void 0 : help.title) || (help === null || help === void 0 ? void 0 : help.content);
|
|
299
301
|
return React.createElement(FieldBlockContext.Provider, {
|
|
300
302
|
value: {
|
|
301
303
|
setFieldState,
|
|
@@ -312,18 +314,27 @@ function FieldBlock(props) {
|
|
|
312
314
|
className: mainClasses
|
|
313
315
|
}, rest), React.createElement("div", {
|
|
314
316
|
className: gridClasses
|
|
315
|
-
}, React.createElement(
|
|
316
|
-
|
|
317
|
-
},
|
|
318
|
-
|
|
319
|
-
},
|
|
320
|
-
|
|
321
|
-
|
|
317
|
+
}, (label || labelDescription || hasHelp) && React.createElement(FormLabel, labelProps, React.createElement("span", null, label && React.createElement("span", {
|
|
318
|
+
className: "dnb-forms-field-block__label__content"
|
|
319
|
+
}, label), hasLabelDescription && React.createElement("span", {
|
|
320
|
+
className: "dnb-forms-field-block__label__description"
|
|
321
|
+
}, labelDescription), hasHelp && React.createElement(HelpButtonInline, {
|
|
322
|
+
contentId: `${id}-help`,
|
|
323
|
+
help: help
|
|
324
|
+
}))), hasHelp && React.createElement(HelpButtonInlineContent, {
|
|
325
|
+
contentId: `${id}-help`,
|
|
326
|
+
className: "dnb-forms-field-block__help",
|
|
327
|
+
help: help,
|
|
328
|
+
breakout: layout === 'vertical' && !(nestedFieldBlockContext !== null && nestedFieldBlockContext !== void 0 && nestedFieldBlockContext.composition)
|
|
329
|
+
}), React.createElement("div", {
|
|
322
330
|
className: 'dnb-forms-field-block__status' + (contentWidth && contentWidth !== 'small' && contentWidth !== 'medium' && !(parseFloat(contentWidth) <= 11) ? ` dnb-forms-field-block__contents--width-${hasCustomContentWidth ? 'custom' : contentWidth}` : "")
|
|
323
331
|
}, React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.error), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.warning), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.info)), React.createElement("div", {
|
|
324
332
|
className: classnames('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${hasCustomContentWidth ? 'custom' : contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
|
|
325
333
|
ref: contentsRef
|
|
326
|
-
}, children)
|
|
334
|
+
}, children), React.createElement(SubmitIndicator, {
|
|
335
|
+
state: fieldState,
|
|
336
|
+
className: "dnb-forms-field-block__indicator dnb-forms-submit-indicator--inline-wrap"
|
|
337
|
+
}))));
|
|
327
338
|
}
|
|
328
339
|
function useEnableFieldset(_ref3) {
|
|
329
340
|
let {
|
|
@@ -370,18 +381,6 @@ function CombineMessages(_ref4) {
|
|
|
370
381
|
}, message);
|
|
371
382
|
})));
|
|
372
383
|
}
|
|
373
|
-
function LabelDescription(_ref6) {
|
|
374
|
-
let {
|
|
375
|
-
labelDescription,
|
|
376
|
-
children
|
|
377
|
-
} = _ref6;
|
|
378
|
-
if (!labelDescription) {
|
|
379
|
-
return children !== null && children !== void 0 ? children : null;
|
|
380
|
-
}
|
|
381
|
-
return React.createElement("div", {
|
|
382
|
-
className: "dnb-forms-field-block__label"
|
|
383
|
-
}, children);
|
|
384
|
-
}
|
|
385
384
|
export function getMessagesFromError(item) {
|
|
386
385
|
const {
|
|
387
386
|
content
|
|
@@ -391,7 +390,15 @@ export function getMessagesFromError(item) {
|
|
|
391
390
|
return error.message;
|
|
392
391
|
});
|
|
393
392
|
}
|
|
394
|
-
|
|
393
|
+
if (Array.isArray(content)) {
|
|
394
|
+
return content.map(content => {
|
|
395
|
+
return content instanceof FormError || content instanceof Error ? content.message : content;
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
if (content instanceof FormError || content instanceof Error) {
|
|
399
|
+
return [content.message];
|
|
400
|
+
}
|
|
401
|
+
return [(React.isValidElement(content) ? content : content === null || content === void 0 ? void 0 : content.toString()) || content];
|
|
395
402
|
}
|
|
396
403
|
function isFragment(fragment) {
|
|
397
404
|
return React.isValidElement(fragment) && fragment.type === React.Fragment;
|