@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":"GlobalError.js","names":["React","classnames","Context","processChildren","extendPropsWithContext","createSpacingClasses","Anchor","Skeleton","H1","P","Code","defaultProps","status","GlobalError","localProps","context","useContext","translation","getTranslation","allProps","skeleton","center","className","title","help","code","links","text","attributes","_objectWithoutProperties","_excluded","textParams","dangerouslySetInnerHTML","__html","children","spacingClasses","params","_objectSpread","additionalContent","createElement","_extends","show","element","size","top","bottom","length","map","url","key","href","_supportsSpacingProps"],"sources":["../../../../src/components/global-error/GlobalError.tsx"],"sourcesContent":["/**\n * Web GlobalError Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context, { GetTranslationProps } from '../../shared/Context'\nimport {\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Anchor from '../anchor/Anchor'\nimport Skeleton, { SkeletonShow } from '../skeleton/Skeleton'\nimport { H1, P, Code } from '../../elements'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type GlobalErrorLink = {\n text: string\n url: string\n}\n\nexport type GlobalErrorProps = {\n /**\n * When `404` or `500` is given, a predefined text will be shown.\n * Defaults to `400`.\n */\n status?: '404' | '500' | string\n\n /**\n * Will overwrite the default title.\n */\n title?: React.ReactNode\n\n /**\n * Will overwrite the default text.\n */\n text?: React.ReactNode\n\n /**\n * Will overwrite the default error message code.\n */\n code?: React.ReactNode\n\n /**\n * Will overwrite the default additional help text.\n */\n help?: React.ReactNode\n\n /**\n * Provide an array with objects `{ text: 'Text', url: 'https://...' }` to display a list of anchor links.\n */\n links?: Array<GlobalErrorLink>\n\n /**\n * If true, it will use 80vh as the height and center its content.\n */\n center?: boolean\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type GlobalErrorAllProps = GlobalErrorProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps &\n GetTranslationProps\n\nexport type GlobalErrorTranslationContent = {\n /**\n * Defining a `title` will overwrite the default provided by `status_content`.\n */\n title?: React.ReactNode\n\n /**\n * Defining a `text` will overwrite the default provided by `status_content`.\n */\n text?: React.ReactNode\n}\nexport type GlobalErrorTranslation = {\n 404?: GlobalErrorTranslationContent\n 500?: GlobalErrorTranslationContent\n}\n\nconst defaultProps = {\n status: '404',\n}\n\nexport default function GlobalError(localProps: GlobalErrorAllProps) {\n // Every component should have a context\n const context = React.useContext(Context)\n\n const translation = context.getTranslation(localProps)\n .GlobalError as GlobalErrorTranslation\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.GlobalError,\n translation,\n translation[localProps.status || defaultProps.status],\n { skeleton: context?.skeleton }\n )\n\n const {\n status,\n skeleton,\n center,\n className,\n\n title,\n help,\n code,\n links,\n text,\n\n ...attributes\n } = allProps\n\n const textParams: React.HTMLAttributes<HTMLElement> = {}\n if (typeof text === 'string') {\n textParams.dangerouslySetInnerHTML = { __html: text }\n } else {\n textParams.children = text\n }\n\n const spacingClasses = createSpacingClasses(attributes)\n\n const params = {\n className: classnames(\n 'dnb-global-error',\n `dnb-global-error--${status}`,\n center && 'dnb-global-error--center',\n createSpacingClasses(attributes),\n className,\n spacingClasses\n ),\n ...attributes,\n } as Record<string, unknown>\n\n const additionalContent = processChildren(allProps)\n\n return (\n <Skeleton {...params} show={skeleton} element=\"section\">\n <div className=\"dnb-global-error__inner\">\n <div className=\"dnb-global-error__inner__content\">\n <H1 size=\"x-large\" top bottom>\n {title}\n </H1>\n <P bottom {...textParams} />\n {code && (\n <P bottom className=\"dnb-global-error__status\">\n {code} <Code>{status}</Code>\n </P>\n )}\n {help && links?.length && (\n <P top=\"medium\" bottom>\n {help}\n </P>\n )}\n {help && links?.length && (\n <P bottom=\"large\" className=\"dnb-global-error__links\">\n {links.map(({ text, url }) => {\n return (\n <Anchor key={text} href={url}>\n {text}\n </Anchor>\n )\n })}\n </P>\n )}\n </div>\n {additionalContent}\n </div>\n </Skeleton>\n )\n}\n\nGlobalError._supportsSpacingProps = true\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GlobalError.js","names":["React","classnames","Context","processChildren","extendPropsWithContext","createSpacingClasses","Anchor","Skeleton","H1","P","Code","defaultProps","status","GlobalError","localProps","context","useContext","translation","getTranslation","allProps","skeleton","center","className","title","help","code","links","text","attributes","_objectWithoutProperties","_excluded","textParams","dangerouslySetInnerHTML","__html","children","spacingClasses","params","_objectSpread","additionalContent","createElement","_extends","show","element","size","top","bottom","length","map","url","key","href","_supportsSpacingProps"],"sources":["../../../../src/components/global-error/GlobalError.tsx"],"sourcesContent":["/**\n * Web GlobalError Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context, { GetTranslationProps } from '../../shared/Context'\nimport {\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Anchor from '../anchor/Anchor'\nimport Skeleton, { SkeletonShow } from '../skeleton/Skeleton'\nimport { H1, P, Code } from '../../elements'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type GlobalErrorLink = {\n text: string\n url: string\n}\n\nexport type GlobalErrorProps = {\n /**\n * When `404` or `500` is given, a predefined text will be shown.\n * Defaults to `400`.\n */\n status?: '404' | '500' | string\n\n /**\n * Will overwrite the default title.\n */\n title?: React.ReactNode\n\n /**\n * Will overwrite the default text.\n */\n text?: React.ReactNode\n\n /**\n * Will overwrite the default error message code.\n */\n code?: React.ReactNode\n\n /**\n * Will overwrite the default additional help text.\n */\n help?: React.ReactNode\n\n /**\n * Provide an array with objects `{ text: 'Text', url: 'https://...' }` to display a list of anchor links.\n */\n links?: Array<GlobalErrorLink>\n\n /**\n * If true, it will use 80vh as the height and center its content.\n */\n center?: boolean\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type GlobalErrorAllProps = GlobalErrorProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps &\n GetTranslationProps\n\nexport type GlobalErrorTranslationContent = {\n /**\n * Defining a `title` will overwrite the default provided by `status_content`.\n */\n title?: React.ReactNode\n\n /**\n * Defining a `text` will overwrite the default provided by `status_content`.\n */\n text?: React.ReactNode\n}\nexport type GlobalErrorTranslation = {\n 404?: GlobalErrorTranslationContent\n 500?: GlobalErrorTranslationContent\n}\n\nconst defaultProps = {\n status: '404',\n}\n\nexport default function GlobalError(localProps: GlobalErrorAllProps) {\n // Every component should have a context\n const context = React.useContext(Context)\n\n const translation = context.getTranslation(localProps)\n .GlobalError as GlobalErrorTranslation\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.GlobalError,\n translation,\n translation[localProps.status || defaultProps.status],\n { skeleton: context?.skeleton }\n )\n\n const {\n status,\n skeleton,\n center,\n className,\n\n title,\n help,\n code,\n links,\n text,\n\n ...attributes\n } = allProps\n\n const textParams: React.HTMLAttributes<HTMLElement> = {}\n if (typeof text === 'string') {\n textParams.dangerouslySetInnerHTML = { __html: text }\n } else {\n textParams.children = text\n }\n\n const spacingClasses = createSpacingClasses(attributes)\n\n const params = {\n className: classnames(\n 'dnb-global-error',\n `dnb-global-error--${status}`,\n center && 'dnb-global-error--center',\n createSpacingClasses(attributes),\n className,\n spacingClasses\n ),\n ...attributes,\n } as Record<string, unknown>\n\n const additionalContent = processChildren(allProps)\n\n return (\n <Skeleton {...params} show={skeleton} element=\"section\">\n <div className=\"dnb-global-error__inner\">\n <div className=\"dnb-global-error__inner__content\">\n <H1 size=\"x-large\" top bottom>\n {title}\n </H1>\n <P bottom {...textParams} />\n {code && (\n <P bottom className=\"dnb-global-error__status\">\n {code} <Code>{status}</Code>\n </P>\n )}\n {help && links?.length && (\n <P top=\"medium\" bottom>\n {help}\n </P>\n )}\n {help && links?.length && (\n <P bottom=\"large\" className=\"dnb-global-error__links\">\n {links.map(({ text, url }) => {\n return (\n <Anchor key={text} href={url}>\n {text}\n </Anchor>\n )\n })}\n </P>\n )}\n </div>\n {additionalContent}\n </div>\n </Skeleton>\n )\n}\n\nGlobalError._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","context","_globalStatus$items","Boolean","length","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","variant","role","type","undefined","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","_supportsSpacingProps"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" variant={state}>\n <div\n className=\"dnb-global-status__title\"\n role={titleToRender?.type ? undefined : 'paragraph'}\n lang={lang}\n >\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </div>\n {hasContent && (\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n\nGlobalStatus._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","context","_globalStatus$items","Boolean","length","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","variant","role","type","undefined","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","_supportsSpacingProps"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" variant={state}>\n <div\n className=\"dnb-global-status__title\"\n role={titleToRender?.type ? undefined : 'paragraph'}\n lang={lang}\n >\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </div>\n {hasContent && (\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n\nGlobalStatus._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import * as _default from './';
|
|
1
|
+
import * as _default from './export';
|
|
2
2
|
export { _default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.js","names":["_default","default"],"sources":["../../../../src/components/grid/Grid.ts"],"sourcesContent":["// For TypeScript compatibility we import and export it this way\nimport * as _default from './'\nexport { _default as default }\n"],"mappings":"AACA,OAAO,KAAKA,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"Grid.js","names":["_default","default"],"sources":["../../../../src/components/grid/Grid.ts"],"sourcesContent":["// For TypeScript compatibility we import and export it this way\nimport * as _default from './export'\nexport { _default as default }\n"],"mappings":"AACA,OAAO,KAAKA,QAAQ,MAAM,UAAU;AACpC,SAASA,QAAQ,IAAIC,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","names":["default","Container","Item"],"sources":["../../../../src/components/grid/export.ts"],"sourcesContent":["export { default as Container } from './Container'\nexport { default as Item } from './Item'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,IAAI,QAAQ,QAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
import * as _default from './export';
|
|
2
|
+
export { _default as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
import * as _default from './export';
|
|
2
|
+
export { _default as default };
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_default","default"],"sources":["../../../../src/components/grid/index.ts"],"sourcesContent":["// For TypeScript compatibility we import and export it this way\nimport * as _default from './export'\nexport { _default as default }\n"],"mappings":"AACA,OAAO,KAAKA,QAAQ,MAAM,UAAU;AACpC,SAASA,QAAQ,IAAIC,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","getHeadingSize","getHeadingElement","initCounter","useTheme","Context","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","theme","attributes","name","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter","_isHeadingElement","_supportsSpacingProps"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n getHeadingSize,\n getHeadingElement,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { useTheme, Context } from '../../shared'\nimport type { DynamicElement } from '../../shared/types'\n\nexport type HeadingLevelSizeResolutions = {\n 1: HeadingSize\n 3: HeadingSize\n 2: HeadingSize\n 4: HeadingSize\n 5: HeadingSize\n 6: HeadingSize\n}\n\nexport type HeadingSize =\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n const theme = useTheme()\n\n let { size, element, skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element == null) {\n element = getHeadingElement(level)\n if (size == null) {\n size = getHeadingSize(theme?.name)[level]\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element as\n | string\n | React.FunctionComponent<React.HTMLProps<HTMLElement>> // typecasting to avoid typescript parser error ts(2590)\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\nHeading._isHeadingElement = true\nHeading._supportsSpacingProps = true\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","getHeadingSize","getHeadingElement","initCounter","useTheme","Context","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","theme","attributes","name","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter","_isHeadingElement","_supportsSpacingProps"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n getHeadingSize,\n getHeadingElement,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { useTheme, Context } from '../../shared'\nimport type { DynamicElement } from '../../shared/types'\n\nexport type HeadingLevelSizeResolutions = {\n 1: HeadingSize\n 3: HeadingSize\n 2: HeadingSize\n 4: HeadingSize\n 5: HeadingSize\n 6: HeadingSize\n}\n\nexport type HeadingSize =\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n const theme = useTheme()\n\n let { size, element, skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element == null) {\n element = getHeadingElement(level)\n if (size == null) {\n size = getHeadingSize(theme?.name)[level]\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element as\n | string\n | React.FunctionComponent<React.HTMLProps<HTMLElement>> // typecasting to avoid typescript parser error ts(2590)\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\nHeading._isHeadingElement = true\nHeading._supportsSpacingProps = true\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpButton.js","names":["React","Context","Dialog","HelpButtonInstance","extendPropsWithContext","defaultProps","variant","icon_position","HelpButton","localProps","context","useContext","props","children","render","params","_objectWithoutProperties","_excluded","icon","title","getTranslation","createElement","triggerAttributes","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButton.tsx"],"sourcesContent":["/**\n * Web HelpButton Component\n *\n */\n\nimport React from 'react'\nimport Context from '../../shared/Context'\nimport Dialog from '../dialog/Dialog'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport type { ButtonProps } from '../button/Button'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nconst defaultProps = {\n variant: 'secondary',\n icon_position: 'left',\n}\n\nexport type HelpButtonProps = {\n render?: (\n children: React.ReactNode,\n props: ButtonProps\n ) => React.ReactElement\n} & ButtonProps\n\nexport default function HelpButton(localProps: HelpButtonProps) {\n const context = React.useContext(Context)\n const props = extendPropsWithContext(localProps, defaultProps)\n\n const { children, render, ...params } = props\n\n if (params.icon === null) {\n params.icon = 'question'\n }\n\n if (children) {\n if (!params.title) {\n params.title = context.getTranslation(props).HelpButton.title\n }\n\n if (typeof render === 'function') {\n return render(children, params)\n }\n\n return <Dialog triggerAttributes={params}>{children}</Dialog>\n }\n\n return <HelpButtonInstance {...params} />\n}\n\nHelpButton._supportsSpacingProps = true\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"HelpButton.js","names":["React","Context","Dialog","HelpButtonInstance","extendPropsWithContext","defaultProps","variant","icon_position","HelpButton","localProps","context","useContext","props","children","render","params","_objectWithoutProperties","_excluded","icon","title","getTranslation","createElement","triggerAttributes","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButton.tsx"],"sourcesContent":["/**\n * Web HelpButton Component\n *\n */\n\nimport React from 'react'\nimport Context from '../../shared/Context'\nimport Dialog from '../dialog/Dialog'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport type { ButtonProps } from '../button/Button'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nconst defaultProps = {\n variant: 'secondary',\n icon_position: 'left',\n}\n\nexport type HelpButtonProps = {\n render?: (\n children: React.ReactNode,\n props: ButtonProps\n ) => React.ReactElement\n} & ButtonProps\n\nexport default function HelpButton(localProps: HelpButtonProps) {\n const context = React.useContext(Context)\n const props = extendPropsWithContext(localProps, defaultProps)\n\n const { children, render, ...params } = props\n\n if (params.icon === null) {\n params.icon = 'question'\n }\n\n if (children) {\n if (!params.title) {\n params.title = context.getTranslation(props).HelpButton.title\n }\n\n if (typeof render === 'function') {\n return render(children, params)\n }\n\n return <Dialog triggerAttributes={params}>{children}</Dialog>\n }\n\n return <HelpButtonInstance {...params} />\n}\n\nHelpButton._supportsSpacingProps = true\n"],"mappings":";;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,kBAAkB;AACrC,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,SAASC,sBAAsB,QAAQ,+BAA+B;AAEtE,MAAMC,YAAY,GAAG;EACnBC,OAAO,EAAE,WAAW;EACpBC,aAAa,EAAE;AACjB,CAAC;AASD,eAAe,SAASC,UAAUA,CAACC,UAA2B,EAAE;EAC9D,MAAMC,OAAO,GAAGV,KAAK,CAACW,UAAU,CAACV,OAAO,CAAC;EACzC,MAAMW,KAAK,GAAGR,sBAAsB,CAACK,UAAU,EAAEJ,YAAY,CAAC;EAE9D,MAAM;MAAEQ,QAAQ;MAAEC;IAAkB,CAAC,GAAGF,KAAK;IAAhBG,MAAM,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA;EAE7C,IAAIF,MAAM,CAACG,IAAI,KAAK,IAAI,EAAE;IACxBH,MAAM,CAACG,IAAI,GAAG,UAAU;EAC1B;EAEA,IAAIL,QAAQ,EAAE;IACZ,IAAI,CAACE,MAAM,CAACI,KAAK,EAAE;MACjBJ,MAAM,CAACI,KAAK,GAAGT,OAAO,CAACU,cAAc,CAACR,KAAK,CAAC,CAACJ,UAAU,CAACW,KAAK;IAC/D;IAEA,IAAI,OAAOL,MAAM,KAAK,UAAU,EAAE;MAChC,OAAOA,MAAM,CAACD,QAAQ,EAAEE,MAAM,CAAC;IACjC;IAEA,OAAOf,KAAA,CAAAqB,aAAA,CAACnB,MAAM;MAACoB,iBAAiB,EAAEP;IAAO,GAAEF,QAAiB,CAAC;EAC/D;EAEA,OAAOb,KAAA,CAAAqB,aAAA,CAAClB,kBAAkB,EAAKY,MAAS,CAAC;AAC3C;AAEAP,UAAU,CAACe,qBAAqB,GAAG,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpButtonInstance.js","names":["React","classnames","convertJsxToString","extendPropsWithContext","Context","createSpacingClasses","Button","defaultProps","variant","icon_position","HelpButtonInstance","localProps","context","useContext","props","HelpButton","size","icon","on_click","className","class","_className","rest","_objectWithoutProperties","_excluded","params","_objectSpread","isPotentialHelpButton","text","isHelpButton","includes","String","getTranslation","aria_role","ariaLabel","title","children","icon_size","tooltip","createElement","_extends"],"sources":["../../../../src/components/help-button/HelpButtonInstance.tsx"],"sourcesContent":["/**\n * Web HelpButton Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Button, { ButtonProps } from '../button/Button'\n\nconst defaultProps = {\n variant: 'secondary',\n icon_position: 'left',\n}\n\nexport default function HelpButtonInstance(localProps: ButtonProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.HelpButton\n )\n\n const {\n size,\n icon,\n on_click,\n className,\n class: _className,\n ...rest\n } = props\n\n const params = {\n className: classnames(\n 'dnb-help-button',\n createSpacingClasses(props),\n className,\n _className\n ),\n size,\n icon,\n ...rest,\n }\n\n const isPotentialHelpButton =\n !params.text || params.variant === 'tertiary'\n\n if (isPotentialHelpButton && !params.icon && params.icon !== false) {\n params.icon = 'question'\n }\n\n const isHelpButton =\n isPotentialHelpButton &&\n ['question', 'information'].includes(String(params.icon))\n\n if (isHelpButton) {\n if (!params['aria-roledescription']) {\n params['aria-roledescription'] =\n context.getTranslation(props).HelpButton.aria_role\n }\n }\n\n if (!params.text && !params['aria-label']) {\n let ariaLabel = convertJsxToString(props.title || props.children)\n if (!ariaLabel) {\n ariaLabel = context.getTranslation(props).HelpButton.title\n }\n params['aria-label'] = ariaLabel\n }\n\n if (icon === 'information' && !size) {\n params.icon_size = 'medium'\n }\n if (params.title && !params.tooltip && params.tooltip !== false) {\n params.tooltip = params.title\n }\n if (params.tooltip) {\n params.title = null\n }\n\n return <Button on_click={on_click} {...params} />\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"HelpButtonInstance.js","names":["React","classnames","convertJsxToString","extendPropsWithContext","Context","createSpacingClasses","Button","defaultProps","variant","icon_position","HelpButtonInstance","localProps","context","useContext","props","HelpButton","size","icon","on_click","className","class","_className","rest","_objectWithoutProperties","_excluded","params","_objectSpread","isPotentialHelpButton","text","isHelpButton","includes","String","getTranslation","aria_role","ariaLabel","title","children","icon_size","tooltip","createElement","_extends"],"sources":["../../../../src/components/help-button/HelpButtonInstance.tsx"],"sourcesContent":["/**\n * Web HelpButton Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Button, { ButtonProps } from '../button/Button'\n\nconst defaultProps = {\n variant: 'secondary',\n icon_position: 'left',\n}\n\nexport default function HelpButtonInstance(localProps: ButtonProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.HelpButton\n )\n\n const {\n size,\n icon,\n on_click,\n className,\n class: _className,\n ...rest\n } = props\n\n const params = {\n className: classnames(\n 'dnb-help-button',\n createSpacingClasses(props),\n className,\n _className\n ),\n size,\n icon,\n ...rest,\n }\n\n const isPotentialHelpButton =\n !params.text || params.variant === 'tertiary'\n\n if (isPotentialHelpButton && !params.icon && params.icon !== false) {\n params.icon = 'question'\n }\n\n const isHelpButton =\n isPotentialHelpButton &&\n ['question', 'information'].includes(String(params.icon))\n\n if (isHelpButton) {\n if (!params['aria-roledescription']) {\n params['aria-roledescription'] =\n context.getTranslation(props).HelpButton.aria_role\n }\n }\n\n if (!params.text && !params['aria-label']) {\n let ariaLabel = convertJsxToString(props.title || props.children)\n if (!ariaLabel) {\n ariaLabel = context.getTranslation(props).HelpButton.title\n }\n params['aria-label'] = ariaLabel\n }\n\n if (icon === 'information' && !size) {\n params.icon_size = 'medium'\n }\n if (params.title && !params.tooltip && params.tooltip !== false) {\n params.tooltip = params.title\n }\n if (params.tooltip) {\n params.title = null\n }\n\n return <Button on_click={on_click} {...params} />\n}\n"],"mappings":";;;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,kBAAkB,EAClBC,sBAAsB,QACjB,+BAA+B;AACtC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,OAAOC,MAAM,MAAuB,kBAAkB;AAEtD,MAAMC,YAAY,GAAG;EACnBC,OAAO,EAAE,WAAW;EACpBC,aAAa,EAAE;AACjB,CAAC;AAED,eAAe,SAASC,kBAAkBA,CAACC,UAAuB,EAAE;EAClE,MAAMC,OAAO,GAAGZ,KAAK,CAACa,UAAU,CAACT,OAAO,CAAC;EAGzC,MAAMU,KAAK,GAAGX,sBAAsB,CAClCQ,UAAU,EACVJ,YAAY,EACZK,OAAO,CAACG,UACV,CAAC;EAED,MAAM;MACJC,IAAI;MACJC,IAAI;MACJC,QAAQ;MACRC,SAAS;MACTC,KAAK,EAAEC;IAET,CAAC,GAAGP,KAAK;IADJQ,IAAI,GAAAC,wBAAA,CACLT,KAAK,EAAAU,SAAA;EAET,MAAMC,MAAM,GAAAC,aAAA;IACVP,SAAS,EAAElB,UAAU,CACnB,iBAAiB,EACjBI,oBAAoB,CAACS,KAAK,CAAC,EAC3BK,SAAS,EACTE,UACF,CAAC;IACDL,IAAI;IACJC;EAAI,GACDK,IAAI,CACR;EAED,MAAMK,qBAAqB,GACzB,CAACF,MAAM,CAACG,IAAI,IAAIH,MAAM,CAACjB,OAAO,KAAK,UAAU;EAE/C,IAAImB,qBAAqB,IAAI,CAACF,MAAM,CAACR,IAAI,IAAIQ,MAAM,CAACR,IAAI,KAAK,KAAK,EAAE;IAClEQ,MAAM,CAACR,IAAI,GAAG,UAAU;EAC1B;EAEA,MAAMY,YAAY,GAChBF,qBAAqB,IACrB,CAAC,UAAU,EAAE,aAAa,CAAC,CAACG,QAAQ,CAACC,MAAM,CAACN,MAAM,CAACR,IAAI,CAAC,CAAC;EAE3D,IAAIY,YAAY,EAAE;IAChB,IAAI,CAACJ,MAAM,CAAC,sBAAsB,CAAC,EAAE;MACnCA,MAAM,CAAC,sBAAsB,CAAC,GAC5Bb,OAAO,CAACoB,cAAc,CAAClB,KAAK,CAAC,CAACC,UAAU,CAACkB,SAAS;IACtD;EACF;EAEA,IAAI,CAACR,MAAM,CAACG,IAAI,IAAI,CAACH,MAAM,CAAC,YAAY,CAAC,EAAE;IACzC,IAAIS,SAAS,GAAGhC,kBAAkB,CAACY,KAAK,CAACqB,KAAK,IAAIrB,KAAK,CAACsB,QAAQ,CAAC;IACjE,IAAI,CAACF,SAAS,EAAE;MACdA,SAAS,GAAGtB,OAAO,CAACoB,cAAc,CAAClB,KAAK,CAAC,CAACC,UAAU,CAACoB,KAAK;IAC5D;IACAV,MAAM,CAAC,YAAY,CAAC,GAAGS,SAAS;EAClC;EAEA,IAAIjB,IAAI,KAAK,aAAa,IAAI,CAACD,IAAI,EAAE;IACnCS,MAAM,CAACY,SAAS,GAAG,QAAQ;EAC7B;EACA,IAAIZ,MAAM,CAACU,KAAK,IAAI,CAACV,MAAM,CAACa,OAAO,IAAIb,MAAM,CAACa,OAAO,KAAK,KAAK,EAAE;IAC/Db,MAAM,CAACa,OAAO,GAAGb,MAAM,CAACU,KAAK;EAC/B;EACA,IAAIV,MAAM,CAACa,OAAO,EAAE;IAClBb,MAAM,CAACU,KAAK,GAAG,IAAI;EACrB;EAEA,OAAOnC,KAAA,CAAAuC,aAAA,CAACjC,MAAM,EAAAkC,QAAA;IAACtB,QAAQ,EAAEA;EAAS,GAAKO,MAAM,CAAG,CAAC;AACnD"}
|