@dnb/eufemia 10.13.0 → 10.14.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/accordion/AccordionContent.js +1 -0
- package/cjs/components/accordion/AccordionContent.js.map +1 -1
- package/cjs/components/anchor/Anchor.js +1 -0
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +80 -77
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/avatar/Avatar.js +1 -0
- package/cjs/components/avatar/Avatar.js.map +1 -1
- package/cjs/components/avatar/AvatarGroup.js +1 -0
- package/cjs/components/avatar/AvatarGroup.js.map +1 -1
- package/cjs/components/badge/Badge.js +1 -0
- package/cjs/components/badge/Badge.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +1 -0
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/button/Button.js +2 -0
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/checkbox/Checkbox.js +2 -0
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.js +2 -0
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +1 -0
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +1 -0
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/flex/Container.js +1 -0
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Flex.d.ts +1 -1
- package/cjs/components/flex/Flex.js +1 -1
- package/cjs/components/flex/Flex.js.map +1 -1
- package/cjs/components/flex/export.d.ts +5 -0
- package/cjs/components/flex/export.js +42 -0
- package/cjs/components/flex/export.js.map +1 -0
- package/cjs/components/flex/index.d.ts +2 -5
- package/cjs/components/flex/index.js +5 -36
- package/cjs/components/flex/index.js.map +1 -1
- package/cjs/components/form-label/FormLabel.d.ts +1 -0
- package/cjs/components/form-label/FormLabel.js +2 -0
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/form-row/FormRow.js +1 -0
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.js +1 -0
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js +1 -0
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-error/GlobalError.js +1 -0
- package/cjs/components/global-error/GlobalError.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.js +1 -0
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/grid/Grid.d.ts +1 -1
- package/cjs/components/grid/Grid.js +1 -1
- package/cjs/components/grid/Grid.js.map +1 -1
- package/cjs/components/grid/export.d.ts +2 -0
- package/cjs/components/grid/export.js +21 -0
- package/cjs/components/grid/export.js.map +1 -0
- package/cjs/components/grid/index.d.ts +2 -2
- package/cjs/components/grid/index.js +5 -15
- package/cjs/components/grid/index.js.map +1 -1
- package/cjs/components/heading/Heading.js +1 -0
- package/cjs/components/heading/Heading.js.map +1 -1
- package/cjs/components/help-button/HelpButton.js +1 -0
- package/cjs/components/help-button/HelpButton.js.map +1 -1
- package/cjs/components/help-button/HelpButtonInstance.js +1 -0
- package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
- package/cjs/components/icon/Icon.js +1 -0
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js +1 -0
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/info-card/InfoCard.js +1 -0
- package/cjs/components/info-card/InfoCard.js.map +1 -1
- package/cjs/components/input/Input.d.ts +4 -0
- package/cjs/components/input/Input.js +12 -2
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input/InputPassword.js +2 -0
- package/cjs/components/input/InputPassword.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.js +2 -0
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +9 -1
- package/cjs/components/input-masked/MultiInputMask.js +14 -7
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/TextMask.d.ts +1 -1
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/cjs/components/lib.d.ts +2 -0
- package/cjs/components/logo/Logo.js +1 -0
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/modal/Modal.js +1 -0
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/ModalContent.js +1 -0
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/modal/parts/CloseButton.js +1 -0
- package/cjs/components/modal/parts/CloseButton.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.js +1 -0
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js +1 -0
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/pagination/PaginationHelpers.js +1 -0
- package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js +1 -0
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/pagination/PaginationProvider.js +1 -0
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicator.js +1 -0
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/radio/Radio.js +4 -2
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js +5 -4
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +106 -0
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +202 -0
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
- package/cjs/components/section/Section.js +1 -0
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.js +1 -0
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/skeleton/figures/Article.js +1 -0
- package/cjs/components/skeleton/figures/Article.js.map +1 -1
- package/cjs/components/skeleton/figures/Circle.js +1 -0
- package/cjs/components/skeleton/figures/Circle.js.map +1 -1
- package/cjs/components/skeleton/figures/Product.js +1 -0
- package/cjs/components/skeleton/figures/Product.js.map +1 -1
- package/cjs/components/skeleton/figures/Table.js +1 -0
- package/cjs/components/skeleton/figures/Table.js.map +1 -1
- package/cjs/components/slider/Slider.d.ts +1 -0
- package/cjs/components/slider/Slider.js +1 -0
- package/cjs/components/slider/Slider.js.map +1 -1
- package/cjs/components/slider/SliderInstance.js +1 -0
- package/cjs/components/slider/SliderInstance.js.map +1 -1
- package/cjs/components/slider/SliderProvider.js +1 -0
- package/cjs/components/slider/SliderProvider.js.map +1 -1
- package/cjs/components/space/Space.js +1 -0
- package/cjs/components/space/Space.js.map +1 -1
- package/cjs/components/switch/Switch.js +2 -0
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/Table.js +1 -0
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +1 -0
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tag/Tag.d.ts +1 -0
- package/cjs/components/tag/Tag.js +2 -0
- package/cjs/components/tag/Tag.js.map +1 -1
- package/cjs/components/tag/TagGroup.js +1 -0
- package/cjs/components/tag/TagGroup.js.map +1 -1
- package/cjs/components/textarea/Textarea.js +2 -0
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/timeline/Timeline.js +1 -0
- package/cjs/components/timeline/Timeline.js.map +1 -1
- package/cjs/components/timeline/TimelineItem.js +1 -0
- package/cjs/components/timeline/TimelineItem.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js +2 -0
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +5 -4
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/tooltip/Tooltip.js +1 -0
- package/cjs/components/tooltip/Tooltip.js.map +1 -1
- package/cjs/components/tooltip/TooltipPortal.js +1 -0
- package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
- package/cjs/components/upload/Upload.d.ts +1 -0
- package/cjs/components/upload/Upload.js +2 -0
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/useUpload.js +1 -0
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/components/visually-hidden/VisuallyHidden.js +1 -0
- package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/cjs/elements/Element.js +1 -0
- package/cjs/elements/Element.js.map +1 -1
- package/cjs/elements/typography/H.js +1 -0
- package/cjs/elements/typography/H.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -42
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +8 -5
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +6 -4
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +99 -0
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
- package/cjs/extensions/forms/Field/Expiry/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Expiry/index.js +27 -0
- package/cjs/extensions/forms/Field/Expiry/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -5
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +47 -25
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +8 -5
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +46 -33
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.js +30 -20
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/Field/style/dnb-forms-field.css +13 -0
- package/cjs/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +36 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +1 -0
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +3 -0
- package/cjs/extensions/forms/hooks/index.js +21 -0
- package/cjs/extensions/forms/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +127 -61
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useMountEffect.d.ts +5 -0
- package/cjs/extensions/forms/hooks/useMountEffect.js +14 -0
- package/cjs/extensions/forms/hooks/useMountEffect.js.map +1 -0
- package/cjs/extensions/forms/hooks/useProcessManager.d.ts +6 -0
- package/cjs/extensions/forms/hooks/useProcessManager.js +21 -0
- package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -0
- package/cjs/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
- package/cjs/extensions/forms/hooks/useUpdateEffect.js +19 -0
- package/cjs/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
- package/cjs/extensions/forms/style/dnb-forms.css +13 -0
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +10 -2
- package/cjs/extensions/forms/types.js +2 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.js +25 -1
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/errors.d.ts +2 -0
- package/cjs/extensions/forms/utils/errors.js +16 -0
- package/cjs/extensions/forms/utils/errors.js.map +1 -0
- package/cjs/extensions/forms/utils/index.d.ts +1 -0
- package/cjs/extensions/forms/utils/index.js +12 -0
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +1 -0
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/scroll-view/ScrollView.js +1 -0
- package/cjs/fragments/scroll-view/ScrollView.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/MediaQuery.js +1 -0
- package/cjs/shared/MediaQuery.js.map +1 -1
- package/cjs/shared/Provider.js +1 -0
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/Theme.js +1 -0
- package/cjs/shared/Theme.js.map +1 -1
- package/cjs/shared/VisibilityByTheme.js +1 -0
- package/cjs/shared/VisibilityByTheme.js.map +1 -1
- package/cjs/shared/index.js +1 -0
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +11 -0
- package/cjs/shared/locales/en-GB.js +12 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +11 -0
- package/cjs/shared/locales/index.d.ts +22 -0
- package/cjs/shared/locales/nb-NO.d.ts +11 -0
- package/cjs/shared/locales/nb-NO.js +12 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useMedia.js +1 -0
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/shared/useMediaQuery.js +1 -0
- package/cjs/shared/useMediaQuery.js.map +1 -1
- package/cjs/shared/useTheme.js +1 -0
- package/cjs/shared/useTheme.js.map +1 -1
- package/cjs/shared/useTranslation.js +1 -0
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/dnb-ui-components.css +106 -0
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +13 -0
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +126 -86
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/components/accordion/AccordionContent.js +2 -0
- package/components/accordion/AccordionContent.js.map +1 -1
- package/components/anchor/Anchor.js +2 -0
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +80 -77
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/avatar/Avatar.js +2 -0
- package/components/avatar/Avatar.js.map +1 -1
- package/components/avatar/AvatarGroup.js +2 -0
- package/components/avatar/AvatarGroup.js.map +1 -1
- package/components/badge/Badge.js +2 -0
- package/components/badge/Badge.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +2 -0
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/button/Button.js +3 -0
- package/components/button/Button.js.map +1 -1
- package/components/checkbox/Checkbox.js +3 -0
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/date-picker/DatePicker.js +3 -0
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +2 -0
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/dropdown/Dropdown.js +1 -0
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/flex/Container.js +2 -0
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Flex.d.ts +1 -1
- package/components/flex/Flex.js +1 -1
- package/components/flex/Flex.js.map +1 -1
- package/components/flex/export.d.ts +5 -0
- package/components/flex/export.js +6 -0
- package/components/flex/export.js.map +1 -0
- package/components/flex/index.d.ts +2 -5
- package/components/flex/index.js +2 -5
- package/components/flex/index.js.map +1 -1
- package/components/form-label/FormLabel.d.ts +1 -0
- package/components/form-label/FormLabel.js +3 -0
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/form-row/FormRow.js +2 -0
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.js +2 -0
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.js +2 -0
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-error/GlobalError.js +2 -0
- package/components/global-error/GlobalError.js.map +1 -1
- package/components/global-status/GlobalStatus.js +2 -0
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/grid/Grid.d.ts +1 -1
- package/components/grid/Grid.js +1 -1
- package/components/grid/Grid.js.map +1 -1
- package/components/grid/export.d.ts +2 -0
- package/components/grid/export.js +3 -0
- package/components/grid/export.js.map +1 -0
- package/components/grid/index.d.ts +2 -2
- package/components/grid/index.js +2 -2
- package/components/grid/index.js.map +1 -1
- package/components/heading/Heading.js +2 -0
- package/components/heading/Heading.js.map +1 -1
- package/components/help-button/HelpButton.js +2 -0
- package/components/help-button/HelpButton.js.map +1 -1
- package/components/help-button/HelpButtonInstance.js +2 -0
- package/components/help-button/HelpButtonInstance.js.map +1 -1
- package/components/icon/Icon.js +2 -0
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js +2 -0
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/info-card/InfoCard.js +2 -0
- package/components/info-card/InfoCard.js.map +1 -1
- package/components/input/Input.d.ts +4 -0
- package/components/input/Input.js +13 -2
- package/components/input/Input.js.map +1 -1
- package/components/input/InputPassword.js +3 -0
- package/components/input/InputPassword.js.map +1 -1
- package/components/input-masked/InputMasked.js +3 -0
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +9 -1
- package/components/input-masked/MultiInputMask.js +14 -7
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/TextMask.d.ts +1 -1
- package/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
- package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/components/lib.d.ts +2 -0
- package/components/logo/Logo.js +2 -0
- package/components/logo/Logo.js.map +1 -1
- package/components/modal/Modal.js +2 -0
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/ModalContent.js +2 -0
- package/components/modal/ModalContent.js.map +1 -1
- package/components/modal/parts/CloseButton.js +2 -0
- package/components/modal/parts/CloseButton.js.map +1 -1
- package/components/number-format/NumberFormat.js +2 -0
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/NumberUtils.js +2 -0
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/pagination/PaginationHelpers.js +2 -0
- package/components/pagination/PaginationHelpers.js.map +1 -1
- package/components/pagination/PaginationInfinity.js +2 -0
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/pagination/PaginationProvider.js +2 -0
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/progress-indicator/ProgressIndicator.js +2 -0
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/radio/Radio.js +5 -2
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.js +6 -4
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/radio/style/dnb-radio.css +106 -0
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/radio/style/dnb-radio.scss +202 -0
- package/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
- package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
- package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
- package/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
- package/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
- package/components/section/Section.js +2 -0
- package/components/section/Section.js.map +1 -1
- package/components/skeleton/Skeleton.js +2 -0
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/skeleton/figures/Article.js +2 -0
- package/components/skeleton/figures/Article.js.map +1 -1
- package/components/skeleton/figures/Circle.js +2 -0
- package/components/skeleton/figures/Circle.js.map +1 -1
- package/components/skeleton/figures/Product.js +2 -0
- package/components/skeleton/figures/Product.js.map +1 -1
- package/components/skeleton/figures/Table.js +2 -0
- package/components/skeleton/figures/Table.js.map +1 -1
- package/components/slider/Slider.d.ts +1 -0
- package/components/slider/Slider.js +1 -0
- package/components/slider/Slider.js.map +1 -1
- package/components/slider/SliderInstance.js +2 -0
- package/components/slider/SliderInstance.js.map +1 -1
- package/components/slider/SliderProvider.js +2 -0
- package/components/slider/SliderProvider.js.map +1 -1
- package/components/space/Space.js +2 -0
- package/components/space/Space.js.map +1 -1
- package/components/switch/Switch.js +3 -0
- package/components/switch/Switch.js.map +1 -1
- package/components/table/Table.js +2 -0
- package/components/table/Table.js.map +1 -1
- package/components/tabs/Tabs.js +2 -0
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tag/Tag.d.ts +1 -0
- package/components/tag/Tag.js +3 -0
- package/components/tag/Tag.js.map +1 -1
- package/components/tag/TagGroup.js +2 -0
- package/components/tag/TagGroup.js.map +1 -1
- package/components/textarea/Textarea.js +3 -0
- package/components/textarea/Textarea.js.map +1 -1
- package/components/timeline/Timeline.js +2 -0
- package/components/timeline/Timeline.js.map +1 -1
- package/components/timeline/TimelineItem.js +2 -0
- package/components/timeline/TimelineItem.js.map +1 -1
- package/components/toggle-button/ToggleButton.js +3 -0
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +6 -4
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/tooltip/Tooltip.js +2 -0
- package/components/tooltip/Tooltip.js.map +1 -1
- package/components/tooltip/TooltipPortal.js +2 -0
- package/components/tooltip/TooltipPortal.js.map +1 -1
- package/components/upload/Upload.d.ts +1 -0
- package/components/upload/Upload.js +3 -0
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/useUpload.js +2 -0
- package/components/upload/useUpload.js.map +1 -1
- package/components/visually-hidden/VisuallyHidden.js +2 -0
- package/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/elements/Element.js +2 -0
- package/elements/Element.js.map +1 -1
- package/elements/typography/H.js +2 -0
- package/elements/typography/H.js.map +1 -1
- package/es/components/accordion/AccordionContent.js +2 -0
- package/es/components/accordion/AccordionContent.js.map +1 -1
- package/es/components/anchor/Anchor.js +2 -0
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +79 -77
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/avatar/Avatar.js +2 -0
- package/es/components/avatar/Avatar.js.map +1 -1
- package/es/components/avatar/AvatarGroup.js +2 -0
- package/es/components/avatar/AvatarGroup.js.map +1 -1
- package/es/components/badge/Badge.js +2 -0
- package/es/components/badge/Badge.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +2 -0
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/button/Button.js +3 -0
- package/es/components/button/Button.js.map +1 -1
- package/es/components/checkbox/Checkbox.js +3 -0
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/date-picker/DatePicker.js +3 -0
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +2 -0
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +1 -0
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/flex/Container.js +2 -0
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Flex.d.ts +1 -1
- package/es/components/flex/Flex.js +1 -1
- package/es/components/flex/Flex.js.map +1 -1
- package/es/components/flex/export.d.ts +5 -0
- package/es/components/flex/export.js +6 -0
- package/es/components/flex/export.js.map +1 -0
- package/es/components/flex/index.d.ts +2 -5
- package/es/components/flex/index.js +2 -5
- package/es/components/flex/index.js.map +1 -1
- package/es/components/form-label/FormLabel.d.ts +1 -0
- package/es/components/form-label/FormLabel.js +3 -0
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/form-row/FormRow.js +2 -0
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.js +2 -0
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.js +2 -0
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-error/GlobalError.js +2 -0
- package/es/components/global-error/GlobalError.js.map +1 -1
- package/es/components/global-status/GlobalStatus.js +2 -0
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/grid/Grid.d.ts +1 -1
- package/es/components/grid/Grid.js +1 -1
- package/es/components/grid/Grid.js.map +1 -1
- package/es/components/grid/export.d.ts +2 -0
- package/es/components/grid/export.js +3 -0
- package/es/components/grid/export.js.map +1 -0
- package/es/components/grid/index.d.ts +2 -2
- package/es/components/grid/index.js +2 -2
- package/es/components/grid/index.js.map +1 -1
- package/es/components/heading/Heading.js +2 -0
- package/es/components/heading/Heading.js.map +1 -1
- package/es/components/help-button/HelpButton.js +2 -0
- package/es/components/help-button/HelpButton.js.map +1 -1
- package/es/components/help-button/HelpButtonInstance.js +2 -0
- package/es/components/help-button/HelpButtonInstance.js.map +1 -1
- package/es/components/icon/Icon.js +2 -0
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js +2 -0
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/info-card/InfoCard.js +2 -0
- package/es/components/info-card/InfoCard.js.map +1 -1
- package/es/components/input/Input.d.ts +4 -0
- package/es/components/input/Input.js +13 -2
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input/InputPassword.js +3 -0
- package/es/components/input/InputPassword.js.map +1 -1
- package/es/components/input-masked/InputMasked.js +3 -0
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +9 -1
- package/es/components/input-masked/MultiInputMask.js +14 -7
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/TextMask.d.ts +1 -1
- package/es/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
- package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/es/components/lib.d.ts +2 -0
- package/es/components/logo/Logo.js +2 -0
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/modal/Modal.js +2 -0
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/ModalContent.js +2 -0
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/modal/parts/CloseButton.js +2 -0
- package/es/components/modal/parts/CloseButton.js.map +1 -1
- package/es/components/number-format/NumberFormat.js +2 -0
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/NumberUtils.js +2 -0
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/pagination/PaginationHelpers.js +2 -0
- package/es/components/pagination/PaginationHelpers.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js +2 -0
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/pagination/PaginationProvider.js +2 -0
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicator.js +2 -0
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/radio/Radio.js +5 -2
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.js +6 -4
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +106 -0
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/radio/style/dnb-radio.scss +202 -0
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
- package/es/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
- package/es/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
- package/es/components/section/Section.js +2 -0
- package/es/components/section/Section.js.map +1 -1
- package/es/components/skeleton/Skeleton.js +2 -0
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/skeleton/figures/Article.js +2 -0
- package/es/components/skeleton/figures/Article.js.map +1 -1
- package/es/components/skeleton/figures/Circle.js +2 -0
- package/es/components/skeleton/figures/Circle.js.map +1 -1
- package/es/components/skeleton/figures/Product.js +2 -0
- package/es/components/skeleton/figures/Product.js.map +1 -1
- package/es/components/skeleton/figures/Table.js +2 -0
- package/es/components/skeleton/figures/Table.js.map +1 -1
- package/es/components/slider/Slider.d.ts +1 -0
- package/es/components/slider/Slider.js +1 -0
- package/es/components/slider/Slider.js.map +1 -1
- package/es/components/slider/SliderInstance.js +2 -0
- package/es/components/slider/SliderInstance.js.map +1 -1
- package/es/components/slider/SliderProvider.js +2 -0
- package/es/components/slider/SliderProvider.js.map +1 -1
- package/es/components/space/Space.js +2 -0
- package/es/components/space/Space.js.map +1 -1
- package/es/components/switch/Switch.js +3 -0
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/Table.js +2 -0
- package/es/components/table/Table.js.map +1 -1
- package/es/components/tabs/Tabs.js +2 -0
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tag/Tag.d.ts +1 -0
- package/es/components/tag/Tag.js +3 -0
- package/es/components/tag/Tag.js.map +1 -1
- package/es/components/tag/TagGroup.js +2 -0
- package/es/components/tag/TagGroup.js.map +1 -1
- package/es/components/textarea/Textarea.js +3 -0
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/timeline/Timeline.js +2 -0
- package/es/components/timeline/Timeline.js.map +1 -1
- package/es/components/timeline/TimelineItem.js +2 -0
- package/es/components/timeline/TimelineItem.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js +3 -0
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +6 -4
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/tooltip/Tooltip.js +2 -0
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/components/tooltip/TooltipPortal.js +2 -0
- package/es/components/tooltip/TooltipPortal.js.map +1 -1
- package/es/components/upload/Upload.d.ts +1 -0
- package/es/components/upload/Upload.js +3 -0
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/useUpload.js +2 -0
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/components/visually-hidden/VisuallyHidden.js +2 -0
- package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/es/elements/Element.js +2 -0
- package/es/elements/Element.js.map +1 -1
- package/es/elements/typography/H.js +2 -0
- package/es/elements/typography/H.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +53 -43
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +9 -6
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +7 -5
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
- package/es/extensions/forms/Field/Expiry/Expiry.js +88 -0
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
- package/es/extensions/forms/Field/Expiry/index.d.ts +2 -0
- package/es/extensions/forms/Field/Expiry/index.js +3 -0
- package/es/extensions/forms/Field/Expiry/index.js.map +1 -0
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -6
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +48 -25
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +9 -6
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +34 -21
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/String/String.js +30 -20
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/Field/style/dnb-forms-field.css +13 -0
- package/es/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/Element/Element.js +2 -0
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +2 -0
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +3 -0
- package/es/extensions/forms/hooks/index.js +5 -1
- package/es/extensions/forms/hooks/index.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +127 -62
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useMountEffect.d.ts +5 -0
- package/es/extensions/forms/hooks/useMountEffect.js +9 -0
- package/es/extensions/forms/hooks/useMountEffect.js.map +1 -0
- package/es/extensions/forms/hooks/useProcessManager.d.ts +6 -0
- package/es/extensions/forms/hooks/useProcessManager.js +16 -0
- package/es/extensions/forms/hooks/useProcessManager.js.map +1 -0
- package/es/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
- package/es/extensions/forms/hooks/useUpdateEffect.js +14 -0
- package/es/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
- package/es/extensions/forms/style/dnb-forms.css +13 -0
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +10 -2
- package/es/extensions/forms/types.js +2 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.js +25 -1
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/errors.d.ts +2 -0
- package/es/extensions/forms/utils/errors.js +10 -0
- package/es/extensions/forms/utils/errors.js.map +1 -0
- package/es/extensions/forms/utils/index.d.ts +1 -0
- package/es/extensions/forms/utils/index.js +1 -0
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.js +2 -0
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js +2 -0
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/scroll-view/ScrollView.js +2 -0
- package/es/fragments/scroll-view/ScrollView.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/MediaQuery.js +2 -0
- package/es/shared/MediaQuery.js.map +1 -1
- package/es/shared/Provider.js +2 -0
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/Theme.js +2 -0
- package/es/shared/Theme.js.map +1 -1
- package/es/shared/VisibilityByTheme.js +2 -0
- package/es/shared/VisibilityByTheme.js.map +1 -1
- package/es/shared/index.js +2 -0
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +11 -0
- package/es/shared/locales/en-GB.js +12 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +11 -0
- package/es/shared/locales/index.d.ts +22 -0
- package/es/shared/locales/nb-NO.d.ts +11 -0
- package/es/shared/locales/nb-NO.js +12 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useMedia.js +2 -0
- package/es/shared/useMedia.js.map +1 -1
- package/es/shared/useMediaQuery.js +2 -0
- package/es/shared/useMediaQuery.js.map +1 -1
- package/es/shared/useTheme.js +2 -0
- package/es/shared/useTheme.js.map +1 -1
- package/es/shared/useTranslation.js +2 -0
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/dnb-ui-components.css +106 -0
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +13 -0
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +126 -86
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +53 -43
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +9 -6
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +7 -5
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
- package/extensions/forms/Field/Expiry/Expiry.js +88 -0
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
- package/extensions/forms/Field/Expiry/index.d.ts +2 -0
- package/extensions/forms/Field/Expiry/index.js +3 -0
- package/extensions/forms/Field/Expiry/index.js.map +1 -0
- package/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
- package/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
- package/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -6
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +49 -26
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +9 -6
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +46 -33
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/String/String.js +31 -21
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/Field/style/dnb-forms-field.css +13 -0
- package/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
- package/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +37 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/Element/Element.js +2 -0
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.js +2 -0
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +3 -0
- package/extensions/forms/hooks/index.js +5 -1
- package/extensions/forms/hooks/index.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.js +128 -62
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useMountEffect.d.ts +5 -0
- package/extensions/forms/hooks/useMountEffect.js +9 -0
- package/extensions/forms/hooks/useMountEffect.js.map +1 -0
- package/extensions/forms/hooks/useProcessManager.d.ts +6 -0
- package/extensions/forms/hooks/useProcessManager.js +16 -0
- package/extensions/forms/hooks/useProcessManager.js.map +1 -0
- package/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
- package/extensions/forms/hooks/useUpdateEffect.js +14 -0
- package/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
- package/extensions/forms/style/dnb-forms.css +13 -0
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +10 -2
- package/extensions/forms/types.js +2 -0
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.js +25 -1
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/errors.d.ts +2 -0
- package/extensions/forms/utils/errors.js +10 -0
- package/extensions/forms/utils/errors.js.map +1 -0
- package/extensions/forms/utils/index.d.ts +1 -0
- package/extensions/forms/utils/index.js +1 -0
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/payment-card/PaymentCard.js +2 -0
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js +2 -0
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/scroll-view/ScrollView.js +2 -0
- package/fragments/scroll-view/ScrollView.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/MediaQuery.js +2 -0
- package/shared/MediaQuery.js.map +1 -1
- package/shared/Provider.js +2 -0
- package/shared/Provider.js.map +1 -1
- package/shared/Theme.js +2 -0
- package/shared/Theme.js.map +1 -1
- package/shared/VisibilityByTheme.js +2 -0
- package/shared/VisibilityByTheme.js.map +1 -1
- package/shared/index.js +2 -0
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +11 -0
- package/shared/locales/en-GB.js +12 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +11 -0
- package/shared/locales/index.d.ts +22 -0
- package/shared/locales/nb-NO.d.ts +11 -0
- package/shared/locales/nb-NO.js +12 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useMedia.js +2 -0
- package/shared/useMedia.js.map +1 -1
- package/shared/useMediaQuery.js +2 -0
- package/shared/useMediaQuery.js.map +1 -1
- package/shared/useTheme.js +2 -0
- package/shared/useTheme.js.map +1 -1
- package/shared/useTranslation.js +2 -0
- package/shared/useTranslation.js.map +1 -1
- package/style/dnb-ui-components.css +106 -0
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-extensions.css +13 -0
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +126 -86
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +13 -0
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_helpers","_AlignmentHelper2","_SpacingHelper","_filterValidProps","_Suffix","_FormLabel","_FormStatus","_IconPrimary2","_Input","_interopRequireWildcard","_ProgressIndicator","_DrawerList","_DrawerListContext","_DrawerListProvider","_DrawerListHelpers","_IconPrimary","_AlignmentHelper","_excluded","_excluded2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_extends","assign","bind","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Autocomplete","React","PureComponent","constructor","props","_id","id","makeUniqueId","render","createElement","data","children","opened","tagName","ignore_events","prevent_focus","skip_keysearch","AutocompleteInstance","exports","mode","title","placeholder","no_options","show_all","aria_live_options","indicator_label","show_options_sr","selected_sr","submit_button_title","submit_button_icon","input_ref","icon","icon_size","icon_position","triangle_position","input_icon","label","label_direction","label_sr_only","keep_value","keep_value_and_selection","show_clear_button","status","status_state","status_props","status_no_animation","globalStatus","suffix","disable_filter","disable_reorder","scrollable","focusable","disable_highlighting","max_height","direction","skip_portal","no_animation","no_scroll_animation","show_submit_button","submit_element","prevent_selection","size","align_autocomplete","options_render","search_in_word_index","search_numbers","default_value","input_value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","portal_class","drawer_class","page_offset","observer_element","enable_body_lock","class","className","ariaLiveDelay","on_show","on_hide","on_type","on_focus","on_blur","on_change","on_select","on_state_update","input_element","process","env","NODE_ENV","propTypes","spacingPropTypes","drawerListPropTypes","PropTypes","string","oneOf","oneOfType","node","func","bool","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","suffix_value","content","array","parseDataItem","dataItem","searchWord","parseContentTitle","search_content","separator","Array","isArray","createSearchIndex","map","contentChunk","getCurrentDataTitle","selected_item","currentData","getCurrentData","preferSelectedValue","getDerivedStateFromProps","state","_listenForPropChanges","disableHighlighting","isTrue","inputValue","prevData","updateData","context","_this","this","args","onStateComplete","drawerList","setWrapperElement","_ref","current","setVisible","setHidden","hasFilter","hidden","isOpen","setVisibleByContext","toggleVisible","isVisible","_refUl","focus","preventScroll","e","options","skipFilter","showAllNextTime","setState","runFilterToHighlight","fillDataIfEmpty","event","typedInputValue","dispatchCustomElementEvent","getEventObjects","trim","runFilterWithSideEffects","runFilter","count","countData","showNoOptionsItem","setData","wrapWithShowAll","cache_hash","active_item","__id","totalReset","resetSelectedItem","showAllItems","setAriaLiveUpdate","_ref2","possibleTitle","original_data","hasFilterActive","lastItem","slice","lastActiveItem","class_name","Fragment","_props","_cacheMemory","setSearchIndex","overwriteSearchIndex","resetActiveItem","overwriteOriginalData","ignoreEvents","visibleIndicator","getCurrentIndex","rawData","parseFloat","newItem","oldItem","hasChanged","hasDatasetChanged","revalidateSelectedItem","newData","filteredData","_ref3","keycode","preventDefault","skipFocusDuringChange","hasFocus","showAll","hasBlur","__preventFiringBlurEvent","getPreviousSibling","hasFocusOnElement","existingValue","clearInputValue","resetAfterClose","hasSelectedItem","resetFilter","clearTimeout","_blurTimeout","setTimeout","DrawerList","blurDelay","_refInput","warn","hasValidData","hasActiveItem","_toggleVisibleTimeout","attributes","dataList","emptyData","setInputValue","showIndicatorItem","showIndicator","hideIndicator","setMode","debounce","wait","dbf","hasInjectedDataItem","first","includes","showAllTimeout","setActiveItemAndScrollToIt","scrollTo","hasHadValue","_selectTimeout","searchIndex","searchNumbers","inWordIndex","skipReorder","searchWords","split","Boolean","wordCond","findSearchWords","word","wordIndex","_ref4","replace","escapeRegexChars","regexWord","RegExp","test","_ref5","wordScore","match","isFirstWord","strS","strE","tagS","tagE","item","listOfFoundWords","_children2","_children2$props","cacheHash","isComponent","isValidElement","originalChild","segment","convertJsxToString","_ref6","idx","char","result","__html","dangerouslySetInnerHTML","_originalChild$props","Comp","cloneElement","totalScore","_ref7","sort","_ref8","_ref9","a","b","_ref10","setFocusOnInput","hasSelectedText","_ref11","current_title","createRef","_refShell","isTouchDevice","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","_ariaLiveUpdateTimeout","_focusTimeout","cb","newString","ariaLiveUpdate","getVoiceOverActiveItem","currentDataItem","IS_MAC","ItemContent","_this$context","_this$context2","extendPropsWithContextInClassComponent","defaultProps","getTranslation","pickFormElementProps","FormRow","formElement","fixed_position","CustomInput","_className","independent_width","_mode","_data","_children","_direction","_opened","_value","_input_value","showStatus","getStatusState","isExpanded","onBlur","validateDOMAttributes","mainParams","classnames","createSpacingClasses","shellParams","ref","onKeyDown","onShellKeyDownHandler","inputParams","autoCapitalize","spellCheck","autoCorrect","autoComplete","role","onMouseDown","onInputClickHandler","onInputKeyDownHandler","onChange","onInputChangeHandler","onFocus","onInputFocusHandler","onBlurHandler","inner_ref","IS_WIN","IS_EDGE","combineDescribedBy","submitButton","triggerParams","onTriggerKeyDownHandler","onSubmit","tooltip","SubmitButton","variant","type","innerId","for_id","text","sr_only","onClick","show","text_id","width_selector","inner_element","setVisibleAndFocusOnInput","input_state","clear","tabIndex","toggleVisibleAndFocusOptions","list_class","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","on_pre_change","onPreChangeHandler","on_key_down","onReserveActivityHandler","DrawerListContext","HorizontalItem","_supportsSpacingProps"],"sources":["../../../../src/components/autocomplete/Autocomplete.js"],"sourcesContent":["/**\n * Web Autocomplete Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n isTouchDevice,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n getStatusState,\n combineDescribedBy,\n convertJsxToString,\n escapeRegexChars,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport {\n IS_MAC,\n IS_WIN,\n IS_EDGE,\n debounce,\n hasSelectedText,\n} from '../../shared/helpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Input, { SubmitButton } from '../input/Input'\nimport ProgressIndicator from '../progress-indicator/ProgressIndicator'\nimport DrawerList, {\n ItemContent,\n} from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n parseContentTitle,\n getCurrentData,\n getCurrentIndex,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Autocomplete extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n\n id: PropTypes.string,\n mode: PropTypes.oneOf(['sync', 'async']),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n no_options: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n show_all: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n aria_live_options: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n indicator_label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n show_options_sr: PropTypes.string,\n selected_sr: PropTypes.string,\n submit_button_title: PropTypes.string,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n input_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n input_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_value_and_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_clear_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n disable_filter: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n disable_reorder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disable_highlighting: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_submit_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n submit_element: PropTypes.node,\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_autocomplete: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\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 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 content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n search_in_word_index: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n search_numbers: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n input_value: PropTypes.string,\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n drawer_class: PropTypes.string,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n enable_body_lock: PropTypes.bool,\n\n class: PropTypes.string,\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 /**\n * For internal use\n */\n ariaLiveDelay: PropTypes.number,\n\n on_show: PropTypes.func,\n on_type: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n mode: 'sync',\n title: 'Option Menu',\n placeholder: null,\n no_options: null,\n show_all: null,\n aria_live_options: null,\n indicator_label: null,\n show_options_sr: null,\n selected_sr: null,\n submit_button_title: null,\n submit_button_icon: 'chevron_down',\n input_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n triangle_position: null,\n input_icon: 'loupe',\n label: null,\n label_direction: null,\n label_sr_only: null,\n keep_value: null,\n keep_value_and_selection: null,\n show_clear_button: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n disable_filter: false,\n disable_reorder: false,\n scrollable: true,\n focusable: false,\n disable_highlighting: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n no_animation: false,\n no_scroll_animation: false,\n show_submit_button: false,\n submit_element: null,\n prevent_selection: false,\n size: 'default',\n align_autocomplete: null,\n options_render: null,\n data: null,\n search_in_word_index: 3,\n search_numbers: null,\n default_value: null,\n value: 'initval',\n input_value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: null,\n disabled: null,\n stretch: null,\n skeleton: null,\n portal_class: null,\n drawer_class: null,\n page_offset: null,\n observer_element: null,\n enable_body_lock: false,\n\n class: null,\n className: null,\n children: null,\n\n ariaLiveDelay: null,\n\n on_show: null,\n on_hide: null,\n on_type: null,\n on_focus: null,\n on_blur: null,\n on_change: null,\n on_select: null,\n on_state_update: null,\n input_element: null,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n return (\n <DrawerListProvider\n {...this.props}\n id={this._id}\n data={this.props.data || this.props.children}\n opened={null}\n tagName=\"dnb-autocomplete\"\n ignore_events={false}\n prevent_focus\n skip_keysearch\n >\n <AutocompleteInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass AutocompleteInstance extends React.PureComponent {\n static propTypes = Autocomplete.propTypes\n static defaultProps = Autocomplete.defaultProps\n static contextType = DrawerListContext\n\n static parseDataItem(dataItem) {\n const searchWord = parseContentTitle(\n dataItem.search_content || dataItem,\n {\n separator: ' ',\n }\n )\n if (typeof searchWord !== 'string' && Array.isArray(searchWord)) {\n return AutocompleteInstance.parseDataItem(searchWord)\n }\n return searchWord\n }\n\n static createSearchIndex(data) {\n return data.map((dataItem) => {\n const contentChunk = AutocompleteInstance.parseDataItem(dataItem)\n return { dataItem, contentChunk }\n })\n }\n\n static getCurrentDataTitle(selected_item, data) {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n state.disableHighlighting = isTrue(props.disable_highlighting)\n\n if (\n props.input_value !== 'initval' &&\n typeof state.inputValue === 'undefined' &&\n props.input_value &&\n props.input_value.length > 0\n ) {\n state.inputValue = props.input_value\n }\n\n if (props.data !== state.prevData) {\n state.updateData(props.data)\n state.prevData = props.data\n }\n }\n\n state._listenForPropChanges = true\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n this.state._listenForPropChanges = true\n this.state.mode = props.mode\n this.state.prevData = props.data // only to compare against new data\n this.state.updateData = this.updateData // only so we can call setData\n\n if (context.drawerList && context.drawerList.current_title) {\n this.state.inputValue = context.drawerList.current_title\n }\n\n this._ref = React.createRef()\n this._refShell = React.createRef()\n this._refInput = React.createRef()\n\n this.isTouchDevice = isTouchDevice()\n\n this.skipFilter = isTrue(props.disable_filter)\n this.skipReorder = isTrue(props.disable_reorder)\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.runFilterToHighlight({ fillDataIfEmpty: true })\n this.setVisible()\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n // Ensure we run getCurrentDataTitle after also data has been update,\n // in case data has changed\n this.setState({}, () => {\n const inputValue = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n this.setState({\n inputValue,\n })\n })\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._selectTimeout)\n clearTimeout(this._ariaLiveUpdateTimeout)\n clearTimeout(this._focusTimeout)\n clearTimeout(this._blurTimeout)\n clearTimeout(this._toggleVisibleTimeout)\n }\n\n setVisible = (args = null, onStateComplete = null) => {\n this.context.drawerList\n .setWrapperElement(this._ref.current)\n .setVisible(args, onStateComplete)\n }\n\n setHidden = (args = null, onStateComplete = null) => {\n this.context.drawerList.setHidden(args, onStateComplete)\n }\n\n toggleVisible = (args = null, onStateComplete = null) => {\n args = args || {}\n if (typeof args.hasFilter === 'undefined') {\n args.hasFilter = false\n }\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !args.hasFilter &&\n !isTrue(this.props.prevent_close) &&\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden(null, onStateComplete)\n } else {\n this.setVisibleByContext(null, onStateComplete)\n }\n }\n\n toggleVisibleAndFocusOptions = () => {\n this.context.drawerList.toggleVisible(null, (isVisible) => {\n if (isVisible) {\n try {\n this.context.drawerList._refUl.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n }\n })\n }\n\n setVisibleByContext = (options = {}, onStateComplete = null) => {\n const skipFilter = this.state.showAllNextTime\n if (skipFilter) {\n this.setState({\n showAllNextTime: false,\n _listenForPropChanges: false,\n })\n }\n\n this.runFilterToHighlight({\n fillDataIfEmpty: true,\n skipFilter,\n ...options,\n })\n\n this.setVisible(null, onStateComplete)\n }\n\n onInputChangeHandler = ({ value, event }, options = {}) => {\n this.setState({\n typedInputValue: value,\n inputValue: value,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_type', {\n value,\n event,\n ...this.getEventObjects('on_type'),\n })\n\n value = String(value).trim()\n if (value !== this.state.inputValue) {\n this.runFilterWithSideEffects(value, options)\n }\n }\n\n runFilterWithSideEffects = (value, options = {}) => {\n // run the filter also on invalid values, so we reset the highlight\n const data = this.runFilter(value, options)\n const count = this.countData(data)\n\n if (value && value.length > 0) {\n // show the \"no_options\" message\n if (count === 0) {\n if (this.state.mode !== 'async') {\n this.showNoOptionsItem()\n }\n } else if (count > 0) {\n this.context.drawerList.setData(this.wrapWithShowAll(data))\n this.context.drawerList.setState({\n cache_hash: value + count,\n })\n\n if (count === 1) {\n this.context.drawerList.setState({\n active_item: data[0].__id,\n })\n }\n }\n } else {\n if (\n !isTrue(this.props.keep_value) &&\n !isTrue(this.props.keep_value_and_selection)\n ) {\n // this will not remove selected_item\n this.totalReset()\n }\n\n if (isTrue(this.props.keep_value)) {\n this.resetSelectedItem()\n }\n\n this.showAllItems()\n }\n\n this.setVisible()\n this.setAriaLiveUpdate()\n\n return data\n }\n\n runFilterToHighlight = (\n { fillDataIfEmpty = false, ...options } = {},\n value = this.state.inputValue\n ) => {\n // do not filter or highlight if the current selected item is the same as the input value\n const possibleTitle = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n\n if (value === possibleTitle) {\n return // stop here\n }\n\n value = String(value || '').trim()\n\n this.setState({\n disableHighlighting: false,\n _listenForPropChanges: false,\n })\n\n let data = this.runFilter(value, options) // do not skip the filter here\n\n // this is a backup, in case everything is empty, we fill the data\n if (fillDataIfEmpty && data.length === 0 && value === '') {\n data = this.context.drawerList.original_data\n }\n\n this.context.drawerList.setData(this.wrapWithShowAll(data))\n this.context.drawerList.setState({\n cache_hash: value + this.countData(data),\n })\n\n this.setAriaLiveUpdate()\n\n return data\n }\n\n wrapWithShowAll = (data) => {\n if (!data || !this.hasFilterActive(data)) {\n return data\n }\n\n const lastItem = this.context.drawerList.original_data.slice(-1)[0]\n if (lastItem && !lastItem.show_all) {\n const lastActiveItem = data.slice(-1)[0]\n if (lastActiveItem) {\n // NB: here we could use unshift, but this has to be implemented different places as well\n data.push({\n __id: lastItem.__id + 1,\n lastActiveItem: lastActiveItem.__id,\n class_name: 'dnb-autocomplete__show-all',\n show_all: true,\n active_item: false,\n selected_item: false,\n content: (\n <>\n <IconPrimary icon=\"arrow_down\" />\n {this._props.show_all}\n </>\n ),\n })\n }\n }\n\n return data\n }\n\n setInputValue = (inputValue) => {\n this.setState({\n inputValue,\n _listenForPropChanges: false,\n })\n }\n\n emptyData = () => {\n this._cacheMemory = {}\n\n this.setState({\n inputValue: '',\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n\n this.context.drawerList.setData(\n () => [],\n () => {\n this.setSearchIndex({ overwriteSearchIndex: true })\n this.resetActiveItem()\n this.totalReset()\n },\n {\n overwriteOriginalData: true,\n }\n )\n }\n\n showNoOptionsItem = () => {\n this.resetActiveItem()\n this.ignoreEvents()\n this.context.drawerList.setData([\n {\n class_name: 'dnb-autocomplete__no-options',\n content: this._props.no_options,\n ignore_events: true,\n __id: 'no_options',\n },\n ])\n this.context.drawerList.setState({\n cache_hash: 'no_options',\n })\n this.setVisible()\n }\n\n showIndicatorItem = () => {\n this.resetActiveItem()\n this.ignoreEvents()\n this.context.drawerList.setData([\n {\n class_name: 'dnb-autocomplete__indicator',\n content: <ProgressIndicator label={this._props.indicator_label} />,\n ignore_events: true,\n __id: 'indicator',\n },\n ])\n this.context.drawerList.setState({\n cache_hash: 'indicator',\n })\n this.setVisible()\n }\n\n showIndicator = () => {\n if (!this.state.visibleIndicator) {\n this.setState({\n visibleIndicator: true,\n _listenForPropChanges: false,\n })\n }\n }\n\n hideIndicator = () => {\n this.setState({\n visibleIndicator: false,\n _listenForPropChanges: false,\n })\n }\n\n setMode = (mode) => {\n this.setState({\n mode,\n _listenForPropChanges: false,\n })\n }\n\n revalidateSelectedItem = () => {\n const selected_item = getCurrentIndex(\n this.props.value,\n this.context.drawerList.original_data\n )\n\n this.context.drawerList.setState({\n selected_item,\n })\n }\n\n hasDatasetChanged = (rawData) => {\n const { selected_item } = this.context.drawerList\n if (parseFloat(selected_item) > -1) {\n const newItem = rawData[selected_item]\n const oldItem = this.context.drawerList.original_data[selected_item]\n if (\n typeof newItem?.selectedKey !== 'undefined'\n ? newItem?.selectedKey !== oldItem?.selectedKey\n : newItem?.selected_key !== oldItem?.selected_key\n ) {\n return true\n }\n }\n return false\n }\n\n updateData = (rawData) => {\n const hasChanged = this.hasDatasetChanged(rawData)\n\n // invalidate the local cache now,\n // because we get else the same after we show the new result\n this.context.drawerList.setState(\n {\n cache_hash: 'updateData',\n },\n () => {\n // If the \"selected_key\" has changed in comparison to the existing data,\n // invalidated our selected_item\n // Also, ensure to run it after a state update, because the \"selected_item\" (value prop) can have changed,\n // and should match the new data\n if (hasChanged) {\n const { value } = this.props\n if (value && value !== 'initval') {\n this.revalidateSelectedItem()\n } else {\n this.resetSelectedItem()\n }\n }\n }\n )\n\n this.context.drawerList.setData(\n () => rawData, // set data as a function, so it gets re-evaluated with normalizeData\n (newData) => {\n this.setSearchIndex(\n { overwriteSearchIndex: true, data: newData },\n () => {\n const { typedInputValue } = this.state\n\n if (typedInputValue?.length > 0) {\n // run with side effects, to get preselection of active_item\n const filteredData =\n this.runFilterWithSideEffects(typedInputValue)\n if (this.countData(filteredData) === 0) {\n this.showNoOptionsItem()\n }\n } else {\n this.resetActiveItem()\n\n if (this.context.drawerList.opened) {\n this.showAllItems()\n }\n }\n }\n )\n },\n {\n overwriteOriginalData: true,\n }\n )\n\n return this\n }\n\n onInputKeyDownHandler = ({ event: e }) => {\n const key = keycode(e)\n switch (key) {\n case 'page up':\n case 'page down':\n case 'home':\n case 'end':\n case 'down':\n case 'up':\n e.preventDefault() // has to be there for VO, one the drawer is closed\n break\n }\n }\n\n onInputClickHandler = (e) => {\n const { value } = e.target\n this.setVisibleByContext({ value })\n }\n\n onInputFocusHandler = (event) => {\n if (this.state.skipFocusDuringChange) {\n return // stop here\n }\n\n const { open_on_focus, keep_value_and_selection } = this.props\n\n if (!this.state.hasFocus) {\n if (isTrue(open_on_focus)) {\n const { value } = event.target\n this.setVisibleByContext({ value })\n } else {\n this.setSearchIndex()\n }\n\n if (isTrue(keep_value_and_selection)) {\n this.showAll()\n }\n\n dispatchCustomElementEvent(this, 'on_focus', {\n event,\n ...this.getEventObjects('on_focus'),\n })\n\n this.setState({\n hasFocus: true,\n hasBlur: false,\n })\n }\n }\n\n onReserveActivityHandler = (event) => {\n // Prevent to happen the on_blur event during drawer-list activity\n this.__preventFiringBlurEvent =\n event.key === 'enter' ||\n event.key === 'space' ||\n (event.target && getPreviousSibling('dnb-drawer-list', event.target))\n }\n\n onBlurHandler = (event) => {\n const {\n open_on_focus,\n keep_value,\n keep_value_and_selection,\n prevent_selection,\n no_animation,\n } = this.props\n\n if (\n !this.state.hasBlur &&\n !this.__preventFiringBlurEvent &&\n !this.context.drawerList.hasFocusOnElement\n ) {\n dispatchCustomElementEvent(this, 'on_blur', {\n event,\n ...this.getEventObjects('on_blur'),\n })\n\n this.setState({\n hasBlur: true,\n hasFocus: false,\n })\n\n if (!isTrue(keep_value_and_selection)) {\n this.setState({\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n }\n\n if (!isTrue(prevent_selection)) {\n const existingValue = this.state.inputValue\n this.clearInputValue()\n\n const resetAfterClose = () => {\n if (\n !isTrue(keep_value) ||\n !existingValue ||\n this.hasSelectedItem()\n ) {\n this.resetActiveItem()\n }\n this.resetFilter()\n }\n\n if (isTrue(no_animation)) {\n resetAfterClose()\n } else {\n clearTimeout(this._blurTimeout)\n this._blurTimeout = setTimeout(\n resetAfterClose,\n DrawerList.blurDelay\n ) // only to let the animation pass, before we make the effect. Else this would be a visible change\n }\n }\n\n if (isTrue(open_on_focus)) {\n this.setHidden()\n }\n } else if (this.__preventFiringBlurEvent) {\n this.__preventFiringBlurEvent = null\n return false\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n const key = keycode(e)\n\n switch (key) {\n case 'space':\n {\n this.setVisible()\n }\n break\n }\n\n switch (key) {\n case 'space':\n case 'enter':\n case 'page up':\n case 'page down':\n case 'down':\n case 'up':\n {\n e.preventDefault()\n try {\n this._refInput.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n break\n }\n }\n\n onShellKeyDownHandler = (e) => {\n const key = keycode(e)\n\n switch (key) {\n case 'up':\n case 'down':\n if (!this.context.drawerList.opened) {\n e.preventDefault()\n this.setVisible()\n }\n\n break\n\n case 'esc':\n this.setState({\n showAllNextTime: true,\n _listenForPropChanges: false,\n })\n\n break\n\n case 'enter':\n e.preventDefault()\n\n if (!this.context.drawerList.opened && this.hasFilterActive()) {\n this.ignoreEvents()\n this.showAll()\n }\n if (\n (!this.hasValidData() || !this.hasSelectedItem()) &&\n !this.hasActiveItem()\n ) {\n clearTimeout(this._toggleVisibleTimeout)\n this._toggleVisibleTimeout = setTimeout(this.toggleVisible, 1) // to make sure we first handle the DrawerList key enter, before we update the state with a toggle/visible. Else the submit is not set properly\n } else {\n this.setVisible()\n }\n\n break\n }\n }\n\n getEventObjects = (key) => {\n const attributes = this.attributes\n\n return {\n attributes,\n dataList: this.context.drawerList.data,\n updateData: this.updateData,\n revalidateSelectedItem: this.revalidateSelectedItem,\n resetSelectedItem: this.resetSelectedItem,\n showAllItems: this.showAllItems,\n setVisible: this.setVisible,\n setHidden: this.setHidden,\n emptyData: this.emptyData,\n setInputValue: this.setInputValue,\n showNoOptionsItem: this.showNoOptionsItem,\n showIndicatorItem: this.showIndicatorItem,\n showIndicator: this.showIndicator,\n hideIndicator: this.hideIndicator,\n setMode: this.setMode,\n debounce: (func, props = {}, wait = 250) => {\n this.dbf = this.dbf || {}\n return (\n this.dbf[key] ||\n (this.dbf[key] = debounce(func, wait, { context: this }))\n )(props)\n },\n }\n }\n\n hasInjectedDataItem = (data = this.context.drawerList.data) => {\n const lastItem = data.slice(-1)[0]\n return lastItem\n ? lastItem.show_all || lastItem.__id === 'no_options'\n : false\n }\n\n countData = (data = this.context.drawerList.data) => {\n const count = data.length\n return count > 0 && this.hasInjectedDataItem(data) ? count - 1 : count\n }\n\n hasValidData = (data = this.context.drawerList.data) => {\n if (this.countData(data) > 0) {\n const first = data[0]\n if (\n !first.show_all &&\n !['no_options', 'indicator'].includes(first.__id)\n ) {\n return true\n }\n }\n return false\n }\n\n hasSelectedItem = () => {\n return parseFloat(this.context.drawerList.selected_item) > -1\n }\n\n hasActiveItem = () => {\n return parseFloat(this.context.drawerList.active_item) > -1\n }\n\n hasFilterActive = (data = this.context.drawerList.data) => {\n return !(\n this.context.drawerList.original_data &&\n this.context.drawerList.original_data.length === this.countData(data)\n )\n }\n\n setSearchIndex(\n {\n overwriteSearchIndex = false,\n data = this.context.drawerList.original_data,\n } = {},\n cb\n ) {\n this._cacheMemory = {}\n\n if (!overwriteSearchIndex && this.state.searchIndex) {\n return this.state.searchIndex\n }\n\n const searchIndex = AutocompleteInstance.createSearchIndex(data)\n\n this.setState(\n {\n searchIndex,\n _listenForPropChanges: false,\n },\n cb\n )\n\n return searchIndex\n }\n\n ignoreEvents = () => {\n clearTimeout(this.showAllTimeout)\n this.context.drawerList.setState(\n {\n ignore_events: true, // we also have to reset this one\n },\n () => {\n // but we reset it right after the rerender\n this.showAllTimeout = setTimeout(() => {\n this.context &&\n this.context.drawerList &&\n this.context.drawerList.setState({\n ignore_events: false, // we also have to reset this one\n })\n }, 10) // make sure we reset once the rerender of DrawerList is done, because then we keep the active_item at it's position by using key=\"down\"\n }\n )\n }\n\n showAll = () => {\n this.resetFilter()\n\n this.context.drawerList.setState({\n cache_hash: 'all',\n })\n\n this.runFilterToHighlight({ skipFilter: true, fillDataIfEmpty: true })\n }\n\n showAllItems = () => {\n this.resetFilter()\n this.context.drawerList.setState({\n cache_hash: 'all',\n })\n this.context.drawerList.setActiveItemAndScrollToIt(\n this.context.drawerList.selected_item,\n {\n scrollTo: false,\n }\n )\n }\n\n totalReset = () => {\n this.setState({\n inputValue: null,\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n this.resetActiveItem()\n this.resetSelectedItem()\n }\n\n resetActiveItem = () => {\n this.context.drawerList.setState({\n active_item: null,\n })\n }\n\n resetSelectedItem = () => {\n const hasHadValue = this.hasSelectedItem()\n this.context.drawerList.setState(\n {\n selected_item: null,\n },\n () => {\n if (hasHadValue) {\n dispatchCustomElementEvent(this, 'on_change', {\n ...this.getEventObjects('on_change'),\n })\n }\n }\n )\n }\n\n clearInputValue = () => {\n const { input_value, keep_value } = this.props\n\n const inputValue = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n\n clearTimeout(this._selectTimeout)\n this._selectTimeout = setTimeout(() => {\n if (this.hasSelectedItem()) {\n this.setState({\n inputValue,\n _listenForPropChanges: false,\n })\n } else if (\n !(input_value !== 'initval' && input_value.length > 0) &&\n !isTrue(keep_value)\n ) {\n this.setState({\n inputValue: '',\n _listenForPropChanges: false,\n })\n }\n }, 1) // to make sure we actually are after the Input state handling -> \"input placeholder reset\"\n }\n\n resetFilter = () => {\n this.context.drawerList.setData(this.context.drawerList.original_data)\n }\n\n runFilter = (\n value,\n {\n data = null, // rawData\n searchIndex = this.state.searchIndex,\n searchNumbers = isTrue(this.props.search_numbers),\n inWordIndex = (parseFloat(this.props.search_in_word_index) || 3) - 2,\n disableHighlighting = false,\n skipFilter = false,\n skipReorder = false,\n } = {}\n ) => {\n if (data) {\n searchIndex = this.setSearchIndex({ data })\n }\n // get the search index\n else if (!searchIndex) {\n searchIndex = this.setSearchIndex()\n }\n\n if (typeof searchIndex === 'undefined') {\n return []\n }\n\n const searchWords = value.split(/\\s+/g).filter(Boolean)\n const wordCond = '^|\\\\s'\n\n const findSearchWords = (contentChunk) => {\n if (typeof contentChunk !== 'string') {\n return []\n }\n\n // [cc, bb]\n return searchWords\n .map((word, wordIndex) => ({ word, wordIndex }))\n .filter(({ word, wordIndex }) => {\n if (searchNumbers) {\n // Remove all other chars, except numbers, so we can compare\n word = word.replace(/[^\\d\\w]/g, '')\n } else {\n // To ensure we escape regex chars\n word = escapeRegexChars(word)\n }\n\n if (searchNumbers) {\n // This will make it possible to search with one letter less\n word = word.replace(/(\\d)/g, '$1+')\n }\n\n // if the uses reached word 3, then we go inside words as well\n const regexWord = new RegExp(\n wordIndex > inWordIndex ? `${word}` : `(${wordCond})${word}`,\n 'i'\n )\n\n if (regexWord.test(contentChunk)) {\n return true\n }\n\n if (\n searchNumbers &&\n regexWord.test(contentChunk.replace(/[^0-9]/g, ''))\n ) {\n return true\n }\n\n return false\n })\n .map(({ word, wordIndex }) => {\n // Use 1 to ensure we never have 0, because we filter out words with 0 later\n let wordScore = 0\n\n // Check how ofter the current written word is inside the content,\n // and give a score for each one\n wordScore += (\n contentChunk.match(\n new RegExp(`(${wordCond})${escapeRegexChars(word)}`, 'ig')\n ) || []\n ).length\n\n // Give the first word extra points\n if (wordIndex === 0) {\n // Check if the first chunk starts the first written word\n const isFirstWord = new RegExp(\n `^${escapeRegexChars(searchWords[0])}`,\n 'i'\n ).test(contentChunk.split(' ')[0])\n\n // If yes, add the amount of possible words + 1\n if (isFirstWord) {\n wordScore += searchWords.length + 1\n }\n }\n\n return {\n word,\n wordIndex,\n wordScore,\n }\n })\n }\n\n const strS = '\\uFFFE'\n const strE = '\\uFFFF'\n const tagS = '<span class=\"dnb-drawer-list__option__item--highlight\">'\n const tagE = '</span>'\n\n searchIndex = searchIndex.map((item, i) => {\n const listOfFoundWords = findSearchWords(item.contentChunk, i)\n\n if (typeof item.dataItem === 'string') {\n item.dataItem = { content: item.dataItem }\n }\n\n // Only make a copy if render is not set\n // If we don't make a copy of the item, we risk that we manipulate data outside\n if (!item.dataItem.render) {\n item.dataItem = { ...item.dataItem }\n }\n\n // this function gets called once the items are rendered / in view\n // this part is used for the highlighting\n item.dataItem.render = (children, id) => {\n if (disableHighlighting || this.state.disableHighlighting) {\n return children\n }\n\n // if the ID and the content is the same, use the cached version\n const cacheHash = id + value\n this._cacheMemory = this._cacheMemory || {}\n if (this._cacheMemory[cacheHash]) {\n return this._cacheMemory[cacheHash]\n }\n\n const isComponent =\n typeof children !== 'string' && React.isValidElement(children)\n\n if (isComponent && Array.isArray(children?.props?.children)) {\n children = children.props.children\n } else if (!Array.isArray(children)) {\n children = [children] // for a while we had split this into separate words children.split(' ') but this is not needed anymore\n }\n\n // make string out of it\n children = children.map((originalChild) => ({\n originalChild,\n segment: convertJsxToString(originalChild, ' '),\n }))\n\n children = children.map(({ originalChild, segment }, idx) => {\n // This way, the user can get highlights that do not match\n searchWords.forEach((word, wordIndex) => {\n // Can be empty string\n if (segment) {\n // To ensure we escape regex chars\n word = escapeRegexChars(word)\n\n if (searchNumbers) {\n word.split('').forEach((char) => {\n if (/[\\d\\w]/.test(char)) {\n segment = segment.replace(\n new RegExp(`(${char})`, 'gi'),\n `${strS}$1${strE}`\n )\n }\n })\n } else {\n if (wordIndex > inWordIndex) {\n segment = segment.replace(\n new RegExp(`(${word})`, 'gi'),\n `${strS}$1${strE}`\n )\n } else {\n segment = segment.replace(\n new RegExp(`(${wordCond})(${word})`, 'gi'),\n `$1${strS}$2${strE}`\n )\n }\n }\n }\n })\n\n let result = segment\n\n if (segment.includes(strS)) {\n // to make sure we don't have several in a row\n const __html = segment\n .replace(new RegExp(`(${strS})+`, 'g'), strS)\n .replace(new RegExp(`(${strE})+`, 'g'), strE)\n .replace(new RegExp(`(${strE}${strS})`, 'g'), '')\n .replace(new RegExp(strS, 'g'), tagS)\n .replace(new RegExp(strE, 'g'), tagE)\n\n result = (\n <span\n key={cacheHash + idx}\n dangerouslySetInnerHTML={{\n __html,\n }}\n />\n )\n } else {\n result = <span key={cacheHash + idx}>{segment}</span>\n }\n\n // If we get a component, replace the one we use as the string comparison\n // This way we can still have an icon before or after\n if (isComponent) {\n if (Array.isArray(originalChild?.props?.children)) {\n result = originalChild.props.children.map((Comp) => {\n return Comp === originalChild ||\n (Comp.props && Comp.props.children === originalChild)\n ? result\n : Comp\n })\n } else if (typeof originalChild === 'string') {\n result = originalChild\n }\n\n if (React.isValidElement(originalChild)) {\n result = React.cloneElement(\n originalChild,\n { key: 'clone' + cacheHash + idx },\n result\n )\n }\n }\n\n return result\n })\n\n return (this._cacheMemory[cacheHash] = children)\n }\n\n if (this.skipFilter || skipFilter) {\n return item.dataItem\n }\n\n /**\n * This prioritizes the first written words (score)\n * along with who many matches are in the content item (listOfFoundWords)\n */\n let totalScore = listOfFoundWords.length // Include the found words\n for (const { wordScore } of listOfFoundWords) {\n totalScore += wordScore\n }\n\n return {\n totalScore,\n item,\n }\n })\n\n if (!this.skipFilter && !skipFilter) {\n // This removes items with 0 totalScore\n searchIndex = searchIndex.filter(({ totalScore }) => totalScore)\n\n if (!this.skipReorder && !skipReorder) {\n searchIndex = searchIndex.sort(\n ({ totalScore: a }, { totalScore: b }) => b - a\n )\n }\n\n searchIndex = searchIndex.map(({ item }) => item.dataItem)\n }\n\n return searchIndex\n }\n\n onHideHandler = (args = {}) => {\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n ...this.getEventObjects('on_hide'),\n })\n\n if (res !== false) {\n this.setFocusOnInput()\n }\n\n return res\n }\n\n setVisibleAndFocusOnInput = () => {\n if (!this.state.hasFocus && !hasSelectedText()) {\n this.setFocusOnInput()\n this.setVisible()\n }\n }\n\n setFocusOnInput() {\n this.setState(\n {\n hasFocus: true,\n },\n () => {\n try {\n this._refInput.current._ref.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n this.setState({\n hasFocus: false,\n })\n }, 1) // we have to wait in order to make sure the focus situation is cleared up\n }\n )\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n ...this.getEventObjects('on_select'),\n })\n }\n }\n\n onPreChangeHandler = ({ data }) => {\n if (data && data.show_all) {\n this.showAll()\n\n const active_item = data.lastActiveItem\n if (parseFloat(active_item) > -1) {\n this.context.drawerList.setActiveItemAndScrollToIt(active_item, {\n scrollTo: false,\n })\n }\n\n this.setFocusOnInput()\n\n return false\n }\n }\n\n onChangeHandler = (args) => {\n const selected_item = args.selected_item\n\n const { prevent_selection, keep_open } = this.props\n\n if (!isTrue(prevent_selection)) {\n if (!isTrue(keep_open)) {\n this.setState({\n skipFocusDuringChange: true,\n disableHighlighting: true,\n _listenForPropChanges: false,\n })\n\n this.setHidden()\n\n // Do this, so screen readers get a NEW focus later on\n // So we first need a blur of the input basically\n try {\n this.context.drawerList._refUl.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n\n this.setState(\n {\n inputValue: AutocompleteInstance.getCurrentDataTitle(\n selected_item,\n this.context.drawerList.data\n ),\n skipFocusDuringChange: false,\n _listenForPropChanges: false,\n },\n () => this.setFocusOnInput()\n )\n } else {\n this.setState({\n inputValue: AutocompleteInstance.getCurrentDataTitle(\n selected_item,\n this.context.drawerList.data\n ),\n _listenForPropChanges: false,\n })\n }\n }\n\n if (typeof args.data.render === 'function') {\n delete args.data.render\n }\n\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n ...this.getEventObjects('on_change'),\n })\n }\n\n setAriaLiveUpdate() {\n const { opened } = this.context.drawerList\n const {\n aria_live_options,\n no_options,\n ariaLiveDelay = 1000,\n } = this._props\n\n // this is only to make a better screen reader ux\n clearTimeout(this._ariaLiveUpdateTimeout)\n if (opened) {\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n let newString = null\n\n const count = this.countData()\n\n if (count > 0) {\n newString = String(aria_live_options).replace('%s', count)\n } else {\n newString = no_options\n }\n\n if (newString) {\n this.setState({\n ariaLiveUpdate: newString,\n _listenForPropChanges: false,\n })\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n this.setState({\n ariaLiveUpdate: null,\n _listenForPropChanges: false,\n })\n }, 1000)\n }\n }, ariaLiveDelay) // so that the input gets read out first, and then the results\n }\n }\n\n getVoiceOverActiveItem(selected_sr) {\n // Add VoiceOver support to read the \"selected\" item\n const { active_item, selected_item } = this.context.drawerList\n const currentDataItem = getCurrentData(\n active_item,\n this.context.drawerList.data\n )\n\n return (\n <span\n hidden={!IS_MAC}\n className=\"dnb-sr-only\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {currentDataItem && (\n <>\n {active_item === selected_item ? <>{selected_sr} </> : null}\n <ItemContent>{currentDataItem}</ItemContent>\n </>\n )}\n </span>\n )\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = (this._props = extendPropsWithContextInClassComponent(\n this.props,\n Autocomplete.defaultProps,\n this.context.getTranslation(this.props).Autocomplete,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Autocomplete\n ))\n\n const {\n title,\n placeholder,\n label,\n label_direction,\n label_sr_only,\n icon, // eslint-disable-line\n icon_size,\n input_icon,\n size,\n align_autocomplete,\n fixed_position,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n keep_value, // eslint-disable-line\n keep_value_and_selection, // eslint-disable-line\n show_clear_button,\n prevent_close,\n no_animation,\n no_scroll_animation,\n show_submit_button,\n submit_element,\n input_element: CustomInput,\n options_render,\n prevent_selection,\n max_height,\n default_value,\n search_numbers, // eslint-disable-line\n search_in_word_index, // eslint-disable-line\n show_options_sr, // eslint-disable-line\n selected_sr,\n submit_button_title,\n submit_button_icon,\n portal_class,\n drawer_class,\n input_ref, // eslint-disable-line\n className,\n class: _className,\n disabled,\n stretch,\n skeleton,\n triangle_position,\n icon_position,\n skip_portal,\n independent_width,\n\n mode: _mode, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n input_value: _input_value, // eslint-disable-line\n\n indicator_label, // eslint-disable-line\n no_options, // eslint-disable-line\n show_all, // eslint-disable-line\n aria_live_options, // eslint-disable-line\n disable_highlighting, // eslint-disable-line\n ariaLiveDelay, // eslint-disable-line\n\n ...attributes\n } = props\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const { inputValue, visibleIndicator, ariaLiveUpdate } = this.state\n\n const { hidden, selected_item, active_item, direction, opened } =\n this.context.drawerList\n\n const isExpanded = Boolean(opened) && this.hasValidData()\n\n // In case a developer is using onBlur\n // it would blur uncontrolled – so we relay on \"on_blur\".\n // But the \"onBlur\" will still function, now just as expected.\n delete attributes.onBlur\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n Object.assign(this.context.drawerList.attributes, this.attributes)\n\n const mainParams = {\n className: classnames(\n 'dnb-autocomplete',\n direction && `dnb-autocomplete--${direction}`,\n disabled && 'dnb-autocomplete--disabled',\n opened && 'dnb-autocomplete--opened',\n label_direction && `dnb-autocomplete--${label_direction}`,\n icon_position &&\n `dnb-autocomplete--icon-position-${icon_position}`,\n align_autocomplete && `dnb-autocomplete--${align_autocomplete}`,\n visibleIndicator && 'dnb-autocomplete--show-indicator',\n size && `dnb-autocomplete--${size}`,\n isTrue(stretch) && `dnb-autocomplete--stretch`,\n status && `dnb-autocomplete__status--${status_state}`,\n showStatus && 'dnb-autocomplete__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const shellParams = {\n className: 'dnb-autocomplete__shell dnb-no-focus',\n ref: this._refShell,\n onKeyDown: this.onShellKeyDownHandler,\n }\n\n const inputParams = {\n className: 'dnb-autocomplete__input',\n id,\n value: inputValue,\n autoCapitalize: 'none',\n spellCheck: 'false',\n autoCorrect: 'off',\n autoComplete: 'off',\n\n // ARIA\n role: 'combobox', // we need combobox twice to make it properly work on VO\n 'aria-autocomplete': 'both', // list, both\n 'aria-controls': `${id}-ul`,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isExpanded, // is needed for semantics\n // 'aria-roledescription': 'autocomplete', // is not needed by now\n\n onMouseDown: this.onInputClickHandler,\n onKeyDown: this.onInputKeyDownHandler,\n onChange: this.onInputChangeHandler,\n onFocus: this.onInputFocusHandler,\n onBlur: this.onBlurHandler,\n icon_position,\n inner_ref: input_ref,\n disabled,\n skeleton,\n ...attributes,\n }\n\n if (!(parseFloat(selected_item) > -1)) {\n inputParams.placeholder = placeholder || title\n if (!(IS_WIN && IS_EDGE)) {\n inputParams['aria-placeholder'] = undefined\n }\n }\n\n // Handling of activedescendant – required by NVDA\n if (!hidden) {\n if (parseFloat(active_item) > -1) {\n inputParams[\n 'aria-activedescendant'\n ] = `option-${id}-${active_item}`\n } else if (\n !isTrue(prevent_selection) &&\n parseFloat(selected_item) > -1\n ) {\n inputParams[\n 'aria-activedescendant'\n ] = `option-${id}-${selected_item}`\n }\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n let submitButton = false\n const triggerParams = {\n id: id + '-submit-button',\n disabled,\n status: !opened && status ? status_state : null,\n onKeyDown: this.onTriggerKeyDownHandler,\n onSubmit: this.toggleVisible,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isExpanded,\n 'aria-label': !hidden ? submit_button_title : undefined,\n tooltip: show_submit_button ? submit_button_title : null,\n className: opened ? 'dnb-button--active' : null,\n }\n\n if (submit_element && React.isValidElement(submit_element)) {\n submitButton = React.cloneElement(submit_element, triggerParams)\n } else if (isTrue(show_submit_button)) {\n submitButton = (\n <SubmitButton\n icon={submit_button_icon}\n icon_size={\n icon_size || (size === 'large' ? 'medium' : 'default')\n }\n variant=\"secondary\"\n size={size === 'default' ? 'medium' : size}\n type=\"button\"\n status={status}\n status_state={status_state}\n status_props={status_props}\n {...triggerParams}\n />\n )\n }\n\n const currentDataItem = getCurrentData(\n selected_item,\n this.context.drawerList.original_data\n )\n\n const innerId =\n currentDataItem?.suffix_value && showStatus ? `${id}-inner` : null\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(null, shellParams)\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.toggleVisible}\n />\n )}\n\n <span\n className=\"dnb-autocomplete__inner\"\n ref={this._ref}\n id={innerId}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n width_selector={innerId}\n {...status_props}\n />\n\n <span className=\"dnb-autocomplete__row\">\n <span {...shellParams}>\n {CustomInput ? (\n <CustomInput {...inputParams} />\n ) : (\n <Input\n icon={\n visibleIndicator ? (\n <ProgressIndicator\n size={size === 'large' ? 'medium' : 'small'}\n />\n ) : (\n input_icon\n )\n }\n icon_size={\n icon_size || (size === 'large' ? 'medium' : 'default')\n }\n size={size}\n status={status ? status_state : null}\n status_state={status_state}\n type={null}\n inner_element={\n currentDataItem?.suffix_value && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <span\n onClick={\n disabled ? null : this.setVisibleAndFocusOnInput\n }\n className=\"dnb-autocomplete__suffix_value\"\n >\n {currentDataItem?.suffix_value}\n </span>\n )\n }\n submit_element={submitButton}\n input_state={\n this.state.skipFocusDuringChange ? 'focus' : undefined\n } // because of the short blur / focus during select\n clear={isTrue(show_clear_button)}\n ref={this._refInput}\n {...inputParams}\n {...status_props}\n />\n )}\n\n {!submitButton && (\n <span className=\"dnb-sr-only\">\n <button\n tabIndex=\"-1\"\n type=\"button\" // is needed, else a form will submit\n onClick={this.toggleVisibleAndFocusOptions}\n >\n {show_options_sr}\n </button>\n </span>\n )}\n\n <DrawerList\n id={id}\n className={classnames(\n 'dnb-autocomplete__root',\n drawer_class\n )}\n portal_class={portal_class}\n list_class=\"dnb-autocomplete__list\"\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={prevent_selection}\n triangle_position={triangle_position || icon_position}\n keep_open={keep_open}\n prevent_close={prevent_close}\n align_drawer={align_autocomplete}\n fixed_position={fixed_position}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n options_render={options_render}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n on_pre_change={this.onPreChangeHandler}\n on_key_down={this.onReserveActivityHandler}\n onMouseDown={this.onReserveActivityHandler}\n independent_width={independent_width}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-autocomplete__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n {/* Add VoiceOver support to read the \"selected\" item */}\n {this.getVoiceOverActiveItem(selected_sr)}\n\n <span className=\"dnb-sr-only\" aria-live=\"assertive\">\n {ariaLiveUpdate}\n </span>\n </span>\n )\n }\n}\n\nAutocomplete.HorizontalItem = DrawerList.HorizontalItem\n\nAutocomplete._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_helpers","_AlignmentHelper2","_SpacingHelper","_filterValidProps","_Suffix","_FormLabel","_FormStatus","_IconPrimary2","_Input","_interopRequireWildcard","_ProgressIndicator","_DrawerList","_DrawerListContext","_DrawerListProvider","_DrawerListHelpers","_IconPrimary","_AlignmentHelper","_excluded","_excluded2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_extends","assign","bind","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Autocomplete","React","PureComponent","constructor","props","_id","id","makeUniqueId","render","createElement","data","children","opened","tagName","ignore_events","prevent_focus","skip_keysearch","AutocompleteInstance","exports","mode","title","placeholder","no_options","show_all","aria_live_options","indicator_label","show_options_sr","selected_sr","submit_button_title","submit_button_icon","input_ref","icon","icon_size","icon_position","triangle_position","input_icon","label","label_direction","label_sr_only","keep_value","keep_value_and_selection","show_clear_button","status","status_state","status_props","status_no_animation","globalStatus","suffix","disable_filter","disable_reorder","scrollable","focusable","disable_highlighting","max_height","direction","skip_portal","no_animation","no_scroll_animation","show_submit_button","submit_element","prevent_selection","size","align_autocomplete","options_render","search_in_word_index","search_numbers","default_value","input_value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","portal_class","drawer_class","page_offset","observer_element","enable_body_lock","class","className","ariaLiveDelay","on_show","on_hide","on_type","on_focus","on_blur","on_change","on_select","on_state_update","input_element","process","env","NODE_ENV","propTypes","spacingPropTypes","drawerListPropTypes","PropTypes","string","oneOf","oneOfType","node","func","bool","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","suffix_value","content","array","parseDataItem","dataItem","searchWord","parseContentTitle","search_content","separator","Array","isArray","createSearchIndex","map","contentChunk","getCurrentDataTitle","selected_item","currentData","getCurrentData","preferSelectedValue","getDerivedStateFromProps","state","_listenForPropChanges","disableHighlighting","isTrue","inputValue","prevData","updateData","context","_this","this","args","onStateComplete","drawerList","setWrapperElement","_ref","current","setVisible","setHidden","hasFilter","hidden","isOpen","setVisibleByContext","toggleVisible","isVisible","_refUl","focus","preventScroll","e","options","skipFilter","showAllNextTime","setState","runFilterToHighlight","fillDataIfEmpty","event","typedInputValue","dispatchCustomElementEvent","getEventObjects","trim","runFilterWithSideEffects","runFilter","count","countData","showNoOptionsItem","setData","wrapWithShowAll","cache_hash","active_item","__id","totalReset","resetSelectedItem","showAllItems","setAriaLiveUpdate","_ref2","possibleTitle","original_data","hasFilterActive","lastItem","slice","lastActiveItem","class_name","Fragment","_props","_cacheMemory","setSearchIndex","overwriteSearchIndex","resetActiveItem","overwriteOriginalData","ignoreEvents","visibleIndicator","getCurrentIndex","rawData","parseFloat","newItem","oldItem","hasChanged","hasDatasetChanged","revalidateSelectedItem","newData","filteredData","_ref3","keycode","preventDefault","showAll","hasValidData","hasSelectedItem","hasActiveItem","skipFocusDuringChange","hasFocus","hasBlur","__preventFiringBlurEvent","Boolean","currentTarget","getPreviousSibling","setTimeout","DrawerList","blurDelay","hasFocusOnElement","existingValue","clearInputValue","resetAfterClose","resetFilter","clearTimeout","_blurTimeout","_refInput","warn","attributes","dataList","emptyData","setInputValue","showIndicatorItem","showIndicator","hideIndicator","setMode","debounce","wait","dbf","hasInjectedDataItem","first","includes","showAllTimeout","setActiveItemAndScrollToIt","scrollTo","hasHadValue","_selectTimeout","searchIndex","searchNumbers","inWordIndex","skipReorder","searchWords","split","wordCond","findSearchWords","word","wordIndex","_ref4","replace","escapeRegexChars","regexWord","RegExp","test","_ref5","wordScore","match","isFirstWord","strS","strE","tagS","tagE","item","listOfFoundWords","_children2","_children2$props","cacheHash","isComponent","isValidElement","originalChild","segment","convertJsxToString","_ref6","idx","char","result","__html","dangerouslySetInnerHTML","_originalChild$props","Comp","cloneElement","totalScore","_ref7","sort","_ref8","_ref9","a","b","_ref10","setFocusOnInput","hasSelectedText","_ref11","current_title","createRef","_refShell","isTouchDevice","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","_ariaLiveUpdateTimeout","_focusTimeout","cb","newString","ariaLiveUpdate","getVoiceOverActiveItem","currentDataItem","IS_MAC","ItemContent","_this$context","_this$context2","extendPropsWithContextInClassComponent","defaultProps","getTranslation","pickFormElementProps","FormRow","formElement","fixed_position","CustomInput","_className","independent_width","_mode","_data","_children","_direction","_opened","_value","_input_value","showStatus","getStatusState","isExpanded","onBlur","validateDOMAttributes","mainParams","classnames","createSpacingClasses","shellParams","ref","inputParams","autoCapitalize","spellCheck","autoCorrect","autoComplete","role","onMouseDown","onInputClickHandler","onKeyDown","onInputKeyDownHandler","onChange","onInputChangeHandler","onFocus","onInputFocusHandler","onBlurHandler","inner_ref","IS_WIN","IS_EDGE","combineDescribedBy","submitButton","triggerParams","onTriggerKeyDownHandler","onSubmit","reserveActivityHandler","tooltip","SubmitButton","variant","type","innerId","for_id","text","sr_only","onClick","show","text_id","width_selector","inner_element","setVisibleAndFocusOnInput","input_state","clear","tabIndex","toggleVisibleAndFocusOptions","list_class","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","on_pre_change","onPreChangeHandler","on_key_down","DrawerListContext","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/autocomplete/Autocomplete.js"],"sourcesContent":["/**\n * Web Autocomplete Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n isTouchDevice,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n getStatusState,\n combineDescribedBy,\n convertJsxToString,\n escapeRegexChars,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport {\n IS_MAC,\n IS_WIN,\n IS_EDGE,\n debounce,\n hasSelectedText,\n} from '../../shared/helpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Input, { SubmitButton } from '../input/Input'\nimport ProgressIndicator from '../progress-indicator/ProgressIndicator'\nimport DrawerList, {\n ItemContent,\n} from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n parseContentTitle,\n getCurrentData,\n getCurrentIndex,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Autocomplete extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n\n id: PropTypes.string,\n mode: PropTypes.oneOf(['sync', 'async']),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n no_options: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n show_all: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n aria_live_options: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n indicator_label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n show_options_sr: PropTypes.string,\n selected_sr: PropTypes.string,\n submit_button_title: PropTypes.string,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n input_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n input_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_value_and_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_clear_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n disable_filter: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n disable_reorder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disable_highlighting: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_submit_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n submit_element: PropTypes.node,\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_autocomplete: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\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 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 content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n search_in_word_index: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n search_numbers: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n input_value: PropTypes.string,\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n drawer_class: PropTypes.string,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n enable_body_lock: PropTypes.bool,\n\n class: PropTypes.string,\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 /**\n * For internal use\n */\n ariaLiveDelay: PropTypes.number,\n\n on_show: PropTypes.func,\n on_type: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n mode: 'sync',\n title: 'Option Menu',\n placeholder: null,\n no_options: null,\n show_all: null,\n aria_live_options: null,\n indicator_label: null,\n show_options_sr: null,\n selected_sr: null,\n submit_button_title: null,\n submit_button_icon: 'chevron_down',\n input_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n triangle_position: null,\n input_icon: 'loupe',\n label: null,\n label_direction: null,\n label_sr_only: null,\n keep_value: null,\n keep_value_and_selection: null,\n show_clear_button: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n disable_filter: false,\n disable_reorder: false,\n scrollable: true,\n focusable: false,\n disable_highlighting: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n no_animation: false,\n no_scroll_animation: false,\n show_submit_button: false,\n submit_element: null,\n prevent_selection: false,\n size: 'default',\n align_autocomplete: null,\n options_render: null,\n data: null,\n search_in_word_index: 3,\n search_numbers: null,\n default_value: null,\n value: 'initval',\n input_value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: null,\n disabled: null,\n stretch: null,\n skeleton: null,\n portal_class: null,\n drawer_class: null,\n page_offset: null,\n observer_element: null,\n enable_body_lock: false,\n\n class: null,\n className: null,\n children: null,\n\n ariaLiveDelay: null,\n\n on_show: null,\n on_hide: null,\n on_type: null,\n on_focus: null,\n on_blur: null,\n on_change: null,\n on_select: null,\n on_state_update: null,\n input_element: null,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n return (\n <DrawerListProvider\n {...this.props}\n id={this._id}\n data={this.props.data || this.props.children}\n opened={null}\n tagName=\"dnb-autocomplete\"\n ignore_events={false}\n prevent_focus\n skip_keysearch\n >\n <AutocompleteInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass AutocompleteInstance extends React.PureComponent {\n static propTypes = Autocomplete.propTypes\n static defaultProps = Autocomplete.defaultProps\n static contextType = DrawerListContext\n\n static parseDataItem(dataItem) {\n const searchWord = parseContentTitle(\n dataItem.search_content || dataItem,\n {\n separator: ' ',\n }\n )\n if (typeof searchWord !== 'string' && Array.isArray(searchWord)) {\n return AutocompleteInstance.parseDataItem(searchWord)\n }\n return searchWord\n }\n\n static createSearchIndex(data) {\n return data.map((dataItem) => {\n const contentChunk = AutocompleteInstance.parseDataItem(dataItem)\n return { dataItem, contentChunk }\n })\n }\n\n static getCurrentDataTitle(selected_item, data) {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n state.disableHighlighting = isTrue(props.disable_highlighting)\n\n if (\n props.input_value !== 'initval' &&\n typeof state.inputValue === 'undefined' &&\n props.input_value &&\n props.input_value.length > 0\n ) {\n state.inputValue = props.input_value\n }\n\n if (props.data !== state.prevData) {\n state.updateData(props.data)\n state.prevData = props.data\n }\n }\n\n state._listenForPropChanges = true\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n this.state._listenForPropChanges = true\n this.state.mode = props.mode\n this.state.prevData = props.data // only to compare against new data\n this.state.updateData = this.updateData // only so we can call setData\n\n if (context.drawerList && context.drawerList.current_title) {\n this.state.inputValue = context.drawerList.current_title\n }\n\n this._ref = React.createRef()\n this._refShell = React.createRef()\n this._refInput = React.createRef()\n\n this.isTouchDevice = isTouchDevice()\n\n this.skipFilter = isTrue(props.disable_filter)\n this.skipReorder = isTrue(props.disable_reorder)\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.runFilterToHighlight({ fillDataIfEmpty: true })\n this.setVisible()\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n // Ensure we run getCurrentDataTitle after also data has been update,\n // in case data has changed\n this.setState({}, () => {\n const inputValue = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n this.setState({\n inputValue,\n })\n })\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._selectTimeout)\n clearTimeout(this._ariaLiveUpdateTimeout)\n clearTimeout(this._focusTimeout)\n clearTimeout(this._blurTimeout)\n }\n\n setVisible = (args = null, onStateComplete = null) => {\n this.context.drawerList\n .setWrapperElement(this._ref.current)\n .setVisible(args, onStateComplete)\n }\n\n setHidden = (args = null, onStateComplete = null) => {\n this.context.drawerList.setHidden(args, onStateComplete)\n }\n\n toggleVisible = (args = null, onStateComplete = null) => {\n args = args || {}\n if (typeof args.hasFilter === 'undefined') {\n args.hasFilter = false\n }\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !args.hasFilter &&\n !isTrue(this.props.prevent_close) &&\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden(null, onStateComplete)\n } else {\n this.setVisibleByContext(null, onStateComplete)\n }\n }\n\n toggleVisibleAndFocusOptions = () => {\n this.context.drawerList.toggleVisible(null, (isVisible) => {\n if (isVisible) {\n try {\n this.context.drawerList._refUl.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n }\n })\n }\n\n setVisibleByContext = (options = {}, onStateComplete = null) => {\n const skipFilter = this.state.showAllNextTime\n if (skipFilter) {\n this.setState({\n showAllNextTime: false,\n _listenForPropChanges: false,\n })\n }\n\n this.runFilterToHighlight({\n fillDataIfEmpty: true,\n skipFilter,\n ...options,\n })\n\n this.setVisible(null, onStateComplete)\n }\n\n onInputChangeHandler = ({ value, event }, options = {}) => {\n this.setState({\n typedInputValue: value,\n inputValue: value,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_type', {\n value,\n event,\n ...this.getEventObjects('on_type'),\n })\n\n value = String(value).trim()\n if (value !== this.state.inputValue) {\n this.runFilterWithSideEffects(value, options)\n }\n }\n\n runFilterWithSideEffects = (value, options = {}) => {\n // run the filter also on invalid values, so we reset the highlight\n const data = this.runFilter(value, options)\n const count = this.countData(data)\n\n const { keep_value, keep_value_and_selection } = this.props\n\n if (value && value.length > 0) {\n // show the \"no_options\" message\n if (count === 0) {\n if (this.state.mode !== 'async') {\n this.showNoOptionsItem()\n }\n } else if (count > 0) {\n this.context.drawerList.setData(this.wrapWithShowAll(data))\n this.context.drawerList.setState({\n cache_hash: value + count,\n })\n\n if (count === 1) {\n this.context.drawerList.setState({\n active_item: data[0].__id,\n })\n }\n }\n } else {\n if (!isTrue(keep_value) && !isTrue(keep_value_and_selection)) {\n // this will not remove selected_item\n this.totalReset()\n }\n\n if (isTrue(keep_value)) {\n this.resetSelectedItem()\n }\n\n this.showAllItems()\n }\n\n this.setVisible()\n this.setAriaLiveUpdate()\n\n return data\n }\n\n runFilterToHighlight = (\n { fillDataIfEmpty = false, ...options } = {},\n value = this.state.inputValue\n ) => {\n // do not filter or highlight if the current selected item is the same as the input value\n const possibleTitle = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n\n if (value === possibleTitle) {\n return // stop here\n }\n\n value = String(value || '').trim()\n\n this.setState({\n disableHighlighting: false,\n _listenForPropChanges: false,\n })\n\n let data = this.runFilter(value, options) // do not skip the filter here\n\n // this is a backup, in case everything is empty, we fill the data\n if (fillDataIfEmpty && data.length === 0 && value === '') {\n data = this.context.drawerList.original_data\n }\n\n this.context.drawerList.setData(this.wrapWithShowAll(data))\n this.context.drawerList.setState({\n cache_hash: value + this.countData(data),\n })\n\n this.setAriaLiveUpdate()\n\n return data\n }\n\n wrapWithShowAll = (data) => {\n if (!data || !this.hasFilterActive(data)) {\n return data\n }\n\n const lastItem = this.context.drawerList.original_data.slice(-1)[0]\n if (lastItem && !lastItem.show_all) {\n const lastActiveItem = data.slice(-1)[0]\n if (lastActiveItem) {\n // NB: here we could use unshift, but this has to be implemented different places as well\n data.push({\n __id: lastItem.__id + 1,\n lastActiveItem: lastActiveItem.__id,\n class_name: 'dnb-autocomplete__show-all',\n show_all: true,\n active_item: false,\n selected_item: false,\n content: (\n <>\n <IconPrimary icon=\"arrow_down\" />\n {this._props.show_all}\n </>\n ),\n })\n }\n }\n\n return data\n }\n\n setInputValue = (inputValue) => {\n this.setState({\n inputValue,\n _listenForPropChanges: false,\n })\n }\n\n emptyData = () => {\n this._cacheMemory = {}\n\n this.setState({\n inputValue: '',\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n\n this.context.drawerList.setData(\n () => [],\n () => {\n this.setSearchIndex({ overwriteSearchIndex: true })\n this.resetActiveItem()\n this.totalReset()\n },\n {\n overwriteOriginalData: true,\n }\n )\n }\n\n showNoOptionsItem = () => {\n this.resetActiveItem()\n this.ignoreEvents()\n this.context.drawerList.setData([\n {\n class_name: 'dnb-autocomplete__no-options',\n content: this._props.no_options,\n ignore_events: true,\n __id: 'no_options',\n },\n ])\n this.context.drawerList.setState({\n cache_hash: 'no_options',\n })\n this.setVisible()\n }\n\n showIndicatorItem = () => {\n this.resetActiveItem()\n this.ignoreEvents()\n this.context.drawerList.setData([\n {\n class_name: 'dnb-autocomplete__indicator',\n content: <ProgressIndicator label={this._props.indicator_label} />,\n ignore_events: true,\n __id: 'indicator',\n },\n ])\n this.context.drawerList.setState({\n cache_hash: 'indicator',\n })\n this.setVisible()\n }\n\n showIndicator = () => {\n if (!this.state.visibleIndicator) {\n this.setState({\n visibleIndicator: true,\n _listenForPropChanges: false,\n })\n }\n }\n\n hideIndicator = () => {\n this.setState({\n visibleIndicator: false,\n _listenForPropChanges: false,\n })\n }\n\n setMode = (mode) => {\n this.setState({\n mode,\n _listenForPropChanges: false,\n })\n }\n\n revalidateSelectedItem = () => {\n const selected_item = getCurrentIndex(\n this.props.value,\n this.context.drawerList.original_data\n )\n\n this.context.drawerList.setState({\n selected_item,\n })\n }\n\n hasDatasetChanged = (rawData) => {\n const { selected_item } = this.context.drawerList\n if (parseFloat(selected_item) > -1) {\n const newItem = rawData[selected_item]\n const oldItem = this.context.drawerList.original_data[selected_item]\n if (\n typeof newItem?.selectedKey !== 'undefined'\n ? newItem?.selectedKey !== oldItem?.selectedKey\n : newItem?.selected_key !== oldItem?.selected_key\n ) {\n return true\n }\n }\n return false\n }\n\n updateData = (rawData) => {\n const hasChanged = this.hasDatasetChanged(rawData)\n\n // invalidate the local cache now,\n // because we get else the same after we show the new result\n this.context.drawerList.setState(\n {\n cache_hash: 'updateData',\n },\n () => {\n // If the \"selected_key\" has changed in comparison to the existing data,\n // invalidated our selected_item\n // Also, ensure to run it after a state update, because the \"selected_item\" (value prop) can have changed,\n // and should match the new data\n if (hasChanged) {\n const { value } = this.props\n if (value && value !== 'initval') {\n this.revalidateSelectedItem()\n } else {\n this.resetSelectedItem()\n }\n }\n }\n )\n\n this.context.drawerList.setData(\n () => rawData, // set data as a function, so it gets re-evaluated with normalizeData\n (newData) => {\n this.setSearchIndex(\n { overwriteSearchIndex: true, data: newData },\n () => {\n const { typedInputValue } = this.state\n\n if (typedInputValue?.length > 0) {\n // run with side effects, to get preselection of active_item\n const filteredData =\n this.runFilterWithSideEffects(typedInputValue)\n if (this.countData(filteredData) === 0) {\n this.showNoOptionsItem()\n }\n } else {\n this.resetActiveItem()\n\n if (this.context.drawerList.opened) {\n this.showAllItems()\n }\n }\n }\n )\n },\n {\n overwriteOriginalData: true,\n }\n )\n\n return this\n }\n\n onInputKeyDownHandler = ({ event: e }) => {\n const key = keycode(e)\n\n switch (key) {\n case 'page up':\n case 'page down':\n case 'home':\n case 'end':\n case 'down':\n case 'up':\n e.preventDefault() // has to be there for VO, one the drawer is closed\n break\n }\n\n switch (key) {\n case 'up':\n case 'down':\n if (!this.context.drawerList.opened) {\n // e.preventDefault()\n this.setVisible()\n }\n\n break\n\n case 'esc':\n this.setState({\n showAllNextTime: true,\n _listenForPropChanges: false,\n })\n\n break\n\n case 'enter':\n e.preventDefault()\n\n if (!this.context.drawerList.opened && this.hasFilterActive()) {\n this.ignoreEvents()\n this.showAll()\n }\n if (\n (!this.hasValidData() || !this.hasSelectedItem()) &&\n !this.hasActiveItem()\n ) {\n this.toggleVisible()\n } else {\n this.setVisible()\n }\n\n break\n }\n }\n\n onInputClickHandler = (e) => {\n const { value } = e.target\n this.setVisibleByContext({ value })\n }\n\n onInputFocusHandler = (event) => {\n if (this.state.skipFocusDuringChange) {\n return // stop here\n }\n\n const { open_on_focus, keep_value_and_selection } = this.props\n\n if (!this.state.hasFocus) {\n if (isTrue(open_on_focus)) {\n const { value } = event.target\n this.setVisibleByContext({ value })\n } else {\n this.setSearchIndex()\n }\n\n if (isTrue(keep_value_and_selection)) {\n this.showAll()\n }\n\n dispatchCustomElementEvent(this, 'on_focus', {\n event,\n ...this.getEventObjects('on_focus'),\n })\n\n this.setState({\n hasFocus: true,\n hasBlur: false,\n })\n }\n }\n\n reserveActivityHandler = (event = null) => {\n this.__preventFiringBlurEvent = Boolean(\n event.key === 'enter' ||\n (event?.currentTarget\n ? getPreviousSibling('dnb-drawer-list', event.currentTarget) ||\n getPreviousSibling(\n 'dnb-input__submit-button__button',\n event.currentTarget\n )\n : false)\n )\n\n if (this.__preventFiringBlurEvent) {\n setTimeout(\n () => {\n this.__preventFiringBlurEvent = false\n },\n isTrue(this.props.no_animation) ? 1 : DrawerList.blurDelay\n )\n }\n }\n\n onBlurHandler = (event) => {\n if (\n this.__preventFiringBlurEvent ||\n this.context.drawerList.hasFocusOnElement ||\n this.state.hasBlur\n ) {\n this.__preventFiringBlurEvent = null\n return false\n }\n\n const {\n open_on_focus,\n keep_value,\n keep_value_and_selection,\n prevent_selection,\n no_animation,\n } = this.props\n\n dispatchCustomElementEvent(this, 'on_blur', {\n event,\n ...this.getEventObjects('on_blur'),\n })\n\n this.setState({\n hasBlur: true,\n hasFocus: false,\n })\n\n if (!isTrue(keep_value) && !isTrue(keep_value_and_selection)) {\n this.setState({\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n }\n\n if (!isTrue(prevent_selection)) {\n const existingValue = this.state.inputValue\n\n if (!isTrue(keep_value) && !isTrue(keep_value_and_selection)) {\n this.clearInputValue()\n }\n\n const resetAfterClose = () => {\n if (\n !isTrue(keep_value) ||\n !existingValue ||\n this.hasSelectedItem()\n ) {\n this.resetActiveItem()\n }\n this.resetFilter()\n }\n\n if (isTrue(no_animation)) {\n resetAfterClose()\n } else {\n clearTimeout(this._blurTimeout)\n this._blurTimeout = setTimeout(\n resetAfterClose,\n DrawerList.blurDelay\n ) // only to let the animation pass, before we make the effect. Else this would be a visible change\n }\n }\n\n if (isTrue(open_on_focus)) {\n this.setHidden()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n const key = keycode(e)\n\n switch (key) {\n case 'space':\n {\n this.setVisible()\n }\n break\n }\n\n switch (key) {\n case 'space':\n case 'enter':\n case 'page up':\n case 'page down':\n case 'down':\n case 'up':\n {\n e.preventDefault()\n try {\n this._refInput.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n break\n }\n }\n\n getEventObjects = (key) => {\n const attributes = this.attributes\n\n return {\n attributes,\n dataList: this.context.drawerList.data,\n updateData: this.updateData,\n revalidateSelectedItem: this.revalidateSelectedItem,\n resetSelectedItem: this.resetSelectedItem,\n showAllItems: this.showAllItems,\n setVisible: this.setVisible,\n setHidden: this.setHidden,\n emptyData: this.emptyData,\n setInputValue: this.setInputValue,\n showNoOptionsItem: this.showNoOptionsItem,\n showIndicatorItem: this.showIndicatorItem,\n showIndicator: this.showIndicator,\n hideIndicator: this.hideIndicator,\n setMode: this.setMode,\n debounce: (func, props = {}, wait = 250) => {\n this.dbf = this.dbf || {}\n return (\n this.dbf[key] ||\n (this.dbf[key] = debounce(func, wait, { context: this }))\n )(props)\n },\n }\n }\n\n hasInjectedDataItem = (data = this.context.drawerList.data) => {\n const lastItem = data.slice(-1)[0]\n return lastItem\n ? lastItem.show_all || lastItem.__id === 'no_options'\n : false\n }\n\n countData = (data = this.context.drawerList.data) => {\n const count = data.length\n return count > 0 && this.hasInjectedDataItem(data) ? count - 1 : count\n }\n\n hasValidData = (data = this.context.drawerList.data) => {\n if (this.countData(data) > 0) {\n const first = data[0]\n if (\n !first.show_all &&\n !['no_options', 'indicator'].includes(first.__id)\n ) {\n return true\n }\n }\n return false\n }\n\n hasSelectedItem = () => {\n return parseFloat(this.context.drawerList.selected_item) > -1\n }\n\n hasActiveItem = () => {\n return parseFloat(this.context.drawerList.active_item) > -1\n }\n\n hasFilterActive = (data = this.context.drawerList.data) => {\n return !(\n this.context.drawerList.original_data &&\n this.context.drawerList.original_data.length === this.countData(data)\n )\n }\n\n setSearchIndex(\n {\n overwriteSearchIndex = false,\n data = this.context.drawerList.original_data,\n } = {},\n cb\n ) {\n this._cacheMemory = {}\n\n if (!overwriteSearchIndex && this.state.searchIndex) {\n return this.state.searchIndex\n }\n\n const searchIndex = AutocompleteInstance.createSearchIndex(data)\n\n this.setState(\n {\n searchIndex,\n _listenForPropChanges: false,\n },\n cb\n )\n\n return searchIndex\n }\n\n ignoreEvents = () => {\n clearTimeout(this.showAllTimeout)\n this.context.drawerList.setState(\n {\n ignore_events: true, // we also have to reset this one\n },\n () => {\n // but we reset it right after the rerender\n this.showAllTimeout = setTimeout(() => {\n this.context &&\n this.context.drawerList &&\n this.context.drawerList.setState({\n ignore_events: false, // we also have to reset this one\n })\n }, 10) // make sure we reset once the rerender of DrawerList is done, because then we keep the active_item at it's position by using key=\"down\"\n }\n )\n }\n\n showAll = () => {\n this.resetFilter()\n\n this.context.drawerList.setState({\n cache_hash: 'all',\n })\n\n this.runFilterToHighlight({ skipFilter: true, fillDataIfEmpty: true })\n }\n\n showAllItems = () => {\n this.resetFilter()\n this.context.drawerList.setState({\n cache_hash: 'all',\n })\n this.context.drawerList.setActiveItemAndScrollToIt(\n this.context.drawerList.selected_item,\n {\n scrollTo: false,\n }\n )\n }\n\n totalReset = () => {\n this.setState({\n inputValue: null,\n typedInputValue: null,\n _listenForPropChanges: false,\n })\n this.resetActiveItem()\n this.resetSelectedItem()\n }\n\n resetActiveItem = () => {\n this.context.drawerList.setState({\n active_item: null,\n })\n }\n\n resetSelectedItem = () => {\n const hasHadValue = this.hasSelectedItem()\n this.context.drawerList.setState(\n {\n selected_item: null,\n },\n () => {\n if (hasHadValue) {\n dispatchCustomElementEvent(this, 'on_change', {\n ...this.getEventObjects('on_change'),\n })\n }\n }\n )\n }\n\n clearInputValue = () => {\n const { input_value, keep_value } = this.props\n\n const inputValue = AutocompleteInstance.getCurrentDataTitle(\n this.context.drawerList.selected_item,\n this.context.drawerList.original_data\n )\n\n clearTimeout(this._selectTimeout)\n this._selectTimeout = setTimeout(() => {\n if (this.hasSelectedItem()) {\n this.setState({\n inputValue,\n _listenForPropChanges: false,\n })\n } else if (\n !(input_value !== 'initval' && input_value.length > 0) &&\n !isTrue(keep_value)\n ) {\n this.setState({\n inputValue: '',\n _listenForPropChanges: false,\n })\n }\n }, 1) // to make sure we actually are after the Input state handling -> \"input placeholder reset\"\n }\n\n resetFilter = () => {\n this.context.drawerList.setData(this.context.drawerList.original_data)\n }\n\n runFilter = (\n value,\n {\n data = null, // rawData\n searchIndex = this.state.searchIndex,\n searchNumbers = isTrue(this.props.search_numbers),\n inWordIndex = (parseFloat(this.props.search_in_word_index) || 3) - 2,\n disableHighlighting = false,\n skipFilter = false,\n skipReorder = false,\n } = {}\n ) => {\n if (data) {\n searchIndex = this.setSearchIndex({ data })\n }\n // get the search index\n else if (!searchIndex) {\n searchIndex = this.setSearchIndex()\n }\n\n if (typeof searchIndex === 'undefined') {\n return []\n }\n\n const searchWords = value.split(/\\s+/g).filter(Boolean)\n const wordCond = '^|\\\\s'\n\n const findSearchWords = (contentChunk) => {\n if (typeof contentChunk !== 'string') {\n return []\n }\n\n // [cc, bb]\n return searchWords\n .map((word, wordIndex) => ({ word, wordIndex }))\n .filter(({ word, wordIndex }) => {\n if (searchNumbers) {\n // Remove all other chars, except numbers, so we can compare\n word = word.replace(/[^\\d\\w]/g, '')\n } else {\n // To ensure we escape regex chars\n word = escapeRegexChars(word)\n }\n\n if (searchNumbers) {\n // This will make it possible to search with one letter less\n word = word.replace(/(\\d)/g, '$1+')\n }\n\n // if the uses reached word 3, then we go inside words as well\n const regexWord = new RegExp(\n wordIndex > inWordIndex ? `${word}` : `(${wordCond})${word}`,\n 'i'\n )\n\n if (regexWord.test(contentChunk)) {\n return true\n }\n\n if (\n searchNumbers &&\n regexWord.test(contentChunk.replace(/[^0-9]/g, ''))\n ) {\n return true\n }\n\n return false\n })\n .map(({ word, wordIndex }) => {\n // Use 1 to ensure we never have 0, because we filter out words with 0 later\n let wordScore = 0\n\n // Check how ofter the current written word is inside the content,\n // and give a score for each one\n wordScore += (\n contentChunk.match(\n new RegExp(`(${wordCond})${escapeRegexChars(word)}`, 'ig')\n ) || []\n ).length\n\n // Give the first word extra points\n if (wordIndex === 0) {\n // Check if the first chunk starts the first written word\n const isFirstWord = new RegExp(\n `^${escapeRegexChars(searchWords[0])}`,\n 'i'\n ).test(contentChunk.split(' ')[0])\n\n // If yes, add the amount of possible words + 1\n if (isFirstWord) {\n wordScore += searchWords.length + 1\n }\n }\n\n return {\n word,\n wordIndex,\n wordScore,\n }\n })\n }\n\n const strS = '\\uFFFE'\n const strE = '\\uFFFF'\n const tagS = '<span class=\"dnb-drawer-list__option__item--highlight\">'\n const tagE = '</span>'\n\n searchIndex = searchIndex.map((item, i) => {\n const listOfFoundWords = findSearchWords(item.contentChunk, i)\n\n if (typeof item.dataItem === 'string') {\n item.dataItem = { content: item.dataItem }\n }\n\n // Only make a copy if render is not set\n // If we don't make a copy of the item, we risk that we manipulate data outside\n if (!item.dataItem.render) {\n item.dataItem = { ...item.dataItem }\n }\n\n // this function gets called once the items are rendered / in view\n // this part is used for the highlighting\n item.dataItem.render = (children, id) => {\n if (disableHighlighting || this.state.disableHighlighting) {\n return children\n }\n\n // if the ID and the content is the same, use the cached version\n const cacheHash = id + value\n this._cacheMemory = this._cacheMemory || {}\n if (this._cacheMemory[cacheHash]) {\n return this._cacheMemory[cacheHash]\n }\n\n const isComponent =\n typeof children !== 'string' && React.isValidElement(children)\n\n if (isComponent && Array.isArray(children?.props?.children)) {\n children = children.props.children\n } else if (!Array.isArray(children)) {\n children = [children] // for a while we had split this into separate words children.split(' ') but this is not needed anymore\n }\n\n // make string out of it\n children = children.map((originalChild) => ({\n originalChild,\n segment: convertJsxToString(originalChild, ' '),\n }))\n\n children = children.map(({ originalChild, segment }, idx) => {\n // This way, the user can get highlights that do not match\n searchWords.forEach((word, wordIndex) => {\n // Can be empty string\n if (segment) {\n // To ensure we escape regex chars\n word = escapeRegexChars(word)\n\n if (searchNumbers) {\n word.split('').forEach((char) => {\n if (/[\\d\\w]/.test(char)) {\n segment = segment.replace(\n new RegExp(`(${char})`, 'gi'),\n `${strS}$1${strE}`\n )\n }\n })\n } else {\n if (wordIndex > inWordIndex) {\n segment = segment.replace(\n new RegExp(`(${word})`, 'gi'),\n `${strS}$1${strE}`\n )\n } else {\n segment = segment.replace(\n new RegExp(`(${wordCond})(${word})`, 'gi'),\n `$1${strS}$2${strE}`\n )\n }\n }\n }\n })\n\n let result = segment\n\n if (segment.includes(strS)) {\n // to make sure we don't have several in a row\n const __html = segment\n .replace(new RegExp(`(${strS})+`, 'g'), strS)\n .replace(new RegExp(`(${strE})+`, 'g'), strE)\n .replace(new RegExp(`(${strE}${strS})`, 'g'), '')\n .replace(new RegExp(strS, 'g'), tagS)\n .replace(new RegExp(strE, 'g'), tagE)\n\n result = (\n <span\n key={cacheHash + idx}\n dangerouslySetInnerHTML={{\n __html,\n }}\n />\n )\n } else {\n result = <span key={cacheHash + idx}>{segment}</span>\n }\n\n // If we get a component, replace the one we use as the string comparison\n // This way we can still have an icon before or after\n if (isComponent) {\n if (Array.isArray(originalChild?.props?.children)) {\n result = originalChild.props.children.map((Comp) => {\n return Comp === originalChild ||\n (Comp.props && Comp.props.children === originalChild)\n ? result\n : Comp\n })\n } else if (typeof originalChild === 'string') {\n result = originalChild\n }\n\n if (React.isValidElement(originalChild)) {\n result = React.cloneElement(\n originalChild,\n { key: 'clone' + cacheHash + idx },\n result\n )\n }\n }\n\n return result\n })\n\n return (this._cacheMemory[cacheHash] = children)\n }\n\n if (this.skipFilter || skipFilter) {\n return item.dataItem\n }\n\n /**\n * This prioritizes the first written words (score)\n * along with who many matches are in the content item (listOfFoundWords)\n */\n let totalScore = listOfFoundWords.length // Include the found words\n for (const { wordScore } of listOfFoundWords) {\n totalScore += wordScore\n }\n\n return {\n totalScore,\n item,\n }\n })\n\n if (!this.skipFilter && !skipFilter) {\n // This removes items with 0 totalScore\n searchIndex = searchIndex.filter(({ totalScore }) => totalScore)\n\n if (!this.skipReorder && !skipReorder) {\n searchIndex = searchIndex.sort(\n ({ totalScore: a }, { totalScore: b }) => b - a\n )\n }\n\n searchIndex = searchIndex.map(({ item }) => item.dataItem)\n }\n\n return searchIndex\n }\n\n onHideHandler = (args = {}) => {\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n ...this.getEventObjects('on_hide'),\n })\n\n if (res !== false) {\n this.setFocusOnInput()\n }\n\n return res\n }\n\n setVisibleAndFocusOnInput = () => {\n if (!this.state.hasFocus && !hasSelectedText()) {\n this.setFocusOnInput()\n this.setVisible()\n }\n }\n\n setFocusOnInput() {\n this.setState(\n {\n hasFocus: true,\n },\n () => {\n try {\n this._refInput.current._ref.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n this.setState({\n hasFocus: false,\n })\n }\n )\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n ...this.getEventObjects('on_select'),\n })\n }\n }\n\n onPreChangeHandler = ({ data }) => {\n if (data && data.show_all) {\n this.showAll()\n\n const active_item = data.lastActiveItem\n if (parseFloat(active_item) > -1) {\n this.context.drawerList.setActiveItemAndScrollToIt(active_item, {\n scrollTo: false,\n })\n }\n\n this.setFocusOnInput()\n\n return false\n }\n }\n\n onChangeHandler = (args) => {\n const selected_item = args.selected_item\n\n const { prevent_selection, keep_open } = this.props\n\n if (!isTrue(prevent_selection)) {\n if (!isTrue(keep_open)) {\n this.setState({\n skipFocusDuringChange: true,\n disableHighlighting: true,\n _listenForPropChanges: false,\n })\n\n this.setHidden()\n\n // Do this, so screen readers get a NEW focus later on\n // So we first need a blur of the input basically\n try {\n this.context.drawerList._refUl.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n // do nothing\n }\n\n this.setState(\n {\n inputValue: AutocompleteInstance.getCurrentDataTitle(\n selected_item,\n this.context.drawerList.data\n ),\n skipFocusDuringChange: false,\n _listenForPropChanges: false,\n },\n () => this.setFocusOnInput()\n )\n } else {\n this.setState({\n inputValue: AutocompleteInstance.getCurrentDataTitle(\n selected_item,\n this.context.drawerList.data\n ),\n _listenForPropChanges: false,\n })\n }\n }\n\n if (typeof args.data.render === 'function') {\n delete args.data.render\n }\n\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n ...this.getEventObjects('on_change'),\n })\n }\n\n setAriaLiveUpdate() {\n const { opened } = this.context.drawerList\n const {\n aria_live_options,\n no_options,\n ariaLiveDelay = 1000,\n } = this._props\n\n // this is only to make a better screen reader ux\n clearTimeout(this._ariaLiveUpdateTimeout)\n if (opened) {\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n let newString = null\n\n const count = this.countData()\n\n if (count > 0) {\n newString = String(aria_live_options).replace('%s', count)\n } else {\n newString = no_options\n }\n\n if (newString) {\n this.setState({\n ariaLiveUpdate: newString,\n _listenForPropChanges: false,\n })\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n this.setState({\n ariaLiveUpdate: null,\n _listenForPropChanges: false,\n })\n }, 1000)\n }\n }, ariaLiveDelay) // so that the input gets read out first, and then the results\n }\n }\n\n getVoiceOverActiveItem(selected_sr) {\n // Add VoiceOver support to read the \"selected\" item\n const { active_item, selected_item } = this.context.drawerList\n const currentDataItem = getCurrentData(\n active_item,\n this.context.drawerList.data\n )\n\n return (\n <span\n hidden={!IS_MAC}\n className=\"dnb-sr-only\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {currentDataItem && (\n <>\n {active_item === selected_item ? <>{selected_sr} </> : null}\n <ItemContent>{currentDataItem}</ItemContent>\n </>\n )}\n </span>\n )\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = (this._props = extendPropsWithContextInClassComponent(\n this.props,\n Autocomplete.defaultProps,\n this.context.getTranslation(this.props).Autocomplete,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Autocomplete\n ))\n\n const {\n title,\n placeholder,\n label,\n label_direction,\n label_sr_only,\n icon, // eslint-disable-line\n icon_size,\n input_icon,\n size,\n align_autocomplete,\n fixed_position,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n keep_value, // eslint-disable-line\n keep_value_and_selection, // eslint-disable-line\n show_clear_button,\n prevent_close,\n no_animation,\n no_scroll_animation,\n show_submit_button,\n submit_element,\n input_element: CustomInput,\n options_render,\n prevent_selection,\n max_height,\n default_value,\n search_numbers, // eslint-disable-line\n search_in_word_index, // eslint-disable-line\n show_options_sr, // eslint-disable-line\n selected_sr,\n submit_button_title,\n submit_button_icon,\n portal_class,\n drawer_class,\n input_ref, // eslint-disable-line\n className,\n class: _className,\n disabled,\n stretch,\n skeleton,\n triangle_position,\n icon_position,\n skip_portal,\n independent_width,\n\n mode: _mode, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n input_value: _input_value, // eslint-disable-line\n\n indicator_label, // eslint-disable-line\n no_options, // eslint-disable-line\n show_all, // eslint-disable-line\n aria_live_options, // eslint-disable-line\n disable_highlighting, // eslint-disable-line\n ariaLiveDelay, // eslint-disable-line\n\n ...attributes\n } = props\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const { inputValue, visibleIndicator, ariaLiveUpdate } = this.state\n\n const { hidden, selected_item, active_item, direction, opened } =\n this.context.drawerList\n\n const isExpanded = Boolean(opened) && this.hasValidData()\n\n // In case a developer is using onBlur\n // it would blur uncontrolled – so we relay on \"on_blur\".\n // But the \"onBlur\" will still function, now just as expected.\n delete attributes.onBlur\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n Object.assign(this.context.drawerList.attributes, this.attributes)\n\n const mainParams = {\n className: classnames(\n 'dnb-autocomplete',\n direction && `dnb-autocomplete--${direction}`,\n disabled && 'dnb-autocomplete--disabled',\n opened && 'dnb-autocomplete--opened',\n label_direction && `dnb-autocomplete--${label_direction}`,\n icon_position &&\n `dnb-autocomplete--icon-position-${icon_position}`,\n align_autocomplete && `dnb-autocomplete--${align_autocomplete}`,\n visibleIndicator && 'dnb-autocomplete--show-indicator',\n size && `dnb-autocomplete--${size}`,\n isTrue(stretch) && `dnb-autocomplete--stretch`,\n status && `dnb-autocomplete__status--${status_state}`,\n showStatus && 'dnb-autocomplete__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const shellParams = {\n className: 'dnb-autocomplete__shell dnb-no-focus',\n ref: this._refShell,\n }\n\n const inputParams = {\n className: 'dnb-autocomplete__input',\n id,\n value: inputValue,\n autoCapitalize: 'none',\n spellCheck: 'false',\n autoCorrect: 'off',\n autoComplete: 'off',\n\n // ARIA\n role: 'combobox', // we need combobox twice to make it properly work on VO\n 'aria-autocomplete': 'both', // list, both\n 'aria-controls': `${id}-ul`,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isExpanded, // is needed for semantics\n // 'aria-roledescription': 'autocomplete', // is not needed by now\n\n onMouseDown: this.onInputClickHandler,\n onKeyDown: this.onInputKeyDownHandler,\n onChange: this.onInputChangeHandler,\n onFocus: this.onInputFocusHandler,\n onBlur: this.onBlurHandler,\n icon_position,\n inner_ref: input_ref,\n disabled,\n skeleton,\n ...attributes,\n }\n\n if (!(parseFloat(selected_item) > -1)) {\n inputParams.placeholder = placeholder || title\n if (!(IS_WIN && IS_EDGE)) {\n inputParams['aria-placeholder'] = undefined\n }\n }\n\n // Handling of activedescendant – required by NVDA\n if (!hidden) {\n if (parseFloat(active_item) > -1) {\n inputParams[\n 'aria-activedescendant'\n ] = `option-${id}-${active_item}`\n } else if (\n !isTrue(prevent_selection) &&\n parseFloat(selected_item) > -1\n ) {\n inputParams[\n 'aria-activedescendant'\n ] = `option-${id}-${selected_item}`\n }\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n let submitButton = false\n const triggerParams = {\n id: id + '-submit-button',\n disabled,\n status: !opened && status ? status_state : null,\n onKeyDown: this.onTriggerKeyDownHandler,\n onSubmit: this.toggleVisible,\n onMouseDown: this.reserveActivityHandler,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isExpanded,\n 'aria-label': !hidden ? submit_button_title : undefined,\n tooltip: show_submit_button ? submit_button_title : null,\n className: opened ? 'dnb-button--active' : null,\n }\n\n if (submit_element && React.isValidElement(submit_element)) {\n submitButton = React.cloneElement(submit_element, triggerParams)\n } else if (isTrue(show_submit_button)) {\n submitButton = (\n <SubmitButton\n icon={submit_button_icon}\n icon_size={\n icon_size || (size === 'large' ? 'medium' : 'default')\n }\n variant=\"secondary\"\n size={size === 'default' ? 'medium' : size}\n type=\"button\"\n status={status}\n status_state={status_state}\n status_props={status_props}\n {...triggerParams}\n />\n )\n }\n\n const currentDataItem = getCurrentData(\n selected_item,\n this.context.drawerList.original_data\n )\n\n const innerId =\n currentDataItem?.suffix_value && showStatus ? `${id}-inner` : null\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(null, shellParams)\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.toggleVisible}\n />\n )}\n\n <span\n className=\"dnb-autocomplete__inner\"\n ref={this._ref}\n id={innerId}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n width_selector={innerId}\n {...status_props}\n />\n\n <span className=\"dnb-autocomplete__row\">\n <span {...shellParams}>\n {CustomInput ? (\n <CustomInput {...inputParams} />\n ) : (\n <Input\n icon={\n visibleIndicator ? (\n <ProgressIndicator\n size={size === 'large' ? 'medium' : 'small'}\n />\n ) : (\n input_icon\n )\n }\n icon_size={\n icon_size || (size === 'large' ? 'medium' : 'default')\n }\n size={size}\n status={status ? status_state : null}\n status_state={status_state}\n type={null}\n inner_element={\n currentDataItem?.suffix_value && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <span\n onClick={\n disabled ? null : this.setVisibleAndFocusOnInput\n }\n className=\"dnb-autocomplete__suffix_value\"\n >\n {currentDataItem?.suffix_value}\n </span>\n )\n }\n submit_element={submitButton}\n input_state={\n this.state.skipFocusDuringChange ? 'focus' : undefined\n } // because of the short blur / focus during select\n clear={isTrue(show_clear_button)}\n ref={this._refInput}\n {...inputParams}\n {...status_props}\n />\n )}\n\n {!submitButton && (\n <span className=\"dnb-sr-only\">\n <button\n tabIndex=\"-1\"\n type=\"button\" // is needed, else a form will submit\n onClick={this.toggleVisibleAndFocusOptions}\n >\n {show_options_sr}\n </button>\n </span>\n )}\n\n <DrawerList\n id={id}\n className={classnames(\n 'dnb-autocomplete__root',\n drawer_class\n )}\n portal_class={portal_class}\n list_class=\"dnb-autocomplete__list\"\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={prevent_selection}\n triangle_position={triangle_position || icon_position}\n keep_open={keep_open}\n prevent_close={prevent_close}\n align_drawer={align_autocomplete}\n fixed_position={fixed_position}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n options_render={options_render}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n on_pre_change={this.onPreChangeHandler}\n on_key_down={this.reserveActivityHandler}\n onMouseDown={this.reserveActivityHandler}\n independent_width={independent_width}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-autocomplete__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n {/* Add VoiceOver support to read the \"selected\" item */}\n {this.getVoiceOverActiveItem(selected_sr)}\n\n <span className=\"dnb-sr-only\" aria-live=\"assertive\">\n {ariaLiveUpdate}\n </span>\n </span>\n )\n }\n}\n\nAutocomplete.HorizontalItem = DrawerList.HorizontalItem\nAutocomplete._formElement = true\nAutocomplete._supportsSpacingProps = true\n"],"mappings":"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"}
|