@dnb/eufemia 10.75.4 → 10.76.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 +30 -0
- package/cjs/components/DateFormat.d.ts +12 -0
- package/cjs/components/DateFormat.js +24 -0
- package/cjs/components/DateFormat.js.map +1 -0
- package/cjs/components/PortalRoot.d.ts +12 -0
- package/cjs/components/PortalRoot.js +24 -0
- package/cjs/components/PortalRoot.js.map +1 -0
- package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -0
- package/cjs/components/breadcrumb/Breadcrumb.js +9 -4
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbDocs.js +5 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
- package/cjs/components/card/Card.d.ts +4 -0
- package/cjs/components/card/Card.js +13 -4
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/CardDocs.js +1 -1
- package/cjs/components/card/CardDocs.js.map +1 -1
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/date-format/DateFormat.d.ts +30 -0
- package/cjs/components/date-format/DateFormat.js +86 -0
- package/cjs/components/date-format/DateFormat.js.map +1 -0
- package/cjs/components/date-format/DateFormatDocs.d.ts +2 -0
- package/cjs/components/date-format/DateFormatDocs.js +34 -0
- package/cjs/components/date-format/DateFormatDocs.js.map +1 -0
- package/cjs/components/date-format/DateFormatUtils.d.ts +11 -0
- package/cjs/components/date-format/DateFormatUtils.js +36 -0
- package/cjs/components/date-format/DateFormatUtils.js.map +1 -0
- package/cjs/components/date-format/index.d.ts +7 -0
- package/cjs/components/date-format/index.js +24 -0
- package/cjs/components/date-format/index.js.map +1 -0
- package/cjs/components/date-picker/DatePicker.js +5 -8
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.d.ts +0 -13
- package/cjs/components/date-picker/DatePickerCalc.js +0 -44
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js +11 -10
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js +7 -7
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +2 -1
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerPortal.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerPortal.js +4 -4
- package/cjs/components/date-picker/DatePickerPortal.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js +1 -1
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/dnb-form-status.css +1 -1
- package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
- package/cjs/components/form-status/style/dnb-form-status.scss +1 -1
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/cjs/components/help-button/style/dnb-help-button-inline.css +1 -1
- package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -1
- package/cjs/components/help-button/style/dnb-help-button-inline.scss +1 -1
- package/cjs/components/help-button/style/dnb-help-button.css +1 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
- package/cjs/components/index.d.ts +3 -1
- package/cjs/components/index.js +14 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/info-card/style/dnb-info-card.css +1 -1
- package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
- package/cjs/components/info-card/style/dnb-info-card.scss +1 -1
- package/cjs/components/lib.d.ts +5 -1
- package/cjs/components/lib.js +16 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/modal/ModalRoot.d.ts +2 -7
- package/cjs/components/modal/ModalRoot.js +9 -65
- package/cjs/components/modal/ModalRoot.js.map +1 -1
- package/cjs/components/portal-root/PortalRoot.d.ts +7 -0
- package/cjs/components/portal-root/PortalRoot.js +65 -0
- package/cjs/components/portal-root/PortalRoot.js.map +1 -0
- package/cjs/components/portal-root/PortalRootDocs.d.ts +2 -0
- package/cjs/components/portal-root/PortalRootDocs.js +19 -0
- package/cjs/components/portal-root/PortalRootDocs.js.map +1 -0
- package/cjs/components/portal-root/index.d.ts +7 -0
- package/cjs/components/portal-root/index.js +24 -0
- package/cjs/components/portal-root/index.js.map +1 -0
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/cjs/components/step-indicator/StepIndicator.js +6 -2
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorDocs.js +1 -1
- package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +12 -3
- package/cjs/components/switch/Switch.js +39 -15
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.js +5 -0
- package/cjs/components/switch/SwitchDocs.js.map +1 -1
- package/cjs/components/tooltip/TooltipPortal.js +28 -59
- package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.css +8 -1
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.scss +8 -1
- package/cjs/components/upload/Upload.js +31 -7
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadContext.d.ts +1 -0
- package/cjs/components/upload/UploadContext.js +2 -1
- package/cjs/components/upload/UploadContext.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +11 -1
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadDropzone.d.ts +3 -1
- package/cjs/components/upload/UploadDropzone.js +5 -4
- package/cjs/components/upload/UploadDropzone.js.map +1 -1
- package/cjs/components/upload/UploadFileInput.d.ts +3 -1
- package/cjs/components/upload/UploadFileInput.js +7 -5
- package/cjs/components/upload/UploadFileInput.js.map +1 -1
- package/cjs/components/upload/style/dnb-upload.css +10 -2
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/components/upload/style/dnb-upload.scss +12 -2
- package/cjs/components/upload/types.d.ts +4 -0
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/elements/lists/style/lists-mixins.scss +1 -1
- package/cjs/extensions/forms/Connectors/Bring/address.d.ts +48 -0
- package/cjs/extensions/forms/Connectors/Bring/address.js +185 -0
- package/cjs/extensions/forms/Connectors/Bring/address.js.map +1 -0
- package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/cjs/extensions/forms/Connectors/Bring/index.js +3 -1
- package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -1
- package/cjs/extensions/forms/Connectors/Bring/postalCode.js +10 -1
- package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
- package/cjs/extensions/forms/Connectors/createContext.js +3 -0
- package/cjs/extensions/forms/Connectors/createContext.js.map +1 -1
- package/cjs/extensions/forms/Field/Address/Address.d.ts +3 -0
- package/cjs/extensions/forms/Field/Address/Address.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +11 -8
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +36 -0
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +26 -7
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Field/style/field-sizes.scss +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -6
- package/cjs/extensions/forms/Form/Card/Card.js +1 -1
- package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
- package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
- package/cjs/extensions/forms/Form/Card/CardDocs.js +14 -11
- package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.js +22 -7
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/style/value-sizes.scss +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +4 -4
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -0
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/cjs/fragments/drawer-list/DrawerList.js +6 -5
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
- package/cjs/fragments/drawer-list/DrawerListPortal.js +31 -65
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/cjs/index.d.ts +3 -1
- package/cjs/index.js +14 -0
- package/cjs/index.js.map +1 -1
- package/cjs/shared/build-info/BuildInfoData.d.ts +2 -2
- package/cjs/shared/build-info/BuildInfoData.js +2 -2
- package/cjs/shared/build-info/BuildInfoData.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +3 -0
- package/cjs/shared/locales/en-GB.js +3 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +3 -0
- package/cjs/shared/locales/index.d.ts +6 -0
- package/cjs/shared/locales/nb-NO.d.ts +3 -0
- package/cjs/shared/locales/nb-NO.js +3 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +3 -0
- package/cjs/shared/locales/sv-SE.js +3 -0
- package/cjs/shared/locales/sv-SE.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 +27 -12
- package/cjs/style/dnb-ui-components.min.css +4 -4
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +5 -4
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +4 -4
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +1 -1
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -0
- package/cjs/style/themes/theme-eiendom/properties.js +3 -1
- package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -0
- package/cjs/style/themes/theme-sbanken/properties.js +2 -0
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/properties.d.ts +2 -0
- package/cjs/style/themes/theme-ui/properties.js +3 -1
- package/cjs/style/themes/theme-ui/properties.js.map +1 -1
- package/cjs/style/themes/theme-ui/properties.scss +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +31 -16
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -4
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/DateFormat.d.ts +12 -0
- package/components/DateFormat.js +4 -0
- package/components/DateFormat.js.map +1 -0
- package/components/PortalRoot.d.ts +12 -0
- package/components/PortalRoot.js +4 -0
- package/components/PortalRoot.js.map +1 -0
- package/components/breadcrumb/Breadcrumb.d.ts +4 -0
- package/components/breadcrumb/Breadcrumb.js +9 -4
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbDocs.js +5 -0
- package/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
- package/components/card/Card.d.ts +4 -0
- package/components/card/Card.js +13 -4
- package/components/card/Card.js.map +1 -1
- package/components/card/CardDocs.js +1 -1
- package/components/card/CardDocs.js.map +1 -1
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/date-format/DateFormat.d.ts +30 -0
- package/components/date-format/DateFormat.js +77 -0
- package/components/date-format/DateFormat.js.map +1 -0
- package/components/date-format/DateFormatDocs.d.ts +2 -0
- package/components/date-format/DateFormatDocs.js +28 -0
- package/components/date-format/DateFormatDocs.js.map +1 -0
- package/components/date-format/DateFormatUtils.d.ts +11 -0
- package/components/date-format/DateFormatUtils.js +29 -0
- package/components/date-format/DateFormatUtils.js.map +1 -0
- package/components/date-format/index.d.ts +7 -0
- package/components/date-format/index.js +4 -0
- package/components/date-format/index.js.map +1 -0
- package/components/date-picker/DatePicker.js +3 -6
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalc.d.ts +0 -13
- package/components/date-picker/DatePickerCalc.js +0 -41
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.js +7 -6
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerCalendarNavigator.js +4 -4
- package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +2 -1
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerPortal.d.ts +1 -1
- package/components/date-picker/DatePickerPortal.js +4 -4
- package/components/date-picker/DatePickerPortal.js.map +1 -1
- package/components/form-status/FormStatus.js +1 -1
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/dnb-form-status.css +1 -1
- package/components/form-status/style/dnb-form-status.min.css +1 -1
- package/components/form-status/style/dnb-form-status.scss +1 -1
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/components/help-button/style/dnb-help-button-inline.css +1 -1
- package/components/help-button/style/dnb-help-button-inline.min.css +1 -1
- package/components/help-button/style/dnb-help-button-inline.scss +1 -1
- package/components/help-button/style/dnb-help-button.css +1 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -1
- package/components/index.d.ts +3 -1
- package/components/index.js +3 -1
- package/components/index.js.map +1 -1
- package/components/info-card/style/dnb-info-card.css +1 -1
- package/components/info-card/style/dnb-info-card.min.css +1 -1
- package/components/info-card/style/dnb-info-card.scss +1 -1
- package/components/lib.d.ts +5 -1
- package/components/lib.js +5 -1
- package/components/lib.js.map +1 -1
- package/components/modal/ModalRoot.d.ts +2 -7
- package/components/modal/ModalRoot.js +9 -65
- package/components/modal/ModalRoot.js.map +1 -1
- package/components/portal-root/PortalRoot.d.ts +7 -0
- package/components/portal-root/PortalRoot.js +54 -0
- package/components/portal-root/PortalRoot.js.map +1 -0
- package/components/portal-root/PortalRootDocs.d.ts +2 -0
- package/components/portal-root/PortalRootDocs.js +13 -0
- package/components/portal-root/PortalRootDocs.js.map +1 -0
- package/components/portal-root/index.d.ts +7 -0
- package/components/portal-root/index.js +4 -0
- package/components/portal-root/index.js.map +1 -0
- package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/components/step-indicator/StepIndicator.js +6 -2
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/StepIndicatorDocs.js +1 -1
- package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/switch/Switch.d.ts +12 -3
- package/components/switch/Switch.js +40 -16
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/SwitchDocs.js +5 -0
- package/components/switch/SwitchDocs.js.map +1 -1
- package/components/tooltip/TooltipPortal.js +27 -60
- package/components/tooltip/TooltipPortal.js.map +1 -1
- package/components/tooltip/style/dnb-tooltip.css +8 -1
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/style/dnb-tooltip.scss +8 -1
- package/components/upload/Upload.js +31 -7
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadContext.d.ts +1 -0
- package/components/upload/UploadContext.js +2 -1
- package/components/upload/UploadContext.js.map +1 -1
- package/components/upload/UploadDocs.js +11 -1
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadDropzone.d.ts +3 -1
- package/components/upload/UploadDropzone.js +5 -4
- package/components/upload/UploadDropzone.js.map +1 -1
- package/components/upload/UploadFileInput.d.ts +3 -1
- package/components/upload/UploadFileInput.js +7 -5
- package/components/upload/UploadFileInput.js.map +1 -1
- package/components/upload/style/dnb-upload.css +10 -2
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/components/upload/style/dnb-upload.scss +12 -2
- package/components/upload/types.d.ts +4 -0
- package/components/upload/types.js.map +1 -1
- package/elements/lists/style/lists-mixins.scss +1 -1
- package/es/components/DateFormat.d.ts +12 -0
- package/es/components/DateFormat.js +4 -0
- package/es/components/DateFormat.js.map +1 -0
- package/es/components/PortalRoot.d.ts +12 -0
- package/es/components/PortalRoot.js +4 -0
- package/es/components/PortalRoot.js.map +1 -0
- package/es/components/breadcrumb/Breadcrumb.d.ts +4 -0
- package/es/components/breadcrumb/Breadcrumb.js +9 -4
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbDocs.js +5 -0
- package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
- package/es/components/card/Card.d.ts +4 -0
- package/es/components/card/Card.js +12 -4
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/CardDocs.js +1 -1
- package/es/components/card/CardDocs.js.map +1 -1
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/date-format/DateFormat.d.ts +30 -0
- package/es/components/date-format/DateFormat.js +74 -0
- package/es/components/date-format/DateFormat.js.map +1 -0
- package/es/components/date-format/DateFormatDocs.d.ts +2 -0
- package/es/components/date-format/DateFormatDocs.js +28 -0
- package/es/components/date-format/DateFormatDocs.js.map +1 -0
- package/es/components/date-format/DateFormatUtils.d.ts +11 -0
- package/es/components/date-format/DateFormatUtils.js +27 -0
- package/es/components/date-format/DateFormatUtils.js.map +1 -0
- package/es/components/date-format/index.d.ts +7 -0
- package/es/components/date-format/index.js +4 -0
- package/es/components/date-format/index.js.map +1 -0
- package/es/components/date-picker/DatePicker.js +3 -6
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.d.ts +0 -13
- package/es/components/date-picker/DatePickerCalc.js +0 -39
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.js +7 -6
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendarNavigator.js +4 -4
- package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +2 -1
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerPortal.d.ts +1 -1
- package/es/components/date-picker/DatePickerPortal.js +4 -4
- package/es/components/date-picker/DatePickerPortal.js.map +1 -1
- package/es/components/form-status/FormStatus.js +1 -1
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/dnb-form-status.css +1 -1
- package/es/components/form-status/style/dnb-form-status.min.css +1 -1
- package/es/components/form-status/style/dnb-form-status.scss +1 -1
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/es/components/help-button/style/dnb-help-button-inline.css +1 -1
- package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -1
- package/es/components/help-button/style/dnb-help-button-inline.scss +1 -1
- package/es/components/help-button/style/dnb-help-button.css +1 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -1
- package/es/components/index.d.ts +3 -1
- package/es/components/index.js +3 -1
- package/es/components/index.js.map +1 -1
- package/es/components/info-card/style/dnb-info-card.css +1 -1
- package/es/components/info-card/style/dnb-info-card.min.css +1 -1
- package/es/components/info-card/style/dnb-info-card.scss +1 -1
- package/es/components/lib.d.ts +5 -1
- package/es/components/lib.js +5 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/modal/ModalRoot.d.ts +2 -7
- package/es/components/modal/ModalRoot.js +9 -61
- package/es/components/modal/ModalRoot.js.map +1 -1
- package/es/components/portal-root/PortalRoot.d.ts +7 -0
- package/es/components/portal-root/PortalRoot.js +54 -0
- package/es/components/portal-root/PortalRoot.js.map +1 -0
- package/es/components/portal-root/PortalRootDocs.d.ts +2 -0
- package/es/components/portal-root/PortalRootDocs.js +13 -0
- package/es/components/portal-root/PortalRootDocs.js.map +1 -0
- package/es/components/portal-root/index.d.ts +7 -0
- package/es/components/portal-root/index.js +4 -0
- package/es/components/portal-root/index.js.map +1 -0
- package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/es/components/step-indicator/StepIndicator.js +6 -2
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorDocs.js +1 -1
- package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +12 -3
- package/es/components/switch/Switch.js +40 -16
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/SwitchDocs.js +5 -0
- package/es/components/switch/SwitchDocs.js.map +1 -1
- package/es/components/tooltip/TooltipPortal.js +27 -59
- package/es/components/tooltip/TooltipPortal.js.map +1 -1
- package/es/components/tooltip/style/dnb-tooltip.css +8 -1
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/style/dnb-tooltip.scss +8 -1
- package/es/components/upload/Upload.js +31 -7
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadContext.d.ts +1 -0
- package/es/components/upload/UploadContext.js +2 -1
- package/es/components/upload/UploadContext.js.map +1 -1
- package/es/components/upload/UploadDocs.js +11 -1
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadDropzone.d.ts +3 -1
- package/es/components/upload/UploadDropzone.js +5 -4
- package/es/components/upload/UploadDropzone.js.map +1 -1
- package/es/components/upload/UploadFileInput.d.ts +3 -1
- package/es/components/upload/UploadFileInput.js +7 -5
- package/es/components/upload/UploadFileInput.js.map +1 -1
- package/es/components/upload/style/dnb-upload.css +10 -2
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/components/upload/style/dnb-upload.scss +12 -2
- package/es/components/upload/types.d.ts +4 -0
- package/es/components/upload/types.js.map +1 -1
- package/es/elements/lists/style/lists-mixins.scss +1 -1
- package/es/extensions/forms/Connectors/Bring/address.d.ts +48 -0
- package/es/extensions/forms/Connectors/Bring/address.js +169 -0
- package/es/extensions/forms/Connectors/Bring/address.js.map +1 -0
- package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/es/extensions/forms/Connectors/Bring/index.js +3 -1
- package/es/extensions/forms/Connectors/Bring/index.js.map +1 -1
- package/es/extensions/forms/Connectors/Bring/postalCode.js +9 -1
- package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
- package/es/extensions/forms/Connectors/createContext.js +3 -0
- package/es/extensions/forms/Connectors/createContext.js.map +1 -1
- package/es/extensions/forms/Field/Address/Address.d.ts +3 -0
- package/es/extensions/forms/Field/Address/Address.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +5 -2
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +37 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +26 -7
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Field/style/field-sizes.scss +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/es/extensions/forms/Form/Card/Card.d.ts +3 -6
- package/es/extensions/forms/Form/Card/Card.js +1 -1
- package/es/extensions/forms/Form/Card/Card.js.map +1 -1
- package/es/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
- package/es/extensions/forms/Form/Card/CardDocs.js +12 -10
- package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.js +20 -5
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/style/value-sizes.scss +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/es/extensions/forms/constants/locales/en-GB.js +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/es/extensions/forms/constants/locales/index.d.ts +2 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +4 -4
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +1 -0
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/es/fragments/drawer-list/DrawerList.js +6 -5
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
- package/es/fragments/drawer-list/DrawerListPortal.js +32 -66
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/es/index.d.ts +3 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/shared/build-info/BuildInfoData.cjs +2 -2
- package/es/shared/build-info/BuildInfoData.d.ts +2 -2
- package/es/shared/build-info/BuildInfoData.js +2 -2
- package/es/shared/build-info/BuildInfoData.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +3 -0
- package/es/shared/locales/en-GB.js +3 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +3 -0
- package/es/shared/locales/index.d.ts +6 -0
- package/es/shared/locales/nb-NO.d.ts +3 -0
- package/es/shared/locales/nb-NO.js +3 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +3 -0
- package/es/shared/locales/sv-SE.js +3 -0
- package/es/shared/locales/sv-SE.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 +27 -12
- package/es/style/dnb-ui-components.min.css +4 -4
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +5 -4
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +4 -4
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +1 -1
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/properties.d.ts +2 -0
- package/es/style/themes/theme-eiendom/properties.js +3 -1
- package/es/style/themes/theme-eiendom/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.d.ts +2 -0
- package/es/style/themes/theme-sbanken/properties.js +2 -0
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/properties.d.ts +2 -0
- package/es/style/themes/theme-ui/properties.js +3 -1
- package/es/style/themes/theme-ui/properties.js.map +1 -1
- package/es/style/themes/theme-ui/properties.scss +3 -0
- package/es/style/themes/theme-ui/ui-theme-basis.css +2 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +31 -16
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -4
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
- package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Connectors/Bring/address.d.ts +48 -0
- package/extensions/forms/Connectors/Bring/address.js +170 -0
- package/extensions/forms/Connectors/Bring/address.js.map +1 -0
- package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/extensions/forms/Connectors/Bring/index.js +2 -0
- package/extensions/forms/Connectors/Bring/index.js.map +1 -1
- package/extensions/forms/Connectors/Bring/postalCode.js +9 -1
- package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
- package/extensions/forms/Connectors/createContext.js +3 -0
- package/extensions/forms/Connectors/createContext.js.map +1 -1
- package/extensions/forms/Field/Address/Address.d.ts +3 -0
- package/extensions/forms/Field/Address/Address.js.map +1 -1
- package/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
- package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +5 -2
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
- package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +37 -1
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/extensions/forms/Field/Upload/Upload.js +26 -7
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Field/style/field-sizes.scss +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/extensions/forms/Form/Card/Card.d.ts +3 -6
- package/extensions/forms/Form/Card/Card.js +1 -1
- package/extensions/forms/Form/Card/Card.js.map +1 -1
- package/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
- package/extensions/forms/Form/Card/CardDocs.js +12 -10
- package/extensions/forms/Form/Card/CardDocs.js.map +1 -1
- package/extensions/forms/Value/Date/Date.js +20 -5
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/style/value-sizes.scss +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/extensions/forms/constants/locales/en-GB.js +2 -1
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/extensions/forms/constants/locales/index.d.ts +2 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +4 -4
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +1 -0
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/fragments/drawer-list/DrawerList.js +6 -5
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
- package/fragments/drawer-list/DrawerListPortal.js +32 -66
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/shared/build-info/BuildInfoData.cjs +2 -2
- package/shared/build-info/BuildInfoData.d.ts +2 -2
- package/shared/build-info/BuildInfoData.js +2 -2
- package/shared/build-info/BuildInfoData.js.map +1 -1
- package/shared/locales/en-GB.d.ts +3 -0
- package/shared/locales/en-GB.js +3 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +3 -0
- package/shared/locales/index.d.ts +6 -0
- package/shared/locales/nb-NO.d.ts +3 -0
- package/shared/locales/nb-NO.js +3 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +3 -0
- package/shared/locales/sv-SE.js +3 -0
- package/shared/locales/sv-SE.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 +27 -12
- package/style/dnb-ui-components.min.css +4 -4
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +5 -4
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +4 -4
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-fragments.css +1 -1
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-eiendom/properties.d.ts +2 -0
- package/style/themes/theme-eiendom/properties.js +3 -1
- package/style/themes/theme-eiendom/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.d.ts +2 -0
- package/style/themes/theme-sbanken/properties.js +2 -0
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/properties.d.ts +2 -0
- package/style/themes/theme-ui/properties.js +3 -1
- package/style/themes/theme-ui/properties.js.map +1 -1
- package/style/themes/theme-ui/properties.scss +3 -0
- package/style/themes/theme-ui/ui-theme-basis.css +2 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +31 -16
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +5 -4
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +4 -4
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-properties.css +1 -0
- package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.min.css +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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import Selection from '../../Field/Selection';
|
|
7
|
+
import useTranslation from '../../hooks/useTranslation';
|
|
8
|
+
import { fetchData, handleCountryPath, isSupportedCountryCode } from '../createContext';
|
|
9
|
+
export const supportedCountryCodes = ['NO'];
|
|
10
|
+
export const unsupportedCountryMessage = 'Postal code verification is not supported for {countryCode}.';
|
|
11
|
+
export const preResponseResolver = ({
|
|
12
|
+
value
|
|
13
|
+
}) => {
|
|
14
|
+
if (!value) {
|
|
15
|
+
return {
|
|
16
|
+
addresses: []
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const responseResolver = (data, handlerConfig) => {
|
|
21
|
+
const resolver = handlerConfig === null || handlerConfig === void 0 ? void 0 : handlerConfig.responseResolver;
|
|
22
|
+
if (typeof resolver === 'function') {
|
|
23
|
+
return resolver(data);
|
|
24
|
+
}
|
|
25
|
+
const payload = data === null || data === void 0 ? void 0 : data.addresses.map(item => {
|
|
26
|
+
const street = [item.street_name, item.house_number].filter(Boolean).join(' ');
|
|
27
|
+
const city = [item.postal_code, item.city].filter(Boolean).join(' ');
|
|
28
|
+
return {
|
|
29
|
+
item,
|
|
30
|
+
selected_value: street,
|
|
31
|
+
selectedKey: street || item['address_id'],
|
|
32
|
+
content: [street, city]
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
payload
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export function suggestions(generalConfig, handlerConfig) {
|
|
40
|
+
const abortControllerRef = {
|
|
41
|
+
current: null
|
|
42
|
+
};
|
|
43
|
+
return async function suggestionsHandlerWrapper(event) {
|
|
44
|
+
return await suggestionsHandler(event.value, event);
|
|
45
|
+
};
|
|
46
|
+
async function suggestionsHandler(value, additionalArgs) {
|
|
47
|
+
if (!(typeof value === 'string')) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const {
|
|
51
|
+
countryCode
|
|
52
|
+
} = handleCountryPath({
|
|
53
|
+
value,
|
|
54
|
+
countryCode: handlerConfig === null || handlerConfig === void 0 ? void 0 : handlerConfig.countryCode,
|
|
55
|
+
additionalArgs,
|
|
56
|
+
handler: suggestionsHandler
|
|
57
|
+
});
|
|
58
|
+
if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
var _handlerConfig$preRes;
|
|
63
|
+
additionalArgs.showIndicator();
|
|
64
|
+
const parameters = {
|
|
65
|
+
countryCode: String(countryCode).toLowerCase()
|
|
66
|
+
};
|
|
67
|
+
const {
|
|
68
|
+
data
|
|
69
|
+
} = await fetchData(value, {
|
|
70
|
+
generalConfig,
|
|
71
|
+
parameters,
|
|
72
|
+
abortControllerRef,
|
|
73
|
+
preResponseResolver: (_handlerConfig$preRes = handlerConfig === null || handlerConfig === void 0 ? void 0 : handlerConfig.preResponseResolver) !== null && _handlerConfig$preRes !== void 0 ? _handlerConfig$preRes : preResponseResolver
|
|
74
|
+
});
|
|
75
|
+
const {
|
|
76
|
+
payload
|
|
77
|
+
} = responseResolver(data, handlerConfig);
|
|
78
|
+
additionalArgs.updateData(payload);
|
|
79
|
+
additionalArgs.hideIndicator();
|
|
80
|
+
} catch (error) {
|
|
81
|
+
additionalArgs.hideIndicator();
|
|
82
|
+
return error;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export function suggestionsElement(generalConfig, handlerConfig) {
|
|
87
|
+
const onType = suggestions(generalConfig, handlerConfig);
|
|
88
|
+
const onChange = (value, additionalArgs) => {
|
|
89
|
+
const {
|
|
90
|
+
cityPath,
|
|
91
|
+
postalCodePath
|
|
92
|
+
} = handlerConfig || {};
|
|
93
|
+
const data = additionalArgs === null || additionalArgs === void 0 ? void 0 : additionalArgs.data;
|
|
94
|
+
if (data) {
|
|
95
|
+
const dataContext = additionalArgs.dataContext;
|
|
96
|
+
dataContext.handlePathChangeUnvalidated(postalCodePath, data.item.postal_code);
|
|
97
|
+
dataContext.handlePathChangeUnvalidated(cityPath, data.item.city);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const Autocomplete = props => {
|
|
101
|
+
const {
|
|
102
|
+
suggestionPlaceholder
|
|
103
|
+
} = useTranslation().StreetAddress;
|
|
104
|
+
return React.createElement(Selection, _extends({
|
|
105
|
+
variant: "autocomplete"
|
|
106
|
+
}, props, {
|
|
107
|
+
autocompleteProps: _objectSpread({
|
|
108
|
+
mode: 'async',
|
|
109
|
+
disableFilter: true,
|
|
110
|
+
keepValue: true,
|
|
111
|
+
openOnFocus: true,
|
|
112
|
+
placeholder: suggestionPlaceholder,
|
|
113
|
+
onType
|
|
114
|
+
}, props === null || props === void 0 ? void 0 : props.autocompleteProps),
|
|
115
|
+
onChange: onChange
|
|
116
|
+
}));
|
|
117
|
+
};
|
|
118
|
+
return Autocomplete;
|
|
119
|
+
}
|
|
120
|
+
export function getMockData(countryCode) {
|
|
121
|
+
switch (String(countryCode).toUpperCase()) {
|
|
122
|
+
case 'SE':
|
|
123
|
+
return {
|
|
124
|
+
addresses: []
|
|
125
|
+
};
|
|
126
|
+
case 'NO':
|
|
127
|
+
default:
|
|
128
|
+
return {
|
|
129
|
+
addresses: [{
|
|
130
|
+
address_id: '1398742',
|
|
131
|
+
street_name: 'Gransvea',
|
|
132
|
+
house_number: 37,
|
|
133
|
+
postal_code: '1391',
|
|
134
|
+
city: 'Vollen',
|
|
135
|
+
county: 'Akershus',
|
|
136
|
+
municipality: 'Asker',
|
|
137
|
+
type: 'STREET'
|
|
138
|
+
}, {
|
|
139
|
+
address_id: '3168496',
|
|
140
|
+
street_name: 'Gransvegen',
|
|
141
|
+
house_number: 1,
|
|
142
|
+
postal_code: '2090',
|
|
143
|
+
city: 'Hurdal',
|
|
144
|
+
county: 'Akershus',
|
|
145
|
+
municipality: 'Hurdal',
|
|
146
|
+
type: 'STREET'
|
|
147
|
+
}, {
|
|
148
|
+
address_id: '325829',
|
|
149
|
+
street_name: 'Gransveien',
|
|
150
|
+
house_number: 2,
|
|
151
|
+
postal_code: '1900',
|
|
152
|
+
city: 'Fetsund',
|
|
153
|
+
county: 'Akershus',
|
|
154
|
+
municipality: 'Lillestrøm',
|
|
155
|
+
type: 'STREET'
|
|
156
|
+
}, {
|
|
157
|
+
address_id: '325829',
|
|
158
|
+
street_name: 'Somewhere else',
|
|
159
|
+
house_number: 100,
|
|
160
|
+
postal_code: '1234',
|
|
161
|
+
city: 'City',
|
|
162
|
+
county: 'County',
|
|
163
|
+
municipality: 'Municipality',
|
|
164
|
+
type: 'STREET'
|
|
165
|
+
}]
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","names":["React","Selection","useTranslation","fetchData","handleCountryPath","isSupportedCountryCode","supportedCountryCodes","unsupportedCountryMessage","preResponseResolver","value","addresses","responseResolver","data","handlerConfig","resolver","payload","map","item","street","street_name","house_number","filter","Boolean","join","city","postal_code","selected_value","selectedKey","content","suggestions","generalConfig","abortControllerRef","current","suggestionsHandlerWrapper","event","suggestionsHandler","additionalArgs","countryCode","handler","_handlerConfig$preRes","showIndicator","parameters","String","toLowerCase","updateData","hideIndicator","error","suggestionsElement","onType","onChange","cityPath","postalCodePath","dataContext","handlePathChangeUnvalidated","Autocomplete","props","suggestionPlaceholder","StreetAddress","createElement","_extends","variant","autocompleteProps","_objectSpread","mode","disableFilter","keepValue","openOnFocus","placeholder","getMockData","toUpperCase","address_id","county","municipality","type"],"sources":["../../../../../../src/extensions/forms/Connectors/Bring/address.tsx"],"sourcesContent":["import React from 'react'\nimport Selection, { Props as SelectionProps } from '../../Field/Selection'\nimport {\n Path,\n PathStrict,\n ReceiveAdditionalEventArgs,\n UseFieldProps,\n} from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\nimport {\n GeneralConfig,\n HandlerConfig,\n PreResponseResolver,\n ResponseResolver,\n fetchData,\n handleCountryPath,\n isSupportedCountryCode,\n} from '../createContext'\nimport type { DrawerListDataArrayObjectStrict } from '../../../../fragments/drawer-list/DrawerList'\n\nexport const supportedCountryCodes = [\n 'NO', // Norway\n] as const\nexport type SupportedCountries = (typeof supportedCountryCodes)[number]\n\nexport const unsupportedCountryMessage =\n 'Postal code verification is not supported for {countryCode}.'\n\nexport type AddressResolverData = {\n addresses: {\n street_name: string\n house_number: string\n postal_code: string\n city: string\n }[]\n}\nexport type AddressResolverPayload = Array<{\n item: AddressResolverData['addresses'][0]\n selected_value: string\n selectedKey: string\n content: string[]\n}>\n\ntype SuggestionsConnectorReturn = (\n event: {\n value: string\n showIndicator: () => void\n hideIndicator: () => void\n updateData: (data: AddressResolverPayload) => void\n } & ReceiveAdditionalEventArgs<string>\n) => Promise<void>\n\ntype SuggestionsHandlerConfig = HandlerConfig & {\n countryCode?:\n | PathStrict\n | SupportedCountries\n | Lowercase<SupportedCountries>\n cityPath: Path\n postalCodePath: Path\n}\n\nexport const preResponseResolver: PreResponseResolver = ({ value }) => {\n if (!value) {\n return { addresses: [] }\n }\n}\n\nexport const responseResolver: ResponseResolver<\n AddressResolverData,\n AddressResolverPayload\n> = (data, handlerConfig) => {\n const resolver = handlerConfig?.responseResolver\n if (typeof resolver === 'function') {\n return resolver(data) as ReturnType<typeof resolver> & {\n payload: AddressResolverPayload\n }\n }\n\n const payload = data?.addresses.map((item) => {\n const street = [item.street_name, item.house_number]\n .filter(Boolean)\n .join(' ')\n const city = [item.postal_code, item.city].filter(Boolean).join(' ')\n\n return {\n item,\n selected_value: street,\n selectedKey: street || item['address_id'],\n content: [street, city],\n } satisfies DrawerListDataArrayObjectStrict &\n Pick<AddressResolverPayload[0], 'item'>\n })\n\n return {\n payload,\n }\n}\n\nexport function suggestions(\n generalConfig: GeneralConfig,\n handlerConfig?: SuggestionsHandlerConfig\n): SuggestionsConnectorReturn {\n const abortControllerRef = { current: null }\n\n return async function suggestionsHandlerWrapper(event) {\n return await suggestionsHandler(event.value, event)\n }\n\n async function suggestionsHandler(\n value: string,\n additionalArgs: ReceiveAdditionalEventArgs<string> & {\n showIndicator: () => void\n hideIndicator: () => void\n updateData: (data: AddressResolverPayload) => void\n }\n ) {\n if (!(typeof value === 'string')) {\n return // stop here\n }\n\n // Get country code from path or use given countryCode value\n const { countryCode } = handleCountryPath({\n value,\n countryCode: handlerConfig?.countryCode,\n additionalArgs,\n handler: suggestionsHandler,\n })\n\n if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {\n return // stop here\n }\n\n try {\n additionalArgs.showIndicator()\n\n const parameters = {\n countryCode: String(countryCode).toLowerCase(),\n }\n const { data } = await fetchData<AddressResolverData>(value, {\n generalConfig,\n parameters,\n abortControllerRef,\n preResponseResolver:\n handlerConfig?.preResponseResolver ?? preResponseResolver,\n })\n\n const { payload } = responseResolver(data, handlerConfig)\n\n additionalArgs.updateData(payload)\n additionalArgs.hideIndicator()\n } catch (error) {\n additionalArgs.hideIndicator()\n return error\n }\n }\n}\n\nexport function suggestionsElement(\n generalConfig: GeneralConfig,\n handlerConfig?: SuggestionsHandlerConfig\n) {\n const onType = suggestions(generalConfig, handlerConfig)\n const onChange: UseFieldProps<string>['onChange'] = (\n value,\n additionalArgs\n ) => {\n const { cityPath, postalCodePath } = handlerConfig || {}\n const data = additionalArgs?.data as AddressResolverPayload[0]\n if (data) {\n const dataContext = additionalArgs.dataContext\n\n dataContext.handlePathChangeUnvalidated(\n postalCodePath,\n data.item.postal_code\n )\n\n dataContext.handlePathChangeUnvalidated(cityPath, data.item.city)\n }\n }\n\n const Autocomplete = (props: SelectionProps) => {\n const { suggestionPlaceholder } = useTranslation().StreetAddress\n return (\n <Selection\n variant=\"autocomplete\"\n {...props}\n autocompleteProps={{\n mode: 'async',\n disableFilter: true,\n keepValue: true,\n openOnFocus: true,\n placeholder: suggestionPlaceholder,\n onType,\n ...props?.autocompleteProps,\n }}\n onChange={onChange}\n />\n )\n }\n\n return Autocomplete\n}\n\nexport function getMockData(countryCode?: string) {\n switch (String(countryCode).toUpperCase()) {\n case 'SE':\n return {\n addresses: [],\n }\n case 'NO':\n default:\n return {\n addresses: [\n {\n address_id: '1398742',\n street_name: 'Gransvea',\n house_number: 37,\n postal_code: '1391',\n city: 'Vollen',\n county: 'Akershus',\n municipality: 'Asker',\n type: 'STREET',\n },\n {\n address_id: '3168496',\n street_name: 'Gransvegen',\n house_number: 1,\n postal_code: '2090',\n city: 'Hurdal',\n county: 'Akershus',\n municipality: 'Hurdal',\n type: 'STREET',\n },\n {\n address_id: '325829',\n street_name: 'Gransveien',\n house_number: 2,\n postal_code: '1900',\n city: 'Fetsund',\n county: 'Akershus',\n municipality: 'Lillestrøm',\n type: 'STREET',\n },\n {\n address_id: '325829',\n street_name: 'Somewhere else',\n house_number: 100,\n postal_code: '1234',\n city: 'City',\n county: 'County',\n municipality: 'Municipality',\n type: 'STREET',\n },\n ],\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["postalCode"],"sources":["../../../../../../src/extensions/forms/Connectors/Bring/index.ts"],"sourcesContent":["export * as postalCode from './postalCode'\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["postalCode","address"],"sources":["../../../../../../src/extensions/forms/Connectors/Bring/index.ts"],"sourcesContent":["export * as postalCode from './postalCode'\nexport * as address from './address'\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,cAAc;AAC1C,OAAO,KAAKC,OAAO,MAAM,WAAW","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FormError } from '../../utils';
|
|
2
|
+
import pointer from '../../utils/json-pointer';
|
|
2
3
|
import { fetchData, getCountryCodeValue, handleCountryPath, isSupportedCountryCode } from '../createContext';
|
|
3
4
|
export const supportedCountryCodes = ['NO', 'DK', 'SE', 'FI', 'NL', 'DE', 'US', 'BE', 'FO', 'GL', 'IS', 'SJ'];
|
|
4
5
|
export const unsupportedCountryCodeMessage = 'Postal code verification is not supported for {countryCode}.';
|
|
@@ -68,7 +69,14 @@ export function autofill(generalConfig, handlerConfig) {
|
|
|
68
69
|
if (!additionalArgs.dataContext) {
|
|
69
70
|
throw new Error('No data context found in the postalCode connector');
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
+
const {
|
|
73
|
+
dataContext
|
|
74
|
+
} = additionalArgs;
|
|
75
|
+
const internalData = dataContext.internalDataRef.current;
|
|
76
|
+
const value = pointer.has(internalData, cityPath) ? pointer.get(internalData, cityPath) : undefined;
|
|
77
|
+
if (!value) {
|
|
78
|
+
dataContext.handlePathChangeUnvalidated(cityPath, payload.city);
|
|
79
|
+
}
|
|
72
80
|
}
|
|
73
81
|
};
|
|
74
82
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postalCode.js","names":["FormError","fetchData","getCountryCodeValue","handleCountryPath","isSupportedCountryCode","supportedCountryCodes","unsupportedCountryCodeMessage","preResponseResolver","value","postal_codes","responseResolver","data","handlerConfig","_data$postal_codes","resolver","postal_code","city","matcher","payload","autofill","generalConfig","abortControllerRef","current","autofillHandler","additionalArgs","length","countryCode","handler","_handlerConfig$preRes","parameters","String","toLowerCase","onMatch","cityPath","dataContext","Error","handlePathChangeUnvalidated","match","error","validator","validatorHandler","replace","_handlerConfig$preRes2","status","getMockData","toUpperCase"],"sources":["../../../../../../src/extensions/forms/Connectors/Bring/postalCode.ts"],"sourcesContent":["import type { Path, PathStrict, UseFieldProps } from '../../types'\nimport { FormError } from '../../utils'\nimport {\n GeneralConfig,\n HandlerConfig,\n PreResponseResolver,\n ResponseResolver,\n fetchData,\n getCountryCodeValue,\n handleCountryPath,\n isSupportedCountryCode,\n} from '../createContext'\n\nexport const supportedCountryCodes = [\n 'NO', // Norway\n 'DK', // Denmark\n 'SE', // Sweden\n 'FI', // Finland\n 'NL', // Netherlands\n 'DE', // Germany\n 'US', // United States\n 'BE', // Belgium\n 'FO', // Faroe Islands\n 'GL', // Greenland\n 'IS', // Iceland\n 'SJ', // Svalbard and Jan Mayen\n] as const\nexport type SupportedCountries = (typeof supportedCountryCodes)[number]\n\ntype AutofillHandlerConfig = HandlerConfig & {\n countryCode?:\n | PathStrict\n | SupportedCountries\n | Lowercase<SupportedCountries>\n}\n\nexport const unsupportedCountryCodeMessage =\n 'Postal code verification is not supported for {countryCode}.'\n\nexport type PostalCodeResolverData = {\n postal_codes: { postal_code: string; city: string }[]\n}\nexport type PostalCodeResolverPayload = {\n city: string\n}\n\nexport const preResponseResolver: PreResponseResolver = ({ value }) => {\n if (!value) {\n return { postal_codes: [] }\n }\n}\n\nexport const responseResolver: ResponseResolver<\n PostalCodeResolverData,\n PostalCodeResolverPayload\n> = (data, handlerConfig) => {\n const resolver = handlerConfig?.responseResolver\n if (typeof resolver === 'function') {\n return resolver(data) as ReturnType<typeof resolver> & {\n payload: PostalCodeResolverPayload\n }\n }\n\n const { postal_code, city } = data?.postal_codes?.[0] || {}\n\n return {\n matcher: (value) => value === postal_code,\n payload: { city },\n }\n}\n\nexport function autofill(\n generalConfig: GeneralConfig,\n handlerConfig?: AutofillHandlerConfig & { cityPath: Path }\n): UseFieldProps<string>['onChange'] {\n const abortControllerRef = { current: null }\n\n return async function autofillHandler(value, additionalArgs) {\n if (!(typeof value === 'string' && value.length >= 4)) {\n return // stop here\n }\n\n // Get country code from path or use given countryCode value\n const { countryCode } = handleCountryPath({\n value,\n countryCode: handlerConfig?.countryCode,\n additionalArgs,\n handler: autofillHandler,\n })\n\n if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {\n return // stop here\n }\n\n try {\n const parameters = {\n countryCode: String(countryCode).toLowerCase(),\n }\n const { data } = await fetchData<PostalCodeResolverData>(value, {\n generalConfig,\n parameters,\n abortControllerRef,\n preResponseResolver:\n handlerConfig?.preResponseResolver ?? preResponseResolver,\n })\n\n const onMatch = (payload: PostalCodeResolverPayload) => {\n const { cityPath } = handlerConfig || {}\n if (cityPath) {\n if (!additionalArgs.dataContext) {\n throw new Error(\n 'No data context found in the postalCode connector'\n )\n }\n additionalArgs.dataContext.handlePathChangeUnvalidated(\n cityPath,\n payload.city\n )\n }\n }\n\n const { matcher, payload } = responseResolver(data, handlerConfig)\n const match = matcher(value)\n\n if (match) {\n return onMatch(payload)\n }\n } catch (error) {\n return error\n }\n }\n}\n\nexport function validator(\n generalConfig: GeneralConfig,\n handlerConfig?: AutofillHandlerConfig\n):\n | UseFieldProps<string>['onChangeValidator']\n | UseFieldProps<string>['onBlurValidator'] {\n const abortControllerRef = { current: null }\n\n return async function validatorHandler(value, additionalArgs) {\n if (!(typeof value === 'string' && value.length >= 4)) {\n return // stop here\n }\n\n const { countryCode } = getCountryCodeValue({ additionalArgs })\n\n if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {\n return new Error(\n unsupportedCountryCodeMessage.replace('{countryCode}', countryCode)\n )\n }\n\n try {\n const parameters = {\n countryCode: String(countryCode).toLowerCase(),\n }\n const { data, status } = await fetchData<PostalCodeResolverData>(\n value,\n {\n generalConfig,\n parameters,\n abortControllerRef,\n preResponseResolver:\n handlerConfig?.preResponseResolver ?? preResponseResolver,\n }\n )\n\n const onMatch = () => {\n return new FormError('PostalCodeAndCity.invalidCode')\n }\n\n const { matcher } = responseResolver(data, handlerConfig)\n const match = matcher(value)\n\n if (status !== 400 && !match) {\n return onMatch()\n }\n } catch (error) {\n return error\n }\n }\n}\n\nexport function getMockData(countryCode?: string) {\n switch (String(countryCode).toUpperCase()) {\n case 'SE':\n return {\n postal_codes: [\n {\n city: 'Stockholm',\n postal_code: '11432',\n },\n ],\n }\n case 'NO':\n default:\n return {\n postal_codes: [\n {\n city: 'Vollen',\n postal_code: '1391',\n },\n ],\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"postalCode.js","names":["FormError","pointer","fetchData","getCountryCodeValue","handleCountryPath","isSupportedCountryCode","supportedCountryCodes","unsupportedCountryCodeMessage","preResponseResolver","value","postal_codes","responseResolver","data","handlerConfig","_data$postal_codes","resolver","postal_code","city","matcher","payload","autofill","generalConfig","abortControllerRef","current","autofillHandler","additionalArgs","length","countryCode","handler","_handlerConfig$preRes","parameters","String","toLowerCase","onMatch","cityPath","dataContext","Error","internalData","internalDataRef","has","get","undefined","handlePathChangeUnvalidated","match","error","validator","validatorHandler","replace","_handlerConfig$preRes2","status","getMockData","toUpperCase"],"sources":["../../../../../../src/extensions/forms/Connectors/Bring/postalCode.ts"],"sourcesContent":["import type { Path, PathStrict, UseFieldProps } from '../../types'\nimport { FormError } from '../../utils'\nimport pointer from '../../utils/json-pointer'\nimport {\n GeneralConfig,\n HandlerConfig,\n PreResponseResolver,\n ResponseResolver,\n fetchData,\n getCountryCodeValue,\n handleCountryPath,\n isSupportedCountryCode,\n} from '../createContext'\n\nexport const supportedCountryCodes = [\n 'NO', // Norway\n 'DK', // Denmark\n 'SE', // Sweden\n 'FI', // Finland\n 'NL', // Netherlands\n 'DE', // Germany\n 'US', // United States\n 'BE', // Belgium\n 'FO', // Faroe Islands\n 'GL', // Greenland\n 'IS', // Iceland\n 'SJ', // Svalbard and Jan Mayen\n] as const\nexport type SupportedCountries = (typeof supportedCountryCodes)[number]\n\ntype AutofillHandlerConfig = HandlerConfig & {\n countryCode?:\n | PathStrict\n | SupportedCountries\n | Lowercase<SupportedCountries>\n}\n\nexport const unsupportedCountryCodeMessage =\n 'Postal code verification is not supported for {countryCode}.'\n\nexport type PostalCodeResolverData = {\n postal_codes: { postal_code: string; city: string }[]\n}\nexport type PostalCodeResolverPayload = {\n city: string\n}\n\nexport const preResponseResolver: PreResponseResolver = ({ value }) => {\n if (!value) {\n return { postal_codes: [] }\n }\n}\n\nexport const responseResolver: ResponseResolver<\n PostalCodeResolverData,\n PostalCodeResolverPayload\n> = (data, handlerConfig) => {\n const resolver = handlerConfig?.responseResolver\n if (typeof resolver === 'function') {\n return resolver(data) as ReturnType<typeof resolver> & {\n payload: PostalCodeResolverPayload\n }\n }\n\n const { postal_code, city } = data?.postal_codes?.[0] || {}\n\n return {\n matcher: (value) => value === postal_code,\n payload: { city },\n }\n}\n\nexport function autofill(\n generalConfig: GeneralConfig,\n handlerConfig?: AutofillHandlerConfig & { cityPath: Path }\n): UseFieldProps<string>['onChange'] {\n const abortControllerRef = { current: null }\n\n return async function autofillHandler(value, additionalArgs) {\n if (!(typeof value === 'string' && value.length >= 4)) {\n return // stop here\n }\n\n // Get country code from path or use given countryCode value\n const { countryCode } = handleCountryPath({\n value,\n countryCode: handlerConfig?.countryCode,\n additionalArgs,\n handler: autofillHandler,\n })\n\n if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {\n return // stop here\n }\n\n try {\n const parameters = {\n countryCode: String(countryCode).toLowerCase(),\n }\n const { data } = await fetchData<PostalCodeResolverData>(value, {\n generalConfig,\n parameters,\n abortControllerRef,\n preResponseResolver:\n handlerConfig?.preResponseResolver ?? preResponseResolver,\n })\n\n const onMatch = (payload: PostalCodeResolverPayload) => {\n const { cityPath } = handlerConfig || {}\n if (cityPath) {\n if (!additionalArgs.dataContext) {\n throw new Error(\n 'No data context found in the postalCode connector'\n )\n }\n const { dataContext } = additionalArgs\n const internalData = dataContext.internalDataRef.current\n const value = pointer.has(internalData, cityPath)\n ? pointer.get(internalData, cityPath)\n : undefined\n if (!value) {\n dataContext.handlePathChangeUnvalidated(cityPath, payload.city)\n }\n }\n }\n\n const { matcher, payload } = responseResolver(data, handlerConfig)\n const match = matcher(value)\n\n if (match) {\n return onMatch(payload)\n }\n } catch (error) {\n return error\n }\n }\n}\n\nexport function validator(\n generalConfig: GeneralConfig,\n handlerConfig?: AutofillHandlerConfig\n):\n | UseFieldProps<string>['onChangeValidator']\n | UseFieldProps<string>['onBlurValidator'] {\n const abortControllerRef = { current: null }\n\n return async function validatorHandler(value, additionalArgs) {\n if (!(typeof value === 'string' && value.length >= 4)) {\n return // stop here\n }\n\n const { countryCode } = getCountryCodeValue({ additionalArgs })\n\n if (!isSupportedCountryCode(countryCode, supportedCountryCodes)) {\n return new Error(\n unsupportedCountryCodeMessage.replace('{countryCode}', countryCode)\n )\n }\n\n try {\n const parameters = {\n countryCode: String(countryCode).toLowerCase(),\n }\n const { data, status } = await fetchData<PostalCodeResolverData>(\n value,\n {\n generalConfig,\n parameters,\n abortControllerRef,\n preResponseResolver:\n handlerConfig?.preResponseResolver ?? preResponseResolver,\n }\n )\n\n const onMatch = () => {\n return new FormError('PostalCodeAndCity.invalidCode')\n }\n\n const { matcher } = responseResolver(data, handlerConfig)\n const match = matcher(value)\n\n if (status !== 400 && !match) {\n return onMatch()\n }\n } catch (error) {\n return error\n }\n }\n}\n\nexport function getMockData(countryCode?: string) {\n switch (String(countryCode).toUpperCase()) {\n case 'SE':\n return {\n postal_codes: [\n {\n city: 'Stockholm',\n postal_code: '11432',\n },\n ],\n }\n case 'NO':\n default:\n return {\n postal_codes: [\n {\n city: 'Vollen',\n postal_code: '1391',\n },\n ],\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContext.js","names":["COUNTRY","defaultCountry","createContext","generalConfig","withConfig","fn","handlerConfig","fetchDataFromAPI","options","fetchConfig","controller","abortControllerRef","current","abort","AbortController","signal","fetchOptions","method","headers","_objectSpread","Accept","response","fetch","url","data","json","error","name","fetchData","value","_options$preResponseR","parameters","result","preResponseResolver","call","u","
|
|
1
|
+
{"version":3,"file":"createContext.js","names":["COUNTRY","defaultCountry","createContext","generalConfig","withConfig","fn","handlerConfig","fetchDataFromAPI","options","fetchConfig","controller","abortControllerRef","current","abort","AbortController","signal","fetchOptions","method","headers","_objectSpread","Accept","response","fetch","url","data","json","error","name","fetchData","value","_options$preResponseR","parameters","result","preResponseResolver","call","u","Error","ok","statusText","status","getCountryCodeValue","countryCode","givenCountryCode","additionalArgs","_additionalArgs$props","countryCodeValue","props","getSourceValue","handleCountryPath","handler","_additionalArgs$props2","String","startsWith","setFieldEventListener","isSupportedCountryCode","supportedCountryCodes","includes","toUpperCase"],"sources":["../../../../../src/extensions/forms/Connectors/createContext.ts"],"sourcesContent":["import { ReceiveAdditionalEventArgs } from '../types'\nimport { COUNTRY as defaultCountry } from '../../../shared/defaults'\n\nexport type UrlSecondParameter = {\n countryCode: string\n}\nexport type GeneralConfig = {\n fetchConfig?: {\n url:\n | string\n | ((\n value: string,\n { countryCode }: UrlSecondParameter\n ) => string | Promise<string>)\n headers?: HeadersInit\n }\n}\n\nexport function createContext<GeneralConfigGeneric = GeneralConfig>(\n generalConfig: GeneralConfigGeneric = null\n) {\n return {\n withConfig<\n HandlerMethod extends (\n generalConfig: GeneralConfigGeneric,\n handlerConfig: unknown\n ) => ReturnType<HandlerMethod>,\n >(fn: HandlerMethod, handlerConfig?: Parameters<HandlerMethod>[1]) {\n return fn(generalConfig, handlerConfig)\n },\n }\n}\n\nexport type HandlerConfig = {\n preResponseResolver?: PreResponseResolver\n responseResolver?: ResponseResolver\n}\nexport type PreResponseResolver = (fromField: { value: string }) => unknown\nexport type ResponseResolver<\n Response = unknown,\n Payload = Record<string, unknown>,\n> = (\n response: Response,\n handlerConfig?: HandlerConfig\n) => {\n /**\n * The matcher to be used to determine if and how the connector,\n * such as an validator for `onChangeValidator` or `onBlurValidator`,\n * should validate the field value.\n */\n matcher?: (value: string) => boolean\n\n /**\n * The payload to be returned and used by the connector.\n */\n payload?: Payload\n}\n\nexport type FetchDataFromAPIOptions = {\n generalConfig: GeneralConfig\n parameters?: UrlSecondParameter\n abortControllerRef?: { current: null | AbortController }\n preResponseResolver?: PreResponseResolver\n}\n\nasync function fetchDataFromAPI<Data = unknown>(\n generalConfig: GeneralConfig & { fetchConfig: { url: string } },\n options?: FetchDataFromAPIOptions\n): Promise<{\n data: Data\n response: Response\n}> {\n const { fetchConfig } = generalConfig\n\n const controller = options?.abortControllerRef\n if (controller) {\n if (controller.current) {\n controller.current.abort()\n controller.current = null\n }\n if (!controller.current) {\n controller.current = new AbortController()\n }\n }\n const { signal } = controller?.current || {}\n\n const fetchOptions = {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n ...fetchConfig.headers,\n },\n signal,\n }\n\n try {\n const response = await fetch(fetchConfig.url, fetchOptions)\n\n if (controller) {\n controller.current = null\n }\n\n return {\n response,\n data: await response.json(),\n }\n } catch (error) {\n if (error.name !== 'AbortError') {\n return error\n }\n }\n}\n\nexport type FetchDataReturnValue<Data = unknown> = {\n data: Data\n status: number\n}\n\nexport async function fetchData<Data = unknown>(\n value: string,\n options: FetchDataFromAPIOptions\n): Promise<FetchDataReturnValue<Data>> {\n const { generalConfig, parameters } = options || {}\n\n const result = options?.preResponseResolver?.({ value })\n if (typeof result !== 'undefined') {\n return result as FetchDataReturnValue<Data>\n }\n\n const u = generalConfig.fetchConfig.url\n const url = typeof u === 'function' ? await u(value, parameters) : u\n\n const { data, response } = await fetchDataFromAPI<Data>(\n {\n ...generalConfig,\n fetchConfig: {\n ...generalConfig.fetchConfig,\n url,\n },\n },\n options\n )\n\n if (!response) {\n throw new Error('Please try again!')\n }\n\n // Check if the response status is in the range of 200-299\n if (!response.ok) {\n throw new Error(`${response.statusText} – Status: ${response.status}`)\n }\n\n return { data, status: response.status }\n}\n\nexport function getCountryCodeValue({\n countryCode: givenCountryCode,\n additionalArgs,\n}: {\n countryCode?: string\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n}) {\n const countryCodeValue =\n givenCountryCode ||\n additionalArgs.props?.['data-country-code'] ||\n defaultCountry\n const countryCode =\n additionalArgs.getSourceValue<string>(countryCodeValue) ||\n givenCountryCode\n return { countryCode, countryCodeValue }\n}\n\nexport function handleCountryPath({\n value,\n countryCode: givenCountryCode,\n additionalArgs,\n handler,\n}: {\n value: string\n countryCode?: string\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n handler: (\n value: string,\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n ) => void\n}) {\n const { countryCode, countryCodeValue } = getCountryCodeValue({\n countryCode:\n givenCountryCode || additionalArgs.props?.['data-country-code'],\n additionalArgs,\n })\n\n if (\n String(countryCodeValue).startsWith('/') &&\n additionalArgs[handler.name] !== handler\n ) {\n additionalArgs[handler.name] = handler\n additionalArgs.setFieldEventListener(\n countryCodeValue,\n 'onPathChange',\n () => {\n handler(value, additionalArgs)\n }\n )\n }\n\n return { countryCode }\n}\n\nexport function isSupportedCountryCode(\n countryCode: string,\n supportedCountryCodes: readonly string[]\n) {\n if (!countryCode) {\n return false\n }\n return (supportedCountryCodes as unknown as Array<string>).includes(\n String(countryCode).toUpperCase()\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Props as StringFieldProps } from '../String';
|
|
3
|
+
import type { AutocompleteAllProps } from '../../../../components/autocomplete/Autocomplete';
|
|
4
|
+
import { ToCamelCase } from '../../../../shared/helpers/withCamelCaseProps';
|
|
3
5
|
export type Props = StringFieldProps & {
|
|
4
6
|
element?: React.ElementType<Props>;
|
|
7
|
+
autocompleteProps?: ToCamelCase<AutocompleteAllProps>;
|
|
5
8
|
};
|
|
6
9
|
declare function Address(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
10
|
declare namespace Address {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.js","names":["React","useMemo","StringField","useTranslation","Address","props","element","Element","rest","_objectWithoutProperties","_excluded","Object","assign","_objectSpread","autoComplete","inputMode","trim","createElement","_supportsSpacingProps","Postal","PostalAddress","label","errorRequired","errorPattern","errorMessages","postalAddressProps","Street","StreetAddress","streetAddressProps"],"sources":["../../../../../../src/extensions/forms/Field/Address/Address.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps & {\n element?: React.ElementType<Props>\n}\n\nfunction Address(props: Props) {\n const { element: Element = StringField, ...rest } = props\n\n if (Element === StringField) {\n Object.assign(rest, {\n autoComplete: 'street-address',\n inputMode: 'text',\n trim: true,\n ...rest,\n })\n }\n\n return <Element {...rest} />\n}\nAddress._supportsSpacingProps = true\n\nAddress.Postal = function PostalAddress(props: Props) {\n const { label, errorRequired, errorPattern } =\n useTranslation().PostalAddress\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorPattern,\n ...props.errorMessages,\n }),\n [errorPattern, errorRequired, props.errorMessages]\n )\n\n const postalAddressProps: Props = {\n label,\n errorMessages,\n ...props,\n }\n\n return <Address {...postalAddressProps} />\n}\nAddress.Postal['_supportsSpacingProps'] = true\n\nAddress.Street = function StreetAddress(props: Props) {\n const { label, errorRequired, errorPattern } =\n useTranslation().StreetAddress\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorPattern,\n ...props.errorMessages,\n }),\n [errorPattern, errorRequired, props.errorMessages]\n )\n\n const streetAddressProps: Props = {\n label,\n errorMessages,\n ...props,\n }\n\n return <Address {...streetAddressProps} />\n}\nAddress.Street['_supportsSpacingProps'] = true\n\nexport default Address\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,cAAc,MAAM,4BAA4B;
|
|
1
|
+
{"version":3,"file":"Address.js","names":["React","useMemo","StringField","useTranslation","Address","props","element","Element","rest","_objectWithoutProperties","_excluded","Object","assign","_objectSpread","autoComplete","inputMode","trim","createElement","_supportsSpacingProps","Postal","PostalAddress","label","errorRequired","errorPattern","errorMessages","postalAddressProps","Street","StreetAddress","streetAddressProps"],"sources":["../../../../../../src/extensions/forms/Field/Address/Address.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\nimport type { AutocompleteAllProps } from '../../../../components/autocomplete/Autocomplete'\nimport { ToCamelCase } from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = StringFieldProps & {\n element?: React.ElementType<Props>\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n}\n\nfunction Address(props: Props) {\n const { element: Element = StringField, ...rest } = props\n\n if (Element === StringField) {\n Object.assign(rest, {\n autoComplete: 'street-address',\n inputMode: 'text',\n trim: true,\n ...rest,\n })\n }\n\n return <Element {...rest} />\n}\nAddress._supportsSpacingProps = true\n\nAddress.Postal = function PostalAddress(props: Props) {\n const { label, errorRequired, errorPattern } =\n useTranslation().PostalAddress\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorPattern,\n ...props.errorMessages,\n }),\n [errorPattern, errorRequired, props.errorMessages]\n )\n\n const postalAddressProps: Props = {\n label,\n errorMessages,\n ...props,\n }\n\n return <Address {...postalAddressProps} />\n}\nAddress.Postal['_supportsSpacingProps'] = true\n\nAddress.Street = function StreetAddress(props: Props) {\n const { label, errorRequired, errorPattern } =\n useTranslation().StreetAddress\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorPattern,\n ...props.errorMessages,\n }),\n [errorPattern, errorRequired, props.errorMessages]\n )\n\n const streetAddressProps: Props = {\n label,\n errorMessages,\n ...props,\n }\n\n return <Address {...streetAddressProps} />\n}\nAddress.Street['_supportsSpacingProps'] = true\n\nexport default Address\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,cAAc,MAAM,4BAA4B;AASvD,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC7B,MAAM;MAAEC,OAAO,EAAEC,OAAO,GAAGL;IAAqB,CAAC,GAAGG,KAAK;IAAdG,IAAI,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA;EAEzD,IAAIH,OAAO,KAAKL,WAAW,EAAE;IAC3BS,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAAK,aAAA;MAChBC,YAAY,EAAE,gBAAgB;MAC9BC,SAAS,EAAE,MAAM;MACjBC,IAAI,EAAE;IAAI,GACPR,IAAI,CACR,CAAC;EACJ;EAEA,OAAOR,KAAA,CAAAiB,aAAA,CAACV,OAAO,EAAKC,IAAO,CAAC;AAC9B;AACAJ,OAAO,CAACc,qBAAqB,GAAG,IAAI;AAEpCd,OAAO,CAACe,MAAM,GAAG,SAASC,aAAaA,CAACf,KAAY,EAAE;EACpD,MAAM;IAAEgB,KAAK;IAAEC,aAAa;IAAEC;EAAa,CAAC,GAC1CpB,cAAc,CAAC,CAAC,CAACiB,aAAa;EAEhC,MAAMI,aAAa,GAAGvB,OAAO,CAC3B,MAAAY,aAAA;IACE,qBAAqB,EAAES,aAAa;IACpC,oBAAoB,EAAEC;EAAY,GAC/BlB,KAAK,CAACmB,aAAa,CACtB,EACF,CAACD,YAAY,EAAED,aAAa,EAAEjB,KAAK,CAACmB,aAAa,CACnD,CAAC;EAED,MAAMC,kBAAyB,GAAAZ,aAAA;IAC7BQ,KAAK;IACLG;EAAa,GACVnB,KAAK,CACT;EAED,OAAOL,KAAA,CAAAiB,aAAA,CAACb,OAAO,EAAKqB,kBAAqB,CAAC;AAC5C,CAAC;AACDrB,OAAO,CAACe,MAAM,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE9Cf,OAAO,CAACsB,MAAM,GAAG,SAASC,aAAaA,CAACtB,KAAY,EAAE;EACpD,MAAM;IAAEgB,KAAK;IAAEC,aAAa;IAAEC;EAAa,CAAC,GAC1CpB,cAAc,CAAC,CAAC,CAACwB,aAAa;EAEhC,MAAMH,aAAa,GAAGvB,OAAO,CAC3B,MAAAY,aAAA;IACE,qBAAqB,EAAES,aAAa;IACpC,oBAAoB,EAAEC;EAAY,GAC/BlB,KAAK,CAACmB,aAAa,CACtB,EACF,CAACD,YAAY,EAAED,aAAa,EAAEjB,KAAK,CAACmB,aAAa,CACnD,CAAC;EAED,MAAMI,kBAAyB,GAAAf,aAAA;IAC7BQ,KAAK;IACLG;EAAa,GACVnB,KAAK,CACT;EAED,OAAOL,KAAA,CAAAiB,aAAA,CAACb,OAAO,EAAKwB,kBAAqB,CAAC;AAC5C,CAAC;AACDxB,OAAO,CAACsB,MAAM,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE9C,eAAetB,OAAO","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ export const BooleanProperties = {
|
|
|
11
11
|
status: 'optional'
|
|
12
12
|
},
|
|
13
13
|
variant: {
|
|
14
|
-
doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',
|
|
14
|
+
doc: 'Choice of input feature. Can be: `checkbox`, `switch`, `button`, `checkbox-button` or `buttons`.',
|
|
15
15
|
type: 'string',
|
|
16
16
|
status: 'optional'
|
|
17
17
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanDocs.js","names":["ToggleProperties","BooleanProperties","trueText","doc","type","status","falseText","variant","size","BooleanEvents","onClick"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/BooleanDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { ToggleProperties } from '../Toggle/ToggleDocs'\n\nexport const BooleanProperties: PropertiesTableProps = {\n trueText: {\n doc: 'Text to show in the UI when value is `true`.',\n type: 'string',\n status: 'optional',\n },\n falseText: {\n doc: 'Text to show in the UI when value is `false`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n size: ToggleProperties.size,\n}\n\nexport const BooleanEvents: PropertiesTableProps = {\n onClick: {\n doc: 'Will be called on click.',\n type: '(value: unknown, { event: ClickEvent, preventDefault: () => void }) => void',\n status: 'optional',\n },\n}\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AAEvD,OAAO,MAAMC,iBAAuC,GAAG;EACrDC,QAAQ,EAAE;IACRC,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"BooleanDocs.js","names":["ToggleProperties","BooleanProperties","trueText","doc","type","status","falseText","variant","size","BooleanEvents","onClick"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/BooleanDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { ToggleProperties } from '../Toggle/ToggleDocs'\n\nexport const BooleanProperties: PropertiesTableProps = {\n trueText: {\n doc: 'Text to show in the UI when value is `true`.',\n type: 'string',\n status: 'optional',\n },\n falseText: {\n doc: 'Text to show in the UI when value is `false`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `switch`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n size: ToggleProperties.size,\n}\n\nexport const BooleanEvents: PropertiesTableProps = {\n onClick: {\n doc: 'Will be called on click.',\n type: '(value: unknown, { event: ClickEvent, preventDefault: () => void }) => void',\n status: 'optional',\n },\n}\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AAEvD,OAAO,MAAMC,iBAAuC,GAAG;EACrDC,QAAQ,EAAE;IACRC,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAER,gBAAgB,CAACQ;AACzB,CAAC;AAED,OAAO,MAAMC,aAAmC,GAAG;EACjDC,OAAO,EAAE;IACPP,GAAG,EAAE,0BAA0B;IAC/BC,IAAI,EAAE,6EAA6E;IACnFC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -16,10 +16,11 @@ import FieldBlock from '../../FieldBlock';
|
|
|
16
16
|
import SharedContext from '../../../../shared/Context';
|
|
17
17
|
import { parseISO, isValid, isBefore, isAfter } from 'date-fns';
|
|
18
18
|
import useTranslation from '../../hooks/useTranslation';
|
|
19
|
-
import { convertStringToDate
|
|
19
|
+
import { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc';
|
|
20
20
|
import { FormError } from '../../utils';
|
|
21
21
|
import startOfDay from 'date-fns/startOfDay';
|
|
22
22
|
import useInvalidDates from './hooks/useInvalidDates';
|
|
23
|
+
import { formatDate } from '../../../../components/date-format/DateFormatUtils';
|
|
23
24
|
function DateComponent(props) {
|
|
24
25
|
const {
|
|
25
26
|
errorRequired,
|
|
@@ -214,7 +215,9 @@ function validateDateLimit(_ref) {
|
|
|
214
215
|
};
|
|
215
216
|
const options = {
|
|
216
217
|
locale,
|
|
217
|
-
|
|
218
|
+
options: {
|
|
219
|
+
dateStyle: 'long'
|
|
220
|
+
}
|
|
218
221
|
};
|
|
219
222
|
const messages = [];
|
|
220
223
|
if (!isRange) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Date.js","names":["React","useCallback","useContext","useMemo","DatePicker","useFieldProps","pickSpacingProps","classnames","FieldBlock","SharedContext","parseISO","isValid","isBefore","isAfter","useTranslation","convertStringToDate","formatDate","FormError","startOfDay","useInvalidDates","DateComponent","props","errorRequired","label","defaultLabel","Date","locale","invalidDatesRef","setInvalidDates","errorMessages","_objectSpread","schema","_props$schema","type","pattern","validateRequired","value","required","error","undefined","range","startDate","endDate","parseRangeValue","dateValidator","invalidDateErrors","validateDate","current","minDate","maxDate","dateLimitErrors","validateDateLimit","isRange","onBlurValidator","fromInput","date","start_date","end_date","invalidDate","invalidStartDate","invalidEndDate","preparedProps","exportValidators","_useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","width","rest","_objectWithoutProperties","_excluded","datePickerProps","pickDatePickerProps","fieldBlockProps","forId","createElement","_extends","stretch","status","onChange","event","onFocus","onBlur","split","map","test","_ref","dates","_excluded2","startDateParsed","endDateParsed","isoDates","toISOString","options","variant","messages","push","messageValues","errors","datePickerPropKeys","Object","keys","reduce","key","includes","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport {\n FormatDateOptions,\n convertStringToDate,\n formatDate,\n} from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\nimport startOfDay from 'date-fns/startOfDay'\nimport { InvalidDates } from '../../../../components/date-picker/DatePickerInput'\nimport useInvalidDates from './hooks/useInvalidDates'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n | 'skipPortal'\n | 'yearNavigation'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const { invalidDatesRef, setInvalidDates } = useInvalidDates()\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (!required) {\n return undefined\n }\n\n if (props.range) {\n const [startDate, endDate] = parseRangeValue(value)\n\n if (!startDate && !endDate) {\n return new FormError('Date.errorRequiredRange')\n }\n }\n\n return !value || !isValid(parseISO(value)) ? error : undefined\n },\n [props.range]\n )\n\n const dateValidator = useCallback(\n (value: string) => {\n const invalidDateErrors = validateDate(invalidDatesRef.current)\n\n // No need to validate min/max date if they are not provided\n if (!props.minDate && !props.maxDate) {\n return invalidDateErrors\n }\n\n const dateLimitErrors = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return [...invalidDateErrors, ...dateLimitErrors]\n },\n [props.maxDate, props.minDate, props.range, invalidDatesRef, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateValidator\n }, [props.onBlurValidator, dateValidator])\n\n const fromInput = useCallback(\n ({\n date,\n start_date,\n end_date,\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n // Add to ref, for use in onBlurValidator, would be better if there was a way to add this to additional args\n setInvalidDates({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n })\n\n return props.range ? `${start_date}|${end_date}` : date\n },\n [props.range, setInvalidDates]\n )\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n validateRequired,\n onBlurValidator,\n exportValidators: { dateValidator },\n invalidDatesRef,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n width,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n width,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n stretch={width !== undefined}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport function parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\n// Validators\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return []\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n // Set dates to the start of the day to compare the actual days, and not day and time\n const minDate = startOfDay(convertStringToDate(dates.minDate))\n const maxDate = startOfDay(convertStringToDate(dates.maxDate))\n\n const startDate = startOfDay(convertStringToDate(startDateParsed))\n const endDate = startOfDay(convertStringToDate(endDateParsed))\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n const messages: Array<FormError> = []\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n }\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\nfunction validateDate({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n}: InvalidDates) {\n if (invalidDate) {\n return [\n new FormError('Date.errorInvalidDate', {\n messageValues: { date: invalidDate },\n }),\n ]\n }\n\n const errors: Array<FormError> = []\n\n if (invalidStartDate) {\n errors.push(\n new FormError('Date.errorInvalidStartDate', {\n messageValues: { date: invalidStartDate },\n })\n )\n }\n\n if (invalidEndDate) {\n errors.push(\n new FormError('Date.errorInvalidEndDate', {\n messageValues: { date: invalidEndDate },\n })\n )\n }\n\n return errors\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n 'skipPortal',\n 'yearNavigation',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Date.js","names":["React","useCallback","useContext","useMemo","DatePicker","useFieldProps","pickSpacingProps","classnames","FieldBlock","SharedContext","parseISO","isValid","isBefore","isAfter","useTranslation","convertStringToDate","FormError","startOfDay","useInvalidDates","formatDate","DateComponent","props","errorRequired","label","defaultLabel","Date","locale","invalidDatesRef","setInvalidDates","errorMessages","_objectSpread","schema","_props$schema","type","pattern","validateRequired","value","required","error","undefined","range","startDate","endDate","parseRangeValue","dateValidator","invalidDateErrors","validateDate","current","minDate","maxDate","dateLimitErrors","validateDateLimit","isRange","onBlurValidator","fromInput","date","start_date","end_date","invalidDate","invalidStartDate","invalidEndDate","preparedProps","exportValidators","_useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","width","rest","_objectWithoutProperties","_excluded","datePickerProps","pickDatePickerProps","fieldBlockProps","forId","createElement","_extends","stretch","status","onChange","event","onFocus","onBlur","split","map","test","_ref","dates","_excluded2","startDateParsed","endDateParsed","isoDates","toISOString","options","dateStyle","messages","push","messageValues","errors","datePickerPropKeys","Object","keys","reduce","key","includes","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\nimport startOfDay from 'date-fns/startOfDay'\nimport { InvalidDates } from '../../../../components/date-picker/DatePickerInput'\nimport useInvalidDates from './hooks/useInvalidDates'\nimport {\n FormatDateOptions,\n formatDate,\n} from '../../../../components/date-format/DateFormatUtils'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n | 'skipPortal'\n | 'yearNavigation'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const { invalidDatesRef, setInvalidDates } = useInvalidDates()\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (!required) {\n return undefined\n }\n\n if (props.range) {\n const [startDate, endDate] = parseRangeValue(value)\n\n if (!startDate && !endDate) {\n return new FormError('Date.errorRequiredRange')\n }\n }\n\n return !value || !isValid(parseISO(value)) ? error : undefined\n },\n [props.range]\n )\n\n const dateValidator = useCallback(\n (value: string) => {\n const invalidDateErrors = validateDate(invalidDatesRef.current)\n\n // No need to validate min/max date if they are not provided\n if (!props.minDate && !props.maxDate) {\n return invalidDateErrors\n }\n\n const dateLimitErrors = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return [...invalidDateErrors, ...dateLimitErrors]\n },\n [props.maxDate, props.minDate, props.range, invalidDatesRef, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateValidator\n }, [props.onBlurValidator, dateValidator])\n\n const fromInput = useCallback(\n ({\n date,\n start_date,\n end_date,\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n // Add to ref, for use in onBlurValidator, would be better if there was a way to add this to additional args\n setInvalidDates({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n })\n\n return props.range ? `${start_date}|${end_date}` : date\n },\n [props.range, setInvalidDates]\n )\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n validateRequired,\n onBlurValidator,\n exportValidators: { dateValidator },\n invalidDatesRef,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n width,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n width,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n stretch={width !== undefined}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport function parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\n// Validators\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return []\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n // Set dates to the start of the day to compare the actual days, and not day and time\n const minDate = startOfDay(convertStringToDate(dates.minDate))\n const maxDate = startOfDay(convertStringToDate(dates.maxDate))\n\n const startDate = startOfDay(convertStringToDate(startDateParsed))\n const endDate = startOfDay(convertStringToDate(endDateParsed))\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n options: { dateStyle: 'long' },\n }\n\n const messages: Array<FormError> = []\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n }\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\nfunction validateDate({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n}: InvalidDates) {\n if (invalidDate) {\n return [\n new FormError('Date.errorInvalidDate', {\n messageValues: { date: invalidDate },\n }),\n ]\n }\n\n const errors: Array<FormError> = []\n\n if (invalidStartDate) {\n errors.push(\n new FormError('Date.errorInvalidStartDate', {\n messageValues: { date: invalidStartDate },\n })\n )\n }\n\n if (invalidEndDate) {\n errors.push(\n new FormError('Date.errorInvalidEndDate', {\n messageValues: { date: invalidEndDate },\n })\n )\n }\n\n return errors\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n 'skipPortal',\n 'yearNavigation',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,10 +25,10 @@ export default function Indeterminate(props) {
|
|
|
25
25
|
onChange === null || onChange === void 0 ? void 0 : onChange(value === valueOn ? valueOn : valueOff);
|
|
26
26
|
}, [onChange, setAllStates, valueOff, valueOn]);
|
|
27
27
|
const value = useMemo(() => {
|
|
28
|
-
if (typeof
|
|
29
|
-
return
|
|
28
|
+
if (typeof internalValue !== 'undefined') {
|
|
29
|
+
return internalValue ? valueOn : valueOff;
|
|
30
30
|
}
|
|
31
|
-
return
|
|
31
|
+
return valueProp;
|
|
32
32
|
}, [valueProp, internalValue, valueOn, valueOff]);
|
|
33
33
|
return React.createElement(Toggle, _extends({}, rest, {
|
|
34
34
|
variant: "checkbox",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indeterminate.js","names":["React","useCallback","useMemo","Toggle","useDependencePaths","Indeterminate","props","dependencePaths","propagateIndeterminateState","valueOn","valueOff","value","valueProp","onChange","rest","_objectWithoutProperties","_excluded","indeterminate","internalValue","setAllStates","ariaControlsIds","changeHandler","createElement","_extends","variant","htmlAttributes"],"sources":["../../../../../../src/extensions/forms/Field/Indeterminate/Indeterminate.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport Toggle, { Props as ToggleAllProps } from '../Toggle/Toggle'\nimport useDependencePaths from './useDependencePaths'\nimport { Path } from '../../types'\n\nexport type Props = Partial<Omit<ToggleAllProps, 'textOn' | 'textOff'>> & {\n /**\n * An array of paths to the data object.\n */\n dependencePaths: Array<Path>\n\n /**\n * When `checked`, the dependent checkboxes will always be set to \"checked\" when in indeterminate state.\n * When `unchecked`, the dependent checkboxes will be set to \"unchecked\" when in indeterminate state.\n * When \"auto\", the dependent checkboxes will get the inverted state from where the (this) parent checkbox is in.\n * Default is `checked`.\n */\n propagateIndeterminateState?: 'checked' | 'unchecked' | 'auto'\n}\n\nexport default function Indeterminate(props: Props) {\n const {\n dependencePaths,\n propagateIndeterminateState = 'checked',\n valueOn = true,\n valueOff = false,\n value: valueProp,\n onChange,\n ...rest\n } = props\n\n const { indeterminate, internalValue, setAllStates, ariaControlsIds } =\n useDependencePaths(dependencePaths, propagateIndeterminateState)\n\n const changeHandler = useCallback(\n (value: unknown) => {\n setAllStates(value === valueOn)\n onChange?.(value === valueOn ? valueOn : valueOff)\n },\n [onChange, setAllStates, valueOff, valueOn]\n )\n\n const value = useMemo(() => {\n if (typeof
|
|
1
|
+
{"version":3,"file":"Indeterminate.js","names":["React","useCallback","useMemo","Toggle","useDependencePaths","Indeterminate","props","dependencePaths","propagateIndeterminateState","valueOn","valueOff","value","valueProp","onChange","rest","_objectWithoutProperties","_excluded","indeterminate","internalValue","setAllStates","ariaControlsIds","changeHandler","createElement","_extends","variant","htmlAttributes"],"sources":["../../../../../../src/extensions/forms/Field/Indeterminate/Indeterminate.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport Toggle, { Props as ToggleAllProps } from '../Toggle/Toggle'\nimport useDependencePaths from './useDependencePaths'\nimport { Path } from '../../types'\n\nexport type Props = Partial<Omit<ToggleAllProps, 'textOn' | 'textOff'>> & {\n /**\n * An array of paths to the data object.\n */\n dependencePaths: Array<Path>\n\n /**\n * When `checked`, the dependent checkboxes will always be set to \"checked\" when in indeterminate state.\n * When `unchecked`, the dependent checkboxes will be set to \"unchecked\" when in indeterminate state.\n * When \"auto\", the dependent checkboxes will get the inverted state from where the (this) parent checkbox is in.\n * Default is `checked`.\n */\n propagateIndeterminateState?: 'checked' | 'unchecked' | 'auto'\n}\n\nexport default function Indeterminate(props: Props) {\n const {\n dependencePaths,\n propagateIndeterminateState = 'checked',\n valueOn = true,\n valueOff = false,\n value: valueProp,\n onChange,\n ...rest\n } = props\n\n const { indeterminate, internalValue, setAllStates, ariaControlsIds } =\n useDependencePaths(dependencePaths, propagateIndeterminateState)\n\n const changeHandler = useCallback(\n (value: unknown) => {\n setAllStates(value === valueOn)\n onChange?.(value === valueOn ? valueOn : valueOff)\n },\n [onChange, setAllStates, valueOff, valueOn]\n )\n\n const value = useMemo(() => {\n if (typeof internalValue !== 'undefined') {\n return internalValue ? valueOn : valueOff\n }\n\n return valueProp\n }, [valueProp, internalValue, valueOn, valueOff])\n\n return (\n <Toggle\n {...rest}\n variant=\"checkbox\"\n htmlAttributes={{\n indeterminate,\n ['aria-controls']: ariaControlsIds,\n }}\n valueOn={valueOn}\n valueOff={valueOff}\n value={value}\n onChange={changeHandler}\n />\n )\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,OAAOC,MAAM,MAAmC,kBAAkB;AAClE,OAAOC,kBAAkB,MAAM,sBAAsB;AAkBrD,eAAe,SAASC,aAAaA,CAACC,KAAY,EAAE;EAClD,MAAM;MACJC,eAAe;MACfC,2BAA2B,GAAG,SAAS;MACvCC,OAAO,GAAG,IAAI;MACdC,QAAQ,GAAG,KAAK;MAChBC,KAAK,EAAEC,SAAS;MAChBC;IAEF,CAAC,GAAGP,KAAK;IADJQ,IAAI,GAAAC,wBAAA,CACLT,KAAK,EAAAU,SAAA;EAET,MAAM;IAAEC,aAAa;IAAEC,aAAa;IAAEC,YAAY;IAAEC;EAAgB,CAAC,GACnEhB,kBAAkB,CAACG,eAAe,EAAEC,2BAA2B,CAAC;EAElE,MAAMa,aAAa,GAAGpB,WAAW,CAC9BU,KAAc,IAAK;IAClBQ,YAAY,CAACR,KAAK,KAAKF,OAAO,CAAC;IAC/BI,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGF,KAAK,KAAKF,OAAO,GAAGA,OAAO,GAAGC,QAAQ,CAAC;EACpD,CAAC,EACD,CAACG,QAAQ,EAAEM,YAAY,EAAET,QAAQ,EAAED,OAAO,CAC5C,CAAC;EAED,MAAME,KAAK,GAAGT,OAAO,CAAC,MAAM;IAC1B,IAAI,OAAOgB,aAAa,KAAK,WAAW,EAAE;MACxC,OAAOA,aAAa,GAAGT,OAAO,GAAGC,QAAQ;IAC3C;IAEA,OAAOE,SAAS;EAClB,CAAC,EAAE,CAACA,SAAS,EAAEM,aAAa,EAAET,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEjD,OACEV,KAAA,CAAAsB,aAAA,CAACnB,MAAM,EAAAoB,QAAA,KACDT,IAAI;IACRU,OAAO,EAAC,UAAU;IAClBC,cAAc,EAAE;MACdR,aAAa;MACb,CAAC,eAAe,GAAGG;IACrB,CAAE;IACFX,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBC,KAAK,EAAEA,KAAM;IACbE,QAAQ,EAAEQ;EAAc,EACzB,CAAC;AAEN","ignoreList":[]}
|