@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
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
@import '../../../style/core/utilities.scss';
|
|
7
7
|
|
|
8
|
+
:root {
|
|
9
|
+
--tooltip-z-index: 3100; // above modal
|
|
10
|
+
}
|
|
11
|
+
|
|
8
12
|
.dnb-tooltip {
|
|
9
13
|
--tooltip-color: white;
|
|
10
14
|
--tooltip-background-color: black;
|
|
@@ -12,7 +16,10 @@
|
|
|
12
16
|
--tooltip-border-radius: 1rem;
|
|
13
17
|
|
|
14
18
|
position: absolute;
|
|
15
|
-
z-index:
|
|
19
|
+
z-index: 1000;
|
|
20
|
+
.dnb-tooltip--inside-modal & {
|
|
21
|
+
z-index: var(--tooltip-z-index);
|
|
22
|
+
}
|
|
16
23
|
|
|
17
24
|
display: flex;
|
|
18
25
|
flex-direction: column;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
var _UploadInfo, _UploadFileList;
|
|
6
|
+
var _UploadInfo, _UploadFileList, _br;
|
|
7
7
|
const _excluded = ["buttonTextSingular", "textSingular"],
|
|
8
|
-
_excluded2 = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "onFileClick", "download", "allowDuplicates", "title", "text", "fileTypeTableCaption", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel", "disableDragAndDrop"];
|
|
8
|
+
_excluded2 = ["id", "variant", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "onFileClick", "download", "allowDuplicates", "title", "text", "fileTypeTableCaption", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel", "disableDragAndDrop"];
|
|
9
9
|
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; }
|
|
10
10
|
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; }
|
|
11
11
|
import React, { useCallback } from 'react';
|
|
@@ -23,6 +23,7 @@ import { UploadContext, defaultProps } from './UploadContext';
|
|
|
23
23
|
import { verifyFiles } from './UploadVerify';
|
|
24
24
|
import UploadFileList from './UploadFileList';
|
|
25
25
|
import UploadInfo from './UploadInfo';
|
|
26
|
+
import FormLabel from '../FormLabel';
|
|
26
27
|
export { defaultProps };
|
|
27
28
|
const Upload = localProps => {
|
|
28
29
|
const context = React.useContext(Context);
|
|
@@ -41,6 +42,7 @@ const Upload = localProps => {
|
|
|
41
42
|
}, translations, context.Upload);
|
|
42
43
|
const {
|
|
43
44
|
id: idProp,
|
|
45
|
+
variant,
|
|
44
46
|
skeleton,
|
|
45
47
|
className,
|
|
46
48
|
acceptedFileTypes,
|
|
@@ -105,7 +107,8 @@ const Upload = localProps => {
|
|
|
105
107
|
}
|
|
106
108
|
return validFiles;
|
|
107
109
|
}, [acceptedFileTypes, errorLargeFile, errorUnsupportedFile, fileMaxSize, files, filesAmountLimit, getExistingFile, onChange, setFiles, setInternalFiles]);
|
|
108
|
-
const
|
|
110
|
+
const wrapperIsHeightAnimation = disableDragAndDrop || props.disabled;
|
|
111
|
+
const UploadWrapper = wrapperIsHeightAnimation ? HeightAnimation : UploadDropzone;
|
|
109
112
|
return React.createElement(UploadContext.Provider, {
|
|
110
113
|
value: _objectSpread(_objectSpread({}, extendedProps), {}, {
|
|
111
114
|
id,
|
|
@@ -113,12 +116,33 @@ const Upload = localProps => {
|
|
|
113
116
|
})
|
|
114
117
|
}, React.createElement(Provider, {
|
|
115
118
|
skeleton: skeleton
|
|
116
|
-
}, React.createElement(UploadWrapper, {
|
|
117
|
-
className: classnames(
|
|
118
|
-
},
|
|
119
|
-
|
|
119
|
+
}, React.createElement(UploadWrapper, _extends({
|
|
120
|
+
className: classnames(`dnb-upload dnb-upload--${variant || 'normal'}`, spacingClasses, className)
|
|
121
|
+
}, !wrapperIsHeightAnimation ? {
|
|
122
|
+
hideOutline: variant === 'compact'
|
|
123
|
+
} : {}), variant !== 'compact' && (_UploadInfo || (_UploadInfo = React.createElement(UploadInfo, null))), variant === 'compact' && (title || text) && React.createElement(React.Fragment, null, React.createElement(CompactLabel, {
|
|
124
|
+
id: id,
|
|
125
|
+
title: title,
|
|
126
|
+
text: text
|
|
127
|
+
}), props === null || props === void 0 ? void 0 : props.children), React.createElement(UploadFileInput, _extends({
|
|
128
|
+
disabled: props.disabled,
|
|
129
|
+
files: files
|
|
120
130
|
}, props)), _UploadFileList || (_UploadFileList = React.createElement(UploadFileList, null)))));
|
|
121
131
|
};
|
|
132
|
+
function CompactLabel(props) {
|
|
133
|
+
const {
|
|
134
|
+
id,
|
|
135
|
+
title,
|
|
136
|
+
text
|
|
137
|
+
} = props;
|
|
138
|
+
return React.createElement(FormLabel, {
|
|
139
|
+
forId: `${id}-input`,
|
|
140
|
+
vertical: true,
|
|
141
|
+
className: "dnb-upload__label"
|
|
142
|
+
}, React.createElement("span", null, title && React.createElement("span", null, title), title && text && (_br || (_br = React.createElement("br", null))), text && React.createElement("span", {
|
|
143
|
+
className: "dnb-upload__text"
|
|
144
|
+
}, text)));
|
|
145
|
+
}
|
|
122
146
|
Upload.useUpload = useUpload;
|
|
123
147
|
Upload._formElement = true;
|
|
124
148
|
Upload._supportsSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","useId","HeightAnimation","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","idProp","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","allowDuplicates","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","disableDragAndDrop","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","filesToVerify","filter","verifiedFiles","validFiles","slice","UploadWrapper","disabled","createElement","value","_objectSpread","_UploadInfo","_extends","_UploadFileList","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n allowDuplicates,\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n disableDragAndDrop,\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id =\n fileItem.exists && !allowDuplicates\n ? existingFile.id\n : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const filesToVerify = allowDuplicates\n ? mergedFiles\n : mergedFiles.filter(({ exists }) => !exists)\n\n const verifiedFiles = verifyFiles(filesToVerify, {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n })\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n const UploadWrapper =\n disableDragAndDrop || props.disabled ? HeightAnimation : UploadDropzone\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadWrapper\n className={classnames('dnb-upload', spacingClasses, className)}\n >\n <UploadInfo />\n\n <UploadFileInput disabled={props.disabled} {...props} />\n\n <UploadFileList />\n </UploadWrapper>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","useId","HeightAnimation","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","FormLabel","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","idProp","variant","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","allowDuplicates","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","disableDragAndDrop","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","filesToVerify","filter","verifiedFiles","validFiles","slice","wrapperIsHeightAnimation","disabled","UploadWrapper","createElement","value","_objectSpread","_extends","hideOutline","_UploadInfo","Fragment","CompactLabel","children","_UploadFileList","forId","vertical","_br","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\nimport FormLabel from '../FormLabel'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n variant,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n allowDuplicates,\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n disableDragAndDrop,\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id =\n fileItem.exists && !allowDuplicates\n ? existingFile.id\n : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const filesToVerify = allowDuplicates\n ? mergedFiles\n : mergedFiles.filter(({ exists }) => !exists)\n\n const verifiedFiles = verifyFiles(filesToVerify, {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n })\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n const wrapperIsHeightAnimation = disableDragAndDrop || props.disabled\n\n const UploadWrapper = wrapperIsHeightAnimation\n ? HeightAnimation\n : UploadDropzone\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadWrapper\n className={classnames(\n 'dnb-upload',\n `dnb-upload--${variant || 'normal'}`,\n spacingClasses,\n className\n )}\n {...(!wrapperIsHeightAnimation\n ? { hideOutline: variant === 'compact' }\n : {})}\n >\n {variant !== 'compact' && <UploadInfo />}\n {variant === 'compact' && (title || text) && (\n <>\n <CompactLabel id={id} title={title} text={text} />\n {props?.children}\n </>\n )}\n\n <UploadFileInput\n disabled={props.disabled}\n files={files}\n {...props}\n />\n\n <UploadFileList />\n </UploadWrapper>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nfunction CompactLabel(props: {\n id: string\n title?: UploadAllProps['title']\n text?: UploadAllProps['text']\n}) {\n const { id, title, text } = props\n return (\n <FormLabel\n forId={`${id}-input`}\n vertical\n className=\"dnb-upload__label\"\n >\n <span>\n {title && <span>{title}</span>}\n {title && text && <br />}\n {text && <span className=\"dnb-upload__text\">{text}</span>}\n </span>\n </FormLabel>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,UAAU,MAAM,YAAY;AAGnC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,OAAOC,QAAQ,MAAM,uBAAuB;AAC5C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,sBAAsB,EACtBC,YAAY,QACP,+BAA+B;AACtC,OAAOC,KAAK,MAAM,4BAA4B;AAC9C,OAAOC,eAAe,MAAM,qCAAqC;AAGjE,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,aAAa,EAAEC,YAAY,QAAQ,iBAAiB;AAC7D,SAASC,WAAW,QAAQ,gBAAgB;AAG5C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,SAAS,MAAM,cAAc;AAGpC,SAASJ,YAAY;AAErB,MAAMK,MAAM,GAAIC,UAA0B,IAAK;EAC7C,MAAMC,OAAO,GAAGrB,KAAK,CAACsB,UAAU,CAACjB,OAAO,CAAC;EAEzC,MAAAkB,qBAAA,GACEF,OAAO,CAACG,cAAc,CAACJ,UAAU,CAAC,CAACD,MAAM;IADrC;MAAEM,kBAAkB;MAAEC;IAA8B,CAAC,GAAAH,qBAAA;IAAdI,YAAY,GAAAC,wBAAA,CAAAL,qBAAA,EAAAM,SAAA;EAGzD,IAAI,CAAAT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,gBAAgB,MAAK,CAAC,EAAE;IACtCH,YAAY,CAACI,UAAU,GAAGN,kBAAkB;IAC5CE,YAAY,CAACK,IAAI,GAAGN,YAAY;EAClC;EAEA,MAAMO,aAAa,GAAG3B,sBAAsB,CAC1Cc,UAAU,EACVN,YAAY,EACZ;IAAEoB,QAAQ,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEa;EAAS,CAAC,EAC/BP,YAAY,EACZN,OAAO,CAACF,MACV,CAAC;EAED,MAAM;MACJgB,EAAE,EAAEC,MAAM;MACVC,OAAO;MACPH,QAAQ;MACRI,SAAS;MACTC,iBAAiB;MACjBT,gBAAgB;MAChBU,WAAW;MACXC,QAAQ;MACRC,YAAY;MACZC,WAAW;MACXC,QAAQ;MACRC,eAAe;MACfC,KAAK;MACLd,IAAI;MACJe,oBAAoB;MACpBC,mBAAmB;MACnBC,mBAAmB;MACnBC,qBAAqB;MACrBC,eAAe;MACfpB,UAAU;MACVqB,WAAW;MACXC,cAAc;MACdC,oBAAoB;MACpBC,gBAAgB;MAChBC,YAAY;MACZC,iBAAiB;MACjBC;IAEF,CAAC,GAAGzB,aAAa;IADZ0B,KAAK,GAAA/B,wBAAA,CACNK,aAAa,EAAA2B,UAAA;EAEjB,MAAMC,cAAc,GAAG1D,oBAAoB,CAACwD,KAAK,CAAC;EAElD,MAAMxB,EAAE,GAAG3B,KAAK,CAAC4B,MAAM,CAAC;EAExB,MAAM;IAAE0B,KAAK;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAgB,CAAC,GAC1DtD,SAAS,CAACwB,EAAE,CAAC;EAEf,MAAM+B,aAAa,GAAGjE,WAAW,CAC9BkE,QAA2B,IAAK;IAC/B,MAAMC,WAAW,GAAG,CAClB,GAAGN,KAAK,EACR,GAAGK,QAAQ,CAACE,GAAG,CAAEC,QAAQ,IAAK;MAC5B,MAAM;QAAEC;MAAK,CAAC,GAAGD,QAAQ;MAEzB,MAAME,YAAY,GAAGP,eAAe,CAACM,IAAI,EAAET,KAAK,CAAC;MAEjDQ,QAAQ,CAACG,MAAM,GAAGC,OAAO,CAACF,YAAY,CAAC;MACvCF,QAAQ,CAACnC,EAAE,GACTmC,QAAQ,CAACG,MAAM,IAAI,CAAC5B,eAAe,GAC/B2B,YAAY,CAACrC,EAAE,GACf5B,YAAY,CAAC,CAAC;MAEpB,OAAO+D,QAAQ;IACjB,CAAC,CAAC,CACH;IAED,MAAMK,aAAa,GAAG9B,eAAe,GACjCuB,WAAW,GACXA,WAAW,CAACQ,MAAM,CAAC,CAAC;MAAEH;IAAO,CAAC,KAAK,CAACA,MAAM,CAAC;IAE/C,MAAMI,aAAa,GAAG9D,WAAW,CAAC4D,aAAa,EAAE;MAC/CnC,WAAW;MACXD,iBAAiB;MACjBe,oBAAoB;MACpBD;IACF,CAAC,CAAC;IAEF,MAAMyB,UAAU,GAAG,CAAC,GAAGD,aAAa,CAAC,CAACE,KAAK,CACzC,CAAC,EACDjD,gBACF,CAAsB;IAEtBiC,QAAQ,CAACe,UAAU,CAAC;IACpBd,gBAAgB,CAACI,WAAW,CAAC;IAE7B,IAAI,OAAO3B,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAAC;QAAEqB,KAAK,EAAEgB;MAAW,CAAC,CAAC;IACjC;IAEA,OAAOA,UAAU;EACnB,CAAC,EACD,CACEvC,iBAAiB,EACjBc,cAAc,EACdC,oBAAoB,EACpBd,WAAW,EACXsB,KAAK,EACLhC,gBAAgB,EAChBmC,eAAe,EACfxB,QAAQ,EACRsB,QAAQ,EACRC,gBAAgB,CAEpB,CAAC;EAED,MAAMgB,wBAAwB,GAAGtB,kBAAkB,IAAIC,KAAK,CAACsB,QAAQ;EAErE,MAAMC,aAAa,GAAGF,wBAAwB,GAC1CvE,eAAe,GACfG,cAAc;EAElB,OACEZ,KAAA,CAAAmF,aAAA,CAACtE,aAAa,CAACT,QAAQ;IACrBgF,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACApD,aAAa;MAChBE,EAAE;MACF+B;IAAa;EACb,GAEFlE,KAAA,CAAAmF,aAAA,CAAC/E,QAAQ;IAAC8B,QAAQ,EAAEA;EAAS,GAC3BlC,KAAA,CAAAmF,aAAA,CAACD,aAAa,EAAAI,QAAA;IACZhD,SAAS,EAAEpC,UAAU,2BAEJmC,OAAO,IAAI,QAAQ,IAClCwB,cAAc,EACdvB,SACF;EAAE,GACG,CAAC0C,wBAAwB,GAC1B;IAAEO,WAAW,EAAElD,OAAO,KAAK;EAAU,CAAC,GACtC,CAAC,CAAC,GAELA,OAAO,KAAK,SAAS,KAAAmD,WAAA,KAAAA,WAAA,GAAIxF,KAAA,CAAAmF,aAAA,CAAClE,UAAU,MAAE,CAAC,IACvCoB,OAAO,KAAK,SAAS,KAAKS,KAAK,IAAId,IAAI,CAAC,IACvChC,KAAA,CAAAmF,aAAA,CAAAnF,KAAA,CAAAyF,QAAA,QACEzF,KAAA,CAAAmF,aAAA,CAACO,YAAY;IAACvD,EAAE,EAAEA,EAAG;IAACW,KAAK,EAAEA,KAAM;IAACd,IAAI,EAAEA;EAAK,CAAE,CAAC,EACjD2B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEgC,QACR,CACH,EAED3F,KAAA,CAAAmF,aAAA,CAACzE,eAAe,EAAA4E,QAAA;IACdL,QAAQ,EAAEtB,KAAK,CAACsB,QAAS;IACzBnB,KAAK,EAAEA;EAAM,GACTH,KAAK,CACV,CAAC,EAAAiC,eAAA,KAAAA,eAAA,GAEF5F,KAAA,CAAAmF,aAAA,CAACnE,cAAc,MAAE,CAAC,CACL,CACP,CACY,CAAC;AAE7B,CAAC;AAED,SAAS0E,YAAYA,CAAC/B,KAIrB,EAAE;EACD,MAAM;IAAExB,EAAE;IAAEW,KAAK;IAAEd;EAAK,CAAC,GAAG2B,KAAK;EACjC,OACE3D,KAAA,CAAAmF,aAAA,CAACjE,SAAS;IACR2E,KAAK,EAAE,GAAG1D,EAAE,QAAS;IACrB2D,QAAQ;IACRxD,SAAS,EAAC;EAAmB,GAE7BtC,KAAA,CAAAmF,aAAA,eACGrC,KAAK,IAAI9C,KAAA,CAAAmF,aAAA,eAAOrC,KAAY,CAAC,EAC7BA,KAAK,IAAId,IAAI,KAAA+D,GAAA,KAAAA,GAAA,GAAI/F,KAAA,CAAAmF,aAAA,WAAK,CAAC,IACvBnD,IAAI,IAAIhC,KAAA,CAAAmF,aAAA;IAAM7C,SAAS,EAAC;EAAkB,GAAEN,IAAW,CACpD,CACG,CAAC;AAEhB;AAEAb,MAAM,CAACR,SAAS,GAAGA,SAAS;AAE5BQ,MAAM,CAAC6E,YAAY,GAAG,IAAI;AAC1B7E,MAAM,CAAC8E,qBAAqB,GAAG,IAAI;AAEnC,eAAe9E,MAAM","ignoreList":[]}
|
|
@@ -4,7 +4,8 @@ import { createContext } from 'react';
|
|
|
4
4
|
export const defaultProps = {
|
|
5
5
|
fileMaxSize: 5,
|
|
6
6
|
filesAmountLimit: 100,
|
|
7
|
-
download: false
|
|
7
|
+
download: false,
|
|
8
|
+
variant: 'normal'
|
|
8
9
|
};
|
|
9
10
|
export const UploadContext = createContext(null);
|
|
10
11
|
//# sourceMappingURL=UploadContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadContext.js","names":["createContext","defaultProps","fileMaxSize","filesAmountLimit","download","UploadContext"],"sources":["../../../../src/components/upload/UploadContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { UploadContextProps } from './types'\n\nexport const defaultProps = {\n fileMaxSize: 5,\n filesAmountLimit: 100,\n download: false,\n}\n\nexport const UploadContext = createContext<UploadContextProps>(null)\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAE,CAAC;EACdC,gBAAgB,EAAE,GAAG;EACrBC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"UploadContext.js","names":["createContext","defaultProps","fileMaxSize","filesAmountLimit","download","variant","UploadContext"],"sources":["../../../../src/components/upload/UploadContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { UploadContextProps } from './types'\n\nexport const defaultProps = {\n fileMaxSize: 5,\n filesAmountLimit: 100,\n download: false,\n variant: 'normal',\n}\n\nexport const UploadContext = createContext<UploadContextProps>(null)\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAE,CAAC;EACdC,gBAAgB,EAAE,GAAG;EACrBC,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGN,aAAa,CAAqB,IAAI,CAAC","ignoreList":[]}
|
|
@@ -4,13 +4,23 @@ export const UploadProperties = {
|
|
|
4
4
|
type: ['string', 'Function', 'Object', 'React.Context'],
|
|
5
5
|
status: 'optional'
|
|
6
6
|
},
|
|
7
|
+
children: {
|
|
8
|
+
doc: 'Content to display below the `title` and `text`. Can be used to add custom content.',
|
|
9
|
+
type: ['React.ReactNode'],
|
|
10
|
+
status: 'optional'
|
|
11
|
+
},
|
|
12
|
+
variant: {
|
|
13
|
+
doc: 'defines the appearance. Use one of these: `normal` or `compact`. Defaults to `normal`.',
|
|
14
|
+
type: ['normal', 'compact'],
|
|
15
|
+
status: 'optional'
|
|
16
|
+
},
|
|
7
17
|
acceptedFileTypes: {
|
|
8
18
|
doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',
|
|
9
19
|
type: ['Array<string>', 'Array<AcceptedFileType>'],
|
|
10
20
|
status: 'required'
|
|
11
21
|
},
|
|
12
22
|
filesAmountLimit: {
|
|
13
|
-
doc: 'Defines the amount of files the user can select and upload. Defaults to 100
|
|
23
|
+
doc: 'Defines the amount of files the user can select and upload. Defaults to `100`.',
|
|
14
24
|
type: 'number',
|
|
15
25
|
status: 'optional'
|
|
16
26
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","id","doc","type","status","acceptedFileTypes","filesAmountLimit","fileMaxSize","title","text","download","allowDuplicates","disableDragAndDrop","skeleton","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete","onFileClick","FileItemProperties","file","exists","isLoading","errorMessage","description","removeDeleteButton"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n id: {\n doc: 'Unique id used with the useUpload hook to manage the files. Needed when wanting to connect with the useUpload hook.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n acceptedFileTypes: {\n doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',\n type: ['Array<string>', 'Array<AcceptedFileType>'],\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to 100
|
|
1
|
+
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","id","doc","type","status","children","variant","acceptedFileTypes","filesAmountLimit","fileMaxSize","title","text","download","allowDuplicates","disableDragAndDrop","skeleton","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete","onFileClick","FileItemProperties","file","exists","isLoading","errorMessage","description","removeDeleteButton"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n id: {\n doc: 'Unique id used with the useUpload hook to manage the files. Needed when wanting to connect with the useUpload hook.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n children: {\n doc: 'Content to display below the `title` and `text`. Can be used to add custom content.',\n type: ['React.ReactNode'],\n status: 'optional',\n },\n variant: {\n doc: 'defines the appearance. Use one of these: `normal` or `compact`. Defaults to `normal`.',\n type: ['normal', 'compact'],\n status: 'optional',\n },\n acceptedFileTypes: {\n doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',\n type: ['Array<string>', 'Array<AcceptedFileType>'],\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to `100`.',\n type: 'number',\n status: 'optional',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n download: {\n doc: 'Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n allowDuplicates: {\n doc: 'Allows uploading of duplicate files. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n disableDragAndDrop: {\n doc: 'Disables file drag and drop, by removing the drop zone. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n skeleton: {\n doc: 'Skeleton should be applied when loading content.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AcceptedFileTypeProperties: PropertiesTableProps = {\n fileType: {\n doc: 'The name of the accepted file type.',\n type: 'string',\n status: 'required',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of the given file type in MB. Use either `0` or `false` to disable. If not provided, it defaults to the value of [Uploads](/uilib/components/upload/properties/#properties) `fileMaxSize` which defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n}\n\nexport const UploadEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',\n type: 'function',\n status: 'optional',\n },\n onFileDelete: {\n doc: 'Will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n onFileClick: {\n doc: 'Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const FileItemProperties: PropertiesTableProps = {\n file: {\n doc: 'The file object. This is the same object as the one returned by the `File` API.',\n type: 'File',\n status: 'required',\n },\n id: {\n doc: 'Unique ID for the file item. This ID is generated by the component and is not user-defined.',\n type: 'string',\n status: 'required',\n },\n exists: {\n doc: 'Indicates if the file item already exists in the list of files. This is useful for distinguishing between new and existing files.',\n type: 'boolean',\n status: 'optional',\n },\n isLoading: {\n doc: 'Indicates if the file item is currently being loaded. This is useful for showing a loading state while the file is being processed.',\n type: 'boolean',\n status: 'optional',\n },\n errorMessage: {\n doc: 'Provide an error message to be displayed. This is useful for indicating issues with the file upload process.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n description: {\n doc: 'Provide a description to be displayed. This is useful for providing additional information about the file.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n removeDeleteButton: {\n doc: 'Set to `true` to remove the delete button from the file item. This is useful for preventing users from deleting files.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { UploadAllProps } from './types';
|
|
3
3
|
export type UploadDragEvent = React.DragEvent | DragEvent;
|
|
4
|
-
export default function UploadDropzone({ children, className, ...rest }: Partial<UploadAllProps>
|
|
4
|
+
export default function UploadDropzone({ children, className, hideOutline, ...rest }: Partial<UploadAllProps> & {
|
|
5
|
+
hideOutline?: boolean;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
var _svg;
|
|
6
|
-
const _excluded = ["children", "className"];
|
|
6
|
+
const _excluded = ["children", "className", "hideOutline"];
|
|
7
7
|
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
8
8
|
import classnames from 'classnames';
|
|
9
9
|
import HeightAnimation from '../height-animation/HeightAnimation';
|
|
@@ -11,7 +11,8 @@ import { UploadContext } from './UploadContext';
|
|
|
11
11
|
export default function UploadDropzone(_ref) {
|
|
12
12
|
let {
|
|
13
13
|
children,
|
|
14
|
-
className
|
|
14
|
+
className,
|
|
15
|
+
hideOutline = false
|
|
15
16
|
} = _ref,
|
|
16
17
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
17
18
|
const props = rest;
|
|
@@ -85,7 +86,7 @@ export default function UploadDropzone(_ref) {
|
|
|
85
86
|
onDrop: dropHandler,
|
|
86
87
|
onDragOver: dragEnterHandler,
|
|
87
88
|
onDragLeave: dragLeaveHandler
|
|
88
|
-
}, props), children, _svg || (_svg = React.createElement("svg", {
|
|
89
|
+
}, props), children, !hideOutline && (_svg || (_svg = React.createElement("svg", {
|
|
89
90
|
className: "dnb-upload__outline",
|
|
90
91
|
"aria-hidden": true,
|
|
91
92
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -98,6 +99,6 @@ export default function UploadDropzone(_ref) {
|
|
|
98
99
|
strokeWidth: "3",
|
|
99
100
|
strokeDashoffset: "4",
|
|
100
101
|
strokeDasharray: "8 8"
|
|
101
|
-
}))));
|
|
102
|
+
})))));
|
|
102
103
|
}
|
|
103
104
|
//# sourceMappingURL=UploadDropzone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadDropzone.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","HeightAnimation","UploadContext","UploadDropzone","_ref","children","className","rest","_objectWithoutProperties","_excluded","props","context","hover","setHover","hoverTimeout","onInputUpload","id","getFiles","event","fileData","dataTransfer","files","Array","from","forEach","file","push","clearTimers","clearTimeout","current","hoverHandler","state","stopPropagation","preventDefault","dropHandler","dragEnterHandler","dragLeaveHandler","elem","document","body","execute","hasAttribute","add","addEventListener","setAttribute","e","timeoutId","setTimeout","getAttribute","remove","removeEventListener","removeAttribute","createElement","_extends","onDrop","onDragOver","onDragLeave","_svg","xmlns","fill","width","height","rx","ry","strokeWidth","strokeDashoffset","strokeDasharray"],"sources":["../../../../src/components/upload/UploadDropzone.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\n\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { UploadContext } from './UploadContext'\nimport type {\n UploadAllProps,\n UploadFileNative,\n UploadProps,\n} from './types'\n\nexport type UploadDragEvent = React.DragEvent | DragEvent\n\nexport default function UploadDropzone({\n children,\n className,\n ...rest\n}: Partial<UploadAllProps>) {\n const props = rest as Omit<UploadProps, 'title' | 'onChange' | 'id'>\n const context = useContext(UploadContext)\n const [hover, setHover] = useState(false)\n const hoverTimeout = useRef<NodeJS.Timer>()\n\n const { onInputUpload, id } = context\n\n const getFiles = useCallback((event: UploadDragEvent) => {\n const fileData = event.dataTransfer\n\n const files: Array<UploadFileNative> = []\n\n Array.from(fileData.files).forEach((file) => {\n files.push({ file })\n })\n\n return files\n }, [])\n\n const clearTimers = useCallback(() => {\n clearTimeout(hoverTimeout.current)\n }, [])\n\n const hoverHandler = useCallback(\n (event: UploadDragEvent, state: boolean) => {\n event.stopPropagation()\n event.preventDefault()\n clearTimers()\n setHover(state)\n },\n [clearTimers]\n )\n\n const dropHandler = useCallback(\n (event: UploadDragEvent) => {\n const files = getFiles(event)\n\n onInputUpload(files)\n hoverHandler(event, false)\n },\n [getFiles, onInputUpload, hoverHandler]\n )\n\n const dragEnterHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, true)\n },\n [hoverHandler]\n )\n\n const dragLeaveHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, false)\n },\n [hoverHandler]\n )\n\n useEffect(() => {\n const elem = document.body\n const execute = () => {\n try {\n if (!elem.hasAttribute('data-upload-drop-zone')) {\n const add = elem.addEventListener\n add('drop', dropHandler)\n add('dragover', dragEnterHandler)\n add('dragleave', dragLeaveHandler)\n elem.setAttribute('data-upload-drop-zone', id)\n }\n } catch (e) {\n //\n }\n }\n const timeoutId = setTimeout(execute, 10) // Add the listeners delayed (ms) without prioritization, in case of re-renders\n\n return () => {\n clearTimers()\n clearTimeout(timeoutId)\n try {\n if (elem.getAttribute('data-upload-drop-zone') === id) {\n const remove = elem.removeEventListener\n remove('drop', dropHandler)\n remove('dragover', dragEnterHandler)\n remove('dragleave', dragLeaveHandler)\n elem.removeAttribute('data-upload-drop-zone')\n }\n } catch (e) {\n //\n }\n }\n }, [clearTimers, dragEnterHandler, dragLeaveHandler, dropHandler, id])\n\n return (\n <HeightAnimation\n className={classnames(className, hover && 'dnb-upload--active')}\n onDrop={dropHandler}\n onDragOver={dragEnterHandler}\n onDragLeave={dragLeaveHandler}\n {...props}\n >\n {children}\n\n <svg\n
|
|
1
|
+
{"version":3,"file":"UploadDropzone.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","HeightAnimation","UploadContext","UploadDropzone","_ref","children","className","hideOutline","rest","_objectWithoutProperties","_excluded","props","context","hover","setHover","hoverTimeout","onInputUpload","id","getFiles","event","fileData","dataTransfer","files","Array","from","forEach","file","push","clearTimers","clearTimeout","current","hoverHandler","state","stopPropagation","preventDefault","dropHandler","dragEnterHandler","dragLeaveHandler","elem","document","body","execute","hasAttribute","add","addEventListener","setAttribute","e","timeoutId","setTimeout","getAttribute","remove","removeEventListener","removeAttribute","createElement","_extends","onDrop","onDragOver","onDragLeave","_svg","xmlns","fill","width","height","rx","ry","strokeWidth","strokeDashoffset","strokeDasharray"],"sources":["../../../../src/components/upload/UploadDropzone.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\n\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { UploadContext } from './UploadContext'\nimport type {\n UploadAllProps,\n UploadFileNative,\n UploadProps,\n} from './types'\n\nexport type UploadDragEvent = React.DragEvent | DragEvent\n\nexport default function UploadDropzone({\n children,\n className,\n hideOutline = false,\n ...rest\n}: Partial<UploadAllProps> & { hideOutline?: boolean }) {\n const props = rest as Omit<UploadProps, 'title' | 'onChange' | 'id'>\n const context = useContext(UploadContext)\n const [hover, setHover] = useState(false)\n const hoverTimeout = useRef<NodeJS.Timer>()\n\n const { onInputUpload, id } = context\n\n const getFiles = useCallback((event: UploadDragEvent) => {\n const fileData = event.dataTransfer\n\n const files: Array<UploadFileNative> = []\n\n Array.from(fileData.files).forEach((file) => {\n files.push({ file })\n })\n\n return files\n }, [])\n\n const clearTimers = useCallback(() => {\n clearTimeout(hoverTimeout.current)\n }, [])\n\n const hoverHandler = useCallback(\n (event: UploadDragEvent, state: boolean) => {\n event.stopPropagation()\n event.preventDefault()\n clearTimers()\n setHover(state)\n },\n [clearTimers]\n )\n\n const dropHandler = useCallback(\n (event: UploadDragEvent) => {\n const files = getFiles(event)\n\n onInputUpload(files)\n hoverHandler(event, false)\n },\n [getFiles, onInputUpload, hoverHandler]\n )\n\n const dragEnterHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, true)\n },\n [hoverHandler]\n )\n\n const dragLeaveHandler = useCallback(\n (event: UploadDragEvent) => {\n hoverHandler(event, false)\n },\n [hoverHandler]\n )\n\n useEffect(() => {\n const elem = document.body\n const execute = () => {\n try {\n if (!elem.hasAttribute('data-upload-drop-zone')) {\n const add = elem.addEventListener\n add('drop', dropHandler)\n add('dragover', dragEnterHandler)\n add('dragleave', dragLeaveHandler)\n elem.setAttribute('data-upload-drop-zone', id)\n }\n } catch (e) {\n //\n }\n }\n const timeoutId = setTimeout(execute, 10) // Add the listeners delayed (ms) without prioritization, in case of re-renders\n\n return () => {\n clearTimers()\n clearTimeout(timeoutId)\n try {\n if (elem.getAttribute('data-upload-drop-zone') === id) {\n const remove = elem.removeEventListener\n remove('drop', dropHandler)\n remove('dragover', dragEnterHandler)\n remove('dragleave', dragLeaveHandler)\n elem.removeAttribute('data-upload-drop-zone')\n }\n } catch (e) {\n //\n }\n }\n }, [clearTimers, dragEnterHandler, dragLeaveHandler, dropHandler, id])\n\n return (\n <HeightAnimation\n className={classnames(className, hover && 'dnb-upload--active')}\n onDrop={dropHandler}\n onDragOver={dragEnterHandler}\n onDragLeave={dragLeaveHandler}\n {...props}\n >\n {children}\n\n {!hideOutline && (\n <svg\n className=\"dnb-upload__outline\"\n aria-hidden\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n >\n <rect\n width=\"100%\"\n height=\"100%\"\n rx=\"0.5rem\"\n ry=\"0.5rem\"\n strokeWidth=\"3\"\n strokeDashoffset=\"4\"\n strokeDasharray=\"8 8\"\n />\n </svg>\n )}\n </HeightAnimation>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import { UploadFile } from './types';
|
|
3
|
+
declare const UploadFileInput: ({ children, disabled, files, ...rest }: {
|
|
3
4
|
children?: React.ReactNode;
|
|
5
|
+
files?: UploadFile[];
|
|
4
6
|
disabled?: boolean;
|
|
5
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
export default UploadFileInput;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
var _UploadStatus;
|
|
6
|
-
const _excluded = ["children", "disabled"];
|
|
6
|
+
const _excluded = ["children", "disabled", "files"];
|
|
7
7
|
import React, { useRef } from 'react';
|
|
8
8
|
import Button from '../button/Button';
|
|
9
9
|
import { folder as FolderIcon } from '../../icons';
|
|
@@ -14,7 +14,8 @@ import { getAcceptedFileTypes } from './UploadVerify';
|
|
|
14
14
|
const UploadFileInput = _ref => {
|
|
15
15
|
let {
|
|
16
16
|
children,
|
|
17
|
-
disabled
|
|
17
|
+
disabled,
|
|
18
|
+
files
|
|
18
19
|
} = _ref,
|
|
19
20
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
20
21
|
const fileInput = useRef(null);
|
|
@@ -24,7 +25,8 @@ const UploadFileInput = _ref => {
|
|
|
24
25
|
acceptedFileTypes,
|
|
25
26
|
buttonText,
|
|
26
27
|
onInputUpload,
|
|
27
|
-
filesAmountLimit
|
|
28
|
+
filesAmountLimit,
|
|
29
|
+
variant
|
|
28
30
|
} = context;
|
|
29
31
|
const openFileDialog = () => {
|
|
30
32
|
var _fileInput$current;
|
|
@@ -34,8 +36,8 @@ const UploadFileInput = _ref => {
|
|
|
34
36
|
const accept = getAcceptedFileTypes(acceptedFileTypes);
|
|
35
37
|
return React.createElement("div", {
|
|
36
38
|
className: "dnb-upload__file-input-area"
|
|
37
|
-
}, React.createElement(Button, {
|
|
38
|
-
top:
|
|
39
|
+
}, filesAmountLimit !== (files === null || files === void 0 ? void 0 : files.length) && React.createElement(Button, {
|
|
40
|
+
top: variant === 'normal' ? 'medium' : undefined,
|
|
39
41
|
id: `${sharedId}-input`,
|
|
40
42
|
className: "dnb-upload__file-input-button",
|
|
41
43
|
icon: FolderIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFileInput.js","names":["React","useRef","Button","folder","FolderIcon","makeUniqueId","UploadContext","UploadStatus","getAcceptedFileTypes","UploadFileInput","_ref","children","disabled","rest","_objectWithoutProperties","_excluded","fileInput","context","useContext","id","acceptedFileTypes","buttonText","onInputUpload","filesAmountLimit","openFileDialog","_fileInput$current","current","click","sharedId","accept","createElement","className","top","
|
|
1
|
+
{"version":3,"file":"UploadFileInput.js","names":["React","useRef","Button","folder","FolderIcon","makeUniqueId","UploadContext","UploadStatus","getAcceptedFileTypes","UploadFileInput","_ref","children","disabled","files","rest","_objectWithoutProperties","_excluded","fileInput","context","useContext","id","acceptedFileTypes","buttonText","onInputUpload","filesAmountLimit","variant","openFileDialog","_fileInput$current","current","click","sharedId","accept","createElement","className","length","top","undefined","icon","icon_position","wrap","onClick","_UploadStatus","_extends","ref","type","onChange","onChangeHandler","onClickHandler","multiple","event","target","Array","from","map","file","value"],"sources":["../../../../src/components/upload/UploadFileInput.tsx"],"sourcesContent":["import React, { useRef } from 'react'\n\n// Components\nimport Button from '../button/Button'\n\n// Icons\nimport { folder as FolderIcon } from '../../icons'\n\n// Shared\nimport { makeUniqueId } from '../../shared/component-helper'\n\n// Internal\nimport { UploadContext } from './UploadContext'\nimport UploadStatus from './UploadStatus'\nimport { getAcceptedFileTypes } from './UploadVerify'\nimport { UploadFile } from './types'\n\nconst UploadFileInput = ({\n children,\n disabled,\n files,\n ...rest\n}: {\n children?: React.ReactNode\n files?: UploadFile[]\n disabled?: boolean\n}) => {\n const fileInput = useRef<HTMLInputElement>(null)\n\n const context = React.useContext(UploadContext)\n\n const {\n id,\n acceptedFileTypes,\n buttonText,\n onInputUpload,\n filesAmountLimit,\n variant,\n } = context\n\n const openFileDialog = () => fileInput.current?.click()\n\n const sharedId = id || makeUniqueId()\n const accept = getAcceptedFileTypes(acceptedFileTypes)\n\n return (\n <div className=\"dnb-upload__file-input-area\">\n {filesAmountLimit !== files?.length && (\n <Button\n top={variant === 'normal' ? 'medium' : undefined}\n id={`${sharedId}-input`}\n className=\"dnb-upload__file-input-button\"\n icon={FolderIcon}\n icon_position=\"left\"\n variant=\"secondary\"\n wrap\n onClick={openFileDialog}\n disabled={disabled}\n >\n {buttonText}\n </Button>\n )}\n <UploadStatus />\n\n <input\n aria-labelledby={`${sharedId}-input`}\n ref={fileInput}\n accept={accept}\n className=\"dnb-upload__file-input\"\n type=\"file\"\n onChange={onChangeHandler}\n onClick={onClickHandler}\n multiple={filesAmountLimit > 1}\n disabled={disabled}\n {...rest}\n />\n </div>\n )\n\n function onChangeHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n const { files } = target\n\n onInputUpload(\n Array.from(files).map((file) => {\n return { file }\n })\n )\n }\n\n function onClickHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n\n /**\n * This resets the internal state.\n * Some browsers (chromium) to check for already selected files.\n * But we have our own logic for that.\n * We also align the UX to be the same to all browsers,\n * and to be same when the drag file API is used.\n */\n target.value = null\n }\n}\n\nexport default UploadFileInput\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAGrC,OAAOC,MAAM,MAAM,kBAAkB;AAGrC,SAASC,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAGlD,SAASC,YAAY,QAAQ,+BAA+B;AAG5D,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,oBAAoB,QAAQ,gBAAgB;AAGrD,MAAMC,eAAe,GAAGC,IAAA,IASlB;EAAA,IATmB;MACvBC,QAAQ;MACRC,QAAQ;MACRC;IAMF,CAAC,GAAAH,IAAA;IALII,IAAI,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAMP,MAAMC,SAAS,GAAGhB,MAAM,CAAmB,IAAI,CAAC;EAEhD,MAAMiB,OAAO,GAAGlB,KAAK,CAACmB,UAAU,CAACb,aAAa,CAAC;EAE/C,MAAM;IACJc,EAAE;IACFC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC,gBAAgB;IAChBC;EACF,CAAC,GAAGP,OAAO;EAEX,MAAMQ,cAAc,GAAGA,CAAA;IAAA,IAAAC,kBAAA;IAAA,QAAAA,kBAAA,GAAMV,SAAS,CAACW,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,KAAK,CAAC,CAAC;EAAA;EAEvD,MAAMC,QAAQ,GAAGV,EAAE,IAAIf,YAAY,CAAC,CAAC;EACrC,MAAM0B,MAAM,GAAGvB,oBAAoB,CAACa,iBAAiB,CAAC;EAEtD,OACErB,KAAA,CAAAgC,aAAA;IAAKC,SAAS,EAAC;EAA6B,GACzCT,gBAAgB,MAAKX,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqB,MAAM,KACjClC,KAAA,CAAAgC,aAAA,CAAC9B,MAAM;IACLiC,GAAG,EAAEV,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAGW,SAAU;IACjDhB,EAAE,EAAE,GAAGU,QAAQ,QAAS;IACxBG,SAAS,EAAC,+BAA+B;IACzCI,IAAI,EAAEjC,UAAW;IACjBkC,aAAa,EAAC,MAAM;IACpBb,OAAO,EAAC,WAAW;IACnBc,IAAI;IACJC,OAAO,EAAEd,cAAe;IACxBd,QAAQ,EAAEA;EAAS,GAElBU,UACK,CACT,EAAAmB,aAAA,KAAAA,aAAA,GACDzC,KAAA,CAAAgC,aAAA,CAACzB,YAAY,MAAE,CAAC,GAEhBP,KAAA,CAAAgC,aAAA,UAAAU,QAAA;IACE,mBAAiB,GAAGZ,QAAQ,QAAS;IACrCa,GAAG,EAAE1B,SAAU;IACfc,MAAM,EAAEA,MAAO;IACfE,SAAS,EAAC,wBAAwB;IAClCW,IAAI,EAAC,MAAM;IACXC,QAAQ,EAAEC,eAAgB;IAC1BN,OAAO,EAAEO,cAAe;IACxBC,QAAQ,EAAExB,gBAAgB,GAAG,CAAE;IAC/BZ,QAAQ,EAAEA;EAAS,GACfE,IAAI,CACT,CACE,CAAC;EAGR,SAASgC,eAAeA,CAACG,KAA2B,EAAE;IACpD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAC/C,MAAM;MAAErC;IAAM,CAAC,GAAGqC,MAAM;IAExB3B,aAAa,CACX4B,KAAK,CAACC,IAAI,CAACvC,KAAK,CAAC,CAACwC,GAAG,CAAEC,IAAI,IAAK;MAC9B,OAAO;QAAEA;MAAK,CAAC;IACjB,CAAC,CACH,CAAC;EACH;EAEA,SAASP,cAAcA,CAACE,KAA2B,EAAE;IACnD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAS/CA,MAAM,CAACK,KAAK,GAAG,IAAI;EACrB;AACF,CAAC;AAED,eAAe9C,eAAe","ignoreList":[]}
|
|
@@ -137,6 +137,14 @@
|
|
|
137
137
|
.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child {
|
|
138
138
|
padding-left: 0;
|
|
139
139
|
}
|
|
140
|
-
.dnb-
|
|
141
|
-
|
|
140
|
+
.dnb-upload--compact {
|
|
141
|
+
padding: 0;
|
|
142
|
+
border-radius: 0;
|
|
143
|
+
}
|
|
144
|
+
.dnb-upload--compact .dnb-upload__text {
|
|
145
|
+
color: var(--color-black-55);
|
|
146
|
+
font-size: var(--font-size-small);
|
|
147
|
+
}
|
|
148
|
+
.dnb-upload--compact .dnb-help-button__content .dnb-section {
|
|
149
|
+
margin-bottom: 1rem;
|
|
142
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-border-width:2px;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;flex-grow:1;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);bottom:-1px;height:calc(100% + var(--upload-border-width));left:-1px;right:-1px;top:-1px;width:calc(100% + var(--upload-border-width))}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;top:0}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;column-gap:var(--spacing-small);display:flex}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}.dnb-upload__accepted-file-types-table.dnb-table{width:-webkit-fit-content;width:fit-content}.dnb-upload__accepted-file-types-table.dnb-table thead th{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium);padding-top:0}.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child,.dnb-upload__accepted-file-types-table.dnb-table thead th:first-child{padding-left:0}.dnb-
|
|
1
|
+
.dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-border-width:2px;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;flex-grow:1;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);bottom:-1px;height:calc(100% + var(--upload-border-width));left:-1px;right:-1px;top:-1px;width:calc(100% + var(--upload-border-width))}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;top:0}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;column-gap:var(--spacing-small);display:flex}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}.dnb-upload__accepted-file-types-table.dnb-table{width:-webkit-fit-content;width:fit-content}.dnb-upload__accepted-file-types-table.dnb-table thead th{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium);padding-top:0}.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child,.dnb-upload__accepted-file-types-table.dnb-table thead th:first-child{padding-left:0}.dnb-upload--compact{border-radius:0;padding:0}.dnb-upload--compact .dnb-upload__text{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-upload--compact .dnb-help-button__content .dnb-section{margin-bottom:1rem}
|
|
@@ -162,7 +162,17 @@
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
&--compact {
|
|
166
|
+
padding: 0;
|
|
167
|
+
border-radius: 0;
|
|
168
|
+
.dnb-upload__text {
|
|
169
|
+
color: var(--color-black-55);
|
|
170
|
+
font-size: var(--font-size-small);
|
|
171
|
+
}
|
|
172
|
+
.dnb-help-button__content {
|
|
173
|
+
.dnb-section {
|
|
174
|
+
margin-bottom: 1rem;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
167
177
|
}
|
|
168
178
|
}
|
|
@@ -13,6 +13,10 @@ export type UploadProps = {
|
|
|
13
13
|
* unique id used with the useUpload hook to manage the files
|
|
14
14
|
*/
|
|
15
15
|
id?: SharedStateId;
|
|
16
|
+
/**
|
|
17
|
+
* defines the appearance. Use one of these: `normal` or `compact`. Defaults to `normal`.
|
|
18
|
+
*/
|
|
19
|
+
variant?: 'normal' | 'compact';
|
|
16
20
|
/**
|
|
17
21
|
* list of accepted file types.
|
|
18
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport type { SharedStateId } from '../../shared/helpers/useSharedState'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadAcceptedFileTypesWithFileMaxSize =\n UploadAcceptedFileTypeObject[]\n\nexport type UploadAcceptedFileTypeObject = {\n fileType: string\n fileMaxSize?: number | false\n}\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id?: SharedStateId\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: Array<UploadFile> }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.\n */\n onFileClick?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Allows uploading of duplicate files.\n * Default: false\n */\n allowDuplicates?: boolean\n\n /**\n * Disables file drag and drop, by removing the drop zone.\n * Default: false\n */\n disableDragAndDrop?: boolean\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeTableCaption?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: Array<UploadFileNative>) => void\n} & Partial<UploadAllProps>\n\nexport type UploadFile = {\n file: File\n id: string\n exists: boolean\n isLoading?: boolean\n errorMessage?: React.ReactNode\n description?: React.ReactNode\n removeDeleteButton?: boolean\n}\n\nexport type UploadFileNative = Omit<UploadFile, 'id' | 'exists'> &\n Partial<Pick<UploadFile, 'id' | 'exists'>>\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport type { SharedStateId } from '../../shared/helpers/useSharedState'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadAcceptedFileTypesWithFileMaxSize =\n UploadAcceptedFileTypeObject[]\n\nexport type UploadAcceptedFileTypeObject = {\n fileType: string\n fileMaxSize?: number | false\n}\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id?: SharedStateId\n\n /**\n * defines the appearance. Use one of these: `normal` or `compact`. Defaults to `normal`.\n */\n variant?: 'normal' | 'compact'\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: Array<UploadFile> }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.\n */\n onFileClick?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Allows uploading of duplicate files.\n * Default: false\n */\n allowDuplicates?: boolean\n\n /**\n * Disables file drag and drop, by removing the drop zone.\n * Default: false\n */\n disableDragAndDrop?: boolean\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeTableCaption?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: Array<UploadFileNative>) => void\n} & Partial<UploadAllProps>\n\nexport type UploadFile = {\n file: File\n id: string\n exists: boolean\n isLoading?: boolean\n errorMessage?: React.ReactNode\n description?: React.ReactNode\n removeDeleteButton?: boolean\n}\n\nexport type UploadFileNative = Omit<UploadFile, 'id' | 'exists'> &\n Partial<Pick<UploadFile, 'id' | 'exists'>>\n"],"mappings":"","ignoreList":[]}
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
// We cannot use gap: 0.5rem because of our wrapper "__item"
|
|
155
155
|
display: flex;
|
|
156
156
|
flex-wrap: wrap;
|
|
157
|
-
max-width:
|
|
157
|
+
max-width: var(--text-block-max-width); // to enhance readability
|
|
158
158
|
width: 100%;
|
|
159
159
|
|
|
160
160
|
& dt {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Props as SelectionProps } from '../../Field/Selection';
|
|
2
|
+
import { Path, PathStrict, ReceiveAdditionalEventArgs } from '../../types';
|
|
3
|
+
import { GeneralConfig, HandlerConfig, PreResponseResolver, ResponseResolver } from '../createContext';
|
|
4
|
+
export declare const supportedCountryCodes: readonly ["NO"];
|
|
5
|
+
export type SupportedCountries = (typeof supportedCountryCodes)[number];
|
|
6
|
+
export declare const unsupportedCountryMessage = "Postal code verification is not supported for {countryCode}.";
|
|
7
|
+
export type AddressResolverData = {
|
|
8
|
+
addresses: {
|
|
9
|
+
street_name: string;
|
|
10
|
+
house_number: string;
|
|
11
|
+
postal_code: string;
|
|
12
|
+
city: string;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
export type AddressResolverPayload = Array<{
|
|
16
|
+
item: AddressResolverData['addresses'][0];
|
|
17
|
+
selected_value: string;
|
|
18
|
+
selectedKey: string;
|
|
19
|
+
content: string[];
|
|
20
|
+
}>;
|
|
21
|
+
type SuggestionsConnectorReturn = (event: {
|
|
22
|
+
value: string;
|
|
23
|
+
showIndicator: () => void;
|
|
24
|
+
hideIndicator: () => void;
|
|
25
|
+
updateData: (data: AddressResolverPayload) => void;
|
|
26
|
+
} & ReceiveAdditionalEventArgs<string>) => Promise<void>;
|
|
27
|
+
type SuggestionsHandlerConfig = HandlerConfig & {
|
|
28
|
+
countryCode?: PathStrict | SupportedCountries | Lowercase<SupportedCountries>;
|
|
29
|
+
cityPath: Path;
|
|
30
|
+
postalCodePath: Path;
|
|
31
|
+
};
|
|
32
|
+
export declare const preResponseResolver: PreResponseResolver;
|
|
33
|
+
export declare const responseResolver: ResponseResolver<AddressResolverData, AddressResolverPayload>;
|
|
34
|
+
export declare function suggestions(generalConfig: GeneralConfig, handlerConfig?: SuggestionsHandlerConfig): SuggestionsConnectorReturn;
|
|
35
|
+
export declare function suggestionsElement(generalConfig: GeneralConfig, handlerConfig?: SuggestionsHandlerConfig): (props: SelectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function getMockData(countryCode?: string): {
|
|
37
|
+
addresses: {
|
|
38
|
+
address_id: string;
|
|
39
|
+
street_name: string;
|
|
40
|
+
house_number: number;
|
|
41
|
+
postal_code: string;
|
|
42
|
+
city: string;
|
|
43
|
+
county: string;
|
|
44
|
+
municipality: string;
|
|
45
|
+
type: string;
|
|
46
|
+
}[];
|
|
47
|
+
};
|
|
48
|
+
export {};
|