@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":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_listenForPropChanges","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","inner_ref","createRef","_id","id","componentDidMount","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","align","textarea_class","readOnly","textarea_attributes","class","_className","className","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.string,\n align: PropTypes.oneOf(['left', 'right']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n class: PropTypes.string,\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n align: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n textarea_class: null,\n class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n state._listenForPropChanges &&\n value !== 'initval' &&\n value !== state.value\n ) {\n if (\n value !== state.value &&\n value !== state._value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._listenForPropChanges = true\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n // make sure we don't trigger getDerivedStateFromProps on startup\n this.state._listenForPropChanges = true\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n this.state._value = props.value\n }\n componentDidMount() {\n if (isTrue(this.props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n if (isTrue(this.props.autoresize)) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value, _listenForPropChanges: false })\n if (isTrue(this.props.autoresize)) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const maxRows = parseFloat(this.props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n align,\n textarea_class,\n readOnly,\n textarea_attributes,\n class: _className,\n className,\n\n autoresize,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(this.props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(this.props.rows),\n // '--textarea-cols': parseFloat(this.props.cols)\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {placeholder && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_listenForPropChanges","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","inner_ref","createRef","_id","id","componentDidMount","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","align","textarea_class","readOnly","textarea_attributes","class","_className","className","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.string,\n align: PropTypes.oneOf(['left', 'right']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n class: PropTypes.string,\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n align: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n textarea_class: null,\n class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n state._listenForPropChanges &&\n value !== 'initval' &&\n value !== state.value\n ) {\n if (\n value !== state.value &&\n value !== state._value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._listenForPropChanges = true\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n // make sure we don't trigger getDerivedStateFromProps on startup\n this.state._listenForPropChanges = true\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n this.state._value = props.value\n }\n componentDidMount() {\n if (isTrue(this.props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n if (isTrue(this.props.autoresize)) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value, _listenForPropChanges: false })\n if (isTrue(this.props.autoresize)) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const maxRows = parseFloat(this.props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n align,\n textarea_class,\n readOnly,\n textarea_attributes,\n class: _className,\n className,\n\n autoresize,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(this.props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(this.props.rows),\n // '--textarea-cols': parseFloat(this.props.cols)\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {placeholder && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nTextarea._formElement = true\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.js","names":["React","classnames","createSpacingClasses","Context","TimelineItem","validateDOMAttributes","extendPropsWithContext","defaultProps","className","skeleton","data","children","Timeline","localProps","context","useContext","allProps","childrenProp","props","_objectWithoutProperties","_excluded","spacingClasses","Array","isArray","map","child","i","cloneElement","key","createElement","_extends","timelineItem","Item","_supportsSpacingProps"],"sources":["../../../../src/components/timeline/Timeline.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport TimelineItem, { TimelineItemProps } from './TimelineItem'\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\nexport type TimelineProps = {\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your events as objects of timelineitem, to render them as timelineitems.\n * Default: null\n */\n data?: TimelineItemProps[]\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<TimelineItemProps>[]\n | React.ReactElement<TimelineItemProps>\n}\n\nexport type TimelineAllProps = TimelineProps &\n Omit<React.AllHTMLAttributes<HTMLOListElement>, 'type' | 'data'> &\n SpacingProps\n\nexport const defaultProps = {\n className: null,\n skeleton: false,\n data: null,\n children: null,\n}\n\nconst Timeline = (localProps: TimelineAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.Timeline,\n {\n skeleton: context?.skeleton,\n }\n )\n const {\n className,\n skeleton,\n data,\n children: childrenProp,\n ...props\n } = allProps\n\n const spacingClasses = createSpacingClasses(props)\n\n let children = childrenProp\n\n if (Array.isArray(childrenProp)) {\n children = childrenProp.map((child, i) => {\n return React.cloneElement(child, {\n skeleton: skeleton,\n key: i,\n })\n })\n }\n\n validateDOMAttributes(allProps, props)\n\n return (\n <ol\n className={classnames(\n 'dnb-timeline',\n 'dnb-space__reset',\n spacingClasses,\n className\n )}\n {...props}\n >\n {data?.map((timelineItem, i) => (\n <TimelineItem key={i} skeleton={skeleton} {...timelineItem} />\n ))}\n\n {children}\n </ol>\n )\n}\n\nTimeline.Item = TimelineItem\n\nexport { TimelineItem }\n\nTimeline._supportsSpacingProps = true\n\nexport default Timeline\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Timeline.js","names":["React","classnames","createSpacingClasses","Context","TimelineItem","validateDOMAttributes","extendPropsWithContext","defaultProps","className","skeleton","data","children","Timeline","localProps","context","useContext","allProps","childrenProp","props","_objectWithoutProperties","_excluded","spacingClasses","Array","isArray","map","child","i","cloneElement","key","createElement","_extends","timelineItem","Item","_supportsSpacingProps"],"sources":["../../../../src/components/timeline/Timeline.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport TimelineItem, { TimelineItemProps } from './TimelineItem'\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\nexport type TimelineProps = {\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your events as objects of timelineitem, to render them as timelineitems.\n * Default: null\n */\n data?: TimelineItemProps[]\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<TimelineItemProps>[]\n | React.ReactElement<TimelineItemProps>\n}\n\nexport type TimelineAllProps = TimelineProps &\n Omit<React.AllHTMLAttributes<HTMLOListElement>, 'type' | 'data'> &\n SpacingProps\n\nexport const defaultProps = {\n className: null,\n skeleton: false,\n data: null,\n children: null,\n}\n\nconst Timeline = (localProps: TimelineAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.Timeline,\n {\n skeleton: context?.skeleton,\n }\n )\n const {\n className,\n skeleton,\n data,\n children: childrenProp,\n ...props\n } = allProps\n\n const spacingClasses = createSpacingClasses(props)\n\n let children = childrenProp\n\n if (Array.isArray(childrenProp)) {\n children = childrenProp.map((child, i) => {\n return React.cloneElement(child, {\n skeleton: skeleton,\n key: i,\n })\n })\n }\n\n validateDOMAttributes(allProps, props)\n\n return (\n <ol\n className={classnames(\n 'dnb-timeline',\n 'dnb-space__reset',\n spacingClasses,\n className\n )}\n {...props}\n >\n {data?.map((timelineItem, i) => (\n <TimelineItem key={i} skeleton={skeleton} {...timelineItem} />\n ))}\n\n {children}\n </ol>\n )\n}\n\nTimeline.Item = TimelineItem\n\nexport { TimelineItem }\n\nTimeline._supportsSpacingProps = true\n\nexport default Timeline\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAGnC,SAASC,oBAAoB,QAAQ,wBAAwB;AAG7D,OAAOC,OAAO,MAAM,sBAAsB;AAK1C,OAAOC,YAAY,MAA6B,gBAAgB;AAChE,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,+BAA+B;AA4BtC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,QAAQ,GAAIC,UAA4B,IAAK;EAEjD,MAAMC,OAAO,GAAGd,KAAK,CAACe,UAAU,CAACZ,OAAO,CAAC;EAGzC,MAAMa,QAAQ,GAAGV,sBAAsB,CACrCO,UAAU,EACVN,YAAY,EACZO,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,QAAQ,EACjB;IACEH,QAAQ,EAAEK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEL;EACrB,CACF,CAAC;EACD,MAAM;MACJD,SAAS;MACTC,QAAQ;MACRC,IAAI;MACJC,QAAQ,EAAEM;IAEZ,CAAC,GAAGD,QAAQ;IADPE,KAAK,GAAAC,wBAAA,CACNH,QAAQ,EAAAI,SAAA;EAEZ,MAAMC,cAAc,GAAGnB,oBAAoB,CAACgB,KAAK,CAAC;EAElD,IAAIP,QAAQ,GAAGM,YAAY;EAE3B,IAAIK,KAAK,CAACC,OAAO,CAACN,YAAY,CAAC,EAAE;IAC/BN,QAAQ,GAAGM,YAAY,CAACO,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;MACxC,OAAO1B,KAAK,CAAC2B,YAAY,CAACF,KAAK,EAAE;QAC/BhB,QAAQ,EAAEA,QAAQ;QAClBmB,GAAG,EAAEF;MACP,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEArB,qBAAqB,CAACW,QAAQ,EAAEE,KAAK,CAAC;EAEtC,OACElB,KAAA,CAAA6B,aAAA,OAAAC,QAAA;IACEtB,SAAS,EAAEP,UAAU,kCAGnBoB,cAAc,EACdb,SACF;EAAE,GACEU,KAAK,GAERR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEc,GAAG,CAAC,CAACO,YAAY,EAAEL,CAAC,KACzB1B,KAAA,CAAA6B,aAAA,CAACzB,YAAY,EAAA0B,QAAA;IAACF,GAAG,EAAEF,CAAE;IAACjB,QAAQ,EAAEA;EAAS,GAAKsB,YAAY,CAAG,CAC9D,CAAC,EAEDpB,QACC,CAAC;AAET,CAAC;AAEDC,QAAQ,CAACoB,IAAI,GAAG5B,YAAY;AAE5B,SAASA,YAAY;AAErBQ,QAAQ,CAACqB,qBAAqB,GAAG,IAAI;AAErC,eAAerB,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineItem.js","names":["React","classnames","FormStatus","IconPrimary","createSkeletonClass","checkIcon","calendarIcon","pinIcon","Context","extendPropsWithContext","defaultProps","icon","iconAlt","title","subtitle","infoMessage","state","skeleton","TimelineItem","localProps","context","useContext","allProps","props","_objectWithoutProperties","_excluded","skeletonClasses","classes","createElement","_extends","className","undefined","TimelineItemLabel","translations","translation","TimelineItemContent","_ref","iconProps","_excluded2","TimelineItemIcon","TimelineItemTitle","_ref2","alt_label_completed","alt_label_current","alt_label_upcoming","icons","completed","current","upcoming","labels","currentIcon","currentAltLabel","_span","key","alt","size","_ref3","_ref4","_TimelineItemSubtitle","renderSubtitles","Array","isArray","map","i","TimelineItemSubtitle","text","stretch","_ref5"],"sources":["../../../../src/components/timeline/TimelineItem.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\n\n// Icons\nimport checkIcon from '../../icons/check'\nimport calendarIcon from '../../icons/calendar'\nimport pinIcon from '../../icons/pin'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nexport type TimeLineItemStates = 'completed' | 'current' | 'upcoming'\n\nexport type TimelineItemProps = {\n /**\n * Icon displaying on the left side.\n * Default: `check` for state `completed`, `pin` for state `current`, and `calendar` for state `upcoming` .\n */\n icon?: IconIcon\n\n /**\n * Text displaying the title of the item's corresponding page.\n * Default: translations based on the icon.\n */\n iconAlt?: string\n\n /**\n * Text displaying the title of the timeline item.\n */\n title: React.ReactNode\n\n /**\n * Text displaying the subtitle of the timeline item.\n */\n subtitle?: React.ReactNode | React.ReactNode[]\n\n /**\n * Text displaying info message of the timeline item.\n */\n infoMessage?: React.ReactNode\n\n /**\n * The component state. State 'completed', 'current' or 'upcoming'.\n * Default: null\n */\n state: TimeLineItemStates\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type TimelineItemAllProps = TimelineItemProps &\n Omit<React.AllHTMLAttributes<HTMLLIElement>, 'title' | 'name'>\n\nconst defaultProps = {\n icon: null,\n iconAlt: null,\n title: null,\n subtitle: null,\n infoMessage: null,\n state: null,\n skeleton: false,\n}\n\nconst TimelineItem = (localProps: TimelineItemAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.TimelineItem,\n { skeleton: context?.skeleton }\n )\n\n const {\n icon,\n iconAlt,\n title,\n subtitle,\n infoMessage,\n state,\n skeleton,\n ...props\n } = allProps\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const classes = classnames(\n 'dnb-timeline__item',\n skeletonClasses,\n `dnb-timeline__item--${state}`\n )\n\n return (\n <li\n className={classes}\n aria-current={state === 'current' ? 'step' : undefined}\n {...props}\n >\n <TimelineItemLabel\n state={state}\n title={title}\n icon={icon}\n iconAlt={iconAlt}\n skeleton={skeleton}\n translations={\n context.translation.TimelineItem as TimeLineIconAltTranslations\n }\n />\n <TimelineItemContent subtitle={subtitle} infoMessage={infoMessage} />\n </li>\n )\n}\n\n// Label\n\ntype TimelineItemLabelProps = TimeLineIconProps & TimelineItemTitleProps\n\nconst TimelineItemLabel = ({\n title,\n ...iconProps\n}: TimelineItemLabelProps) => {\n return (\n <span className=\"dnb-timeline__item__label\">\n <TimelineItemIcon {...iconProps} />\n <TimelineItemTitle title={title} />\n </span>\n )\n}\n\ntype TimeLineIconProps = Pick<\n TimelineItemProps,\n 'icon' | 'iconAlt' | 'state' | 'skeleton'\n> & { translations: TimeLineIconAltTranslations }\n\ntype TimeLineIconAltTranslations = {\n alt_label_completed: string\n alt_label_current: string\n alt_label_upcoming: string\n}\n\nconst TimelineItemIcon = ({\n icon,\n state,\n iconAlt,\n skeleton,\n translations,\n}: TimeLineIconProps) => {\n const { alt_label_completed, alt_label_current, alt_label_upcoming } =\n translations\n\n const icons: Record<TimeLineItemStates, IconIcon> = {\n completed: checkIcon,\n current: pinIcon,\n upcoming: calendarIcon,\n }\n\n const labels: Record<TimeLineItemStates, string> = {\n completed: alt_label_completed,\n current: alt_label_current,\n upcoming: alt_label_upcoming,\n }\n\n const currentIcon = icon || icons[state]\n const currentAltLabel = iconAlt || labels[state]\n\n return (\n <span className=\"dnb-timeline__item__label__icon\">\n <span key=\"icon-alignment\" aria-hidden>\n ‌\n </span>\n {!skeleton && currentIcon && (\n <IconPrimary\n icon={currentIcon}\n alt={currentAltLabel}\n size={state === 'current' ? undefined : 'small'}\n />\n )}\n </span>\n )\n}\n\ntype TimelineItemTitleProps = Pick<TimelineItemProps, 'title'>\n\nconst TimelineItemTitle = ({ title }: TimelineItemTitleProps) => {\n return <span className=\"dnb-timeline__item__label__title\">{title}</span>\n}\n\n// Content\n\ntype TimeLineItemContentProps = Pick<\n TimelineItemProps,\n 'subtitle' | 'infoMessage'\n>\n\nconst TimelineItemContent = ({\n subtitle,\n infoMessage,\n}: TimeLineItemContentProps) => {\n const renderSubtitles = () => {\n if (!subtitle) {\n return null\n }\n\n if (Array.isArray(subtitle)) {\n return subtitle.map((subtitle, i) => (\n <TimelineItemSubtitle key={i} subtitle={subtitle} />\n ))\n }\n return <TimelineItemSubtitle subtitle={subtitle} />\n }\n\n return (\n <div className=\"dnb-timeline__item__content\">\n {renderSubtitles()}\n {infoMessage && (\n <FormStatus\n text={infoMessage}\n state=\"info\"\n className=\"dnb-timeline__item__content__info\"\n stretch\n />\n )}\n </div>\n )\n}\n\ntype TimelineItemSubtitleProps = {\n subtitle: React.ReactNode\n}\n\nconst TimelineItemSubtitle = ({ subtitle }: TimelineItemSubtitleProps) => (\n <div className=\"dnb-timeline__item__content__subtitle\">{subtitle}</div>\n)\n\nexport default TimelineItem\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimelineItem.js","names":["React","classnames","FormStatus","IconPrimary","createSkeletonClass","checkIcon","calendarIcon","pinIcon","Context","extendPropsWithContext","defaultProps","icon","iconAlt","title","subtitle","infoMessage","state","skeleton","TimelineItem","localProps","context","useContext","allProps","props","_objectWithoutProperties","_excluded","skeletonClasses","classes","createElement","_extends","className","undefined","TimelineItemLabel","translations","translation","TimelineItemContent","_ref","iconProps","_excluded2","TimelineItemIcon","TimelineItemTitle","_ref2","alt_label_completed","alt_label_current","alt_label_upcoming","icons","completed","current","upcoming","labels","currentIcon","currentAltLabel","_span","key","alt","size","_ref3","_ref4","_TimelineItemSubtitle","renderSubtitles","Array","isArray","map","i","TimelineItemSubtitle","text","stretch","_ref5"],"sources":["../../../../src/components/timeline/TimelineItem.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\n\n// Icons\nimport checkIcon from '../../icons/check'\nimport calendarIcon from '../../icons/calendar'\nimport pinIcon from '../../icons/pin'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nexport type TimeLineItemStates = 'completed' | 'current' | 'upcoming'\n\nexport type TimelineItemProps = {\n /**\n * Icon displaying on the left side.\n * Default: `check` for state `completed`, `pin` for state `current`, and `calendar` for state `upcoming` .\n */\n icon?: IconIcon\n\n /**\n * Text displaying the title of the item's corresponding page.\n * Default: translations based on the icon.\n */\n iconAlt?: string\n\n /**\n * Text displaying the title of the timeline item.\n */\n title: React.ReactNode\n\n /**\n * Text displaying the subtitle of the timeline item.\n */\n subtitle?: React.ReactNode | React.ReactNode[]\n\n /**\n * Text displaying info message of the timeline item.\n */\n infoMessage?: React.ReactNode\n\n /**\n * The component state. State 'completed', 'current' or 'upcoming'.\n * Default: null\n */\n state: TimeLineItemStates\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type TimelineItemAllProps = TimelineItemProps &\n Omit<React.AllHTMLAttributes<HTMLLIElement>, 'title' | 'name'>\n\nconst defaultProps = {\n icon: null,\n iconAlt: null,\n title: null,\n subtitle: null,\n infoMessage: null,\n state: null,\n skeleton: false,\n}\n\nconst TimelineItem = (localProps: TimelineItemAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.TimelineItem,\n { skeleton: context?.skeleton }\n )\n\n const {\n icon,\n iconAlt,\n title,\n subtitle,\n infoMessage,\n state,\n skeleton,\n ...props\n } = allProps\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const classes = classnames(\n 'dnb-timeline__item',\n skeletonClasses,\n `dnb-timeline__item--${state}`\n )\n\n return (\n <li\n className={classes}\n aria-current={state === 'current' ? 'step' : undefined}\n {...props}\n >\n <TimelineItemLabel\n state={state}\n title={title}\n icon={icon}\n iconAlt={iconAlt}\n skeleton={skeleton}\n translations={\n context.translation.TimelineItem as TimeLineIconAltTranslations\n }\n />\n <TimelineItemContent subtitle={subtitle} infoMessage={infoMessage} />\n </li>\n )\n}\n\n// Label\n\ntype TimelineItemLabelProps = TimeLineIconProps & TimelineItemTitleProps\n\nconst TimelineItemLabel = ({\n title,\n ...iconProps\n}: TimelineItemLabelProps) => {\n return (\n <span className=\"dnb-timeline__item__label\">\n <TimelineItemIcon {...iconProps} />\n <TimelineItemTitle title={title} />\n </span>\n )\n}\n\ntype TimeLineIconProps = Pick<\n TimelineItemProps,\n 'icon' | 'iconAlt' | 'state' | 'skeleton'\n> & { translations: TimeLineIconAltTranslations }\n\ntype TimeLineIconAltTranslations = {\n alt_label_completed: string\n alt_label_current: string\n alt_label_upcoming: string\n}\n\nconst TimelineItemIcon = ({\n icon,\n state,\n iconAlt,\n skeleton,\n translations,\n}: TimeLineIconProps) => {\n const { alt_label_completed, alt_label_current, alt_label_upcoming } =\n translations\n\n const icons: Record<TimeLineItemStates, IconIcon> = {\n completed: checkIcon,\n current: pinIcon,\n upcoming: calendarIcon,\n }\n\n const labels: Record<TimeLineItemStates, string> = {\n completed: alt_label_completed,\n current: alt_label_current,\n upcoming: alt_label_upcoming,\n }\n\n const currentIcon = icon || icons[state]\n const currentAltLabel = iconAlt || labels[state]\n\n return (\n <span className=\"dnb-timeline__item__label__icon\">\n <span key=\"icon-alignment\" aria-hidden>\n ‌\n </span>\n {!skeleton && currentIcon && (\n <IconPrimary\n icon={currentIcon}\n alt={currentAltLabel}\n size={state === 'current' ? undefined : 'small'}\n />\n )}\n </span>\n )\n}\n\ntype TimelineItemTitleProps = Pick<TimelineItemProps, 'title'>\n\nconst TimelineItemTitle = ({ title }: TimelineItemTitleProps) => {\n return <span className=\"dnb-timeline__item__label__title\">{title}</span>\n}\n\n// Content\n\ntype TimeLineItemContentProps = Pick<\n TimelineItemProps,\n 'subtitle' | 'infoMessage'\n>\n\nconst TimelineItemContent = ({\n subtitle,\n infoMessage,\n}: TimeLineItemContentProps) => {\n const renderSubtitles = () => {\n if (!subtitle) {\n return null\n }\n\n if (Array.isArray(subtitle)) {\n return subtitle.map((subtitle, i) => (\n <TimelineItemSubtitle key={i} subtitle={subtitle} />\n ))\n }\n return <TimelineItemSubtitle subtitle={subtitle} />\n }\n\n return (\n <div className=\"dnb-timeline__item__content\">\n {renderSubtitles()}\n {infoMessage && (\n <FormStatus\n text={infoMessage}\n state=\"info\"\n className=\"dnb-timeline__item__content__info\"\n stretch\n />\n )}\n </div>\n )\n}\n\ntype TimelineItemSubtitleProps = {\n subtitle: React.ReactNode\n}\n\nconst TimelineItemSubtitle = ({ subtitle }: TimelineItemSubtitleProps) => (\n <div className=\"dnb-timeline__item__content__subtitle\">{subtitle}</div>\n)\n\nexport default TimelineItem\n"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
@@ -352,5 +354,6 @@ process.env.NODE_ENV !== "production" ? ToggleButton.propTypes = _objectSpread(_
|
|
|
352
354
|
on_change: PropTypes.func,
|
|
353
355
|
on_state_update: PropTypes.func
|
|
354
356
|
}) : void 0;
|
|
357
|
+
ToggleButton._formElement = true;
|
|
355
358
|
ToggleButton._supportsSpacingProps = true;
|
|
356
359
|
//# sourceMappingURL=ToggleButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","_ref","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","focus","e","_ref2","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","_ref","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","focus","e","_ref2","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
@@ -144,13 +146,12 @@ export default class ToggleButtonGroup extends React.PureComponent {
|
|
|
144
146
|
className: classes
|
|
145
147
|
}, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement("fieldset", null, React.createElement(Flex.Container, {
|
|
146
148
|
align: "baseline",
|
|
147
|
-
direction: vertical ? 'vertical' : 'horizontal',
|
|
149
|
+
direction: vertical || label_direction === 'vertical' ? 'vertical' : 'horizontal',
|
|
148
150
|
spacing: vertical ? 'x-small' : undefined
|
|
149
151
|
}, React.createElement(FormLabel, {
|
|
150
152
|
element: "legend",
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
label_sr_only: label_sr_only
|
|
153
|
+
id: id + '-label',
|
|
154
|
+
srOnly: label_sr_only
|
|
154
155
|
}, label), React.createElement("span", _extends({
|
|
155
156
|
id: id,
|
|
156
157
|
className: "dnb-toggle-button-group__shell",
|
|
@@ -235,5 +236,6 @@ process.env.NODE_ENV !== "production" ? ToggleButtonGroup.propTypes = _objectSpr
|
|
|
235
236
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
|
|
236
237
|
on_change: PropTypes.func
|
|
237
238
|
}) : void 0;
|
|
239
|
+
ToggleButtonGroup._formElement = true;
|
|
238
240
|
ToggleButtonGroup._supportsSpacingProps = true;
|
|
239
241
|
//# sourceMappingURL=ToggleButtonGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormLabel","FormStatus","Flex","Context","Suffix","ToggleButtonGroupContext","pickFormElementProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","_ref","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","getTranslation","ToggleButton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","createElement","Provider","_AlignmentHelper","Container","align","direction","spacing","undefined","element","label_id","_extends","role","show","text_id","text","no_animation","title","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\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_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\n _className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <fieldset>\n <Flex.Container\n align=\"baseline\"\n direction={vertical ? 'vertical' : 'horizontal'}\n spacing={vertical ? 'x-small' : undefined}\n >\n <FormLabel\n element=\"legend\"\n label_id={id + '-label'}\n label_direction={label_direction}\n label_sr_only={label_sr_only}\n >\n {label}\n </FormLabel>\n\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </Flex.Container>\n </fieldset>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n\nToggleButtonGroup._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormLabel","FormStatus","Flex","Context","Suffix","ToggleButtonGroupContext","pickFormElementProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","_ref","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","getTranslation","ToggleButton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","createElement","Provider","_AlignmentHelper","Container","align","direction","spacing","undefined","element","srOnly","_extends","role","show","text_id","text","no_animation","title","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\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_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\n _className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <fieldset>\n <Flex.Container\n align=\"baseline\"\n direction={\n vertical || label_direction === 'vertical'\n ? 'vertical'\n : 'horizontal'\n }\n spacing={vertical ? 'x-small' : undefined}\n >\n <FormLabel\n element=\"legend\"\n id={id + '-label'}\n srOnly={label_sr_only}\n >\n {label}\n </FormLabel>\n\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </Flex.Container>\n </fieldset>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n\nToggleButtonGroup._formElement = true\nToggleButtonGroup._supportsSpacingProps = true\n"],"mappings":"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"}
|