@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
|
@@ -16,25 +16,25 @@ import useViews from './hooks/useViews';
|
|
|
16
16
|
import useDates from './hooks/useDates';
|
|
17
17
|
import useLastEventCallCache from './hooks/useLastEventCallCache';
|
|
18
18
|
const defaultProps = {
|
|
19
|
-
|
|
19
|
+
returnFormat: 'yyyy-MM-dd'
|
|
20
20
|
};
|
|
21
21
|
function DatePickerProvider(externalProps) {
|
|
22
22
|
const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
|
|
23
23
|
const {
|
|
24
24
|
date,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
startDate,
|
|
26
|
+
endDate,
|
|
27
|
+
startMonth,
|
|
28
|
+
endMonth,
|
|
29
|
+
minDate,
|
|
30
|
+
maxDate,
|
|
31
|
+
dateFormat,
|
|
32
32
|
range,
|
|
33
|
-
|
|
33
|
+
correctInvalidDate,
|
|
34
34
|
attributes,
|
|
35
|
-
|
|
35
|
+
returnFormat: returnFormatProp,
|
|
36
36
|
children,
|
|
37
|
-
|
|
37
|
+
onChange,
|
|
38
38
|
setReturnObject,
|
|
39
39
|
hidePicker
|
|
40
40
|
} = props;
|
|
@@ -45,17 +45,17 @@ function DatePickerProvider(externalProps) {
|
|
|
45
45
|
hasHadValidDate,
|
|
46
46
|
previousDates
|
|
47
47
|
} = useDates({
|
|
48
|
-
date
|
|
49
|
-
startDate
|
|
50
|
-
endDate
|
|
51
|
-
startMonth
|
|
52
|
-
endMonth
|
|
53
|
-
minDate
|
|
54
|
-
maxDate
|
|
48
|
+
date,
|
|
49
|
+
startDate,
|
|
50
|
+
endDate,
|
|
51
|
+
startMonth,
|
|
52
|
+
endMonth,
|
|
53
|
+
minDate,
|
|
54
|
+
maxDate
|
|
55
55
|
}, {
|
|
56
|
-
dateFormat:
|
|
56
|
+
dateFormat: dateFormat,
|
|
57
57
|
isRange: range,
|
|
58
|
-
shouldCorrectDate:
|
|
58
|
+
shouldCorrectDate: correctInvalidDate
|
|
59
59
|
});
|
|
60
60
|
const {
|
|
61
61
|
views,
|
|
@@ -81,10 +81,10 @@ function DatePickerProvider(externalProps) {
|
|
|
81
81
|
partialStartDate,
|
|
82
82
|
partialEndDate
|
|
83
83
|
} = _objectSpread(_objectSpread(_objectSpread({}, views), dates), rest);
|
|
84
|
-
const returnFormat = correctV1Format(
|
|
84
|
+
const returnFormat = correctV1Format(returnFormatProp);
|
|
85
85
|
const startDateIsValid = Boolean(startDate && isValid(startDate));
|
|
86
86
|
const endDateIsValid = Boolean(endDate && isValid(endDate));
|
|
87
|
-
const hasMinOrMaxDates =
|
|
87
|
+
const hasMinOrMaxDates = minDate || maxDate;
|
|
88
88
|
const returnObject = {
|
|
89
89
|
event,
|
|
90
90
|
attributes: attributes || {},
|
|
@@ -104,17 +104,17 @@ function DatePickerProvider(externalProps) {
|
|
|
104
104
|
date: startDateIsValid ? format(startDate, returnFormat) : null,
|
|
105
105
|
is_valid: hasMinOrMaxDates && startDateIsValid && isDisabled(startDate, dates.minDate, dates.maxDate) ? false : startDateIsValid
|
|
106
106
|
});
|
|
107
|
-
}, [dates, views, attributes,
|
|
107
|
+
}, [dates, views, attributes, maxDate, minDate, range, returnFormatProp]);
|
|
108
108
|
const callOnChangeHandler = useCallback(event => {
|
|
109
109
|
if (lastEventCallCache && lastEventCallCache.startDate === event.startDate && lastEventCallCache.endDate === event.endDate) {
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(getReturnObject(_objectSpread(_objectSpread({}, dates), event)));
|
|
113
113
|
setLastEventCallCache({
|
|
114
114
|
startDate: event.startDate,
|
|
115
115
|
endDate: event.endDate
|
|
116
116
|
});
|
|
117
|
-
}, [getReturnObject, dates,
|
|
117
|
+
}, [getReturnObject, dates, onChange, lastEventCallCache, setLastEventCallCache]);
|
|
118
118
|
if (typeof setReturnObject === 'function') {
|
|
119
119
|
setReturnObject(getReturnObject);
|
|
120
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","return_format","DatePickerProvider","externalProps","props","_objectSpread","date","start_date","end_date","start_month","end_month","min_date","max_date","date_format","range","correct_invalid_date","attributes","children","on_change","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDates","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","returnFormat","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","is_valid_start_date","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps = {\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n start_date,\n end_date,\n start_month,\n end_month,\n min_date,\n max_date,\n date_format,\n range,\n correct_invalid_date,\n attributes,\n return_format,\n children,\n on_change,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDates } = useDates(\n {\n date: date,\n startDate: start_date,\n endDate: end_date,\n startMonth: start_month,\n endMonth: end_month,\n minDate: min_date,\n maxDate: max_date,\n },\n {\n dateFormat: date_format,\n isRange: range,\n shouldCorrectDate: correct_invalid_date,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = min_date || max_date\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, max_date, min_date, range, return_format]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n on_change?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n on_change,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDates,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","returnFormat","DatePickerProvider","externalProps","props","_objectSpread","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDates","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDates } = useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDates,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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"}
|
|
@@ -85,19 +85,19 @@ function mapDates(dateProps, previousDates, {
|
|
|
85
85
|
const date = previousDates.date !== dateProps.date ? dateProps.date : previousDates.date;
|
|
86
86
|
const startDate = typeof (dateProps === null || dateProps === void 0 ? void 0 : dateProps.startDate) !== 'undefined' ? getDate(dateProps.startDate, dateFormat) : typeof date !== 'undefined' ? getDate(date, dateFormat) : undefined;
|
|
87
87
|
const endDate = !isRange ? startDate : convertStringToDate(dateProps === null || dateProps === void 0 ? void 0 : dateProps.endDate, {
|
|
88
|
-
|
|
88
|
+
dateFormat
|
|
89
89
|
}) || undefined;
|
|
90
90
|
const startMonth = (_ref = (_convertStringToDate = convertStringToDate(dateProps.startMonth, {
|
|
91
|
-
|
|
91
|
+
dateFormat
|
|
92
92
|
})) !== null && _convertStringToDate !== void 0 ? _convertStringToDate : startDate) !== null && _ref !== void 0 ? _ref : new Date();
|
|
93
|
-
const endMonth = (
|
|
94
|
-
|
|
95
|
-
})) !== null && _convertStringToDate2 !== void 0 ? _convertStringToDate2 :
|
|
93
|
+
const endMonth = (_convertStringToDate2 = convertStringToDate(dateProps.endMonth, {
|
|
94
|
+
dateFormat: dateFormat
|
|
95
|
+
})) !== null && _convertStringToDate2 !== void 0 ? _convertStringToDate2 : isRange ? endDate !== null && endDate !== void 0 ? endDate : addMonths(startMonth, 1) : startMonth;
|
|
96
96
|
const minDate = convertStringToDate(dateProps.minDate, {
|
|
97
|
-
|
|
97
|
+
dateFormat
|
|
98
98
|
});
|
|
99
99
|
const maxDate = convertStringToDate(dateProps.maxDate, {
|
|
100
|
-
|
|
100
|
+
dateFormat
|
|
101
101
|
});
|
|
102
102
|
const hasValidStartDate = isValid(startDate);
|
|
103
103
|
const hasValidEndDate = isValid(endDate);
|
|
@@ -159,7 +159,7 @@ function updateMonths({
|
|
|
159
159
|
}
|
|
160
160
|
function getDate(date, dateFormat) {
|
|
161
161
|
return date instanceof Date ? date : convertStringToDate(date !== null && date !== void 0 ? date : '', {
|
|
162
|
-
|
|
162
|
+
dateFormat
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
export function pad(date, size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDates.js","names":["useCallback","useEffect","useMemo","useRef","useState","convertStringToDate","isDisabled","isValid","format","addMonths","useDates","dateProps","dateFormat","isRange","shouldCorrectDate","previousDates","setPreviousDates","dates","setDates","_objectSpread","mapDates","hasDatePropChanges","Object","keys","some","date","hasHadValidDate","updateDates","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","currentDates","startDates","updateInputDates","endDates","current","type","updatedDates","pad","undefined","_ref","_convertStringToDate","_convertStringToDate2","getDate","date_format","startMonth","Date","endMonth","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref2","_newDates$startMonth","_ref3","_newDates$endMonth","size","dateWithPadding","substring","length"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDates, setPreviousDates] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n return dateProps[date] !== previousDates[date]\n }),\n [dateProps, previousDates]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n setDates({\n ...mapDates({ ...dates, ...dateProps }, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n setPreviousDates(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates)\n const endDates = updateInputDates('end', dates)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDates,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', dates: DatePickerDates) {\n const updatedDates = {}\n const date = dates[`${type}Date`]\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n previousDates: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date =\n previousDates.date !== dateProps.date\n ? dateProps.date\n : previousDates.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n date_format: dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n date_format: dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n date_format: dateFormat,\n }) ?? !isRange\n ? startMonth\n : endDate ?? addMonths(startMonth, 1)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n date_format: dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n date_format: dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n date_format: dateFormat,\n })\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDates.js","names":["useCallback","useEffect","useMemo","useRef","useState","convertStringToDate","isDisabled","isValid","format","addMonths","useDates","dateProps","dateFormat","isRange","shouldCorrectDate","previousDates","setPreviousDates","dates","setDates","_objectSpread","mapDates","hasDatePropChanges","Object","keys","some","date","hasHadValidDate","updateDates","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","currentDates","startDates","updateInputDates","endDates","current","type","updatedDates","pad","undefined","_ref","_convertStringToDate","_convertStringToDate2","getDate","startMonth","Date","endMonth","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref2","_newDates$startMonth","_ref3","_newDates$endMonth","size","dateWithPadding","substring","length"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDates, setPreviousDates] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n return dateProps[date] !== previousDates[date]\n }),\n [dateProps, previousDates]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n setDates({\n ...mapDates({ ...dates, ...dateProps }, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n setPreviousDates(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates)\n const endDates = updateInputDates('end', dates)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDates,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', dates: DatePickerDates) {\n const updatedDates = {}\n const date = dates[`${type}Date`]\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n previousDates: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date =\n previousDates.date !== dateProps.date\n ? dateProps.date\n : previousDates.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":";;;;;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACzE,SAASC,mBAAmB,EAAEC,UAAU,QAAQ,mBAAmB;AACnE,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,SAAS,QAAQ,UAAU;AA2CpC,eAAe,SAASC,QAAQA,CAC9BC,SAA8B,EAC9B;EACEC,UAAU;EACVC,OAAO,GAAG,KAAK;EACfC,iBAAiB,GAAG;AACL,CAAC,EAClB;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGZ,QAAQ,CAACO,SAAS,CAAC;EAC7D,MAAM,CAACM,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAAe,aAAA,KAC7BC,QAAQ,CAACT,SAAS,EAAEI,aAAa,EAAE;IACpCH,UAAU;IACVC,OAAO;IACPC;EACF,CAAC,CAAC,CACH,CAAC;EAEF,MAAMO,kBAAkB,GAAGnB,OAAO,CAChC,MACEoB,MAAM,CAACC,IAAI,CAACZ,SAAS,CAAC,CAACa,IAAI,CAAEC,IAAI,IAAK;IACpC,OAAOd,SAAS,CAACc,IAAI,CAAC,KAAKV,aAAa,CAACU,IAAI,CAAC;EAChD,CAAC,CAAC,EACJ,CAACd,SAAS,EAAEI,aAAa,CAC3B,CAAC;EAGD,IAAIM,kBAAkB,EAAE;IACtBH,QAAQ,CAAAC,aAAA,KACHC,QAAQ,CAAAD,aAAA,CAAAA,aAAA,KAAMF,KAAK,GAAKN,SAAS,GAAII,aAAa,EAAE;MACrDH,UAAU;MACVC,OAAO;MACPC;IACF,CAAC,CAAC,CACH,CAAC;IACFE,gBAAgB,CAACL,SAAS,CAAC;EAC7B;EAEA,MAAMe,eAAe,GAAGvB,MAAM,CAAU,KAAK,CAAC;EAE9C,MAAMwB,WAAW,GAAG3B,WAAW,CAC7B,CACE4B,QAAyB,EACzBC,QAA2C,KACxC;IAAA,IAAAC,mBAAA,EAAAC,iBAAA;IAEH,MAAMC,cAAc,GAAGlB,iBAAiB,GACpCmB,YAAY,CAAC;MACXC,SAAS,GAAAJ,mBAAA,GAAEF,QAAQ,CAACM,SAAS,cAAAJ,mBAAA,cAAAA,mBAAA,GAAIb,KAAK,CAACiB,SAAS;MAChDC,OAAO,GAAAJ,iBAAA,GAAEH,QAAQ,CAACO,OAAO,cAAAJ,iBAAA,cAAAA,iBAAA,GAAId,KAAK,CAACkB,OAAO;MAC1CC,OAAO,EAAEnB,KAAK,CAACmB,OAAO;MACtBC,OAAO,EAAEpB,KAAK,CAACoB,OAAO;MACtBxB;IACF,CAAC,CAAC,GACF,CAAC,CAAC;IAGN,MAAMyB,MAAM,GAAGC,YAAY,CAAC;MAC1BX,QAAQ;MACRY,YAAY,EAAEvB;IAChB,CAAC,CAAC;IAEFC,QAAQ,CAAEsB,YAAY,IAAK;MACzB,OAAArB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACKqB,YAAY,GACZZ,QAAQ,GACRU,MAAM,GACNN,cAAc;IAErB,CAAC,CAAC;IAEFH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAAV,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACHF,KAAK,GACLW,QAAQ,GACRU,MAAM,GACNN,cAAc,CAClB,CAAC;EACJ,CAAC,EACD,CAACf,KAAK,EAAEH,iBAAiB,EAAED,OAAO,CACpC,CAAC;EAIDZ,SAAS,CAAC,MAAM;IACd,MAAMwC,UAAU,GAAGC,gBAAgB,CAAC,OAAO,EAAEzB,KAAK,CAAC;IACnD,MAAM0B,QAAQ,GAAGD,gBAAgB,CAAC,KAAK,EAAEzB,KAAK,CAAC;IAE/CS,eAAe,CAACkB,OAAO,GACrBrC,OAAO,CAACU,KAAK,CAACiB,SAAS,CAAC,IAAI3B,OAAO,CAACU,KAAK,CAACkB,OAAO,CAAC;IAEpDjB,QAAQ,CAAEsB,YAAY,IAAArB,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACjBqB,YAAY,GACZC,UAAU,GACVE,QAAQ,CACX,CAAC;EAEL,CAAC,EAAE,CAAC1B,KAAK,CAACiB,SAAS,EAAEjB,KAAK,CAACkB,OAAO,CAAC,CAAC;EAEpC,OAAO;IACLlB,KAAK;IACLU,WAAW;IACXD,eAAe,EAAEA,eAAe,CAACkB,OAAO;IACxC7B;EACF,CAAC;AACH;AAGA,SAAS2B,gBAAgBA,CAACG,IAAqB,EAAE5B,KAAsB,EAAE;EACvE,MAAM6B,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMrB,IAAI,GAAGR,KAAK,CAAE,GAAE4B,IAAK,MAAK,CAAC;EAEjC,IAAItC,OAAO,CAACkB,IAAI,CAAC,EAAE;IACjBqB,YAAY,CAAE,KAAID,IAAK,KAAI,CAAC,GAAGE,GAAG,CAACvC,MAAM,CAACiB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzDqB,YAAY,CAAE,KAAID,IAAK,OAAM,CAAC,GAAGE,GAAG,CAACvC,MAAM,CAACiB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3DqB,YAAY,CAAE,KAAID,IAAK,MAAK,CAAC,GAAGrC,MAAM,CAACiB,IAAI,EAAE,MAAM,CAAC;EACtD,CAAC,MAAM,IAAIA,IAAI,KAAKuB,SAAS,EAAE;IAC7BF,YAAY,CAAE,KAAID,IAAK,KAAI,CAAC,GAAG,IAAI;IACnCC,YAAY,CAAE,KAAID,IAAK,OAAM,CAAC,GAAG,IAAI;IACrCC,YAAY,CAAE,KAAID,IAAK,MAAK,CAAC,GAAG,IAAI;EACtC;EAEA,OAAOC,YAAY;AACrB;AAEA,SAAS1B,QAAQA,CACfT,SAA8B,EAC9BI,aAAkC,EAClC;EACEH,UAAU;EACVC,OAAO;EACPC;AACiC,CAAC,EACpC;EAAA,IAAAmC,IAAA,EAAAC,oBAAA,EAAAC,qBAAA;EACA,MAAM1B,IAAI,GACRV,aAAa,CAACU,IAAI,KAAKd,SAAS,CAACc,IAAI,GACjCd,SAAS,CAACc,IAAI,GACdV,aAAa,CAACU,IAAI;EAExB,MAAMS,SAAS,GACb,QAAOvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,SAAS,MAAK,WAAW,GACvCkB,OAAO,CAACzC,SAAS,CAACuB,SAAS,EAAEtB,UAAU,CAAC,GACxC,OAAOa,IAAI,KAAK,WAAW,GAC3B2B,OAAO,CAAC3B,IAAI,EAAEb,UAAU,CAAC,GACzBoC,SAAS;EAEf,MAAMb,OAAO,GAAG,CAACtB,OAAO,GACpBqB,SAAS,GACT7B,mBAAmB,CAACM,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwB,OAAO,EAAE;IACtCvB;EACF,CAAC,CAAC,IAAIoC,SAAS;EAGnB,MAAMK,UAAU,IAAAJ,IAAA,IAAAC,oBAAA,GACd7C,mBAAmB,CAACM,SAAS,CAAC0C,UAAU,EAAE;IACxCzC;EACF,CAAC,CAAC,cAAAsC,oBAAA,cAAAA,oBAAA,GACFhB,SAAS,cAAAe,IAAA,cAAAA,IAAA,GACT,IAAIK,IAAI,CAAC,CAAC;EAEZ,MAAMC,QAAQ,IAAAJ,qBAAA,GACZ9C,mBAAmB,CAACM,SAAS,CAAC4C,QAAQ,EAAE;IACtC3C,UAAU,EAAEA;EACd,CAAC,CAAC,cAAAuC,qBAAA,cAAAA,qBAAA,GAAKtC,OAAO,GAAGsB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI1B,SAAS,CAAC4C,UAAU,EAAE,CAAC,CAAC,GAAGA,UAAW;EAEpE,MAAMjB,OAAO,GAAG/B,mBAAmB,CAACM,SAAS,CAACyB,OAAO,EAAE;IACrDxB;EACF,CAAC,CAAC;EAEF,MAAMyB,OAAO,GAAGhC,mBAAmB,CAACM,SAAS,CAAC0B,OAAO,EAAE;IACrDzB;EACF,CAAC,CAAC;EAEF,MAAM4C,iBAAiB,GAAGjD,OAAO,CAAC2B,SAAS,CAAC;EAC5C,MAAMuB,eAAe,GAAGlD,OAAO,CAAC4B,OAAO,CAAC;EAExC,MAAMH,cAAc,GAAGlB,iBAAiB,GACpCmB,YAAY,CAAC;IAAEC,SAAS;IAAEC,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAExB;EAAQ,CAAC,CAAC,GAC/D,CAAC,CAAC;EAEN,MAAMI,KAAK,GAAAE,aAAA;IACTe,SAAS;IACTC,OAAO;IACPkB,UAAU;IACVE,QAAQ;IACRnB,OAAO;IACPC;EAAO,GACJL,cAAc,CAClB;EAED,OAAAb,aAAA,CAAAA,aAAA,KACKF,KAAK;IACRyC,UAAU,EAAEF,iBAAiB,GACzBT,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACrC,IAAI;IACRyB,YAAY,EAAEH,iBAAiB,GAC3BT,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACrC,IAAI;IACR0B,WAAW,EAAEJ,iBAAiB,GAC1BhD,MAAM,CAACS,KAAK,CAACiB,SAAS,EAAE,MAAM,CAAC,GAC/B,IAAI;IACR2B,QAAQ,EAAEJ,eAAe,GAAGV,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IACtE2B,UAAU,EAAEL,eAAe,GACvBV,GAAG,CAACvC,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACnC,IAAI;IACR4B,SAAS,EAAEN,eAAe,GAAGjD,MAAM,CAACS,KAAK,CAACkB,OAAO,EAAE,MAAM,CAAC,GAAG;EAAI;AAErE;AAEA,SAASF,YAAYA,CAAC;EACpBC,SAAS;EACTC,OAAO;EACPC,OAAO;EACPC,OAAO;EACPxB;AAOF,CAAC,EAAE;EACD,MAAMmB,cAAc,GAAG,CAAC,CAAC;EAEzB,IAAI1B,UAAU,CAAC4B,SAAS,EAAEE,OAAO,EAAEC,OAAO,CAAC,EAAE;IAC3CL,cAAc,CAAC,WAAW,CAAC,GAAGI,OAAO;EACvC;EACA,IAAI9B,UAAU,CAAC6B,OAAO,EAAEC,OAAO,EAAEC,OAAO,CAAC,EAAE;IAGzC,IAAI,CAACxB,OAAO,IAAI,CAACuB,OAAO,EAAE;MACxBJ,cAAc,CAAC,WAAW,CAAC,GAAGK,OAAO;IACvC,CAAC,MAAM;MACLL,cAAc,CAAC,SAAS,CAAC,GAAGK,OAAO;IACrC;EACF;EAEA,OAAOL,cAAc;AACvB;AAEA,SAASO,YAAYA,CAAC;EACpBX,QAAQ;EACRY;AAIF,CAAC,EAAE;EAAA,IAAAwB,KAAA,EAAAC,oBAAA,EAAAC,KAAA,EAAAC,kBAAA;EACD,MAAMd,UAAU,IAAAW,KAAA,IAAAC,oBAAA,GACdrC,QAAQ,CAACyB,UAAU,cAAAY,oBAAA,cAAAA,oBAAA,GAAIrC,QAAQ,CAACM,SAAS,cAAA8B,KAAA,cAAAA,KAAA,GAAIxB,YAAY,CAACa,UAAU;EACtE,MAAME,QAAQ,IAAAW,KAAA,IAAAC,kBAAA,GACZvC,QAAQ,CAAC2B,QAAQ,cAAAY,kBAAA,cAAAA,kBAAA,GAAIvC,QAAQ,CAACO,OAAO,cAAA+B,KAAA,cAAAA,KAAA,GAAI1B,YAAY,CAACe,QAAQ;EAEhE,OAAO;IACLF,UAAU;IACVE;EACF,CAAC;AACH;AAEA,SAASH,OAAOA,CAAC3B,IAAc,EAAEb,UAAkB,EAAE;EACnD,OAAOa,IAAI,YAAY6B,IAAI,GACvB7B,IAAI,GACJpB,mBAAmB,CAACoB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAE;IAC9Bb;EACF,CAAC,CAAC;AACR;AAEA,OAAO,SAASmC,GAAGA,CAACtB,IAAY,EAAE2C,IAAY,EAAE;EAC9C,MAAMC,eAAe,GAAG,WAAW,GAAG5C,IAAI;EAE1C,OAAO4C,eAAe,CAACC,SAAS,CAACD,eAAe,CAACE,MAAM,GAAGH,IAAI,CAAC;AACjE"}
|
|
@@ -57,15 +57,38 @@ export default function FormLabel(localProps) {
|
|
|
57
57
|
const target = (forElem === null || forElem === void 0 ? void 0 : forElem.closest('.dnb-input__border--root')) || (forElem === null || forElem === void 0 ? void 0 : forElem.closest('.dnb-input__border'));
|
|
58
58
|
if (target) {
|
|
59
59
|
var _elem$addEventListene, _elem$addEventListene2;
|
|
60
|
-
const enter = () => target.classList.add('hover');
|
|
61
|
-
const leave = () => target.classList.remove('hover');
|
|
62
60
|
const elem = ref.current;
|
|
61
|
+
const buttonEnter = () => {
|
|
62
|
+
target.classList.add('no-hover');
|
|
63
|
+
leave();
|
|
64
|
+
};
|
|
65
|
+
const buttonLeave = () => {
|
|
66
|
+
target.classList.remove('no-hover');
|
|
67
|
+
enter();
|
|
68
|
+
};
|
|
69
|
+
const enter = () => {
|
|
70
|
+
var _button$addEventListe, _button$addEventListe2;
|
|
71
|
+
target.classList.add('hover');
|
|
72
|
+
const button = elem.querySelector('button');
|
|
73
|
+
button === null || button === void 0 ? void 0 : (_button$addEventListe = button.addEventListener) === null || _button$addEventListe === void 0 ? void 0 : _button$addEventListe.call(button, 'mouseenter', buttonEnter, {
|
|
74
|
+
once: true
|
|
75
|
+
});
|
|
76
|
+
button === null || button === void 0 ? void 0 : (_button$addEventListe2 = button.addEventListener) === null || _button$addEventListe2 === void 0 ? void 0 : _button$addEventListe2.call(button, 'mouseleave', buttonLeave, {
|
|
77
|
+
once: true
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
const leave = () => {
|
|
81
|
+
var _elem$querySelector, _elem$querySelector$r;
|
|
82
|
+
target.classList.remove('hover');
|
|
83
|
+
(_elem$querySelector = elem.querySelector('button')) === null || _elem$querySelector === void 0 ? void 0 : (_elem$querySelector$r = _elem$querySelector.removeEventListener) === null || _elem$querySelector$r === void 0 ? void 0 : _elem$querySelector$r.call(_elem$querySelector, 'mouseenter', buttonEnter);
|
|
84
|
+
};
|
|
63
85
|
elem === null || elem === void 0 ? void 0 : (_elem$addEventListene = elem.addEventListener) === null || _elem$addEventListene === void 0 ? void 0 : _elem$addEventListene.call(elem, 'mouseenter', enter);
|
|
64
86
|
elem === null || elem === void 0 ? void 0 : (_elem$addEventListene2 = elem.addEventListener) === null || _elem$addEventListene2 === void 0 ? void 0 : _elem$addEventListene2.call(elem, 'mouseleave', leave);
|
|
65
87
|
return () => {
|
|
66
|
-
var _elem$removeEventList, _elem$removeEventList2
|
|
88
|
+
var _elem$removeEventList, _elem$removeEventList2, _elem$querySelector2, _elem$querySelector2$;
|
|
67
89
|
elem === null || elem === void 0 ? void 0 : (_elem$removeEventList = elem.removeEventListener) === null || _elem$removeEventList === void 0 ? void 0 : _elem$removeEventList.call(elem, 'mouseenter', enter);
|
|
68
90
|
elem === null || elem === void 0 ? void 0 : (_elem$removeEventList2 = elem.removeEventListener) === null || _elem$removeEventList2 === void 0 ? void 0 : _elem$removeEventList2.call(elem, 'mouseleave', leave);
|
|
91
|
+
(_elem$querySelector2 = elem.querySelector('button')) === null || _elem$querySelector2 === void 0 ? void 0 : (_elem$querySelector2$ = _elem$querySelector2.removeEventListener) === null || _elem$querySelector2$ === void 0 ? void 0 : _elem$querySelector2$.call(_elem$querySelector2, 'mouseleave', buttonLeave);
|
|
69
92
|
};
|
|
70
93
|
}
|
|
71
94
|
}, [forId, ref]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLabel.js","names":["React","useEffect","useRef","classnames","extendPropsWithContext","isTrue","validateDOMAttributes","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","pickFormElementProps","convertSnakeCaseProps","omitSpacingProps","Context","FormLabel","localProps","context","useContext","props","skeleton","FormRow","formElement","nestedContent","text","children","nestedNode","nestedElement","createElement","forId","srOnly","vertical","labelDirection","size","element","Element","innerRef","className","attributes","_objectWithoutProperties","_excluded","content","isInteractive","Boolean","disabled","onClick","params","_objectSpread","right","htmlFor","labelRef","ref","forElem","document","querySelector","target","closest","_elem$addEventListene","_elem$addEventListene2","enter","classList","add","leave","remove","elem","current","addEventListener","call","_elem$removeEventList","_elem$removeEventList2","removeEventListener","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React, { useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport {\n FormElementProps,\n pickFormElementProps,\n} from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport { omitSpacingProps } from '../flex/utils'\nimport Context from '../../shared/Context'\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /**\n * For internal use only\n */\n labelDirection?: FormElementProps['labelDirection']\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use \"vertical\" (or \"labelDirection\" for internal use) instead (was not documented before) */\n label_direction?: FormElementProps['label_direction']\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n )\n\n const nestedContent = props?.text || props?.children\n const nestedNode =\n nestedContent?.['type'] === FormLabel ? nestedContent?.['type'] : null\n const nestedElement = nestedNode\n ? () => React.createElement(nestedNode, nestedContent['props'])\n : null\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n labelDirection,\n size,\n skeleton,\n element: Element = nestedElement || 'label',\n innerRef,\n className,\n children,\n ...attributes\n } = props\n\n const content = text || children\n\n const isInteractive = Boolean(\n !props.disabled &&\n !srOnly &&\n (typeof props.onClick === 'function' || forId)\n )\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || labelDirection === 'vertical') &&\n `dnb-form-label--vertical`,\n srOnly && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n isInteractive && 'dnb-form-label--interactive',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(\n content ? { right: 'small', ...props } : omitSpacingProps(props)\n ),\n className\n ),\n htmlFor: forId,\n ...(attributes as DynamicElementParams),\n }\n\n const labelRef = useRef<HTMLLabelElement>(null)\n const ref = innerRef || labelRef\n if (!nestedNode) {\n params['ref'] = ref\n }\n\n useEffect(() => {\n if (!forId) {\n return\n }\n\n const forElem = document.querySelector(`#${forId}`)\n const target =\n forElem?.closest('.dnb-input__border--root') ||\n forElem?.closest('.dnb-input__border')\n\n if (target) {\n const enter = () => target.classList.add('hover')\n const leave = () => target.classList.remove('hover')\n\n const elem = ref.current\n elem?.addEventListener?.('mouseenter', enter)\n elem?.addEventListener?.('mouseleave', leave)\n\n return () => {\n elem?.removeEventListener?.('mouseenter', enter)\n elem?.removeEventListener?.('mouseleave', leave)\n }\n }\n }, [forId, ref])\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{content}</Element>\n}\n\nFormLabel._formElement = true\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormLabel.js","names":["React","useEffect","useRef","classnames","extendPropsWithContext","isTrue","validateDOMAttributes","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","pickFormElementProps","convertSnakeCaseProps","omitSpacingProps","Context","FormLabel","localProps","context","useContext","props","skeleton","FormRow","formElement","nestedContent","text","children","nestedNode","nestedElement","createElement","forId","srOnly","vertical","labelDirection","size","element","Element","innerRef","className","attributes","_objectWithoutProperties","_excluded","content","isInteractive","Boolean","disabled","onClick","params","_objectSpread","right","htmlFor","labelRef","ref","forElem","document","querySelector","target","closest","_elem$addEventListene","_elem$addEventListene2","elem","current","buttonEnter","classList","add","leave","buttonLeave","remove","enter","_button$addEventListe","_button$addEventListe2","button","addEventListener","call","once","_elem$querySelector","_elem$querySelector$r","removeEventListener","_elem$removeEventList","_elem$removeEventList2","_elem$querySelector2","_elem$querySelector2$","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/form-label/FormLabel.tsx"],"sourcesContent":["/**\n * Web FormLabel Component\n *\n */\n\nimport React, { useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContext,\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport {\n FormElementProps,\n pickFormElementProps,\n} from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport { omitSpacingProps } from '../flex/utils'\nimport Context from '../../shared/Context'\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\n\nexport type FormLabelProps = {\n forId?: string\n element?: DynamicElement<HTMLLabelElement>\n text?: React.ReactNode\n size?: 'basis' | 'medium' | 'large'\n id?: string\n skeleton?: boolean\n label?: React.ReactNode\n vertical?: boolean\n srOnly?: boolean\n innerRef?: React.RefObject<HTMLElement>\n\n /** Is not a part of HTMLLabelElement and not documented as of now */\n disabled?: boolean\n\n /**\n * For internal use only\n */\n labelDirection?: FormElementProps['labelDirection']\n\n /** @deprecated use forId instead */\n for_id?: string\n /** @deprecated use srOnly instead */\n sr_only?: boolean\n /** @deprecated use \"vertical\" (or \"labelDirection\" for internal use) instead (was not documented before) */\n label_direction?: FormElementProps['label_direction']\n}\n\nexport type FormLabelAllProps = FormLabelProps &\n React.HTMLAttributes<HTMLLabelElement> &\n SpacingProps\n\nexport default function FormLabel(localProps: FormLabelAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n null,\n { skeleton: context?.skeleton },\n pickFormElementProps(context?.FormRow), // Deprecated – can be removed in v11\n pickFormElementProps(context?.formElement),\n context?.FormLabel\n )\n )\n\n const nestedContent = props?.text || props?.children\n const nestedNode =\n nestedContent?.['type'] === FormLabel ? nestedContent?.['type'] : null\n const nestedElement = nestedNode\n ? () => React.createElement(nestedNode, nestedContent['props'])\n : null\n\n const {\n forId,\n text,\n srOnly,\n vertical,\n labelDirection,\n size,\n skeleton,\n element: Element = nestedElement || 'label',\n innerRef,\n className,\n children,\n ...attributes\n } = props\n\n const content = text || children\n\n const isInteractive = Boolean(\n !props.disabled &&\n !srOnly &&\n (typeof props.onClick === 'function' || forId)\n )\n\n const params = {\n className: classnames(\n 'dnb-form-label',\n (isTrue(vertical) || labelDirection === 'vertical') &&\n `dnb-form-label--vertical`,\n srOnly && 'dnb-sr-only',\n size && `dnb-h--${size}`,\n isInteractive && 'dnb-form-label--interactive',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(\n content ? { right: 'small', ...props } : omitSpacingProps(props)\n ),\n className\n ),\n htmlFor: forId,\n ...(attributes as DynamicElementParams),\n }\n\n const labelRef = useRef<HTMLLabelElement>(null)\n const ref = innerRef || labelRef\n if (!nestedNode) {\n params['ref'] = ref\n }\n\n useEffect(() => {\n if (!forId) {\n return\n }\n\n const forElem = document.querySelector(`#${forId}`)\n const target =\n forElem?.closest('.dnb-input__border--root') ||\n forElem?.closest('.dnb-input__border')\n\n if (target) {\n const elem = ref.current\n\n const buttonEnter = () => {\n target.classList.add('no-hover')\n leave()\n }\n const buttonLeave = () => {\n target.classList.remove('no-hover')\n enter()\n }\n\n const enter = () => {\n target.classList.add('hover')\n\n // Remove the style from interactive elements (e.g. HelpButton)\n const button = elem.querySelector('button')\n button?.addEventListener?.('mouseenter', buttonEnter, {\n once: true,\n })\n button?.addEventListener?.('mouseleave', buttonLeave, {\n once: true,\n })\n }\n const leave = () => {\n target.classList.remove('hover')\n\n elem\n .querySelector('button')\n ?.removeEventListener?.('mouseenter', buttonEnter)\n }\n\n elem?.addEventListener?.('mouseenter', enter)\n elem?.addEventListener?.('mouseleave', leave)\n\n return () => {\n elem?.removeEventListener?.('mouseenter', enter)\n elem?.removeEventListener?.('mouseleave', leave)\n elem\n .querySelector('button')\n ?.removeEventListener?.('mouseleave', buttonLeave)\n }\n }\n }, [forId, ref])\n\n skeletonDOMAttributes(params, skeleton, context)\n validateDOMAttributes(localProps, params)\n\n return <Element {...params}>{content}</Element>\n}\n\nFormLabel._formElement = true\nFormLabel._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HelpButtonProps } from './HelpButton';
|
|
3
|
+
import { SpacingProps } from '../space/types';
|
|
4
|
+
export type HelpProps = {
|
|
5
|
+
title?: React.ReactNode;
|
|
6
|
+
content?: React.ReactNode;
|
|
7
|
+
renderAs?: 'inline' | 'dialog';
|
|
8
|
+
/** Only for the "inline" variant */
|
|
9
|
+
open?: boolean;
|
|
10
|
+
/** Only for the "inline" variant */
|
|
11
|
+
breakout?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type HelpButtonInlineProps = HelpButtonProps & {
|
|
14
|
+
contentId?: string;
|
|
15
|
+
help?: HelpProps;
|
|
16
|
+
};
|
|
17
|
+
export type HelpButtonInlineSharedStateDataProps = {
|
|
18
|
+
isOpen: boolean;
|
|
19
|
+
isUserIntent?: boolean;
|
|
20
|
+
buttonRef?: React.RefObject<HTMLButtonElement>;
|
|
21
|
+
};
|
|
22
|
+
declare function HelpButtonInline(props: HelpButtonInlineProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare namespace HelpButtonInline {
|
|
24
|
+
var _supportsSpacingProps: boolean;
|
|
25
|
+
}
|
|
26
|
+
export default HelpButtonInline;
|
|
27
|
+
export type HelpButtonInlineContentProps = SpacingProps & {
|
|
28
|
+
contentId: string;
|
|
29
|
+
className?: string;
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
help?: HelpProps;
|
|
32
|
+
breakout?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export declare function HelpButtonInlineContent(props: HelpButtonInlineContentProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare namespace HelpButtonInlineContent {
|
|
36
|
+
var _supportsSpacingProps: boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
+
var _QuestionIcon, _CloseIcon;
|
|
6
|
+
const _excluded = ["contentId", "size", "help", "className", "children"],
|
|
7
|
+
_excluded2 = ["contentId", "className", "children", "help", "breakout"];
|
|
8
|
+
import React, { useCallback, useContext, useEffect, useRef } from 'react';
|
|
9
|
+
import classnames from 'classnames';
|
|
10
|
+
import HelpButtonInstance from './HelpButtonInstance';
|
|
11
|
+
import HeightAnimation from '../HeightAnimation';
|
|
12
|
+
import { useSharedState } from '../../shared/helpers/useSharedState';
|
|
13
|
+
import { convertJsxToString } from '../../shared/component-helper';
|
|
14
|
+
import useId from '../../shared/helpers/useId';
|
|
15
|
+
import Section from '../Section';
|
|
16
|
+
import { P } from '../../elements';
|
|
17
|
+
import Flex from '../Flex';
|
|
18
|
+
import CardContext from '../card/CardContext';
|
|
19
|
+
import Dialog from '../Dialog';
|
|
20
|
+
import { question as QuestionIcon, close as CloseIcon } from '../../icons';
|
|
21
|
+
export default function HelpButtonInline(props) {
|
|
22
|
+
var _help$open;
|
|
23
|
+
const {
|
|
24
|
+
contentId,
|
|
25
|
+
size,
|
|
26
|
+
help,
|
|
27
|
+
className,
|
|
28
|
+
children
|
|
29
|
+
} = props,
|
|
30
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
31
|
+
const controlId = useId(contentId);
|
|
32
|
+
const {
|
|
33
|
+
data,
|
|
34
|
+
update
|
|
35
|
+
} = useSharedState(controlId, {
|
|
36
|
+
isOpen: (_help$open = help === null || help === void 0 ? void 0 : help.open) !== null && _help$open !== void 0 ? _help$open : false
|
|
37
|
+
});
|
|
38
|
+
const {
|
|
39
|
+
isOpen,
|
|
40
|
+
isUserIntent
|
|
41
|
+
} = data || {};
|
|
42
|
+
const wasOpenRef = useRef(undefined);
|
|
43
|
+
const buttonRef = useRef(null);
|
|
44
|
+
const onClickHandler = useCallback(({
|
|
45
|
+
event
|
|
46
|
+
}) => {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
update({
|
|
49
|
+
isOpen: !isOpen,
|
|
50
|
+
isUserIntent: !isOpen,
|
|
51
|
+
buttonRef
|
|
52
|
+
});
|
|
53
|
+
wasOpenRef.current = !isOpen;
|
|
54
|
+
}, [isOpen, update]);
|
|
55
|
+
return React.createElement(React.Fragment, null, React.createElement(HelpButtonInstance, _extends({
|
|
56
|
+
bounding: true,
|
|
57
|
+
size: size !== null && size !== void 0 ? size : 'small',
|
|
58
|
+
icon: HelpButtonIcon,
|
|
59
|
+
title: !isOpen && !wasOpenRef.current ? convertJsxToString(help === null || help === void 0 ? void 0 : help.title) : undefined
|
|
60
|
+
}, rest, {
|
|
61
|
+
id: controlId,
|
|
62
|
+
className: classnames('dnb-help-button__inline', className, isOpen && 'dnb-help-button__inline--open', isUserIntent && 'dnb-help-button__inline--user-intent', typeof wasOpenRef.current === 'boolean' && 'dnb-help-button__inline--was-open'),
|
|
63
|
+
"aria-controls": `${controlId}-content`,
|
|
64
|
+
on_click: onClickHandler,
|
|
65
|
+
innerRef: buttonRef
|
|
66
|
+
})), !contentId && React.createElement(HelpButtonInlineContent, {
|
|
67
|
+
contentId: controlId,
|
|
68
|
+
help: help
|
|
69
|
+
}, children));
|
|
70
|
+
}
|
|
71
|
+
export function HelpButtonInlineContent(props) {
|
|
72
|
+
var _ref;
|
|
73
|
+
const {
|
|
74
|
+
contentId,
|
|
75
|
+
className,
|
|
76
|
+
children,
|
|
77
|
+
help: helpProp,
|
|
78
|
+
breakout = true
|
|
79
|
+
} = props,
|
|
80
|
+
rest = _objectWithoutProperties(props, _excluded2);
|
|
81
|
+
const {
|
|
82
|
+
data,
|
|
83
|
+
update
|
|
84
|
+
} = useSharedState(contentId);
|
|
85
|
+
const {
|
|
86
|
+
isOpen,
|
|
87
|
+
isUserIntent,
|
|
88
|
+
buttonRef
|
|
89
|
+
} = data || {};
|
|
90
|
+
const {
|
|
91
|
+
open,
|
|
92
|
+
title,
|
|
93
|
+
content,
|
|
94
|
+
renderAs,
|
|
95
|
+
breakout: breakoutProp = true
|
|
96
|
+
} = helpProp || {};
|
|
97
|
+
const innerRef = useRef(null);
|
|
98
|
+
const cardContext = useContext(CardContext);
|
|
99
|
+
const breakoutFromLayout = Boolean(cardContext) && breakout && breakoutProp;
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
if (isOpen && isUserIntent) {
|
|
102
|
+
window.requestAnimationFrame(() => {
|
|
103
|
+
var _innerRef$current;
|
|
104
|
+
(_innerRef$current = innerRef.current) === null || _innerRef$current === void 0 ? void 0 : _innerRef$current.focus({
|
|
105
|
+
preventScroll: true
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}, [isOpen, isUserIntent]);
|
|
110
|
+
const onClose = useCallback(() => {
|
|
111
|
+
update({
|
|
112
|
+
isOpen: false,
|
|
113
|
+
isUserIntent: false
|
|
114
|
+
});
|
|
115
|
+
}, [update]);
|
|
116
|
+
const onKeyDown = useCallback(event => {
|
|
117
|
+
if (event.currentTarget === event.target) {
|
|
118
|
+
switch (event.key.trim() || event.code) {
|
|
119
|
+
case 'Enter':
|
|
120
|
+
case 'Space':
|
|
121
|
+
case 'Escape':
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
window.requestAnimationFrame(() => {
|
|
124
|
+
var _buttonRef$current;
|
|
125
|
+
onClose();
|
|
126
|
+
(_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
|
|
127
|
+
});
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}, [buttonRef, onClose]);
|
|
132
|
+
if (renderAs === 'dialog') {
|
|
133
|
+
return React.createElement(Dialog, {
|
|
134
|
+
title: title,
|
|
135
|
+
omitTriggerButton: true,
|
|
136
|
+
openState: isOpen !== null && isOpen !== void 0 ? isOpen : open,
|
|
137
|
+
onClose: onClose
|
|
138
|
+
}, content, children);
|
|
139
|
+
}
|
|
140
|
+
return React.createElement(HeightAnimation, {
|
|
141
|
+
className: classnames('dnb-help-button__content', className),
|
|
142
|
+
open: (_ref = isOpen !== null && isOpen !== void 0 ? isOpen : open) !== null && _ref !== void 0 ? _ref : false
|
|
143
|
+
}, React.createElement(Section, _extends({
|
|
144
|
+
id: `${contentId}-content`,
|
|
145
|
+
"aria-label": convertJsxToString(title),
|
|
146
|
+
className: "dnb-no-focus",
|
|
147
|
+
tabIndex: -1,
|
|
148
|
+
innerRef: innerRef,
|
|
149
|
+
onKeyDown: onKeyDown,
|
|
150
|
+
breakout: breakoutFromLayout,
|
|
151
|
+
roundedCorner: !breakoutFromLayout,
|
|
152
|
+
innerSpace: breakoutFromLayout ? {
|
|
153
|
+
top: 'small',
|
|
154
|
+
bottom: 'medium'
|
|
155
|
+
} : {
|
|
156
|
+
top: 'small',
|
|
157
|
+
bottom: 'medium',
|
|
158
|
+
left: 'medium',
|
|
159
|
+
right: 'x-small'
|
|
160
|
+
},
|
|
161
|
+
backgroundColor: "lavender"
|
|
162
|
+
}, rest), React.createElement(Flex.Vertical, {
|
|
163
|
+
gap: "x-small"
|
|
164
|
+
}, title && React.createElement(P, {
|
|
165
|
+
medium: true
|
|
166
|
+
}, title), content && React.createElement(P, null, content)), children));
|
|
167
|
+
}
|
|
168
|
+
function HelpButtonIcon() {
|
|
169
|
+
return React.createElement(React.Fragment, null, _QuestionIcon || (_QuestionIcon = React.createElement(QuestionIcon, null)), _CloseIcon || (_CloseIcon = React.createElement(CloseIcon, null)));
|
|
170
|
+
}
|
|
171
|
+
HelpButtonInline._supportsSpacingProps = true;
|
|
172
|
+
HelpButtonInlineContent._supportsSpacingProps = true;
|
|
173
|
+
//# sourceMappingURL=HelpButtonInline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HelpButtonInline.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","HelpButtonInstance","HeightAnimation","useSharedState","convertJsxToString","useId","Section","P","Flex","CardContext","Dialog","question","QuestionIcon","close","CloseIcon","HelpButtonInline","props","_help$open","contentId","size","help","className","children","rest","_objectWithoutProperties","_excluded","controlId","data","update","isOpen","open","isUserIntent","wasOpenRef","undefined","buttonRef","onClickHandler","event","preventDefault","current","createElement","Fragment","_extends","bounding","icon","HelpButtonIcon","title","id","on_click","innerRef","HelpButtonInlineContent","_ref","helpProp","breakout","_excluded2","content","renderAs","breakoutProp","cardContext","breakoutFromLayout","Boolean","window","requestAnimationFrame","_innerRef$current","focus","preventScroll","onClose","onKeyDown","currentTarget","target","key","trim","code","_buttonRef$current","omitTriggerButton","openState","tabIndex","roundedCorner","innerSpace","top","bottom","left","right","backgroundColor","Vertical","gap","medium","_QuestionIcon","_CloseIcon","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButtonInline.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { HelpButtonProps } from './HelpButton'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport HeightAnimation from '../HeightAnimation'\nimport { useSharedState } from '../../shared/helpers/useSharedState'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport Section from '../Section'\nimport { P } from '../../elements'\nimport Flex from '../Flex'\nimport CardContext from '../card/CardContext'\nimport { SpacingProps } from '../space/types'\nimport Dialog from '../Dialog'\nimport { question as QuestionIcon, close as CloseIcon } from '../../icons'\n\nexport type HelpProps = {\n title?: React.ReactNode\n content?: React.ReactNode\n renderAs?: 'inline' | 'dialog'\n /** Only for the \"inline\" variant */\n open?: boolean\n /** Only for the \"inline\" variant */\n breakout?: boolean\n}\n\nexport type HelpButtonInlineProps = HelpButtonProps & {\n contentId?: string\n help?: HelpProps\n}\n\nexport type HelpButtonInlineSharedStateDataProps = {\n isOpen: boolean\n isUserIntent?: boolean\n buttonRef?: React.RefObject<HTMLButtonElement>\n}\n\nexport default function HelpButtonInline(props: HelpButtonInlineProps) {\n const { contentId, size, help, className, children, ...rest } = props\n const controlId = useId(contentId)\n\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(controlId, {\n isOpen: help?.open ?? false,\n })\n const { isOpen, isUserIntent } = data || {}\n const wasOpenRef = useRef(undefined)\n const buttonRef = useRef<HTMLButtonElement>(null)\n\n const onClickHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n event.preventDefault() // Because when used inside a FormLabel\n update({ isOpen: !isOpen, isUserIntent: !isOpen, buttonRef })\n wasOpenRef.current = !isOpen\n },\n [isOpen, update]\n )\n\n return (\n <>\n <HelpButtonInstance\n bounding\n size={size ?? 'small'}\n icon={HelpButtonIcon}\n title={\n !isOpen && !wasOpenRef.current\n ? convertJsxToString(help?.title)\n : undefined\n }\n {...rest}\n id={controlId}\n className={classnames(\n 'dnb-help-button__inline',\n isOpen && 'dnb-help-button__inline--open',\n isUserIntent && 'dnb-help-button__inline--user-intent',\n typeof wasOpenRef.current === 'boolean' &&\n 'dnb-help-button__inline--was-open',\n className\n )}\n aria-controls={`${controlId}-content`}\n on_click={onClickHandler}\n innerRef={buttonRef}\n />\n\n {!contentId && (\n <HelpButtonInlineContent contentId={controlId} help={help}>\n {children}\n </HelpButtonInlineContent>\n )}\n </>\n )\n}\n\nexport type HelpButtonInlineContentProps = SpacingProps & {\n contentId: string\n className?: string\n children?: React.ReactNode\n help?: HelpProps\n breakout?: boolean\n}\n\nexport function HelpButtonInlineContent(\n props: HelpButtonInlineContentProps\n) {\n const {\n contentId,\n className,\n children,\n help: helpProp,\n breakout = true,\n ...rest\n } = props\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(contentId)\n const { isOpen, isUserIntent, buttonRef } = data || {}\n const {\n open,\n title,\n content,\n renderAs,\n breakout: breakoutProp = true,\n } = helpProp || {}\n\n const innerRef = useRef<HTMLDivElement>(null)\n const cardContext = useContext(CardContext)\n const breakoutFromLayout =\n Boolean(cardContext) && breakout && breakoutProp\n\n useEffect(() => {\n if (isOpen && isUserIntent) {\n window.requestAnimationFrame(() => {\n innerRef.current?.focus({ preventScroll: true })\n })\n }\n }, [isOpen, isUserIntent])\n\n const onClose = useCallback(() => {\n update({ isOpen: false, isUserIntent: false })\n }, [update])\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.currentTarget === event.target) {\n // Firefox returns a whitespace (\" \") on event.key when pressing space,\n // therefore using .trim() can help normalize this.\n // While userEvent.keyboard('{Space}') might return 'Unknown' on event.code,\n // making a direct comparison less reliable across all platforms.\n switch (event.key.trim() || event.code) {\n case 'Enter':\n case 'Space':\n case 'Escape':\n event.preventDefault()\n window.requestAnimationFrame(() => {\n onClose()\n buttonRef.current?.focus()\n })\n break\n }\n }\n },\n [buttonRef, onClose]\n )\n\n if (renderAs === 'dialog') {\n return (\n <Dialog\n title={title}\n omitTriggerButton\n openState={isOpen ?? open}\n onClose={onClose}\n >\n {content}\n {children}\n </Dialog>\n )\n }\n\n return (\n <HeightAnimation\n className={classnames('dnb-help-button__content', className)}\n open={isOpen ?? open ?? false}\n >\n <Section\n id={`${contentId}-content`}\n aria-label={convertJsxToString(title)}\n className=\"dnb-no-focus\"\n tabIndex={-1}\n innerRef={innerRef}\n onKeyDown={onKeyDown}\n breakout={breakoutFromLayout}\n roundedCorner={!breakoutFromLayout}\n innerSpace={\n breakoutFromLayout\n ? { top: 'small', bottom: 'medium' }\n : {\n top: 'small',\n bottom: 'medium',\n left: 'medium',\n right: 'x-small',\n }\n }\n backgroundColor=\"lavender\"\n {...rest}\n >\n <Flex.Vertical gap=\"x-small\">\n {title && <P medium>{title}</P>}\n {content && <P>{content}</P>}\n </Flex.Vertical>\n {children}\n </Section>\n </HeightAnimation>\n )\n}\n\nfunction HelpButtonIcon() {\n return (\n <>\n <QuestionIcon />\n <CloseIcon />\n </>\n )\n}\n\nHelpButtonInline._supportsSpacingProps = true\nHelpButtonInlineContent._supportsSpacingProps = true\n"],"mappings":"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"}
|