@dnb/eufemia 10.18.0 → 10.20.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 +67 -0
- package/cjs/components/AriaLive.d.ts +12 -0
- package/cjs/components/AriaLive.js +24 -0
- package/cjs/components/AriaLive.js.map +1 -0
- package/cjs/components/accordion/AccordionContent.d.ts +1 -1
- package/cjs/components/accordion/AccordionContent.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +0 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
- package/cjs/components/aria-live/AriaLive.d.ts +6 -0
- package/cjs/components/aria-live/AriaLive.js +23 -0
- package/cjs/components/aria-live/AriaLive.js.map +1 -0
- package/cjs/components/aria-live/index.d.ts +7 -0
- package/cjs/components/aria-live/index.js +24 -0
- package/cjs/components/aria-live/index.js.map +1 -0
- package/cjs/components/aria-live/types.d.ts +44 -0
- package/cjs/components/aria-live/types.js +1 -0
- package/cjs/components/aria-live/types.js.map +1 -0
- package/cjs/components/aria-live/useAriaLive.d.ts +273 -0
- package/cjs/components/aria-live/useAriaLive.js +84 -0
- package/cjs/components/aria-live/useAriaLive.js.map +1 -0
- package/cjs/components/autocomplete/Autocomplete.d.ts +0 -1
- package/cjs/components/autocomplete/Autocomplete.js +24 -46
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/breadcrumb/Breadcrumb.js +24 -21
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +16 -7
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbMultiple.js +1 -1
- package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
- package/cjs/components/card/Card.d.ts +6 -4
- package/cjs/components/card/Card.js +11 -15
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +29 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +41 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
- package/cjs/components/date-picker/DatePicker.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerProvider.js +9 -5
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/flex/Container.d.ts +4 -2
- package/cjs/components/flex/Container.js +28 -9
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Item.js +8 -13
- package/cjs/components/flex/Item.js.map +1 -1
- package/cjs/components/flex/style/dnb-flex.css +6 -3
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/flex/style/flex-container.scss +6 -7
- package/cjs/components/flex/utils.d.ts +35 -7
- package/cjs/components/flex/utils.js +65 -33
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +5 -1
- package/cjs/components/form-status/FormStatus.js +38 -44
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/dnb-form-status.css +0 -18
- package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
- package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
- package/cjs/components/global-status/GlobalStatus.js +52 -138
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.css +6 -16
- package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
- package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
- package/cjs/components/height-animation/HeightAnimation.js +31 -14
- package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
- package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
- package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
- package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/cjs/components/height-animation/useHeightAnimation.js +125 -92
- package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +7 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/input/Input.js +0 -3
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
- package/cjs/components/input-masked/MultiInputMask.js +52 -41
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/lib.d.ts +3 -1
- package/cjs/components/lib.js +8 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +7 -12
- package/cjs/components/number-format/NumberUtils.d.ts +8 -2
- package/cjs/components/number-format/useNumberFormat.d.ts +1 -1
- package/cjs/components/section/Section.d.ts +6 -3
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +1 -0
- package/cjs/components/section/style/dnb-section.min.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +1 -0
- package/cjs/components/space/SpacingUtils.js +5 -1
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
- package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
- package/cjs/components/table/TableAccordion.js +1 -1
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableAccordionContent.js +51 -23
- package/cjs/components/table/TableAccordionContent.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +6 -3
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/table-accordion.scss +6 -3
- package/cjs/components/tabs/Tabs.js +2 -1
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
- package/cjs/components/tabs/TabsContentWrapper.js +8 -6
- package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
- package/cjs/components/textarea/Textarea.d.ts +5 -0
- package/cjs/components/textarea/Textarea.js +16 -3
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +10 -3
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +13 -3
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
- package/cjs/components/upload/Upload.js +15 -18
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadFileInput.js +3 -1
- package/cjs/components/upload/UploadFileInput.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +1 -1
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/components/upload/UploadStatus.js +6 -2
- package/cjs/components/upload/UploadStatus.js.map +1 -1
- package/cjs/components/upload/useUpload.js +5 -6
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/elements/lib.d.ts +6 -0
- package/cjs/elements/typography/H1.d.ts +1 -0
- package/cjs/elements/typography/H1.js +1 -1
- package/cjs/elements/typography/H1.js.map +1 -1
- package/cjs/elements/typography/H2.d.ts +1 -0
- package/cjs/elements/typography/H2.js +1 -1
- package/cjs/elements/typography/H2.js.map +1 -1
- package/cjs/elements/typography/H3.d.ts +1 -0
- package/cjs/elements/typography/H3.js +1 -1
- package/cjs/elements/typography/H3.js.map +1 -1
- package/cjs/elements/typography/H4.d.ts +1 -0
- package/cjs/elements/typography/H4.js +1 -1
- package/cjs/elements/typography/H4.js.map +1 -1
- package/cjs/elements/typography/H5.d.ts +1 -0
- package/cjs/elements/typography/H5.js +1 -1
- package/cjs/elements/typography/H5.js.map +1 -1
- package/cjs/elements/typography/H6.d.ts +1 -0
- package/cjs/elements/typography/H6.js +1 -1
- package/cjs/elements/typography/H6.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
- package/cjs/extensions/forms/DataContext/Context.js +9 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +128 -48
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +5 -4
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/Currency.d.ts +2 -2
- package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +8 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.d.ts +2 -2
- package/cjs/extensions/forms/Field/Email/Email.js +5 -4
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +18 -16
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -4
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
- package/cjs/extensions/forms/Field/Number/Number.js +28 -27
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -6
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +5 -4
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -7
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +12 -7
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +4 -2
- package/cjs/extensions/forms/Field/String/String.js +17 -9
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +20 -13
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +11 -8
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
- package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
- package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
- package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
- package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
- package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
- package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
- package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
- package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +4 -1
- package/cjs/extensions/forms/Form/index.js +22 -1
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
- package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Value/Currency/Currency.d.ts +2 -2
- package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
- package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +2 -2
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Email/Email.d.ts +2 -2
- package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
- package/cjs/extensions/forms/Value/Number/Number.js +25 -27
- package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
- package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +1 -0
- package/cjs/extensions/forms/hooks/index.js +7 -0
- package/cjs/extensions/forms/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +10 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +87 -28
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
- package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
- package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
- package/cjs/extensions/forms/index.d.ts +1 -0
- package/cjs/extensions/forms/index.js +9 -1
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +37 -11
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +26 -9
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
- package/cjs/extensions/forms/utils/ajv.js +29 -13
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/index.d.ts +0 -1
- package/cjs/extensions/forms/utils/index.js +0 -12
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/fragments/TextCounter.d.ts +12 -0
- package/cjs/fragments/TextCounter.js +24 -0
- package/cjs/fragments/TextCounter.js.map +1 -0
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -0
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/index.d.ts +2 -1
- package/cjs/fragments/index.js +7 -0
- package/cjs/fragments/index.js.map +1 -1
- package/cjs/fragments/lib.d.ts +3 -1
- package/cjs/fragments/lib.js +9 -1
- package/cjs/fragments/lib.js.map +1 -1
- package/cjs/fragments/text-counter/TextCounter.d.ts +8 -0
- package/cjs/fragments/text-counter/TextCounter.js +61 -0
- package/cjs/fragments/text-counter/TextCounter.js.map +1 -0
- package/cjs/fragments/text-counter/index.d.ts +5 -0
- package/cjs/fragments/text-counter/index.js +17 -0
- package/cjs/fragments/text-counter/index.js.map +1 -0
- package/cjs/fragments/text-counter/style/dnb-text-counter.scss +15 -0
- package/cjs/fragments/text-counter/style/index.d.ts +1 -0
- package/cjs/fragments/text-counter/style/index.js +4 -0
- package/cjs/fragments/text-counter/style/index.js.map +1 -0
- package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
- package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
- package/cjs/fragments/text-counter/style/themes/ui.d.ts +1 -0
- package/cjs/fragments/text-counter/style/themes/ui.js +4 -0
- package/cjs/fragments/text-counter/style/themes/ui.js.map +1 -0
- package/cjs/fragments/text-counter/style.d.ts +5 -0
- package/cjs/fragments/text-counter/style.js +4 -0
- package/cjs/fragments/text-counter/style.js.map +1 -0
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +7 -0
- package/cjs/index.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/component-helper.js +0 -3
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/useSharedState.d.ts +33 -10
- package/cjs/shared/helpers/useSharedState.js +78 -40
- package/cjs/shared/helpers/useSharedState.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +7 -0
- package/cjs/shared/locales/en-GB.js +9 -2
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +7 -0
- package/cjs/shared/locales/index.d.ts +14 -0
- package/cjs/shared/locales/nb-NO.d.ts +7 -0
- package/cjs/shared/locales/nb-NO.js +7 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/utilities.scss +1 -1
- package/cjs/style/dnb-ui-components.css +134 -67
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-extensions.css +37 -11
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +37 -11
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +10 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +203 -102
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -11
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -11
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/components/AriaLive.d.ts +12 -0
- package/components/AriaLive.js +4 -0
- package/components/AriaLive.js.map +1 -0
- package/components/accordion/AccordionContent.d.ts +1 -1
- package/components/accordion/AccordionContent.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +0 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/dnb-accordion.scss +0 -5
- package/components/aria-live/AriaLive.d.ts +6 -0
- package/components/aria-live/AriaLive.js +15 -0
- package/components/aria-live/AriaLive.js.map +1 -0
- package/components/aria-live/index.d.ts +7 -0
- package/components/aria-live/index.js +4 -0
- package/components/aria-live/index.js.map +1 -0
- package/components/aria-live/types.d.ts +44 -0
- package/components/aria-live/types.js +1 -0
- package/components/aria-live/types.js.map +1 -0
- package/components/aria-live/useAriaLive.d.ts +273 -0
- package/components/aria-live/useAriaLive.js +75 -0
- package/components/aria-live/useAriaLive.js.map +1 -0
- package/components/autocomplete/Autocomplete.d.ts +0 -1
- package/components/autocomplete/Autocomplete.js +24 -46
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/breadcrumb/Breadcrumb.js +25 -22
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +16 -7
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/BreadcrumbMultiple.js +1 -1
- package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
- package/components/card/Card.d.ts +6 -4
- package/components/card/Card.js +11 -15
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +29 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +41 -0
- package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
- package/components/date-picker/DatePicker.d.ts +3 -0
- package/components/date-picker/DatePickerProvider.js +9 -5
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/flex/Container.d.ts +4 -2
- package/components/flex/Container.js +26 -9
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Item.js +8 -11
- package/components/flex/Item.js.map +1 -1
- package/components/flex/style/dnb-flex.css +6 -3
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/flex/style/flex-container.scss +6 -7
- package/components/flex/utils.d.ts +35 -7
- package/components/flex/utils.js +56 -24
- package/components/flex/utils.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +5 -1
- package/components/form-status/FormStatus.js +38 -44
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/dnb-form-status.css +0 -18
- package/components/form-status/style/dnb-form-status.min.css +1 -1
- package/components/form-status/style/dnb-form-status.scss +0 -45
- package/components/global-status/GlobalStatus.js +53 -139
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.css +6 -16
- package/components/global-status/style/dnb-global-status.min.css +1 -1
- package/components/global-status/style/dnb-global-status.scss +11 -23
- package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
- package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
- package/components/height-animation/HeightAnimation.d.ts +12 -4
- package/components/height-animation/HeightAnimation.js +27 -14
- package/components/height-animation/HeightAnimation.js.map +1 -1
- package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
- package/components/height-animation/HeightAnimationInstance.js +186 -158
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/height-animation/style/dnb-height-animation.css +16 -2
- package/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/components/height-animation/style/dnb-height-animation.scss +18 -2
- package/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/components/height-animation/useHeightAnimation.js +124 -92
- package/components/height-animation/useHeightAnimation.js.map +1 -1
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/index.js.map +1 -1
- package/components/input/Input.js +0 -3
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +1 -1
- package/components/input-masked/MultiInputMask.js +52 -41
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/lib.d.ts +3 -1
- package/components/lib.js +3 -1
- package/components/lib.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +7 -12
- package/components/number-format/NumberUtils.d.ts +8 -2
- package/components/number-format/useNumberFormat.d.ts +1 -1
- package/components/section/Section.d.ts +6 -3
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +1 -0
- package/components/section/style/dnb-section.min.css +1 -1
- package/components/section/style/dnb-section.scss +1 -0
- package/components/space/SpacingUtils.js +5 -1
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.js +4 -22
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/step-indicator/style/dnb-step-indicator.css +0 -5
- package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
- package/components/table/TableAccordion.js +1 -1
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableAccordionContent.js +48 -23
- package/components/table/TableAccordionContent.js.map +1 -1
- package/components/table/style/dnb-table.css +6 -3
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/table-accordion.scss +6 -3
- package/components/tabs/Tabs.js +2 -1
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsContentWrapper.d.ts +1 -0
- package/components/tabs/TabsContentWrapper.js +8 -6
- package/components/tabs/TabsContentWrapper.js.map +1 -1
- package/components/textarea/Textarea.d.ts +5 -0
- package/components/textarea/Textarea.js +16 -3
- package/components/textarea/Textarea.js.map +1 -1
- package/components/textarea/style/dnb-textarea.css +10 -3
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +13 -3
- package/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
- package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
- package/components/upload/Upload.js +13 -18
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadFileInput.js +3 -1
- package/components/upload/UploadFileInput.js.map +1 -1
- package/components/upload/UploadFileList.js +1 -1
- package/components/upload/UploadFileList.js.map +1 -1
- package/components/upload/UploadStatus.js +6 -2
- package/components/upload/UploadStatus.js.map +1 -1
- package/components/upload/useUpload.js +5 -7
- package/components/upload/useUpload.js.map +1 -1
- package/elements/lib.d.ts +6 -0
- package/elements/typography/H1.d.ts +1 -0
- package/elements/typography/H1.js +1 -1
- package/elements/typography/H1.js.map +1 -1
- package/elements/typography/H2.d.ts +1 -0
- package/elements/typography/H2.js +1 -1
- package/elements/typography/H2.js.map +1 -1
- package/elements/typography/H3.d.ts +1 -0
- package/elements/typography/H3.js +1 -1
- package/elements/typography/H3.js.map +1 -1
- package/elements/typography/H4.d.ts +1 -0
- package/elements/typography/H4.js +1 -1
- package/elements/typography/H4.js.map +1 -1
- package/elements/typography/H5.d.ts +1 -0
- package/elements/typography/H5.js +1 -1
- package/elements/typography/H5.js.map +1 -1
- package/elements/typography/H6.d.ts +1 -0
- package/elements/typography/H6.js +1 -1
- package/elements/typography/H6.js.map +1 -1
- package/es/components/AriaLive.d.ts +12 -0
- package/es/components/AriaLive.js +4 -0
- package/es/components/AriaLive.js.map +1 -0
- package/es/components/accordion/AccordionContent.d.ts +1 -1
- package/es/components/accordion/AccordionContent.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +0 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.scss +0 -5
- package/es/components/aria-live/AriaLive.d.ts +6 -0
- package/es/components/aria-live/AriaLive.js +15 -0
- package/es/components/aria-live/AriaLive.js.map +1 -0
- package/es/components/aria-live/index.d.ts +7 -0
- package/es/components/aria-live/index.js +4 -0
- package/es/components/aria-live/index.js.map +1 -0
- package/es/components/aria-live/types.d.ts +44 -0
- package/es/components/aria-live/types.js +1 -0
- package/es/components/aria-live/types.js.map +1 -0
- package/es/components/aria-live/useAriaLive.d.ts +273 -0
- package/es/components/aria-live/useAriaLive.js +75 -0
- package/es/components/aria-live/useAriaLive.js.map +1 -0
- package/es/components/autocomplete/Autocomplete.d.ts +0 -1
- package/es/components/autocomplete/Autocomplete.js +24 -46
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/breadcrumb/Breadcrumb.js +25 -22
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +16 -7
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbMultiple.js +1 -1
- package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
- package/es/components/card/Card.d.ts +6 -4
- package/es/components/card/Card.js +11 -15
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +29 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +41 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
- package/es/components/date-picker/DatePicker.d.ts +3 -0
- package/es/components/date-picker/DatePickerProvider.js +9 -5
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/flex/Container.d.ts +4 -2
- package/es/components/flex/Container.js +26 -9
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Item.js +8 -11
- package/es/components/flex/Item.js.map +1 -1
- package/es/components/flex/style/dnb-flex.css +6 -3
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/flex/style/flex-container.scss +6 -7
- package/es/components/flex/utils.d.ts +35 -7
- package/es/components/flex/utils.js +55 -24
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +5 -1
- package/es/components/form-status/FormStatus.js +38 -44
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/dnb-form-status.css +0 -18
- package/es/components/form-status/style/dnb-form-status.min.css +1 -1
- package/es/components/form-status/style/dnb-form-status.scss +0 -45
- package/es/components/global-status/GlobalStatus.js +51 -133
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.css +6 -16
- package/es/components/global-status/style/dnb-global-status.min.css +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +11 -23
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
- package/es/components/height-animation/HeightAnimation.d.ts +12 -4
- package/es/components/height-animation/HeightAnimation.js +27 -14
- package/es/components/height-animation/HeightAnimation.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
- package/es/components/height-animation/HeightAnimationInstance.js +188 -155
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/height-animation/style/dnb-height-animation.css +16 -2
- package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
- package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/es/components/height-animation/useHeightAnimation.js +124 -92
- package/es/components/height-animation/useHeightAnimation.js.map +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/index.js.map +1 -1
- package/es/components/input/Input.js +0 -3
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +1 -1
- package/es/components/input-masked/MultiInputMask.js +50 -39
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/lib.d.ts +3 -1
- package/es/components/lib.js +3 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +7 -12
- package/es/components/number-format/NumberUtils.d.ts +8 -2
- package/es/components/number-format/useNumberFormat.d.ts +1 -1
- package/es/components/section/Section.d.ts +6 -3
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +1 -0
- package/es/components/section/style/dnb-section.min.css +1 -1
- package/es/components/section/style/dnb-section.scss +1 -0
- package/es/components/space/SpacingUtils.js +5 -1
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.js +4 -22
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
- package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
- package/es/components/table/TableAccordion.js +1 -1
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableAccordionContent.js +47 -23
- package/es/components/table/TableAccordionContent.js.map +1 -1
- package/es/components/table/style/dnb-table.css +6 -3
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/table-accordion.scss +6 -3
- package/es/components/tabs/Tabs.js +2 -1
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
- package/es/components/tabs/TabsContentWrapper.js +8 -6
- package/es/components/tabs/TabsContentWrapper.js.map +1 -1
- package/es/components/textarea/Textarea.d.ts +5 -0
- package/es/components/textarea/Textarea.js +16 -3
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/textarea/style/dnb-textarea.css +10 -3
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +13 -3
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
- package/es/components/upload/Upload.js +13 -18
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadFileInput.js +3 -1
- package/es/components/upload/UploadFileInput.js.map +1 -1
- package/es/components/upload/UploadFileList.js +1 -1
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/components/upload/UploadStatus.js +6 -2
- package/es/components/upload/UploadStatus.js.map +1 -1
- package/es/components/upload/useUpload.js +5 -7
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/elements/lib.d.ts +6 -0
- package/es/elements/typography/H1.d.ts +1 -0
- package/es/elements/typography/H1.js +1 -1
- package/es/elements/typography/H1.js.map +1 -1
- package/es/elements/typography/H2.d.ts +1 -0
- package/es/elements/typography/H2.js +1 -1
- package/es/elements/typography/H2.js.map +1 -1
- package/es/elements/typography/H3.d.ts +1 -0
- package/es/elements/typography/H3.js +1 -1
- package/es/elements/typography/H3.js.map +1 -1
- package/es/elements/typography/H4.d.ts +1 -0
- package/es/elements/typography/H4.js +1 -1
- package/es/elements/typography/H4.js.map +1 -1
- package/es/elements/typography/H5.d.ts +1 -0
- package/es/elements/typography/H5.js +1 -1
- package/es/elements/typography/H5.js.map +1 -1
- package/es/elements/typography/H6.d.ts +1 -0
- package/es/elements/typography/H6.js +1 -1
- package/es/elements/typography/H6.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +18 -5
- package/es/extensions/forms/DataContext/Context.js +9 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
- package/es/extensions/forms/DataContext/Provider/Provider.js +127 -49
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -5
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Currency/Currency.d.ts +2 -2
- package/es/extensions/forms/Field/Currency/Currency.js +2 -2
- package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +8 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.d.ts +2 -2
- package/es/extensions/forms/Field/Email/Email.js +7 -6
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +19 -17
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
- package/es/extensions/forms/Field/Number/Number.js +28 -27
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -6
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -5
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +17 -9
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +15 -10
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +4 -2
- package/es/extensions/forms/Field/String/String.js +17 -9
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +20 -13
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +11 -8
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +7 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
- package/es/extensions/forms/Form/data-context/getData.js +15 -0
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
- package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
- package/es/extensions/forms/Form/data-context/setData.js +6 -0
- package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
- package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
- package/es/extensions/forms/Form/data-context/useData.js +58 -0
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
- package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
- package/es/extensions/forms/Form/data-context/useError.js +13 -0
- package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +4 -1
- package/es/extensions/forms/Form/index.js +4 -1
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
- package/es/extensions/forms/Iterate/Array/Array.js +3 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
- package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
- package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
- package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Value/Currency/Currency.d.ts +2 -2
- package/es/extensions/forms/Value/Currency/Currency.js +4 -5
- package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +2 -2
- package/es/extensions/forms/Value/Date/Date.js +2 -2
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Email/Email.d.ts +2 -2
- package/es/extensions/forms/Value/Email/Email.js +2 -2
- package/es/extensions/forms/Value/Email/Email.js.map +1 -1
- package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
- package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
- package/es/extensions/forms/Value/Number/Number.js +22 -27
- package/es/extensions/forms/Value/Number/Number.js.map +1 -1
- package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +8 -6
- package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +1 -0
- package/es/extensions/forms/hooks/index.js +1 -0
- package/es/extensions/forms/hooks/index.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +10 -1
- package/es/extensions/forms/hooks/useDataValue.js +81 -24
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
- package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
- package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
- package/es/extensions/forms/index.d.ts +1 -0
- package/es/extensions/forms/index.js +1 -0
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +37 -11
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +26 -9
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.d.ts +47 -6
- package/es/extensions/forms/utils/ajv.js +23 -15
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/index.d.ts +0 -1
- package/es/extensions/forms/utils/index.js +0 -1
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/fragments/TextCounter.d.ts +12 -0
- package/es/fragments/TextCounter.js +4 -0
- package/es/fragments/TextCounter.js.map +1 -0
- package/es/fragments/drawer-list/DrawerListHelpers.js +1 -0
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/index.d.ts +2 -1
- package/es/fragments/index.js +2 -1
- package/es/fragments/index.js.map +1 -1
- package/es/fragments/lib.d.ts +3 -1
- package/es/fragments/lib.js +4 -2
- package/es/fragments/lib.js.map +1 -1
- package/es/fragments/text-counter/TextCounter.d.ts +8 -0
- package/es/fragments/text-counter/TextCounter.js +52 -0
- package/es/fragments/text-counter/TextCounter.js.map +1 -0
- package/es/fragments/text-counter/index.d.ts +5 -0
- package/es/fragments/text-counter/index.js +1 -0
- package/es/fragments/text-counter/index.js.map +1 -0
- package/es/fragments/text-counter/style/dnb-text-counter.scss +15 -0
- package/es/fragments/text-counter/style/index.d.ts +1 -0
- package/es/fragments/text-counter/style/index.js +1 -0
- package/es/fragments/text-counter/style/index.js.map +1 -0
- package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
- package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
- package/es/fragments/text-counter/style/themes/ui.d.ts +1 -0
- package/es/fragments/text-counter/style/themes/ui.js +1 -0
- package/es/fragments/text-counter/style/themes/ui.js.map +1 -0
- package/es/fragments/text-counter/style.d.ts +5 -0
- package/es/fragments/text-counter/style.js +1 -0
- package/es/fragments/text-counter/style.js.map +1 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/index.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/component-helper.js +0 -3
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/useSharedState.d.ts +33 -10
- package/es/shared/helpers/useSharedState.js +76 -40
- package/es/shared/helpers/useSharedState.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +7 -0
- package/es/shared/locales/en-GB.js +9 -2
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +7 -0
- package/es/shared/locales/index.d.ts +14 -0
- package/es/shared/locales/nb-NO.d.ts +7 -0
- package/es/shared/locales/nb-NO.js +7 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/utilities.scss +1 -1
- package/es/style/dnb-ui-components.css +134 -67
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-extensions.css +37 -11
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +37 -11
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +10 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/dnb-ui-fragments.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +203 -102
- package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -11
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +46 -11
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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/Context.d.ts +18 -5
- package/extensions/forms/DataContext/Context.js +9 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
- package/extensions/forms/DataContext/Provider/Provider.js +129 -49
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -5
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Currency/Currency.d.ts +2 -2
- package/extensions/forms/Field/Currency/Currency.js +2 -2
- package/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +8 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Email/Email.d.ts +2 -2
- package/extensions/forms/Field/Email/Email.js +7 -6
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +19 -17
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +2 -4
- package/extensions/forms/Field/Number/Number.js +28 -27
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +0 -6
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -5
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +17 -9
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +15 -10
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +4 -2
- package/extensions/forms/Field/String/String.js +17 -9
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +20 -13
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +11 -8
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +7 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
- package/extensions/forms/Form/Visibility/Visibility.js +53 -39
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.d.ts +8 -0
- package/extensions/forms/Form/data-context/getData.js +15 -0
- package/extensions/forms/Form/data-context/getData.js.map +1 -0
- package/extensions/forms/Form/data-context/setData.d.ts +2 -0
- package/extensions/forms/Form/data-context/setData.js +6 -0
- package/extensions/forms/Form/data-context/setData.js.map +1 -0
- package/extensions/forms/Form/data-context/useData.d.ts +22 -0
- package/extensions/forms/Form/data-context/useData.js +59 -0
- package/extensions/forms/Form/data-context/useData.js.map +1 -0
- package/extensions/forms/Form/data-context/useError.d.ts +5 -0
- package/extensions/forms/Form/data-context/useError.js +13 -0
- package/extensions/forms/Form/data-context/useError.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +4 -1
- package/extensions/forms/Form/index.js +4 -1
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
- package/extensions/forms/Iterate/Array/Array.js +3 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
- package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
- package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
- package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
- package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Value/Currency/Currency.d.ts +2 -2
- package/extensions/forms/Value/Currency/Currency.js +4 -5
- package/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +2 -2
- package/extensions/forms/Value/Date/Date.js +2 -2
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Email/Email.d.ts +2 -2
- package/extensions/forms/Value/Email/Email.js +2 -2
- package/extensions/forms/Value/Email/Email.js.map +1 -1
- package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
- package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
- package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Value/Number/Number.d.ts +6 -10
- package/extensions/forms/Value/Number/Number.js +22 -27
- package/extensions/forms/Value/Number/Number.js.map +1 -1
- package/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +8 -6
- package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +1 -0
- package/extensions/forms/hooks/index.js +1 -0
- package/extensions/forms/hooks/index.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +10 -1
- package/extensions/forms/hooks/useDataValue.js +85 -26
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
- package/extensions/forms/hooks/useErrorMessage.js +15 -0
- package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
- package/extensions/forms/index.d.ts +1 -0
- package/extensions/forms/index.js +1 -0
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +37 -11
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +26 -9
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.d.ts +47 -6
- package/extensions/forms/utils/ajv.js +23 -15
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/index.d.ts +0 -1
- package/extensions/forms/utils/index.js +0 -1
- package/extensions/forms/utils/index.js.map +1 -1
- package/fragments/TextCounter.d.ts +12 -0
- package/fragments/TextCounter.js +4 -0
- package/fragments/TextCounter.js.map +1 -0
- package/fragments/drawer-list/DrawerListHelpers.js +1 -0
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/index.d.ts +2 -1
- package/fragments/index.js +2 -1
- package/fragments/index.js.map +1 -1
- package/fragments/lib.d.ts +3 -1
- package/fragments/lib.js +4 -2
- package/fragments/lib.js.map +1 -1
- package/fragments/text-counter/TextCounter.d.ts +8 -0
- package/fragments/text-counter/TextCounter.js +52 -0
- package/fragments/text-counter/TextCounter.js.map +1 -0
- package/fragments/text-counter/index.d.ts +5 -0
- package/fragments/text-counter/index.js +1 -0
- package/fragments/text-counter/index.js.map +1 -0
- package/fragments/text-counter/style/dnb-text-counter.scss +15 -0
- package/fragments/text-counter/style/index.d.ts +1 -0
- package/fragments/text-counter/style/index.js +1 -0
- package/fragments/text-counter/style/index.js.map +1 -0
- package/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
- package/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
- package/fragments/text-counter/style/themes/ui.d.ts +1 -0
- package/fragments/text-counter/style/themes/ui.js +1 -0
- package/fragments/text-counter/style/themes/ui.js.map +1 -0
- package/fragments/text-counter/style.d.ts +5 -0
- package/fragments/text-counter/style.js +1 -0
- package/fragments/text-counter/style.js.map +1 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.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/component-helper.js +0 -3
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/useSharedState.d.ts +33 -10
- package/shared/helpers/useSharedState.js +78 -40
- package/shared/helpers/useSharedState.js.map +1 -1
- package/shared/locales/en-GB.d.ts +7 -0
- package/shared/locales/en-GB.js +9 -2
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +7 -0
- package/shared/locales/index.d.ts +14 -0
- package/shared/locales/nb-NO.d.ts +7 -0
- package/shared/locales/nb-NO.js +7 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/utilities.scss +1 -1
- package/style/dnb-ui-components.css +134 -67
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-extensions.css +37 -11
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +37 -11
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-fragments.css +10 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/dnb-ui-fragments.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/style/themes/theme-ui/ui-theme-components.css +203 -102
- package/style/themes/theme-ui/ui-theme-components.min.css +7 -7
- package/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/style/themes/theme-ui/ui-theme-extensions.css +46 -11
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +46 -11
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
- package/cjs/components/global-status/AnimationHelper.js +0 -109
- package/cjs/components/global-status/AnimationHelper.js.map +0 -1
- package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
- package/cjs/extensions/forms/Form/hooks/useData.js +0 -36
- package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
- package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
- package/cjs/extensions/forms/utils/numbers.js +0 -42
- package/cjs/extensions/forms/utils/numbers.js.map +0 -1
- package/components/global-status/AnimationHelper.d.ts +0 -12
- package/components/global-status/AnimationHelper.js +0 -100
- package/components/global-status/AnimationHelper.js.map +0 -1
- package/es/components/global-status/AnimationHelper.d.ts +0 -12
- package/es/components/global-status/AnimationHelper.js +0 -100
- package/es/components/global-status/AnimationHelper.js.map +0 -1
- package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
- package/es/extensions/forms/Form/hooks/useData.js +0 -29
- package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
- package/es/extensions/forms/utils/numbers.d.ts +0 -17
- package/es/extensions/forms/utils/numbers.js +0 -35
- package/es/extensions/forms/utils/numbers.js.map +0 -1
- package/extensions/forms/Form/hooks/useData.d.ts +0 -10
- package/extensions/forms/Form/hooks/useData.js +0 -30
- package/extensions/forms/Form/hooks/useData.js.map +0 -1
- package/extensions/forms/utils/numbers.d.ts +0 -17
- package/extensions/forms/utils/numbers.js +0 -35
- package/extensions/forms/utils/numbers.js.map +0 -1
|
@@ -23,9 +23,7 @@ export type NumberFormatTooltip =
|
|
|
23
23
|
export type NumberFormatChildren =
|
|
24
24
|
| React.ReactNode
|
|
25
25
|
| ((...args: any[]) => any);
|
|
26
|
-
export
|
|
27
|
-
extends React.HTMLProps<HTMLElement>,
|
|
28
|
-
SpacingProps {
|
|
26
|
+
export type NumberFormatProps = {
|
|
29
27
|
id?: string;
|
|
30
28
|
/**
|
|
31
29
|
* <em>(required)</em> a number.
|
|
@@ -137,17 +135,14 @@ export interface NumberFormatProps
|
|
|
137
135
|
* If set to `true`, an overlaying skeleton with animation will be shown.
|
|
138
136
|
*/
|
|
139
137
|
skeleton?: SkeletonShow;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
*/
|
|
145
|
-
children?: NumberFormatChildren;
|
|
146
|
-
}
|
|
138
|
+
};
|
|
139
|
+
export type NumberFormatAllProps = NumberFormatProps &
|
|
140
|
+
Omit<React.HTMLProps<HTMLElement>, 'prefix'> &
|
|
141
|
+
SpacingProps;
|
|
147
142
|
export default class NumberFormat extends React.Component<
|
|
148
|
-
|
|
143
|
+
NumberFormatAllProps,
|
|
149
144
|
any
|
|
150
145
|
> {
|
|
151
|
-
static defaultProps:
|
|
146
|
+
static defaultProps: NumberFormatAllProps;
|
|
152
147
|
render(): JSX.Element;
|
|
153
148
|
}
|
|
@@ -30,6 +30,7 @@ export interface formatReturnValue {
|
|
|
30
30
|
}
|
|
31
31
|
export type formatValue = string | number;
|
|
32
32
|
export type formatReturnType = formatReturnValue | formatValue;
|
|
33
|
+
|
|
33
34
|
export interface formatOptionParams {
|
|
34
35
|
/** can be "auto" */
|
|
35
36
|
locale?: Locale;
|
|
@@ -80,10 +81,15 @@ export interface formatOptionParams {
|
|
|
80
81
|
/** If an object should be returned, including the "aria" property */
|
|
81
82
|
returnAria?: boolean;
|
|
82
83
|
}
|
|
83
|
-
|
|
84
|
+
|
|
85
|
+
export function format(
|
|
86
|
+
value: formatValue,
|
|
87
|
+
options: formatOptionParams & { returnAria: true }
|
|
88
|
+
): formatReturnValue;
|
|
89
|
+
export function format(
|
|
84
90
|
value: formatValue,
|
|
85
91
|
options?: formatOptionParams
|
|
86
|
-
)
|
|
92
|
+
): formatValue;
|
|
87
93
|
|
|
88
94
|
type cleanNumberOptions = {
|
|
89
95
|
decimalSeparator?: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { formatOptionParams, formatValue } from './NumberUtils';
|
|
2
|
-
declare function useNumberFormat(value: formatValue, options?: formatOptionParams):
|
|
2
|
+
declare function useNumberFormat(value: formatValue, options?: formatOptionParams): formatValue;
|
|
3
3
|
export default useNumberFormat;
|
|
@@ -69,13 +69,16 @@ export type SectionProps = {
|
|
|
69
69
|
*/
|
|
70
70
|
innerRef?: React.RefObject<HTMLElement>;
|
|
71
71
|
/**
|
|
72
|
-
* @deprecated in v11 use "innerSpace" prop instead
|
|
72
|
+
* @deprecated in v11 use "innerSpace" prop instead
|
|
73
|
+
*/
|
|
73
74
|
spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>;
|
|
74
75
|
/**
|
|
75
|
-
* @deprecated in v11 use "background" prop instead
|
|
76
|
+
* @deprecated in v11 use "background" prop instead
|
|
77
|
+
*/
|
|
76
78
|
style_type?: SectionStyleTypes | string;
|
|
77
79
|
/**
|
|
78
|
-
* @deprecated in v11 use "innerRef" prop instead
|
|
80
|
+
* @deprecated in v11 use "innerRef" prop instead
|
|
81
|
+
*/
|
|
79
82
|
inner_ref?: React.RefObject<HTMLElement>;
|
|
80
83
|
};
|
|
81
84
|
export type SectionAllProps = SectionProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'ref'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = true,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = true,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.dnb-section{--breakout--on:visible;--breakout--off:hidden;--rounded-corner--value:0.5rem;--outline:0 0 0 var(--outline-width,1px) var(--outline-color,transparent);--outline-none:0 0 0 0 transparent;--top:0;--left:-100vw;--width:100vw;--height:100
|
|
1
|
+
.dnb-section{--breakout--on:visible;--breakout--off:hidden;--rounded-corner--value:0.5rem;--outline:0 0 0 var(--outline-width,1px) var(--outline-color,transparent);--outline-none:0 0 0 0 transparent;--top:0;--left:-100vw;--width:100vw;--height:100%;--color-transparent:transparent;border-radius:var(--rounded-corner,0);color:var(--text-color,#000);display:flow-root;position:relative}.dnb-section[style*="--background-color"]{background-color:var(--background-color,#fff)}.dnb-section:before{border-radius:var(--rounded-corner,0);box-shadow:var(--drop-shadow,var(--outline-none)),var(--outline,var(--outline-none));content:"";inset:0;position:absolute;z-index:-1}.dnb-section:after{--box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor;background-color:currentcolor;box-shadow:var(--box-shadow);color:var(--background-color,currentcolor);content:"";height:var(--height);left:var(--left);position:absolute;top:var(--top);visibility:var(--breakout,hidden);width:var(--width);z-index:-15}.dnb-section:not([style*="--breakout"]){--breakout:var(--breakout--on)}@media screen and (max-width:60em){.dnb-section{--breakout:var(--breakout--small,var(--breakout--fallback));--background-color--value:var(--background-color--small);--text-color--value:var(--text-color--small);--outline-color:var(--outline-color--small);--drop-shadow:var(--drop-shadow--small);--rounded-corner:var(
|
|
2
2
|
--rounded-corner--small,var(--rounded-corner--fallback)
|
|
3
3
|
)}}@media screen and (max-width:59.9375em) and (min-width:40.0625em){.dnb-section{--breakout:var(--breakout--medium,var(--breakout--fallback));--background-color--value:var(--background-color--medium);--text-color--value:var(--text-color--medium);--outline-color:var(--outline-color--medium);--drop-shadow:var(--drop-shadow--medium);--rounded-corner:var(
|
|
4
4
|
--rounded-corner--medium,var(--rounded-corner--fallback)
|
|
@@ -95,7 +95,11 @@ export const createSpacingClasses = (props, Element = null) => {
|
|
|
95
95
|
const p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
|
|
96
96
|
if (typeof p.space !== 'undefined') {
|
|
97
97
|
if (typeof p.space === 'string' || typeof p.space === 'number' || typeof p.space === 'boolean' && p.space) {
|
|
98
|
-
|
|
98
|
+
var _p$left, _p$bottom, _p$right, _p$top;
|
|
99
|
+
p.left = (_p$left = p.left) !== null && _p$left !== void 0 ? _p$left : p.space;
|
|
100
|
+
p.bottom = (_p$bottom = p.bottom) !== null && _p$bottom !== void 0 ? _p$bottom : p.space;
|
|
101
|
+
p.right = (_p$right = p.right) !== null && _p$right !== void 0 ? _p$right : p.space;
|
|
102
|
+
p.top = (_p$top = p.top) !== null && _p$top !== void 0 ? _p$top : p.space;
|
|
99
103
|
}
|
|
100
104
|
if (typeof p.space === 'object') {
|
|
101
105
|
for (const i in p.space) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","innerSpace","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","p","isFrozen","_objectSpread","i","entries","reduce","acc","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","restProps","_objectWithoutProperties","_excluded","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n SpaceTypeMedia,\n SpaceTypeAll,\n SpacingElementProps,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n innerSpace: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS style out from given space types\n *\n * @param props\n * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }\n */\nexport const createSpacingProperties = (\n props: SpacingProps\n): React.CSSProperties => {\n if (props?.innerSpace) {\n return computeProperties(props.innerSpace)\n }\n\n return {}\n}\n\nfunction hasMediaSize(media: SpaceTypeMedia) {\n const keys = Object.keys(media)\n return (\n keys.includes('small') ||\n keys.includes('medium') ||\n keys.includes('large')\n )\n}\n\nfunction hasSize(space: SpacingElementProps) {\n const keys = Object.keys(space)\n return (\n keys.includes('top') ||\n keys.includes('right') ||\n keys.includes('bottom') ||\n keys.includes('left')\n )\n}\n\nfunction computeProperties(space: SpaceTypeAll | SpaceTypeMedia) {\n if (!hasMediaSize(space as SpaceTypeMedia)) {\n space = {\n small: space,\n medium: space,\n large: space,\n } as SpaceTypeMedia\n }\n\n const result = {}\n\n for (const size in space as SpaceTypeMedia) {\n const value = space?.[size] as SpaceType | SpacingElementProps\n const props = transformToAll(value)\n\n for (const key in props as SpaceTypeMedia) {\n if (isValidSpaceProp(key)) {\n const cur = props[key]\n const name = `--space-${key[0]}-${size[0]}`\n\n if (String(cur) === '0' || String(cur) === 'false') {\n result[name] = '0'\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n const sum = sumTypes(typeModifiers)\n result[name] = `${sum}rem`\n }\n }\n }\n }\n\n return result as React.CSSProperties\n}\n\nfunction transformToAll(value: SpaceType | SpacingElementProps) {\n let result = value\n\n if (!hasSize(value as SpacingElementProps)) {\n result = {\n top: value,\n right: value,\n bottom: value,\n left: value,\n } as SpacingElementProps\n }\n\n return result as SpacingElementProps\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction) && direction !== 'innerSpace') {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName &&\n ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(\n propName\n )\n\nexport const removeSpaceProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n const { space, innerSpace, top, bottom, left, right, ...restProps } =\n props\n return restProps\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","innerSpace","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","p","isFrozen","_objectSpread","_p$left","_p$bottom","_p$right","_p$top","i","entries","reduce","acc","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","restProps","_objectWithoutProperties","_excluded","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n SpaceTypeMedia,\n SpaceTypeAll,\n SpacingElementProps,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n innerSpace: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS style out from given space types\n *\n * @param props\n * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }\n */\nexport const createSpacingProperties = (\n props: SpacingProps\n): React.CSSProperties => {\n if (props?.innerSpace) {\n return computeProperties(props.innerSpace)\n }\n\n return {}\n}\n\nfunction hasMediaSize(media: SpaceTypeMedia) {\n const keys = Object.keys(media)\n return (\n keys.includes('small') ||\n keys.includes('medium') ||\n keys.includes('large')\n )\n}\n\nfunction hasSize(space: SpacingElementProps) {\n const keys = Object.keys(space)\n return (\n keys.includes('top') ||\n keys.includes('right') ||\n keys.includes('bottom') ||\n keys.includes('left')\n )\n}\n\nfunction computeProperties(space: SpaceTypeAll | SpaceTypeMedia) {\n if (!hasMediaSize(space as SpaceTypeMedia)) {\n space = {\n small: space,\n medium: space,\n large: space,\n } as SpaceTypeMedia\n }\n\n const result = {}\n\n for (const size in space as SpaceTypeMedia) {\n const value = space?.[size] as SpaceType | SpacingElementProps\n const props = transformToAll(value)\n\n for (const key in props as SpaceTypeMedia) {\n if (isValidSpaceProp(key)) {\n const cur = props[key]\n const name = `--space-${key[0]}-${size[0]}`\n\n if (String(cur) === '0' || String(cur) === 'false') {\n result[name] = '0'\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n const sum = sumTypes(typeModifiers)\n result[name] = `${sum}rem`\n }\n }\n }\n }\n\n return result as React.CSSProperties\n}\n\nfunction transformToAll(value: SpaceType | SpacingElementProps) {\n let result = value\n\n if (!hasSize(value as SpacingElementProps)) {\n result = {\n top: value,\n right: value,\n bottom: value,\n left: value,\n } as SpacingElementProps\n }\n\n return result as SpacingElementProps\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.left = p.left ?? p.space\n p.bottom = p.bottom ?? p.space\n p.right = p.right ?? p.space\n p.top = p.top ?? p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction) && direction !== 'innerSpace') {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName &&\n ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(\n propName\n )\n\nexport const removeSpaceProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n const { space, innerSpace, top, bottom, left, right, ...restProps } =\n props\n return restProps\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
@@ -8,10 +8,10 @@ const _excluded = ["status_state", "inactive", "disabled"],
|
|
|
8
8
|
_excluded3 = ["children", "className", "status", "status_state", "inner_ref"];
|
|
9
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
import React, { useContext, useEffect,
|
|
11
|
+
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
12
12
|
import classnames from 'classnames';
|
|
13
13
|
import { makeUniqueId, dispatchCustomElementEvent } from '../../shared/component-helper';
|
|
14
|
-
import
|
|
14
|
+
import HeightAnimation from '../height-animation/HeightAnimation';
|
|
15
15
|
import Button from '../button/Button';
|
|
16
16
|
import Icon from '../icon/Icon';
|
|
17
17
|
import { WarnIcon, InfoIcon, ErrorIcon } from '../form-status/FormStatus';
|
|
@@ -31,35 +31,17 @@ function StepIndicatorItem(_ref) {
|
|
|
31
31
|
}, restOfProps);
|
|
32
32
|
const context = useContext(StepIndicatorContext);
|
|
33
33
|
const [previousStep, setPreviousStep] = useState(context.activeStep);
|
|
34
|
-
const heightAnim = useRef(new HeightAnimationInstance({
|
|
35
|
-
animate: (context === null || context === void 0 ? void 0 : context.no_animation) !== undefined ? context.no_animation : false
|
|
36
|
-
})).current;
|
|
37
34
|
const ref = useRef(null);
|
|
38
35
|
const thisReference = {
|
|
39
36
|
context,
|
|
40
37
|
props,
|
|
41
38
|
onClickHandler
|
|
42
39
|
};
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
heightAnim.setElement(ref.current);
|
|
45
|
-
return () => {
|
|
46
|
-
heightAnim.remove();
|
|
47
|
-
};
|
|
48
|
-
}, []);
|
|
49
40
|
useEffect(() => {
|
|
50
41
|
if (previousStep !== context.activeStep) {
|
|
51
42
|
setPreviousStep(context.activeStep);
|
|
52
43
|
}
|
|
53
|
-
}, [context.activeStep]);
|
|
54
|
-
useLayoutEffect(() => {
|
|
55
|
-
const height = heightAnim.getHeight();
|
|
56
|
-
if (previousStep !== context.activeStep && (props.currentItemNum === previousStep || props.currentItemNum === context.activeStep)) {
|
|
57
|
-
const toHeight = heightAnim.getUnknownHeight();
|
|
58
|
-
if (height !== toHeight) {
|
|
59
|
-
heightAnim.adjustTo(height, toHeight);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}, [previousStep, context.activeStep, heightAnim, props.currentItemNum]);
|
|
44
|
+
}, [context.activeStep, previousStep]);
|
|
63
45
|
function onClickHandler({
|
|
64
46
|
event,
|
|
65
47
|
item,
|
|
@@ -204,7 +186,7 @@ export function StepItemButton(_ref2) {
|
|
|
204
186
|
icon_size: "medium",
|
|
205
187
|
icon_position: "right",
|
|
206
188
|
inner_ref: inner_ref
|
|
207
|
-
}, props), children);
|
|
189
|
+
}, props), React.createElement(HeightAnimation, null, children));
|
|
208
190
|
}
|
|
209
191
|
export function StepItemWrapper({
|
|
210
192
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepIndicatorItem.js","names":["React","useContext","useEffect","useLayoutEffect","useRef","useState","classnames","makeUniqueId","dispatchCustomElementEvent","HeightAnimationInstance","Button","Icon","WarnIcon","InfoIcon","ErrorIcon","StepIndicatorContext","stepIndicatorDefaultProps","StepIndicatorItem","_ref","status_state","status_state_default","inactive","inactive_default","disabled","disabled_default","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","context","previousStep","setPreviousStep","activeStep","heightAnim","animate","no_animation","undefined","current","ref","thisReference","onClickHandler","setElement","remove","height","getHeight","currentItemNum","toHeight","getUnknownHeight","adjustTo","event","item","params","current_step","currentStep","onClickItem","onClickGlobal","setActiveStep","onChangeState","mode","filterAttributes","countSteps","listOfReachedSteps","hide_numbers","on_item_render","sidebar_id","step_title","title","is_current","status","on_render","on_click","attributes","_excluded2","Object","keys","forEach","key","includes","hasPassedAndIsCurrent","isNavigatable","isInactive","isVisited","id","ariaLabel","replace","String","isCurrent","element","createElement","StepItemWrapper","number","callbackProps","StepItem","itemParams","buttonParams","icon","onClick","type","_extends","className","StepItemButton","inner_ref","_ref2","children","_excluded3","icons","info","error","warn","size","inherit_color","wrap","stretch","variant","icon_size","icon_position"],"sources":["../../../../src/components/step-indicator/StepIndicatorItem.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React, {\n HTMLProps,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport Button, { ButtonProps } from '../button/Button'\nimport Icon, { IconIcon } from '../icon/Icon'\nimport { WarnIcon, InfoIcon, ErrorIcon } from '../form-status/FormStatus'\nimport StepIndicatorContext from './StepIndicatorContext'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\nimport {\n StepIndicatorMouseEvent,\n StepIndicatorRenderCallback,\n} from './StepIndicator'\n\nexport type StepIndicatorStatusState = 'warn' | 'info' | 'error'\nexport type StepIndicatorItemProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'title' | 'data'\n> & {\n title: string | React.ReactNode\n /**\n * If set to true, this item step will be set as the current current selected step. This can be used instead of `current_step` on the component itself.\n */\n is_current?: boolean\n /**\n * If set to true, this item step will be handled as an inactive step and will not be clickable.\n * Defaults to `false`\n */\n inactive?: boolean\n /**\n * If set to true, this item step will be visible as an disabled button and will not be clickable.\n * Defaults to false.\n */\n disabled?: boolean\n /**\n * Is used to set the status text.\n */\n status?: string | React.ReactNode\n /**\n * Used to set the status state to be either `info`, `error` or `warn`.\n * Defaults to `warn`.\n */\n status_state?: StepIndicatorStatusState\n /**\n * Callback function to manipulate or wrap the step item. Has to return a React Node. You receive an object `{ StepItem, element, attributes, props, context }`.\n */\n on_render?: ({\n StepItem,\n element,\n attributes,\n props,\n context,\n }: StepIndicatorRenderCallback) => React.ReactNode\n /**\n * Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.\n */\n on_click?: ({\n event,\n item,\n current_step,\n currentStep,\n }: StepIndicatorMouseEvent) => void\n currentItemNum: number\n}\n\nfunction StepIndicatorItem({\n status_state: status_state_default = 'warn',\n inactive: inactive_default = false,\n disabled: disabled_default = false,\n ...restOfProps\n}: StepIndicatorItemProps) {\n const props: StepIndicatorItemProps = {\n status_state: status_state_default,\n inactive: inactive_default,\n disabled: disabled_default,\n ...restOfProps,\n }\n\n const context = useContext(StepIndicatorContext)\n\n const [previousStep, setPreviousStep] = useState<number>(\n context.activeStep\n )\n\n const heightAnim = useRef(\n new HeightAnimationInstance({\n animate:\n context?.no_animation !== undefined ? context.no_animation : false,\n })\n ).current\n\n const ref = useRef(null)\n\n const thisReference = {\n context,\n props,\n onClickHandler,\n }\n\n // Mount and Dismount\n useEffect(() => {\n heightAnim.setElement(ref.current)\n\n return () => {\n heightAnim.remove()\n }\n }, [])\n\n // Effect used to keep track of previous activeStep from context\n useEffect(() => {\n if (previousStep !== context.activeStep) {\n setPreviousStep(context.activeStep)\n }\n }, [context.activeStep])\n\n useLayoutEffect(() => {\n const height = heightAnim.getHeight()\n\n if (\n previousStep !== context.activeStep &&\n (props.currentItemNum === previousStep ||\n props.currentItemNum === context.activeStep)\n ) {\n const toHeight = heightAnim.getUnknownHeight()\n if (height !== toHeight) {\n heightAnim.adjustTo(height, toHeight)\n }\n }\n }, [previousStep, context.activeStep, heightAnim, props.currentItemNum])\n\n function onClickHandler({ event, item, currentItemNum }) {\n const params = {\n event,\n item,\n current_step: currentItemNum,\n currentStep: currentItemNum,\n }\n\n const onClickItem = dispatchCustomElementEvent(\n thisReference,\n 'on_click',\n params\n )\n\n const onClickGlobal = dispatchCustomElementEvent(\n context,\n 'on_click',\n params\n )\n\n if (onClickItem === false || onClickGlobal === false) {\n return // stop here\n }\n\n if (context.activeStep !== currentItemNum) {\n context.setActiveStep(currentItemNum)\n if (typeof context.onChangeState === 'function') {\n context.onChangeState()\n }\n\n dispatchCustomElementEvent(context, 'on_change', params)\n }\n }\n\n const {\n mode,\n filterAttributes,\n activeStep,\n countSteps,\n listOfReachedSteps,\n hide_numbers,\n on_item_render,\n sidebar_id,\n step_title,\n } = context\n\n const {\n currentItemNum,\n\n title,\n is_current,\n inactive,\n disabled,\n status,\n status_state,\n\n on_render,\n on_click, // eslint-disable-line\n\n ...attributes\n } = props\n\n Object.keys(attributes).forEach((key) => {\n if (filterAttributes.includes(key)) {\n delete attributes[key]\n }\n })\n\n const hasPassedAndIsCurrent =\n mode === 'loose' ||\n currentItemNum <= activeStep ||\n listOfReachedSteps.includes(currentItemNum)\n\n const isNavigatable = mode === 'strict' || mode === 'loose'\n\n let isInactive =\n inactive || (mode === 'strict' && !hasPassedAndIsCurrent)\n\n const isVisited = currentItemNum < activeStep\n\n const id = `${sidebar_id || makeUniqueId()}-${currentItemNum}`\n const ariaLabel = step_title\n ?.replace('%step', String(currentItemNum + 1))\n .replace('%count', String(countSteps))\n\n const isCurrent = currentItemNum === activeStep\n\n let element = (\n <StepItemWrapper\n number={currentItemNum + 1}\n hide_numbers={hide_numbers}\n status={status}\n >\n {title}\n </StepItemWrapper>\n ) as React.ReactNode\n\n const callbackProps = {\n StepItem: StepItemWrapper,\n element,\n attributes,\n props,\n context,\n }\n\n if (typeof on_render === 'function') {\n element = on_render(callbackProps)\n } else if (typeof on_item_render === 'function') {\n element = on_item_render(callbackProps)\n }\n\n const itemParams = {} as HTMLProps<HTMLLIElement>\n const buttonParams = {\n icon: 'check',\n status,\n status_state,\n 'aria-describedby': id,\n } as StepItemButtonProps\n\n if (isCurrent) {\n itemParams['aria-current'] = 'step'\n }\n\n if (disabled) {\n buttonParams.disabled = true\n }\n\n if (isNavigatable && !isInactive) {\n buttonParams.onClick = ({ event }: never) =>\n onClickHandler({\n event,\n item: props,\n currentItemNum,\n })\n }\n\n if (!buttonParams.onClick) {\n buttonParams.element = 'span'\n buttonParams.type = ''\n buttonParams.on_click = undefined\n isInactive = true\n }\n\n return (\n <li\n {...itemParams}\n className={classnames(\n 'dnb-step-indicator__item',\n isCurrent && 'dnb-step-indicator__item--current',\n isInactive && 'dnb-step-indicator__item--inactive',\n isVisited && 'dnb-step-indicator__item--visited',\n itemParams.className\n )}\n >\n <StepItemButton {...buttonParams} inner_ref={ref}>\n {element}\n </StepItemButton>\n <span id={id} aria-hidden className=\"dnb-sr-only\">\n {ariaLabel}\n </span>\n </li>\n )\n}\n\nexport type StepItemButtonProps = Omit<ButtonProps, 'status_state'> & {\n status_state?: StepIndicatorStatusState\n}\n\nexport function StepItemButton({\n children,\n className,\n status,\n status_state,\n inner_ref,\n ...props\n}: StepItemButtonProps) {\n const icons: Record<StepIndicatorStatusState, IconIcon> = {\n info: InfoIcon,\n error: ErrorIcon,\n warn: WarnIcon,\n }\n\n if (status) {\n props.icon = (\n <Icon\n icon={icons[status_state] || icons.warn}\n className=\"dnb-button__icon\"\n size=\"medium\"\n inherit_color={false}\n />\n )\n }\n\n return (\n <Button\n className={classnames(\n className,\n status && 'dnb-step-indicator__button__status',\n status && `dnb-step-indicator__button__status--${status_state}`\n )}\n wrap\n stretch\n variant=\"secondary\"\n icon_size=\"medium\"\n icon_position=\"right\"\n inner_ref={inner_ref}\n {...props}\n >\n {children}\n </Button>\n )\n}\n\nexport type StepItemWrapperProps = React.HTMLProps<HTMLElement> & {\n children?: React.ReactNode\n number?: number\n /**\n * Define whether to show automatically counted numbers or not. Defaults to `false`.\n */\n hide_numbers?: boolean\n status?: string | React.ReactNode\n}\n\nexport function StepItemWrapper({\n children,\n number,\n hide_numbers = stepIndicatorDefaultProps.hide_numbers,\n status,\n}: StepItemWrapperProps) {\n return (\n <span className=\"dnb-step-indicator__item-content\">\n {!hide_numbers && (\n <span\n aria-hidden // because we provide the hidden aria-describedby\n className=\"dnb-step-indicator__item-content__number\"\n >\n {number}.\n </span>\n )}\n <span className=\"dnb-step-indicator__item-content__wrapper\">\n <span className=\"dnb-step-indicator__item-content__text\">\n {children}\n </span>\n {status && (\n <span className=\"dnb-step-indicator__item-content__status\">\n {status}\n </span>\n )}\n </span>\n </span>\n )\n}\n\nexport default StepIndicatorItem\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepIndicatorItem.js","names":["React","useContext","useEffect","useRef","useState","classnames","makeUniqueId","dispatchCustomElementEvent","HeightAnimation","Button","Icon","WarnIcon","InfoIcon","ErrorIcon","StepIndicatorContext","stepIndicatorDefaultProps","StepIndicatorItem","_ref","status_state","status_state_default","inactive","inactive_default","disabled","disabled_default","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","context","previousStep","setPreviousStep","activeStep","ref","thisReference","onClickHandler","event","item","currentItemNum","params","current_step","currentStep","onClickItem","onClickGlobal","setActiveStep","onChangeState","mode","filterAttributes","countSteps","listOfReachedSteps","hide_numbers","on_item_render","sidebar_id","step_title","title","is_current","status","on_render","on_click","attributes","_excluded2","Object","keys","forEach","key","includes","hasPassedAndIsCurrent","isNavigatable","isInactive","isVisited","id","ariaLabel","replace","String","isCurrent","element","createElement","StepItemWrapper","number","callbackProps","StepItem","itemParams","buttonParams","icon","onClick","type","undefined","_extends","className","StepItemButton","inner_ref","_ref2","children","_excluded3","icons","info","error","warn","size","inherit_color","wrap","stretch","variant","icon_size","icon_position"],"sources":["../../../../src/components/step-indicator/StepIndicatorItem.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React, {\n HTMLProps,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport Button, { ButtonProps } from '../button/Button'\nimport Icon, { IconIcon } from '../icon/Icon'\nimport { WarnIcon, InfoIcon, ErrorIcon } from '../form-status/FormStatus'\nimport StepIndicatorContext from './StepIndicatorContext'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\nimport {\n StepIndicatorMouseEvent,\n StepIndicatorRenderCallback,\n} from './StepIndicator'\n\nexport type StepIndicatorStatusState = 'warn' | 'info' | 'error'\nexport type StepIndicatorItemProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'title' | 'data'\n> & {\n title: string | React.ReactNode\n /**\n * If set to true, this item step will be set as the current current selected step. This can be used instead of `current_step` on the component itself.\n */\n is_current?: boolean\n /**\n * If set to true, this item step will be handled as an inactive step and will not be clickable.\n * Defaults to `false`\n */\n inactive?: boolean\n /**\n * If set to true, this item step will be visible as an disabled button and will not be clickable.\n * Defaults to false.\n */\n disabled?: boolean\n /**\n * Is used to set the status text.\n */\n status?: string | React.ReactNode\n /**\n * Used to set the status state to be either `info`, `error` or `warn`.\n * Defaults to `warn`.\n */\n status_state?: StepIndicatorStatusState\n /**\n * Callback function to manipulate or wrap the step item. Has to return a React Node. You receive an object `{ StepItem, element, attributes, props, context }`.\n */\n on_render?: ({\n StepItem,\n element,\n attributes,\n props,\n context,\n }: StepIndicatorRenderCallback) => React.ReactNode\n /**\n * Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.\n */\n on_click?: ({\n event,\n item,\n current_step,\n currentStep,\n }: StepIndicatorMouseEvent) => void\n currentItemNum: number\n}\n\nfunction StepIndicatorItem({\n status_state: status_state_default = 'warn',\n inactive: inactive_default = false,\n disabled: disabled_default = false,\n ...restOfProps\n}: StepIndicatorItemProps) {\n const props: StepIndicatorItemProps = {\n status_state: status_state_default,\n inactive: inactive_default,\n disabled: disabled_default,\n ...restOfProps,\n }\n\n const context = useContext(StepIndicatorContext)\n\n const [previousStep, setPreviousStep] = useState<number>(\n context.activeStep\n )\n\n const ref = useRef(null)\n\n const thisReference = {\n context,\n props,\n onClickHandler,\n }\n\n // Effect used to keep track of previous activeStep from context\n useEffect(() => {\n if (previousStep !== context.activeStep) {\n setPreviousStep(context.activeStep)\n }\n }, [context.activeStep, previousStep])\n\n function onClickHandler({ event, item, currentItemNum }) {\n const params = {\n event,\n item,\n current_step: currentItemNum,\n currentStep: currentItemNum,\n }\n\n const onClickItem = dispatchCustomElementEvent(\n thisReference,\n 'on_click',\n params\n )\n\n const onClickGlobal = dispatchCustomElementEvent(\n context,\n 'on_click',\n params\n )\n\n if (onClickItem === false || onClickGlobal === false) {\n return // stop here\n }\n\n if (context.activeStep !== currentItemNum) {\n context.setActiveStep(currentItemNum)\n if (typeof context.onChangeState === 'function') {\n context.onChangeState()\n }\n\n dispatchCustomElementEvent(context, 'on_change', params)\n }\n }\n\n const {\n mode,\n filterAttributes,\n activeStep,\n countSteps,\n listOfReachedSteps,\n hide_numbers,\n on_item_render,\n sidebar_id,\n step_title,\n } = context\n\n const {\n currentItemNum,\n\n title,\n is_current, // eslint-disable-line\n inactive,\n disabled,\n status,\n status_state,\n\n on_render,\n on_click, // eslint-disable-line\n\n ...attributes\n } = props\n\n Object.keys(attributes).forEach((key) => {\n if (filterAttributes.includes(key)) {\n delete attributes[key]\n }\n })\n\n const hasPassedAndIsCurrent =\n mode === 'loose' ||\n currentItemNum <= activeStep ||\n listOfReachedSteps.includes(currentItemNum)\n\n const isNavigatable = mode === 'strict' || mode === 'loose'\n\n let isInactive =\n inactive || (mode === 'strict' && !hasPassedAndIsCurrent)\n\n const isVisited = currentItemNum < activeStep\n\n const id = `${sidebar_id || makeUniqueId()}-${currentItemNum}`\n const ariaLabel = step_title\n ?.replace('%step', String(currentItemNum + 1))\n .replace('%count', String(countSteps))\n\n const isCurrent = currentItemNum === activeStep\n\n let element = (\n <StepItemWrapper\n number={currentItemNum + 1}\n hide_numbers={hide_numbers}\n status={status}\n >\n {title}\n </StepItemWrapper>\n ) as React.ReactNode\n\n const callbackProps = {\n StepItem: StepItemWrapper,\n element,\n attributes,\n props,\n context,\n }\n\n if (typeof on_render === 'function') {\n element = on_render(callbackProps)\n } else if (typeof on_item_render === 'function') {\n element = on_item_render(callbackProps)\n }\n\n const itemParams = {} as HTMLProps<HTMLLIElement>\n const buttonParams = {\n icon: 'check',\n status,\n status_state,\n 'aria-describedby': id,\n } as StepItemButtonProps\n\n if (isCurrent) {\n itemParams['aria-current'] = 'step'\n }\n\n if (disabled) {\n buttonParams.disabled = true\n }\n\n if (isNavigatable && !isInactive) {\n buttonParams.onClick = ({ event }: never) =>\n onClickHandler({\n event,\n item: props,\n currentItemNum,\n })\n }\n\n if (!buttonParams.onClick) {\n buttonParams.element = 'span'\n buttonParams.type = ''\n buttonParams.on_click = undefined\n isInactive = true\n }\n\n return (\n <li\n {...itemParams}\n className={classnames(\n 'dnb-step-indicator__item',\n isCurrent && 'dnb-step-indicator__item--current',\n isInactive && 'dnb-step-indicator__item--inactive',\n isVisited && 'dnb-step-indicator__item--visited',\n itemParams.className\n )}\n >\n <StepItemButton {...buttonParams} inner_ref={ref}>\n {element}\n </StepItemButton>\n <span id={id} aria-hidden className=\"dnb-sr-only\">\n {ariaLabel}\n </span>\n </li>\n )\n}\n\nexport type StepItemButtonProps = Omit<ButtonProps, 'status_state'> & {\n status_state?: StepIndicatorStatusState\n}\n\nexport function StepItemButton({\n children,\n className,\n status,\n status_state,\n inner_ref,\n ...props\n}: StepItemButtonProps) {\n const icons: Record<StepIndicatorStatusState, IconIcon> = {\n info: InfoIcon,\n error: ErrorIcon,\n warn: WarnIcon,\n }\n\n if (status) {\n props.icon = (\n <Icon\n icon={icons[status_state] || icons.warn}\n className=\"dnb-button__icon\"\n size=\"medium\"\n inherit_color={false}\n />\n )\n }\n\n return (\n <Button\n className={classnames(\n className,\n status && 'dnb-step-indicator__button__status',\n status && `dnb-step-indicator__button__status--${status_state}`\n )}\n wrap\n stretch\n variant=\"secondary\"\n icon_size=\"medium\"\n icon_position=\"right\"\n inner_ref={inner_ref}\n {...props}\n >\n <HeightAnimation>{children}</HeightAnimation>\n </Button>\n )\n}\n\nexport type StepItemWrapperProps = React.HTMLProps<HTMLElement> & {\n children?: React.ReactNode\n number?: number\n /**\n * Define whether to show automatically counted numbers or not. Defaults to `false`.\n */\n hide_numbers?: boolean\n status?: string | React.ReactNode\n}\n\nexport function StepItemWrapper({\n children,\n number,\n hide_numbers = stepIndicatorDefaultProps.hide_numbers,\n status,\n}: StepItemWrapperProps) {\n return (\n <span className=\"dnb-step-indicator__item-content\">\n {!hide_numbers && (\n <span\n aria-hidden // because we provide the hidden aria-describedby\n className=\"dnb-step-indicator__item-content__number\"\n >\n {number}.\n </span>\n )}\n <span className=\"dnb-step-indicator__item-content__wrapper\">\n <span className=\"dnb-step-indicator__item-content__text\">\n {children}\n </span>\n {status && (\n <span className=\"dnb-step-indicator__item-content__status\">\n {status}\n </span>\n )}\n </span>\n </span>\n )\n}\n\nexport default StepIndicatorItem\n"],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ const _excluded = ["data"];
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
import classnames from 'classnames';
|
|
10
|
-
import React, { useContext,
|
|
10
|
+
import React, { useContext, useRef } from 'react';
|
|
11
11
|
import Button from '../button/Button';
|
|
12
12
|
import chevron_icon from '../../icons/chevron_right_medium';
|
|
13
13
|
import { validateDOMAttributes, combineDescribedBy } from '../../shared/component-helper';
|
|
14
|
-
import
|
|
14
|
+
import HeightAnimation from '../height-animation/HeightAnimation';
|
|
15
15
|
import { createSpacingClasses } from '../space/SpacingHelper';
|
|
16
16
|
import FormLabel from '../form-label/FormLabel';
|
|
17
17
|
import StepIndicatorContext from './StepIndicatorContext';
|
|
@@ -20,20 +20,6 @@ import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/Skeleton
|
|
|
20
20
|
function StepIndicatorTriggerButton(props) {
|
|
21
21
|
const context = useContext(StepIndicatorContext);
|
|
22
22
|
const buttonRef = useRef((props === null || props === void 0 ? void 0 : props.inner_ref) || null);
|
|
23
|
-
const heightAnim = useRef(new HeightAnimationInstance({
|
|
24
|
-
animate: !(context !== null && context !== void 0 && context.no_animation)
|
|
25
|
-
})).current;
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
heightAnim.setElement(buttonRef.current);
|
|
28
|
-
return () => {
|
|
29
|
-
heightAnim.remove();
|
|
30
|
-
};
|
|
31
|
-
}, []);
|
|
32
|
-
useLayoutEffect(() => {
|
|
33
|
-
const height = heightAnim.getHeight();
|
|
34
|
-
const toHeight = heightAnim.getUnknownHeight();
|
|
35
|
-
heightAnim.adjustTo(height, toHeight);
|
|
36
|
-
}, [context.activeStep, heightAnim]);
|
|
37
23
|
const item = context.data[context.activeStep || 0];
|
|
38
24
|
const label = context.stepsLabel;
|
|
39
25
|
const {
|
|
@@ -74,7 +60,7 @@ function StepIndicatorTriggerButton(props) {
|
|
|
74
60
|
}), React.createElement(StepItemWrapper, {
|
|
75
61
|
number: (context.activeStep || 0) + 1,
|
|
76
62
|
hide_numbers: context.hide_numbers
|
|
77
|
-
}, (typeof item === 'string' ? item : item && item.title) || '')));
|
|
63
|
+
}, React.createElement(HeightAnimation, null, (typeof item === 'string' ? item : item && item.title) || ''))));
|
|
78
64
|
}
|
|
79
65
|
export default StepIndicatorTriggerButton;
|
|
80
66
|
//# sourceMappingURL=StepIndicatorTriggerButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepIndicatorTriggerButton.js","names":["classnames","React","useContext","
|
|
1
|
+
{"version":3,"file":"StepIndicatorTriggerButton.js","names":["classnames","React","useContext","useRef","Button","chevron_icon","validateDOMAttributes","combineDescribedBy","HeightAnimation","createSpacingClasses","FormLabel","StepIndicatorContext","StepItemWrapper","skeletonDOMAttributes","createSkeletonClass","StepIndicatorTriggerButton","props","context","buttonRef","inner_ref","item","data","activeStep","label","stepsLabel","contextWithoutData","_objectWithoutProperties","_excluded","triggerParams","_objectSpread","className","skeleton","buttonParams","sidebar_id","Object","keys","forEach","key","filterAttributes","includes","createElement","id","overview_title","for_id","_extends","wrap","stretch","variant","icon","icon_size","icon_position","number","hide_numbers","title"],"sources":["../../../../src/components/step-indicator/StepIndicatorTriggerButton.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport classnames from 'classnames'\nimport React, { useContext, useRef } from 'react'\nimport Button, { ButtonProps } from '../button/Button'\nimport chevron_icon from '../../icons/chevron_right_medium'\nimport {\n validateDOMAttributes,\n combineDescribedBy,\n} from '../../shared/component-helper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport FormLabel from '../form-label/FormLabel'\nimport StepIndicatorContext from './StepIndicatorContext'\nimport { StepItemWrapper } from './StepIndicatorItem'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nexport type StepIndicatorTriggerButtonProps = ButtonProps & {\n /**\n * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.\n */\n sidebar_id?: string\n className?: string\n inner_ref?: React.RefObject<HTMLElement>\n}\nfunction StepIndicatorTriggerButton(\n props: StepIndicatorTriggerButtonProps\n) {\n const context = useContext(StepIndicatorContext)\n\n const buttonRef = useRef(props?.inner_ref || null)\n\n const item = context.data[context.activeStep || 0]\n const label = context.stepsLabel\n\n const { data, ...contextWithoutData } = context\n\n const triggerParams = {\n ...contextWithoutData,\n className: classnames(\n 'dnb-step-indicator__trigger',\n createSkeletonClass('font', context.skeleton),\n createSpacingClasses(context)\n ),\n 'aria-live': 'polite',\n } as React.HTMLProps<HTMLElement>\n\n const buttonParams = {\n ...props,\n className: classnames(\n 'dnb-step-indicator__trigger__button',\n props.className\n ),\n }\n\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n context.sidebar_id + '-overview'\n )\n\n Object.keys(triggerParams).forEach((key) => {\n if (context.filterAttributes.includes(key)) {\n delete triggerParams[key]\n }\n })\n\n skeletonDOMAttributes(triggerParams, context.skeleton)\n\n // also used for code markup simulation\n validateDOMAttributes(context, triggerParams)\n\n return (\n <div {...(triggerParams as React.HTMLProps<HTMLDivElement>)}>\n <span className=\"dnb-sr-only\" id={context.sidebar_id + '-overview'}>\n {context.overview_title}\n </span>\n <FormLabel\n aria-describedby={context.sidebar_id}\n for_id={context.sidebar_id}\n className=\"dnb-step-indicator__label\"\n >\n {label}\n </FormLabel>\n <Button\n {...buttonParams}\n id={context.sidebar_id}\n wrap\n stretch\n variant=\"secondary\"\n icon={chevron_icon}\n icon_size=\"medium\"\n icon_position=\"right\"\n inner_ref={buttonRef}\n >\n <StepItemWrapper\n number={(context.activeStep || 0) + 1}\n hide_numbers={context.hide_numbers}\n >\n <HeightAnimation>\n {(typeof item === 'string' ? item : item && item.title) || ''}\n </HeightAnimation>\n </StepItemWrapper>\n </Button>\n </div>\n )\n}\n\nexport default StepIndicatorTriggerButton\n"],"mappings":"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"}
|
|
@@ -38,8 +38,6 @@
|
|
|
38
38
|
overflow: hidden;
|
|
39
39
|
justify-content: space-between;
|
|
40
40
|
border-radius: 0.25rem;
|
|
41
|
-
will-change: height;
|
|
42
|
-
transition: height 400ms var(--easing-default);
|
|
43
41
|
}
|
|
44
42
|
.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button .dnb-button__text, .dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button .dnb-button__text {
|
|
45
43
|
text-align: left;
|
|
@@ -50,9 +48,6 @@
|
|
|
50
48
|
.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button .dnb-button__alignment, .dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button .dnb-button__alignment {
|
|
51
49
|
order: 2;
|
|
52
50
|
}
|
|
53
|
-
html[data-visual-test] .dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button, html[data-visual-test] .dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button {
|
|
54
|
-
transition-duration: 1ms !important;
|
|
55
|
-
}
|
|
56
51
|
.dnb-step-indicator-wrapper .dnb-step-indicator__trigger button.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button {
|
|
57
52
|
margin-top: 0.5rem;
|
|
58
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@media screen and (min-width:50.1em){.dnb-step-indicator__sidebar{margin-right:var(--spacing-x-large);max-width:20rem}.dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:320px}}@media screen and (max-width:50.1em){.dnb-step-indicator__sidebar--ssr-skeleton{height:5.5rem;overflow:hidden;visibility:hidden;width:0}}.dnb-step-indicator-wrapper .dnb-step-indicator__list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dnb-step-indicator-wrapper .dnb-step-indicator__trigger{display:flex;flex-direction:column}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button,.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button{border-radius:.25rem;justify-content:space-between;overflow:hidden
|
|
1
|
+
@media screen and (min-width:50.1em){.dnb-step-indicator__sidebar{margin-right:var(--spacing-x-large);max-width:20rem}.dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:320px}}@media screen and (max-width:50.1em){.dnb-step-indicator__sidebar--ssr-skeleton{height:5.5rem;overflow:hidden;visibility:hidden;width:0}}.dnb-step-indicator-wrapper .dnb-step-indicator__list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dnb-step-indicator-wrapper .dnb-step-indicator__trigger{display:flex;flex-direction:column}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button,.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button{border-radius:.25rem;justify-content:space-between;overflow:hidden}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button .dnb-button__text,.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button .dnb-button__text{text-align:left}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button.dnb-button--has-icon .dnb-button__text,.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button.dnb-button--has-icon .dnb-button__text{margin-right:1rem}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button .dnb-button__alignment,.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button .dnb-button__alignment{order:2}.dnb-step-indicator-wrapper .dnb-step-indicator__trigger button.dnb-step-indicator-wrapper .dnb-step-indicator__trigger__button{margin-top:.5rem}.dnb-step-indicator-wrapper .dnb-step-indicator__item{margin-bottom:1rem}.dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button__icon{opacity:1;transition:opacity 1.4s ease-in-out}html[data-visual-test] .dnb-step-indicator-wrapper .dnb-step-indicator__item .dnb-button__icon{transition-duration:1ms!important}.dnb-step-indicator-wrapper .dnb-step-indicator__item:not(.dnb-step-indicator__item--visited) .dnb-button:not(.dnb-step-indicator__button__status) .dnb-button__icon{opacity:0}.dnb-step-indicator-wrapper .dnb-step-indicator__item-content{display:flex;flex-wrap:nowrap;padding:.5rem 0}.dnb-step-indicator-wrapper .dnb-step-indicator__item-content__number{padding-right:.5rem;white-space:nowrap}.dnb-step-indicator-wrapper .dnb-step-indicator__item-content__wrapper{display:flex;flex-direction:column}.dnb-step-indicator-wrapper .dnb-step-indicator__button__status .dnb-step-indicator__item-content__status{color:var(--color-black-80);font-size:var(--font-size-x-small)}
|
|
@@ -62,13 +62,6 @@
|
|
|
62
62
|
|
|
63
63
|
justify-content: space-between;
|
|
64
64
|
border-radius: 0.25rem;
|
|
65
|
-
|
|
66
|
-
will-change: height;
|
|
67
|
-
transition: height 400ms var(--easing-default);
|
|
68
|
-
|
|
69
|
-
html[data-visual-test] & {
|
|
70
|
-
transition-duration: 1ms !important;
|
|
71
|
-
}
|
|
72
65
|
}
|
|
73
66
|
&__trigger button#{&}__trigger__button {
|
|
74
67
|
margin-top: 0.5rem;
|
|
@@ -118,7 +118,7 @@ export function useTableAccordion({
|
|
|
118
118
|
}
|
|
119
119
|
function toggleOpenTr(event) {
|
|
120
120
|
const target = event.target;
|
|
121
|
-
if (document.activeElement !== target && target.tagName !== 'INPUT' && !hasSelectedText()) {
|
|
121
|
+
if (document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' && !hasSelectedText()) {
|
|
122
122
|
setOpen(!trIsOpen);
|
|
123
123
|
setHadClick(true);
|
|
124
124
|
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|