@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","Icon","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","raw_data","array","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","separator","removeNumericOnlyValues","preferSelectedValue","normalizeDataItem","ret","onlyNumericRegex","hasValue","Array","isArray","reduce","acc","cur","converted","found","match","length","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","undefined","isValidElement","normalizeData","_preSelectData","list","key","map","__id","normalized","markAsTransformed","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.ts"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\nimport {\n DrawerListDataArrayItem,\n DrawerListDataArrayObject,\n DrawerListData,\n DrawerListDataAll,\n DrawerListDataArray,\n} from './DrawerList'\nimport { DrawerListProviderProps } from './DrawerListProvider'\nimport { DrawerListContextState } from './DrawerListContext'\nimport Icon from '../../components/icon/Icon'\n\n// legacy used by Autocomplete and Dropdown\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\n// legacy used by Dropdown\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport function parseContentTitle(\n dataItem: DrawerListDataArrayItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n): string | null {\n dataItem = normalizeDataItem(dataItem)\n\n if (!dataItem) {\n return null\n }\n\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n\n const hasValue = dataItem && dataItem.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce<string[]>((acc, cur) => {\n // check if we have React inside, with strings we can use\n const converted = convertJsxToString(cur, ' ')\n if (!converted) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && converted.match(onlyNumericRegex)\n if (!(found && found[0].length === converted.length)) {\n acc.push(converted)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(dataItem.content, ' ')\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n word?.type !== Icon &&\n typeof word?.type === 'function' &&\n (word.type as () => React.ReactElement)()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value as string)) {\n ret = separator + ret\n }\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport function preSelectData(data: DrawerListData): DrawerListDataAll {\n if (typeof data === 'string') {\n data =\n data[0] === '{' || data[0] === '['\n ? (JSON.parse(data) as Array<any> | Record<string, any>)\n : undefined\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n/**\n * Takes any of the forms data can have and returns a normalized array representation of it.\n * If the data is a single React.ReactNode, it will return an empty list.\n * @param {*} props object containing the data in props.data or props.children, or the data itself\n * @returns an array representation of the data\n */\nexport function normalizeData(props): DrawerListDataArrayObject[] {\n let data = preSelectData(props.data || props.children || props) ?? []\n\n if (typeof data === 'object' && !Array.isArray(data)) {\n const list: DrawerListDataArray = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return data.map((dataItem, __id) => {\n const normalized = normalizeDataItem(dataItem, true)\n\n return typeof normalized?.__id !== 'undefined'\n ? normalized\n : { ...normalized, __id }\n })\n}\n\nfunction normalizeDataItem(\n dataItem: DrawerListDataArrayItem,\n markAsTransformed = false\n): DrawerListDataArrayObject {\n return dataItem === null\n ? undefined\n : typeof dataItem === 'object' && 'content' in dataItem\n ? dataItem\n : {\n content: dataItem,\n ...(markAsTransformed ? { __isTransformed: true } : {}),\n }\n}\n\nexport const getData = (props) => {\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport function prepareStartupState(\n props: DrawerListProviderProps\n): DrawerListContextState {\n const selected_item = null\n const raw_data = preSelectData(\n props.data ||\n (!React.isValidElement(props.children)\n ? (props.children as DrawerListData)\n : undefined)\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state: DrawerListContextState = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data,\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (\n props: DrawerListProviderProps,\n state: DrawerListContextState\n) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (typeof props.wrapper_element === 'string') {\n if (typeof document !== 'undefined') {\n const wrapper_element = document.querySelector<HTMLElement>(\n props.wrapper_element\n )\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(\n state.active_item !== null &&\n parseFloat(state.active_item as string) > -2\n ) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (\n state.selected_item !== null &&\n parseFloat(state.selected_item as string) > -1\n ) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":";;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,MAAM,EACNC,0BAA0B,EAC1BC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,gBAAgB,QAAQ,sCAAsC;AAUvE,OAAOC,IAAI,MAAM,4BAA4B;AAG7C,OAAO,MAAMC,mBAAmB,GAAAC,aAAA,CAAAA,aAAA;EAC9BC,EAAE,EAAER,SAAS,CAACS,MAAM;EACpBC,IAAI,EAAEV,SAAS,CAACS,MAAM;EACtBE,UAAU,EAAEX,SAAS,CAACS,MAAM;EAC5BG,iBAAiB,EAAEZ,SAAS,CAACS,MAAM;EACnCI,UAAU,EAAEb,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACnEC,SAAS,EAAEhB,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EAClEE,SAAS,EAAEjB,SAAS,CAACkB,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrDC,IAAI,EAAEnB,SAAS,CAACkB,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9DE,UAAU,EAAEpB,SAAS,CAACqB,MAAM;EAC5BC,YAAY,EAAEtB,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACrEQ,mBAAmB,EAAEvB,SAAS,CAACc,SAAS,CAAC,CACvCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAACe,IAAI,CACf,CAAC;EAEFS,iBAAiB,EAAExB,SAAS,CAACc,SAAS,CAAC,CACrCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAACe,IAAI,CACf,CAAC;EACFU,WAAW,EAAEzB,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACpEW,QAAQ,EAAE1B,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACjEY,YAAY,EAAE3B,SAAS,CAACkB,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAChDU,cAAc,EAAE5B,SAAS,CAACc,SAAS,CAAC,CAClCd,SAAS,CAAC6B,MAAM,EAChB7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC+B,IAAI,CACf,CAAC;EACFC,eAAe,EAAEhC,SAAS,CAACc,SAAS,CAAC,CACnCd,SAAS,CAAC6B,MAAM,EAChB7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC+B,IAAI,CACf,CAAC;EACFE,aAAa,EAAEjC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACqB,MAAM,CAAC,CAAC;EACxEa,KAAK,EAAElC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACqB,MAAM,CAAC,CAAC;EAChEc,WAAW,EAAEnC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACpEqB,YAAY,EAAEpC,SAAS,CAACS,MAAM;EAC9B4B,UAAU,EAAErC,SAAS,CAACS,MAAM;EAC5B6B,aAAa,EAAEtC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACtEwB,iBAAiB,EAAEvC,SAAS,CAACc,SAAS,CAAC,CACrCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAACe,IAAI,CACf,CAAC;EACFyB,cAAc,EAAExC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACvE0B,SAAS,EAAEzC,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EAClE2B,aAAa,EAAE1C,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACtE4B,cAAc,EAAE3C,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EACvE6B,MAAM,EAAE5C,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC,CAAC;EAC/D8B,IAAI,EAAE7C,SAAS,CAACc,SAAS,CAAC,CACxBd,SAAS,CAACc,SAAS,CAAC,CAClBd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC+B,IAAI,EACd/B,SAAS,CAAC6B,MAAM,CACjB,CAAC,EACF7B,SAAS,CAAC8C,OAAO,CACf9C,SAAS,CAACc,SAAS,CAAC,CAClBd,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAAC+B,IAAI,CAAC,CAAC,EACvD/B,SAAS,CAAC+C,KAAK,CAAC;IACdC,WAAW,EAAEhD,SAAS,CAACc,SAAS,CAAC,CAC/Bd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAACqB,MAAM,CACjB,CAAC;IAEF4B,YAAY,EAAEjD,SAAS,CAACc,SAAS,CAAC,CAChCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAACqB,MAAM,CACjB,CAAC;IACF6B,cAAc,EAAElD,SAAS,CAACc,SAAS,CAAC,CAClCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC+B,IAAI,CACf,CAAC;IACFoB,YAAY,EAAEnD,SAAS,CAACc,SAAS,CAAC,CAChCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC+B,IAAI,CACf,CAAC;IACFqB,QAAQ,EAAEpD,SAAS,CAACe,IAAI;IACxBsC,OAAO,EAAErD,SAAS,CAACc,SAAS,CAAC,CAC3Bd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC+B,IAAI,EACd/B,SAAS,CAAC8C,OAAO,CAAC9C,SAAS,CAACS,MAAM,CAAC,CACpC;EACH,CAAC,CAAC,CACH,CACH,CAAC,CACF,CAAC;EACF6C,QAAQ,EAAEtD,SAAS,CAACc,SAAS,CAAC,CAC5Bd,SAAS,CAACuD,KAAK,EACfvD,SAAS,CAAC6B,MAAM,EAChB7B,SAAS,CAAC8B,IAAI,CACf,CAAC;EACF0B,aAAa,EAAExD,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACe,IAAI,CAAC;AAAC,GAEnEX,gBAAgB;EAEnBqD,SAAS,EAAEzD,SAAS,CAACS,MAAM;EAC3BiD,QAAQ,EAAE1D,SAAS,CAACc,SAAS,CAAC,CAC5Bd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC+B,IAAI,EACd/B,SAAS,CAAC6B,MAAM,EAChB7B,SAAS,CAACuD,KAAK,CAChB,CAAC;EAEFI,OAAO,EAAE3D,SAAS,CAAC8B,IAAI;EACvB8B,OAAO,EAAE5D,SAAS,CAAC8B,IAAI;EACvB+B,oBAAoB,EAAE7D,SAAS,CAAC8B,IAAI;EACpCgC,SAAS,EAAE9D,SAAS,CAAC8B,IAAI;EACzBiC,aAAa,EAAE/D,SAAS,CAAC8B,IAAI;EAC7BkC,SAAS,EAAEhE,SAAS,CAAC8B,IAAI;EACzBmC,SAAS,EAAEjE,SAAS,CAAC8B,IAAI;EACzBoC,eAAe,EAAElE,SAAS,CAAC8B;AAAI,EAChC;AAED,OAAO,MAAMqC,sBAAsB,GAAG;EACpC3D,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE,IAAI;EAChBC,iBAAiB,EAAE,MAAM;EACzBC,UAAU,EAAE,IAAI;EAChBG,SAAS,EAAE,KAAK;EAChBI,UAAU,EAAE,IAAI;EAChBH,SAAS,EAAE,MAAM;EACjBE,IAAI,EAAE,SAAS;EACfG,YAAY,EAAE,KAAK;EACnBC,mBAAmB,EAAE,KAAK;EAC1BC,iBAAiB,EAAE,KAAK;EACxBC,WAAW,EAAE,KAAK;EAClBC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,MAAM;EACpBK,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,SAAS;EAChBE,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE,IAAI;EAChBF,WAAW,EAAE,IAAI;EACjBG,aAAa,EAAE,KAAK;EACpBG,SAAS,EAAE,KAAK;EAChBC,aAAa,EAAE,KAAK;EACpBF,cAAc,EAAE,KAAK;EACrBD,iBAAiB,EAAE,KAAK;EACxBI,cAAc,EAAE,KAAK;EACrBC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE,IAAI;EACVS,QAAQ,EAAE,IAAI;EACdE,aAAa,EAAE,IAAI;EAEnBC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,oBAAoB,EAAE,IAAI;EAC1BC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE,IAAI;EACrBtC,cAAc,EAAE;AAClB,CAAC;AAGD,OAAO,MAAMwC,2BAA2B,GAAG;EACzCC,gBAAgB,EAAErE,SAAS,CAACe,IAAI;EAChCuD,WAAW,EAAEtE,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACqB,MAAM,CAAC,CAAC;EACtEkD,gBAAgB,EAAEvE,SAAS,CAACc,SAAS,CAAC,CACpCd,SAAS,CAACS,MAAM,EAChBT,SAAS,CAAC+B,IAAI,CACf,CAAC;EACFyC,UAAU,EAAExE,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACS,MAAM,EAAET,SAAS,CAACqB,MAAM,CAAC;AACtE,CAAC;AAED,OAAO,MAAMoD,8BAA8B,GAAG;EAC5CJ,gBAAgB,EAAE,KAAK;EACvBC,WAAW,EAAE,IAAI;EACjBC,gBAAgB,EAAE,IAAI;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,SAASE,iBAAiBA,CAC/BC,QAAiC,EACjC;EACEC,SAAS,GAAG,IAAI;EAChBC,uBAAuB,GAAG,KAAK;EAC/BC,mBAAmB,GAAG;AACxB,CAAC,GAAG,CAAC,CAAC,EACS;EACfH,QAAQ,GAAGI,iBAAiB,CAACJ,QAAQ,CAAC;EAEtC,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,IAAIK,GAAG,GAAG,EAAE;EACZ,MAAMC,gBAAgB,GAAG,aAAa;EAEtC,MAAMC,QAAQ,GAAGP,QAAQ,IAAIA,QAAQ,CAACzB,cAAc;EAEpD,IACE,EAAE4B,mBAAmB,IAAII,QAAQ,CAAC,IAClCC,KAAK,CAACC,OAAO,CAACT,QAAQ,CAACtB,OAAO,CAAC,EAC/B;IACA2B,GAAG,GAAGL,QAAQ,CAACtB,OAAO,CACnBgC,MAAM,CAAW,CAACC,GAAG,EAAEC,GAAG,KAAK;MAE9B,MAAMC,SAAS,GAAGrF,kBAAkB,CAACoF,GAAG,EAAE,GAAG,CAAC;MAC9C,IAAI,CAACC,SAAS,EAAE;QACd,OAAOF,GAAG;MACZ;MAEA,MAAMG,KAAK,GACTZ,uBAAuB,IAAIW,SAAS,CAACE,KAAK,CAACT,gBAAgB,CAAC;MAC9D,IAAI,EAAEQ,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACE,MAAM,KAAKH,SAAS,CAACG,MAAM,CAAC,EAAE;QACpDL,GAAG,CAACM,IAAI,CAACJ,SAAS,CAAC;MACrB;MACA,OAAOF,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC,CACLO,IAAI,CAACjB,SAAS,CAAC;EACpB,CAAC,MAAM;IACLI,GAAG,GAAG7E,kBAAkB,CAACwE,QAAQ,CAACtB,OAAO,EAAE,GAAG,CAAC;EACjD;EAEA,IAAI6B,QAAQ,EAAE;IACZ,IAAIJ,mBAAmB,EAAE;MACvBE,GAAG,GAAGc,MAAM,CACV3F,kBAAkB,CAACwE,QAAQ,CAACzB,cAAc,EAAE0B,SAAS,EAAGmB,IAAI,IAAK;QAAA,IAAAC,qBAAA;QAC/D,MAAMC,cAAc,GAClB,CAACF,IAAI,CAACG,KAAK,CAACxC,QAAQ,IACpB,CAAAqC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,IAAI,MAAK9F,IAAI,IACnB,QAAO0F,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,IAAI,MAAK,UAAU,IAC/BJ,IAAI,CAACI,IAAI,CAA8B,CAAC;QAE3C,OAAOF,cAAc,aAAdA,cAAc,gBAAAD,qBAAA,GAAdC,cAAc,CAAEC,KAAK,cAAAF,qBAAA,eAArBA,qBAAA,CAAuBtC,QAAQ,GAAGuC,cAAc,GAAGF,IAAI;MAChE,CAAC,CACH,CAAC;IACH,CAAC,MAAM,IAAI,CAACd,gBAAgB,CAACmB,IAAI,CAACzB,QAAQ,CAACzB,cAAwB,CAAC,EAAE;MACpE8B,GAAG,GAAGJ,SAAS,GAAGI,GAAG;IACvB;EACF;EAEA,OAAOA,GAAG;AACZ;AAEA,OAAO,MAAMqB,mBAAmB,GAAIxD,IAAI,IAAK;EAAA,IAAAyD,KAAA;EAC3CzD,IAAI,GAAG,EAAAyD,KAAA,GAAAzD,IAAI,cAAAyD,KAAA,uBAAJA,KAAA,CAAMhD,QAAQ,KAAIT,IAAI;EAC7B,OAAOA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAACsC,KAAK,CAACC,OAAO,CAACvC,IAAI,CAAC;AACjE,CAAC;AAED,OAAO,SAAS0D,aAAaA,CAAC1D,IAAoB,EAAqB;EACrE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5BA,IAAI,GACFA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAC7B2D,IAAI,CAACC,KAAK,CAAC5D,IAAI,CAAC,GACjB6D,SAAS;EACjB,CAAC,MAAM,IAAI7D,IAAI,IAAI9C,KAAK,CAAC4G,cAAc,CAAC9D,IAAI,CAAC,EAAE;IAC7CA,IAAI,GAAG,EAAE;EACX,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IACrCA,IAAI,GAAGA,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI;AACb;AAQA,OAAO,SAAS+D,aAAaA,CAACV,KAAK,EAA+B;EAAA,IAAAW,cAAA;EAChE,IAAIhE,IAAI,IAAAgE,cAAA,GAAGN,aAAa,CAACL,KAAK,CAACrD,IAAI,IAAIqD,KAAK,CAACxC,QAAQ,IAAIwC,KAAK,CAAC,cAAAW,cAAA,cAAAA,cAAA,GAAI,EAAE;EAErE,IAAI,OAAOhE,IAAI,KAAK,QAAQ,IAAI,CAACsC,KAAK,CAACC,OAAO,CAACvC,IAAI,CAAC,EAAE;IACpD,MAAMiE,IAAyB,GAAG,EAAE;IACpC,KAAK,MAAMC,GAAG,IAAIlE,IAAI,EAAE;MACtBiE,IAAI,CAAClB,IAAI,CAAC;QACR5C,WAAW,EAAE+D,GAAG;QAChB9D,YAAY,EAAE8D,GAAG;QACjB7E,KAAK,EAAE6E,GAAG;QACV1D,OAAO,EAAER,IAAI,CAACkE,GAAG,CAAC;QAClBZ,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;IACAtD,IAAI,GAAGiE,IAAI;EACb;EAEA,OAAOjE,IAAI,CAACmE,GAAG,CAAC,CAACrC,QAAQ,EAAEsC,IAAI,KAAK;IAClC,MAAMC,UAAU,GAAGnC,iBAAiB,CAACJ,QAAQ,EAAE,IAAI,CAAC;IAEpD,OAAO,QAAOuC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAED,IAAI,MAAK,WAAW,GAC1CC,UAAU,GAAA3G,aAAA,CAAAA,aAAA,KACL2G,UAAU;MAAED;IAAI,EAAE;EAC7B,CAAC,CAAC;AACJ;AAEA,SAASlC,iBAAiBA,CACxBJ,QAAiC,EACjCwC,iBAAiB,GAAG,KAAK,EACE;EAC3B,OAAOxC,QAAQ,KAAK,IAAI,GACpB+B,SAAS,GACT,OAAO/B,QAAQ,KAAK,QAAQ,IAAI,SAAS,IAAIA,QAAQ,GACrDA,QAAQ,GAAApE,aAAA;IAEN8C,OAAO,EAAEsB;EAAQ,GACbwC,iBAAiB,GAAG;IAAEC,eAAe,EAAE;EAAK,CAAC,GAAG,CAAC,CAAC,CACvD;AACP;AAEA,OAAO,MAAMC,OAAO,GAAInB,KAAK,IAAK;EAChC,OAAOU,aAAa,CAACV,KAAK,CAAC;AAC7B,CAAC;AAED,OAAO,MAAMoB,eAAe,GAAGA,CAACpF,KAAK,EAAEW,IAAI,KAAK;EAE9C,IAAI,QAAQ,CAACuD,IAAI,CAACN,MAAM,CAAC5D,KAAK,CAAC,CAAC,EAAE;IAChC,OAAOW,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0E,SAAS,CAAEhC,GAAG,IAAKiC,iBAAiB,CAACjC,GAAG,CAAC,KAAKrD,KAAK,CAAC;EACnE;EAEA,IAAIuF,iBAAiB,CAAC,CAAC,EAAE;IACvB,MAAMC,KAAK,GAAG7E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0E,SAAS,CAC1BhC,GAAG,IAAKO,MAAM,CAAC0B,iBAAiB,CAACjC,GAAG,CAAC,CAAC,KAAKO,MAAM,CAAC5D,KAAK,CAC1D,CAAC;IACD,IAAIwF,KAAK,GAAG,CAAC,CAAC,EAAE;MACd,OAAOA,KAAK;IACd;EACF;EAEA,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC1F,KAAK,CAAC,CAAC,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,OAAO,IAAI;EAEX,SAASuF,iBAAiBA,CAAA,EAAG;IAC3B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGjF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE8C,MAAM,EAAEkC,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MAAA,IAAAE,OAAA,EAAAC,QAAA,EAAAC,QAAA;MAC5C,IAAIJ,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,KAAK;MACd;MACA,IACE,SAAAE,OAAA,GAAOlF,IAAI,CAACgF,CAAC,CAAC,cAAAE,OAAA,uBAAPA,OAAA,CAAS/E,WAAW,MAAK,WAAW,IAC3C,SAAAgF,QAAA,GAAOnF,IAAI,CAACgF,CAAC,CAAC,cAAAG,QAAA,uBAAPA,QAAA,CAAS/E,YAAY,MAAK,WAAW,IAC5C,EAAAgF,QAAA,GAAApF,IAAI,CAACgF,CAAC,CAAC,cAAAI,QAAA,uBAAPA,QAAA,CAAS9B,IAAI,MAAK,QAAQ,EAC1B;QACA,OAAO,IAAI;MACb;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAM+B,oBAAoB,GAAGA,CAAChG,KAAK,EAAEiG,KAAK,KAAK;EACpD,IAAI9B,mBAAmB,CAAC8B,KAAK,CAAC,EAAE;IAC9B,OAAOX,iBAAiB,CACtBW,KAAK,CAACtF,IAAI,CAACuF,MAAM,CAAC,CAACC,CAAC,EAAER,CAAC,KAAKA,CAAC,KAAKD,UAAU,CAAC1F,KAAK,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;EACH;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMsF,iBAAiB,GAAIc,OAAO,IAAK;EAC5C,IAAI,QAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtF,WAAW,MAAK,WAAW,EAAE;IAC/C,OAAOsF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtF,WAAW;EAC7B;EACA,IAAI,QAAOsF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErF,YAAY,MAAK,WAAW,EAAE;IAChD,OAAOqF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErF,YAAY;EAC9B;EACA,IAAI,QAAOqF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjF,OAAO,MAAK,WAAW,EAAE;IAC3C,OAAOiF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjF,OAAO;EACzB;EACA,OAAOiF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGA,CAACC,UAAU,EAAE3F,IAAI,KAAK;EAChDA,IAAI,GAAG4F,cAAc,CAACD,UAAU,EAAE3F,IAAI,CAAC;EAGvC,IAAIA,IAAI,IAAIA,IAAI,CAACoE,IAAI,EAAE;IACrBpE,IAAI,GAAAtC,aAAA,KAAQsC,IAAI,CAAE;IAClB,OAAOA,IAAI,CAACoE,IAAI;IAChB,OAAOpE,IAAI,CAACuE,eAAe;EAC7B;EAEA,OAAOvE,IAAI;AACb,CAAC;AAED,OAAO,MAAM4F,cAAc,GAAGA,CAACD,UAAU,EAAE3F,IAAI,KAAK;EAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAC9BA,IAAI,GAAG+D,aAAa,CAAC/D,IAAI,CAAC;EAC5B;EAEAA,IAAI,GAAIA,IAAI,IAAIA,IAAI,CAAC6F,IAAI,CAAC,CAAC;IAAEzB;EAAK,CAAC,KAAKA,IAAI,IAAIuB,UAAU,CAAC,IAAK,IAAI;EAEpE,IAAI3F,IAAI,IAAIA,IAAI,CAACuE,eAAe,EAAE;IAChC,OAAOvE,IAAI,CAACQ,OAAO;EACrB;EAEA,OAAOR,IAAI;AACb,CAAC;AAED,OAAO,SAAS8F,mBAAmBA,CACjCzC,KAA8B,EACN;EACxB,MAAM0C,aAAa,GAAG,IAAI;EAC1B,MAAMtF,QAAQ,GAAGiD,aAAa,CAC5BL,KAAK,CAACrD,IAAI,KACP,CAAC9C,KAAK,CAAC4G,cAAc,CAACT,KAAK,CAACxC,QAAQ,CAAC,GACjCwC,KAAK,CAACxC,QAAQ,GACfgD,SAAS,CACjB,CAAC;EACD,MAAM7D,IAAI,GAAGwE,OAAO,CAACnB,KAAK,CAAC;EAC3B,MAAMtD,MAAM,GAAGsD,KAAK,CAACtD,MAAM,KAAK,IAAI,GAAG3C,MAAM,CAACiG,KAAK,CAACtD,MAAM,CAAC,GAAG,IAAI;EAElE,MAAMuF,KAA6B,GAAG;IACpCvF,MAAM;IACNC,IAAI;IACJgG,aAAa,EAAEhG,IAAI;IACnBS,QAAQ;IACRrC,SAAS,EAAEiF,KAAK,CAACjF,SAAS;IAC1BG,UAAU,EAAE8E,KAAK,CAAC9E,UAAU;IAC5BwH,aAAa;IACbE,WAAW,EAAEF,aAAa;IAC1BhF,OAAO,EAAEsC,KAAK,CAACtC,OAAO;IACtBD,OAAO,EAAEuC,KAAK,CAACvC,OAAO;IACtBG,SAAS,EAAEoC,KAAK,CAACpC,SAAS;IAC1BG,SAAS,EAAEiC,KAAK,CAACjC;EACnB,CAAC;EAED,IACEiC,KAAK,CAAChE,KAAK,KAAK,IAAI,IACpB,OAAOgE,KAAK,CAAChE,KAAK,KAAK,WAAW,IAClCgE,KAAK,CAAChE,KAAK,KAAK,SAAS,EACzB;IACAiG,KAAK,CAACS,aAAa,GAAGT,KAAK,CAACW,WAAW,GAAGxB,eAAe,CACvDpB,KAAK,CAAChE,KAAK,EACXW,IACF,CAAC;EACH,CAAC,MAAM,IAAIqD,KAAK,CAACjE,aAAa,KAAK,IAAI,EAAE;IACvCkG,KAAK,CAACS,aAAa,GAAGT,KAAK,CAACW,WAAW,GAAGxB,eAAe,CACvDpB,KAAK,CAACjE,aAAa,EACnBY,IACF,CAAC;IACDsF,KAAK,CAACY,MAAM,GAAG7C,KAAK,CAAChE,KAAK;EAC5B;EAEA,OAAOiG,KAAK;AACd;AAEA,OAAO,MAAMa,mBAAmB,GAAGA,CACjC9C,KAA8B,EAC9BiC,KAA6B,KAC1B;EACH,IAAIA,KAAK,CAACvF,MAAM,IAAI,CAACuF,KAAK,CAACtF,IAAI,IAAI,OAAOqD,KAAK,CAACrD,IAAI,KAAK,UAAU,EAAE;IACnEsF,KAAK,CAACtF,IAAI,GAAGwE,OAAO,CAACnB,KAAK,CAAC;EAC7B;EAEA,IAAIA,KAAK,CAACrD,IAAI,IAAIqD,KAAK,CAACrD,IAAI,KAAKsF,KAAK,CAAC7B,KAAK,EAAE;IAC5C,IAAI6B,KAAK,CAAC7B,KAAK,EAAE;MACf6B,KAAK,CAACxH,UAAU,GAAGwH,KAAK,CAACxH,UAAU,GAAGsI,IAAI,CAACC,GAAG,CAAC,CAAC;IAClD;IACAf,KAAK,CAACtF,IAAI,GAAGwE,OAAO,CAACnB,KAAK,CAAC;IAC3BiC,KAAK,CAACU,aAAa,GAAGxB,OAAO,CAACnB,KAAK,CAAC;EACtC;EAEAiC,KAAK,CAACgB,SAAS,GACbjD,KAAK,CAAC/D,WAAW,KAAK,IAAI,GAAG,CAAClC,MAAM,CAACiG,KAAK,CAAC/D,WAAW,CAAC,GAAG,IAAI;EAEhE,IAAI,OAAO+D,KAAK,CAAClE,eAAe,KAAK,QAAQ,EAAE;IAC7C,IAAI,OAAOoH,QAAQ,KAAK,WAAW,EAAE;MACnC,MAAMpH,eAAe,GAAGoH,QAAQ,CAACC,aAAa,CAC5CnD,KAAK,CAAClE,eACR,CAAC;MACD,IAAIA,eAAe,EAAE;QACnBmG,KAAK,CAACnG,eAAe,GAAGA,eAAe;MACzC;IACF;EACF,CAAC,MAAM,IAAIkE,KAAK,CAAClE,eAAe,EAAE;IAChCmG,KAAK,CAACnG,eAAe,GAAGkE,KAAK,CAAClE,eAAe;EAC/C;EAEA,IACEmG,KAAK,CAACS,aAAa,KAAK1C,KAAK,CAAChE,KAAK,KAClCiG,KAAK,CAACY,MAAM,KAAK7C,KAAK,CAAChE,KAAK,IAAIjC,MAAM,CAACiG,KAAK,CAAC1E,iBAAiB,CAAC,CAAC,EACjE;IACA,IAAI0E,KAAK,CAAChE,KAAK,KAAK,SAAS,EAAE;MAC7BiG,KAAK,CAACS,aAAa,GAAG,IAAI;IAC5B,CAAC,MAAM;MACLT,KAAK,CAACS,aAAa,GAAGtB,eAAe,CACnCpB,KAAK,CAAChE,KAAK,EACXiG,KAAK,CAACU,aACR,CAAC;IACH;IAEA,IAAI,OAAO3C,KAAK,CAAChC,eAAe,KAAK,UAAU,EAAE;MAC/ChE,0BAA0B,CAAC;QAAEgG;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvD0C,aAAa,EAAET,KAAK,CAACS,aAAa;QAClC1G,KAAK,EAAEgG,oBAAoB,CAACC,KAAK,CAACS,aAAa,EAAET,KAAK,CAAC;QACvDtF,IAAI,EAAE0F,YAAY,CAACJ,KAAK,CAACS,aAAa,EAAET,KAAK,CAACtF,IAAI;MACpD,CAAC,CAAC;IACJ;EACF;EAGA,IACE,EACEsF,KAAK,CAACW,WAAW,KAAK,IAAI,IAC1BlB,UAAU,CAACO,KAAK,CAACW,WAAqB,CAAC,GAAG,CAAC,CAAC,CAC7C,IACDX,KAAK,CAACY,MAAM,KAAK7C,KAAK,CAAChE,KAAK,EAC5B;IACAiG,KAAK,CAACW,WAAW,GAAGX,KAAK,CAACS,aAAa;EACzC;EAEA,IAAI1C,KAAK,CAACjF,SAAS,KAAK,MAAM,IAAIiF,KAAK,CAACjF,SAAS,KAAKkH,KAAK,CAAClH,SAAS,EAAE;IACrEkH,KAAK,CAAClH,SAAS,GAAGiF,KAAK,CAACjF,SAAS;EACnC;EAEA,IACEkH,KAAK,CAACS,aAAa,KAAK,IAAI,IAC5BhB,UAAU,CAACO,KAAK,CAACS,aAAuB,CAAC,GAAG,CAAC,CAAC,EAC9C;IACAT,KAAK,CAACmB,aAAa,GAAGC,mBAAmB,CACvCpB,KAAK,CAACS,aAAa,EACnBT,KAAK,CAACtF,IACR,CAAC;EACH;EAEAsF,KAAK,CAAC7B,KAAK,GAAGJ,KAAK,CAACrD,IAAI;EACxBsF,KAAK,CAACY,MAAM,GAAG7C,KAAK,CAAChE,KAAK;EAE1B,OAAOiG,KAAK;AACd,CAAC;AAED,OAAO,MAAMoB,mBAAmB,GAAGA,CAACX,aAAa,EAAE/F,IAAI,KAAK;EAC1D,MAAM2G,WAAW,GAAGf,cAAc,CAACG,aAAa,EAAE/F,IAAI,CAAC;EACvD,OAAO6B,iBAAiB,CAAC8E,WAAW,EAAE;IACpC5E,SAAS,EAAE,GAAG;IACdE,mBAAmB,EAAE;EACvB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAM2E,WAAW,GAAGA,CAACC,GAAG,EAAEC,GAAG,KAClCC,IAAI,CAACC,GAAG,CAACC,KAAK,CACZ,IAAI,EACJJ,GAAG,CAACtB,MAAM,CAAE2B,CAAC,IAAKA,CAAC,IAAIJ,GAAG,CAC5B,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","Icon","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","raw_data","array","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","separator","removeNumericOnlyValues","preferSelectedValue","normalizeDataItem","ret","onlyNumericRegex","hasValue","Array","isArray","reduce","acc","cur","converted","found","match","length","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","undefined","isValidElement","normalizeData","_preSelectData","list","key","map","__id","normalized","markAsTransformed","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","skipPortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.ts"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\nimport {\n DrawerListDataArrayItem,\n DrawerListDataArrayObject,\n DrawerListData,\n DrawerListDataAll,\n DrawerListDataArray,\n} from './DrawerList'\nimport { DrawerListProviderProps } from './DrawerListProvider'\nimport { DrawerListContextState } from './DrawerListContext'\nimport Icon from '../../components/icon/Icon'\n\n// legacy used by Autocomplete and Dropdown\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\n// legacy used by Dropdown\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport function parseContentTitle(\n dataItem: DrawerListDataArrayItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n): string | null {\n dataItem = normalizeDataItem(dataItem)\n\n if (!dataItem) {\n return null\n }\n\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n\n const hasValue = dataItem && dataItem.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce<string[]>((acc, cur) => {\n // check if we have React inside, with strings we can use\n const converted = convertJsxToString(cur, ' ')\n if (!converted) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && converted.match(onlyNumericRegex)\n if (!(found && found[0].length === converted.length)) {\n acc.push(converted)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(dataItem.content, ' ')\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n word?.type !== Icon &&\n typeof word?.type === 'function' &&\n (word.type as () => React.ReactElement)()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value as string)) {\n ret = separator + ret\n }\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport function preSelectData(data: DrawerListData): DrawerListDataAll {\n if (typeof data === 'string') {\n data =\n data[0] === '{' || data[0] === '['\n ? (JSON.parse(data) as Array<any> | Record<string, any>)\n : undefined\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n/**\n * Takes any of the forms data can have and returns a normalized array representation of it.\n * If the data is a single React.ReactNode, it will return an empty list.\n * @param {*} props object containing the data in props.data or props.children, or the data itself\n * @returns an array representation of the data\n */\nexport function normalizeData(props): DrawerListDataArrayObject[] {\n let data = preSelectData(props.data || props.children || props) ?? []\n\n if (typeof data === 'object' && !Array.isArray(data)) {\n const list: DrawerListDataArray = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return data.map((dataItem, __id) => {\n const normalized = normalizeDataItem(dataItem, true)\n\n return typeof normalized?.__id !== 'undefined'\n ? normalized\n : { ...normalized, __id }\n })\n}\n\nfunction normalizeDataItem(\n dataItem: DrawerListDataArrayItem,\n markAsTransformed = false\n): DrawerListDataArrayObject {\n return dataItem === null\n ? undefined\n : typeof dataItem === 'object' && 'content' in dataItem\n ? dataItem\n : {\n content: dataItem,\n ...(markAsTransformed ? { __isTransformed: true } : {}),\n }\n}\n\nexport const getData = (props) => {\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport function prepareStartupState(\n props: DrawerListProviderProps\n): DrawerListContextState {\n const selected_item = null\n const raw_data = preSelectData(\n props.data ||\n (!React.isValidElement(props.children)\n ? (props.children as DrawerListData)\n : undefined)\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state: DrawerListContextState = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data,\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (\n props: DrawerListProviderProps,\n state: DrawerListContextState\n) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.skipPortal = isTrue(props.skip_portal)\n\n if (typeof props.wrapper_element === 'string') {\n if (typeof document !== 'undefined') {\n const wrapper_element = document.querySelector<HTMLElement>(\n props.wrapper_element\n )\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(\n state.active_item !== null &&\n parseFloat(state.active_item as string) > -2\n ) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (\n state.selected_item !== null &&\n parseFloat(state.selected_item as string) > -1\n ) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ export type DrawerListPortalProps = {
|
|
|
14
14
|
include_owner_width?: boolean;
|
|
15
15
|
independent_width?: boolean;
|
|
16
16
|
fixed_position?: boolean;
|
|
17
|
+
skipPortal?: boolean;
|
|
17
18
|
className?: string;
|
|
18
19
|
};
|
|
19
20
|
declare const _default: React.ForwardRefExoticComponent<Omit<DrawerListPortalProps, "innerRef"> & React.RefAttributes<HTMLSpanElement>>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
5
|
-
import ReactDOM from 'react-dom';
|
|
4
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
6
5
|
import classnames from 'classnames';
|
|
7
6
|
import { warn, getClosestScrollViewElement } from '../../shared/component-helper';
|
|
7
|
+
import PortalRoot from '../../components/PortalRoot';
|
|
8
8
|
function DrawerListPortal({
|
|
9
9
|
innerRef,
|
|
10
10
|
id,
|
|
@@ -15,73 +15,50 @@ function DrawerListPortal({
|
|
|
15
15
|
include_owner_width,
|
|
16
16
|
independent_width,
|
|
17
17
|
fixed_position,
|
|
18
|
+
skipPortal,
|
|
18
19
|
className,
|
|
19
20
|
children
|
|
20
21
|
}) {
|
|
21
22
|
const [isMounted, setIsMounted] = useState(false);
|
|
22
23
|
const [, setForceRerender] = useState();
|
|
23
24
|
const ref = innerRef || React.createRef();
|
|
24
|
-
const portalElem = useRef();
|
|
25
25
|
const setPosition = useRef();
|
|
26
26
|
const positionTimeout = useRef();
|
|
27
27
|
const customElem = useRef();
|
|
28
28
|
const resizeObserver = useRef();
|
|
29
|
-
const init = () => {
|
|
30
|
-
portalElem.current = getRootElement();
|
|
29
|
+
const init = useCallback(() => {
|
|
31
30
|
setIsMounted(true);
|
|
32
|
-
};
|
|
31
|
+
}, []);
|
|
32
|
+
const removePositionObserver = useCallback(() => {
|
|
33
|
+
clearTimeout(positionTimeout.current);
|
|
34
|
+
if (typeof window !== 'undefined' && setPosition.current) {
|
|
35
|
+
if (customElem.current) {
|
|
36
|
+
customElem.current.removeEventListener('scroll', setPosition.current);
|
|
37
|
+
}
|
|
38
|
+
if (resizeObserver.current) {
|
|
39
|
+
resizeObserver.current.disconnect();
|
|
40
|
+
resizeObserver.current = null;
|
|
41
|
+
}
|
|
42
|
+
window.removeEventListener('resize', setPosition.current);
|
|
43
|
+
}
|
|
44
|
+
setPosition.current = null;
|
|
45
|
+
}, []);
|
|
33
46
|
useEffect(() => {
|
|
34
47
|
if (document.readyState === 'complete') {
|
|
35
48
|
init();
|
|
36
49
|
} else if (typeof window !== 'undefined') {
|
|
37
50
|
window.addEventListener('load', init);
|
|
38
51
|
}
|
|
39
|
-
}, []);
|
|
52
|
+
}, [init]);
|
|
40
53
|
useEffect(() => {
|
|
41
54
|
return () => {
|
|
42
55
|
if (typeof window !== 'undefined') {
|
|
43
56
|
window.removeEventListener('load', init);
|
|
44
57
|
}
|
|
45
58
|
removePositionObserver();
|
|
46
|
-
portalElem.current = null;
|
|
47
59
|
};
|
|
48
|
-
}, []);
|
|
49
|
-
const
|
|
50
|
-
if (typeof document !== 'undefined') {
|
|
51
|
-
try {
|
|
52
|
-
let elem = document.getElementById(`${id}-portal`);
|
|
53
|
-
if (elem) {
|
|
54
|
-
return elem;
|
|
55
|
-
}
|
|
56
|
-
elem = document.createElement('div');
|
|
57
|
-
elem.setAttribute('id', `${id}-portal`);
|
|
58
|
-
elem.classList.add('dnb-drawer-list__portal');
|
|
59
|
-
createMainElement().appendChild(elem);
|
|
60
|
-
return elem;
|
|
61
|
-
} catch (e) {
|
|
62
|
-
warn(e);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
const createMainElement = () => {
|
|
67
|
-
if (typeof document !== 'undefined') {
|
|
68
|
-
try {
|
|
69
|
-
let elem = document.getElementById('dnb-drawer-list__portal');
|
|
70
|
-
if (elem) {
|
|
71
|
-
return elem;
|
|
72
|
-
}
|
|
73
|
-
elem = document.createElement('div');
|
|
74
|
-
elem.setAttribute('role', 'presentation');
|
|
75
|
-
elem.setAttribute('id', 'dnb-drawer-list__portal');
|
|
76
|
-
elem.classList.add('dnb-core-style');
|
|
77
|
-
document.body.appendChild(elem);
|
|
78
|
-
return elem;
|
|
79
|
-
} catch (e) {
|
|
80
|
-
warn(e);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
const makeStyle = () => {
|
|
60
|
+
}, [init, removePositionObserver]);
|
|
61
|
+
const makeStyle = useCallback(() => {
|
|
85
62
|
if (typeof window === 'undefined' || !isMounted) {
|
|
86
63
|
return;
|
|
87
64
|
}
|
|
@@ -125,8 +102,8 @@ function DrawerListPortal({
|
|
|
125
102
|
} catch (e) {
|
|
126
103
|
warn(e);
|
|
127
104
|
}
|
|
128
|
-
};
|
|
129
|
-
const addPositionObserver = () => {
|
|
105
|
+
}, [isMounted, rootRef, independent_width, fixed_position, include_owner_width]);
|
|
106
|
+
const addPositionObserver = useCallback(() => {
|
|
130
107
|
if (setPosition.current || typeof window === 'undefined') {
|
|
131
108
|
return;
|
|
132
109
|
}
|
|
@@ -146,34 +123,23 @@ function DrawerListPortal({
|
|
|
146
123
|
} catch (e) {
|
|
147
124
|
window.addEventListener('resize', setPosition.current);
|
|
148
125
|
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
if (typeof window !== 'undefined' && setPosition.current) {
|
|
153
|
-
if (customElem.current) {
|
|
154
|
-
customElem.current.removeEventListener('scroll', setPosition.current);
|
|
155
|
-
}
|
|
156
|
-
if (resizeObserver.current) {
|
|
157
|
-
resizeObserver.current.disconnect();
|
|
158
|
-
resizeObserver.current = null;
|
|
159
|
-
}
|
|
160
|
-
window.removeEventListener('resize', setPosition.current);
|
|
161
|
-
}
|
|
162
|
-
setPosition.current = null;
|
|
163
|
-
};
|
|
164
|
-
if (!portalElem.current) {
|
|
165
|
-
return null;
|
|
126
|
+
}, [opened, rootRef]);
|
|
127
|
+
if (skipPortal) {
|
|
128
|
+
return children;
|
|
166
129
|
}
|
|
167
130
|
if (typeof window !== 'undefined' && isMounted) {
|
|
168
131
|
if (opened) {
|
|
169
132
|
addPositionObserver();
|
|
170
133
|
}
|
|
171
134
|
const style = opened ? makeStyle() : {};
|
|
172
|
-
return
|
|
135
|
+
return React.createElement(PortalRoot, null, React.createElement("span", {
|
|
136
|
+
className: "dnb-drawer-list__portal",
|
|
137
|
+
id: `${id}-portal`
|
|
138
|
+
}, React.createElement("span", {
|
|
173
139
|
className: classnames('dnb-drawer-list__portal__style', className, fixed_position && 'dnb-drawer-list__portal__style--fixed'),
|
|
174
140
|
style: style,
|
|
175
141
|
ref: ref
|
|
176
|
-
}, children)
|
|
142
|
+
}, children)));
|
|
177
143
|
}
|
|
178
144
|
return null;
|
|
179
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerListPortal.js","names":["React","useEffect","useRef","useState","ReactDOM","classnames","warn","getClosestScrollViewElement","DrawerListPortal","innerRef","id","opened","rootRef","current","undefined","include_owner_width","independent_width","fixed_position","className","children","isMounted","setIsMounted","setForceRerender","ref","createRef","portalElem","setPosition","positionTimeout","customElem","resizeObserver","init","getRootElement","document","readyState","window","addEventListener","removeEventListener","removePositionObserver","elem","getElementById","createElement","setAttribute","classList","add","createMainElement","appendChild","e","body","makeStyle","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","addPositionObserver","clearTimeout","setTimeout","Date","now","ResizeObserver","observe","disconnect","createPortal","forwardRef","props","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.tsx"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useEffect, useRef, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\n\nexport type DrawerListPortalProps = {\n id: string\n children: React.ReactNode\n opened: boolean\n innerRef?: React.ForwardedRef<HTMLSpanElement>\n rootRef: React.RefObject<HTMLSpanElement>\n include_owner_width?: boolean\n independent_width?: boolean\n fixed_position?: boolean\n className?: string\n}\n\nfunction DrawerListPortal({\n innerRef,\n id,\n opened,\n rootRef = { current: undefined },\n include_owner_width,\n independent_width,\n fixed_position,\n className,\n children,\n}: DrawerListPortalProps) {\n const [isMounted, setIsMounted] = useState(false)\n const [, setForceRerender] = useState<number>()\n\n const ref: React.LegacyRef<HTMLSpanElement> =\n innerRef || React.createRef()\n\n const portalElem = useRef<HTMLElement>()\n const setPosition = useRef<() => void>()\n const positionTimeout = useRef<NodeJS.Timeout>()\n const customElem = useRef<Element | Window>()\n const resizeObserver = useRef<ResizeObserver>()\n\n const init = () => {\n portalElem.current = getRootElement()\n setIsMounted(true)\n }\n\n useEffect(() => {\n if (document.readyState === 'complete') {\n init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', init)\n }\n }, [])\n\n useEffect(() => {\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', init)\n }\n\n removePositionObserver()\n portalElem.current = null\n }\n }, [])\n\n const getRootElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById(`${id}-portal`)\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('id', `${id}-portal`)\n elem.classList.add('dnb-drawer-list__portal')\n createMainElement().appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const createMainElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById('dnb-drawer-list__portal')\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('role', 'presentation')\n elem.setAttribute('id', 'dnb-drawer-list__portal')\n elem.classList.add('dnb-core-style')\n document.body.appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const makeStyle = () => {\n if (typeof window === 'undefined' || !isMounted) {\n return // stop here\n }\n\n try {\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && (customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || '0') : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }\n\n const addPositionObserver = () => {\n if (setPosition.current || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n setPosition.current = () => {\n clearTimeout(positionTimeout.current)\n positionTimeout.current = setTimeout(() => {\n if (opened) {\n setForceRerender(Date.now())\n }\n }, 200)\n }\n\n customElem.current =\n getClosestScrollViewElement(rootRef.current) || window\n customElem.current.addEventListener('scroll', setPosition.current)\n\n try {\n resizeObserver.current = new ResizeObserver(setPosition.current)\n resizeObserver.current.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', setPosition.current)\n }\n }\n\n const removePositionObserver = () => {\n clearTimeout(positionTimeout.current)\n if (typeof window !== 'undefined' && setPosition.current) {\n if (customElem.current) {\n customElem.current.removeEventListener(\n 'scroll',\n setPosition.current\n )\n }\n if (resizeObserver.current) {\n resizeObserver.current.disconnect()\n resizeObserver.current = null\n }\n window.removeEventListener('resize', setPosition.current)\n }\n setPosition.current = null\n }\n\n if (!portalElem.current) {\n return null // stop here\n }\n\n if (typeof window !== 'undefined' && isMounted) {\n if (opened) {\n addPositionObserver()\n }\n\n const style = opened ? makeStyle() : {}\n\n return ReactDOM.createPortal(\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={ref}\n >\n {children}\n </span>,\n portalElem.current\n )\n }\n\n return null\n}\n\nexport default React.forwardRef(\n (\n props: Omit<DrawerListPortalProps, 'innerRef'>,\n ref: React.ForwardedRef<HTMLSpanElement>\n ) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n }\n)\n"],"mappings":";;;AAOA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,IAAI,EACJC,2BAA2B,QACtB,+BAA+B;AActC,SAASC,gBAAgBA,CAAC;EACxBC,QAAQ;EACRC,EAAE;EACFC,MAAM;EACNC,OAAO,GAAG;IAAEC,OAAO,EAAEC;EAAU,CAAC;EAChCC,mBAAmB;EACnBC,iBAAiB;EACjBC,cAAc;EACdC,SAAS;EACTC;AACqB,CAAC,EAAE;EACxB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,GAAGmB,gBAAgB,CAAC,GAAGnB,QAAQ,CAAS,CAAC;EAE/C,MAAMoB,GAAqC,GACzCd,QAAQ,IAAIT,KAAK,CAACwB,SAAS,CAAC,CAAC;EAE/B,MAAMC,UAAU,GAAGvB,MAAM,CAAc,CAAC;EACxC,MAAMwB,WAAW,GAAGxB,MAAM,CAAa,CAAC;EACxC,MAAMyB,eAAe,GAAGzB,MAAM,CAAiB,CAAC;EAChD,MAAM0B,UAAU,GAAG1B,MAAM,CAAmB,CAAC;EAC7C,MAAM2B,cAAc,GAAG3B,MAAM,CAAiB,CAAC;EAE/C,MAAM4B,IAAI,GAAGA,CAAA,KAAM;IACjBL,UAAU,CAACZ,OAAO,GAAGkB,cAAc,CAAC,CAAC;IACrCV,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI+B,QAAQ,CAACC,UAAU,KAAK,UAAU,EAAE;MACtCH,IAAI,CAAC,CAAC;IACR,CAAC,MAAM,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;MACxCA,MAAM,CAACC,gBAAgB,CAAC,MAAM,EAAEL,IAAI,CAAC;IACvC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN7B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAI,OAAOiC,MAAM,KAAK,WAAW,EAAE;QACjCA,MAAM,CAACE,mBAAmB,CAAC,MAAM,EAAEN,IAAI,CAAC;MAC1C;MAEAO,sBAAsB,CAAC,CAAC;MACxBZ,UAAU,CAACZ,OAAO,GAAG,IAAI;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMkB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,GAAG7B,EAAE,SAAS,CAAC;QAClD,IAAI4B,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,GAAG/B,EAAE,SAAS,CAAC;QACvC4B,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,yBAAyB,CAAC;QAC7CC,iBAAiB,CAAC,CAAC,CAACC,WAAW,CAACP,IAAI,CAAC;QAErC,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAMF,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAI,OAAOZ,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,yBAAyB,CAAC;QAC7D,IAAID,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QACzCH,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAClDH,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,gBAAgB,CAAC;QACpCX,QAAQ,CAACe,IAAI,CAACF,WAAW,CAACP,IAAI,CAAC;QAE/B,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAME,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOd,MAAM,KAAK,WAAW,IAAI,CAACd,SAAS,EAAE;MAC/C;IACF;IAEA,IAAI;MACF,MAAM6B,QAAQ,GAAGrC,OAAO,CAACC,OAAO;MAChC,IAAI,CAACoC,QAAQ,EAAE;QACb;MACF;MACA,MAAMC,SAAS,GAAGD,QAAQ,CAACE,aAAa;MAGxC,IAAIC,KAAK,GAAG,EAAE;MAGd,MAAMC,UAAU,GAAGnB,MAAM,CAACoB,gBAAgB,CAACJ,SAAS,CAAC,CAACE,KAAK;MAG3D,IAAIpC,iBAAiB,IAAIuC,UAAU,CAACF,UAAU,CAAC,GAAG,EAAE,EAAE;QAEpD,MAAMG,QAAQ,GACZD,UAAU,CACRrB,MAAM,CACHoB,gBAAgB,CAACtB,QAAQ,CAACyB,eAAe,CAAC,CAC1CC,gBAAgB,CAAC,qBAAqB,CAC3C,CAAC,IAAI,CAAC;QACRN,KAAK,GAAGI,QAAQ,GAAG,EAAE;MACvB;MAGA,MAAMG,WAAW,GAAGV,QAAQ,CAACW,qBAAqB,CAAC,CAAC,CAACR,KAAK;MAC1D,IAAI,CAACpC,iBAAiB,IAAI,CAAC2C,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE;QAClDP,KAAK,GAAGO,WAAW;MACrB;MAGA,MAAME,IAAI,GAAGZ,QAAQ,CAACW,qBAAqB,CAAC,CAAC;MAC7C,MAAME,OAAO,GAAG7C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC4B,OAAO,KAAKhD,SAAS,GAC5BoB,MAAM,CAAC4B,OAAO,GACd5B,MAAM,CAAC6B,WAAW;MACtB,MAAMC,OAAO,GAAG/C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC8B,OAAO,KAAKlD,SAAS,GAC5BoB,MAAM,CAAC8B,OAAO,GACd9B,MAAM,CAAC+B,WAAW;MAEtB,IAAIC,GAAG,GAAGJ,OAAO,GAAGD,IAAI,CAACK,GAAG;MAC5B,IAAIC,IAAI,GACNH,OAAO,GACPH,IAAI,CAACM,IAAI,IACRpD,mBAAmB,GAAGwC,UAAU,CAACF,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MAE3D,IAAID,KAAK,GAAGlB,MAAM,CAACkC,UAAU,EAAE;QAC7BhB,KAAK,GAAGlB,MAAM,CAACkC,UAAU;MAC3B;MACA,IAAIF,GAAG,GAAG,CAAC,EAAE;QACXA,GAAG,GAAG,CAAC;MACT;MACA,IAAIC,IAAI,GAAG,CAAC,EAAE;QACZA,IAAI,GAAG,CAAC;MACV;MAGA,MAAME,KAAK,GAAG;QACZjB,KAAK;QACL,qBAAqB,EAAE,GAAGA,KAAK,GAAG,EAAE,KAAK;QACzCc,GAAG;QACHC;MACF,CAAC;MAED,OAAOE,KAAK;IACd,CAAC,CAAC,OAAOvB,CAAC,EAAE;MACVxC,IAAI,CAACwC,CAAC,CAAC;IACT;EACF,CAAC;EAED,MAAMwB,mBAAmB,GAAGA,CAAA,KAAM;IAChC,IAAI5C,WAAW,CAACb,OAAO,IAAI,OAAOqB,MAAM,KAAK,WAAW,EAAE;MACxD;IACF;IAGAR,WAAW,CAACb,OAAO,GAAG,MAAM;MAC1B0D,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;MACrCc,eAAe,CAACd,OAAO,GAAG2D,UAAU,CAAC,MAAM;QACzC,IAAI7D,MAAM,EAAE;UACVW,gBAAgB,CAACmD,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC9B;MACF,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAED9C,UAAU,CAACf,OAAO,GAChBN,2BAA2B,CAACK,OAAO,CAACC,OAAO,CAAC,IAAIqB,MAAM;IACxDN,UAAU,CAACf,OAAO,CAACsB,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IAElE,IAAI;MACFgB,cAAc,CAAChB,OAAO,GAAG,IAAI8D,cAAc,CAACjD,WAAW,CAACb,OAAO,CAAC;MAChEgB,cAAc,CAAChB,OAAO,CAAC+D,OAAO,CAAC5C,QAAQ,CAACe,IAAI,CAAC;IAC/C,CAAC,CAAC,OAAOD,CAAC,EAAE;MACVZ,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IACxD;EACF,CAAC;EAED,MAAMwB,sBAAsB,GAAGA,CAAA,KAAM;IACnCkC,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;IACrC,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAIR,WAAW,CAACb,OAAO,EAAE;MACxD,IAAIe,UAAU,CAACf,OAAO,EAAE;QACtBe,UAAU,CAACf,OAAO,CAACuB,mBAAmB,CACpC,QAAQ,EACRV,WAAW,CAACb,OACd,CAAC;MACH;MACA,IAAIgB,cAAc,CAAChB,OAAO,EAAE;QAC1BgB,cAAc,CAAChB,OAAO,CAACgE,UAAU,CAAC,CAAC;QACnChD,cAAc,CAAChB,OAAO,GAAG,IAAI;MAC/B;MACAqB,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEV,WAAW,CAACb,OAAO,CAAC;IAC3D;IACAa,WAAW,CAACb,OAAO,GAAG,IAAI;EAC5B,CAAC;EAED,IAAI,CAACY,UAAU,CAACZ,OAAO,EAAE;IACvB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAId,SAAS,EAAE;IAC9C,IAAIT,MAAM,EAAE;MACV2D,mBAAmB,CAAC,CAAC;IACvB;IAEA,MAAMD,KAAK,GAAG1D,MAAM,GAAGqC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO5C,QAAQ,CAAC0E,YAAY,CAC1B9E,KAAA,CAAAwC,aAAA;MACEtB,SAAS,EAAEb,UAAU,CACnB,gCAAgC,EAEhCa,SAAS,EADTD,cAAc,IAAI,uCAEpB,CAAE;MACFoD,KAAK,EAAEA,KAAM;MACb9C,GAAG,EAAEA;IAAI,GAERJ,QACG,CAAC,EACPM,UAAU,CAACZ,OACb,CAAC;EACH;EAEA,OAAO,IAAI;AACb;AAEA,eAAeb,KAAK,CAAC+E,UAAU,CAC7B,CACEC,KAA8C,EAC9CzD,GAAwC,KACrC;EACH,OAAOvB,KAAA,CAAAwC,aAAA,CAAChC,gBAAgB,EAAAyE,QAAA;IAACxE,QAAQ,EAAEc;EAAI,GAAKyD,KAAK,CAAG,CAAC;AACvD,CACF,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerListPortal.js","names":["React","useCallback","useEffect","useRef","useState","classnames","warn","getClosestScrollViewElement","PortalRoot","DrawerListPortal","innerRef","id","opened","rootRef","current","undefined","include_owner_width","independent_width","fixed_position","skipPortal","className","children","isMounted","setIsMounted","setForceRerender","ref","createRef","setPosition","positionTimeout","customElem","resizeObserver","init","removePositionObserver","clearTimeout","window","removeEventListener","disconnect","document","readyState","addEventListener","makeStyle","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","e","addPositionObserver","setTimeout","Date","now","ResizeObserver","observe","body","createElement","forwardRef","props","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.tsx"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\nimport PortalRoot from '../../components/PortalRoot'\n\nexport type DrawerListPortalProps = {\n id: string\n children: React.ReactNode\n opened: boolean\n innerRef?: React.ForwardedRef<HTMLSpanElement>\n rootRef: React.RefObject<HTMLSpanElement>\n include_owner_width?: boolean\n independent_width?: boolean\n fixed_position?: boolean\n skipPortal?: boolean\n className?: string\n}\n\nfunction DrawerListPortal({\n innerRef,\n id,\n opened,\n rootRef = { current: undefined },\n include_owner_width,\n independent_width,\n fixed_position,\n skipPortal,\n className,\n children,\n}: DrawerListPortalProps) {\n const [isMounted, setIsMounted] = useState(false)\n const [, setForceRerender] = useState<number>()\n\n const ref: React.LegacyRef<HTMLSpanElement> =\n innerRef || React.createRef()\n\n const setPosition = useRef<() => void>()\n const positionTimeout = useRef<NodeJS.Timeout>()\n const customElem = useRef<Element | Window>()\n const resizeObserver = useRef<ResizeObserver>()\n\n const init = useCallback(() => {\n setIsMounted(true)\n }, [])\n\n const removePositionObserver = useCallback(() => {\n clearTimeout(positionTimeout.current)\n if (typeof window !== 'undefined' && setPosition.current) {\n if (customElem.current) {\n customElem.current.removeEventListener(\n 'scroll',\n setPosition.current\n )\n }\n if (resizeObserver.current) {\n resizeObserver.current.disconnect()\n resizeObserver.current = null\n }\n window.removeEventListener('resize', setPosition.current)\n }\n setPosition.current = null\n }, [])\n\n useEffect(() => {\n if (document.readyState === 'complete') {\n init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', init)\n }\n }, [init])\n\n useEffect(() => {\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', init)\n }\n\n removePositionObserver()\n }\n }, [init, removePositionObserver])\n\n const makeStyle = useCallback(() => {\n if (typeof window === 'undefined' || !isMounted) {\n return // stop here\n }\n\n try {\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && (customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || '0') : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }, [\n isMounted,\n rootRef,\n independent_width,\n fixed_position,\n include_owner_width,\n ])\n\n const addPositionObserver = useCallback(() => {\n if (setPosition.current || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n setPosition.current = () => {\n clearTimeout(positionTimeout.current)\n positionTimeout.current = setTimeout(() => {\n if (opened) {\n setForceRerender(Date.now())\n }\n }, 200)\n }\n\n customElem.current =\n getClosestScrollViewElement(rootRef.current) || window\n customElem.current.addEventListener('scroll', setPosition.current)\n\n try {\n resizeObserver.current = new ResizeObserver(setPosition.current)\n resizeObserver.current.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', setPosition.current)\n }\n }, [opened, rootRef])\n\n if (skipPortal) {\n return children\n }\n\n if (typeof window !== 'undefined' && isMounted) {\n if (opened) {\n addPositionObserver()\n }\n\n const style = (opened ? makeStyle() : {}) as React.CSSProperties\n\n return (\n <PortalRoot>\n <span className=\"dnb-drawer-list__portal\" id={`${id}-portal`}>\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={ref}\n >\n {children}\n </span>\n </span>\n </PortalRoot>\n )\n }\n\n return null\n}\n\nexport default React.forwardRef(\n (\n props: Omit<DrawerListPortalProps, 'innerRef'>,\n ref: React.ForwardedRef<HTMLSpanElement>\n ) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n }\n)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,7 +29,7 @@ export type DrawerListProviderProps = Omit<DrawerListProps, 'children'> & Omit<R
|
|
|
29
29
|
showFocusRing?: boolean;
|
|
30
30
|
closestToTop?: number;
|
|
31
31
|
closestToBottom?: number;
|
|
32
|
-
|
|
32
|
+
skipPortal?: boolean;
|
|
33
33
|
addObservers?: () => void;
|
|
34
34
|
removeObservers?: () => void;
|
|
35
35
|
setVisible?: (args?: Record<string, any>, onStateComplete?: any) => void;
|