@dnb/eufemia 10.19.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 +40 -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/breadcrumb/Breadcrumb.js +11 -2
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -8
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- 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/DatePickerProvider.js +10 -10
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/flex/Container.js +1 -1
- 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 +3 -0
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/flex/style/flex-container.scss +3 -0
- 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/number-format/NumberFormat.d.ts +7 -12
- 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/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/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 +127 -57
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +4 -3
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +3 -2
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
- 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 +14 -15
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +3 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
- package/cjs/extensions/forms/Field/String/String.js +5 -3
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -4
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
- 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.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/Currency/Currency.js +2 -3
- package/cjs/extensions/forms/Value/Currency/Currency.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.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 +6 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +76 -21
- 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 +34 -5
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +22 -7
- 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/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 +28 -7
- package/cjs/shared/helpers/useSharedState.js +62 -43
- package/cjs/shared/helpers/useSharedState.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -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 +94 -52
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-extensions.css +34 -5
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +34 -5
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +129 -79
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +34 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +34 -5
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- 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/breadcrumb/Breadcrumb.js +11 -2
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +11 -8
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- 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/DatePickerProvider.js +10 -10
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/flex/Container.js +1 -1
- 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 +3 -0
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/flex/style/flex-container.scss +3 -0
- 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/number-format/NumberFormat.d.ts +7 -12
- 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/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/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/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/breadcrumb/Breadcrumb.js +11 -2
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- 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/DatePickerProvider.js +10 -10
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/flex/Container.js +1 -1
- 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 +3 -0
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/flex/style/flex-container.scss +3 -0
- 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/number-format/NumberFormat.d.ts +7 -12
- 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/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/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 +126 -58
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +4 -3
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +4 -3
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +5 -4
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
- 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 +14 -15
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +3 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +2 -2
- package/es/extensions/forms/Field/String/String.js +5 -3
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +5 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -4
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
- 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.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/Currency/Currency.js +2 -3
- package/es/extensions/forms/Value/Currency/Currency.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.js +6 -4
- 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 +6 -1
- package/es/extensions/forms/hooks/useDataValue.js +72 -19
- 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 +34 -5
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +22 -7
- 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/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 +28 -7
- package/es/shared/helpers/useSharedState.js +62 -43
- package/es/shared/helpers/useSharedState.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -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 +94 -52
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-extensions.css +34 -5
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +34 -5
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +129 -79
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-extensions.css +34 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +34 -5
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/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 +128 -58
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +4 -3
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +4 -3
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +5 -4
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
- 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 +14 -15
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +3 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +2 -2
- package/extensions/forms/Field/String/String.js +5 -3
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +5 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -4
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
- 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.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/Currency/Currency.js +2 -3
- package/extensions/forms/Value/Currency/Currency.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.js +6 -4
- 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 +6 -1
- package/extensions/forms/hooks/useDataValue.js +74 -19
- 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 +34 -5
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +22 -7
- 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/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 +28 -7
- package/shared/helpers/useSharedState.js +62 -43
- package/shared/helpers/useSharedState.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/utilities.scss +1 -1
- package/style/dnb-ui-components.css +94 -52
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-extensions.css +34 -5
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +34 -5
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +129 -79
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/style/themes/theme-ui/ui-theme-extensions.css +34 -5
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +34 -5
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +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 -39
- 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 -32
- 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 -33
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbItem.js","names":["React","Button","IconPrimary","P","homeIcon","useTheme","useMediaQuery","Context","extendPropsWithContext","filterProps","useLayoutEffect","window","useEffect","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","BreadcrumbItem","localProps","context","useContext","translation","Breadcrumb","homeText","_extendPropsWithConte","itemNr","props","_objectWithoutProperties","_excluded","theme","matchOnSSR","when","max","currentIcon","setCurrentIcon","useState","name","currentText","isInteractive","to","style","String","createElement","className","undefined","_extends","icon_position","on_click","key","includes","space","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return
|
|
1
|
+
{"version":3,"file":"BreadcrumbItem.js","names":["React","Button","IconPrimary","P","homeIcon","useTheme","useMediaQuery","Context","extendPropsWithContext","filterProps","useLayoutEffect","window","useEffect","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","BreadcrumbItem","localProps","context","useContext","translation","Breadcrumb","homeText","_extendPropsWithConte","itemNr","props","_objectWithoutProperties","_excluded","theme","matchOnSSR","when","max","currentIcon","setCurrentIcon","useState","name","currentText","isInteractive","to","style","String","iconToUse","createElement","className","undefined","_extends","icon_position","on_click","key","includes","space","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return 'home-icon'\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n const [currentIcon, setCurrentIcon] =\n React.useState<IconIcon>('chevron_left')\n\n useLayoutEffect(() => {\n if (!icon && theme?.name === 'sbanken') {\n const icon = determineSbankenIcon(variant, isSmallScreen)\n setCurrentIcon(icon)\n } else {\n if (variant !== 'home') {\n setCurrentIcon(icon ?? 'chevron_left')\n }\n }\n }, [icon, isSmallScreen, theme?.name, variant])\n\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive =\n (href || onClick || props.to) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n const iconToUse =\n variant === 'home' || currentIcon === 'home-icon'\n ? homeIcon\n : currentIcon\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={iconToUse}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span\n className=\"dnb-breadcrumb__item__span\"\n // TODO: Consider deprecating passing down props to span in v11\n {...filterProps(props, (key) => !key.includes('-'))}\n >\n <IconPrimary\n icon={iconToUse}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n <P space=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nBreadcrumbItem._supportsSpacingProps = true\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { BasicProps as FlexContainerProps } from '../flex/Container';
|
|
3
|
+
import type { BasicProps as FlexItemProps } from '../flex/Item';
|
|
4
|
+
import { SpaceProps } from '../Space';
|
|
5
|
+
export type Props = FlexContainerProps & FlexItemProps & {
|
|
4
6
|
stack?: boolean;
|
|
5
|
-
}
|
|
7
|
+
} & SpaceProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>;
|
|
6
8
|
declare function Card(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
9
|
declare namespace Card {
|
|
8
10
|
var _supportsSpacingProps: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
const _excluded = ["className", "stack", "direction", "spacing", "innerSpace", "alignSelf", "divider", "children"];
|
|
4
|
+
const _excluded = ["className", "stack", "direction", "spacing", "innerSpace", "alignSelf", "divider", "rowGap", "children"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
import React from 'react';
|
|
@@ -17,6 +17,7 @@ function Card(props) {
|
|
|
17
17
|
innerSpace,
|
|
18
18
|
alignSelf = 'stretch',
|
|
19
19
|
divider = 'space',
|
|
20
|
+
rowGap,
|
|
20
21
|
children
|
|
21
22
|
} = props,
|
|
22
23
|
rest = _objectWithoutProperties(props, _excluded);
|
|
@@ -42,7 +43,6 @@ function Card(props) {
|
|
|
42
43
|
});
|
|
43
44
|
const params = SectionParams(_objectSpread({
|
|
44
45
|
className: classnames('dnb-card', className),
|
|
45
|
-
backgroundColor: 'white',
|
|
46
46
|
breakout: trueWhenSmall,
|
|
47
47
|
roundedCorner: falseWhenSmall,
|
|
48
48
|
outline: true,
|
|
@@ -50,23 +50,19 @@ function Card(props) {
|
|
|
50
50
|
small: smallSpace,
|
|
51
51
|
medium: basisSpace,
|
|
52
52
|
large: basisSpace
|
|
53
|
-
}
|
|
54
|
-
children
|
|
53
|
+
}
|
|
55
54
|
}, rest));
|
|
56
|
-
if (stack || direction || spacing) {
|
|
57
|
-
return React.createElement(Flex.Container, _extends({
|
|
58
|
-
direction: direction !== null && direction !== void 0 ? direction : 'vertical',
|
|
59
|
-
divider: divider,
|
|
60
|
-
wrap: false,
|
|
61
|
-
spacing: spacing,
|
|
62
|
-
alignSelf: alignSelf,
|
|
63
|
-
element: "section"
|
|
64
|
-
}, params));
|
|
65
|
-
}
|
|
66
55
|
return React.createElement(Flex.Item, _extends({
|
|
67
56
|
alignSelf: alignSelf,
|
|
68
57
|
element: "section"
|
|
69
|
-
}, params)
|
|
58
|
+
}, params), React.createElement(Flex.Container, {
|
|
59
|
+
direction: direction !== null && direction !== void 0 ? direction : 'vertical',
|
|
60
|
+
divider: divider,
|
|
61
|
+
alignSelf: alignSelf,
|
|
62
|
+
wrap: !stack,
|
|
63
|
+
spacing: stack ? 'small' : spacing || false,
|
|
64
|
+
rowGap: rowGap || false
|
|
65
|
+
}, children));
|
|
70
66
|
}
|
|
71
67
|
Card._supportsSpacingProps = true;
|
|
72
68
|
export default Card;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","Card","props","className","stack","direction","spacing","innerSpace","alignSelf","divider","children","rest","_objectWithoutProperties","_excluded","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","
|
|
1
|
+
{"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","Card","props","className","stack","direction","spacing","innerSpace","alignSelf","divider","rowGap","children","rest","_objectWithoutProperties","_excluded","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Container","wrap","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport { SpaceProps } from '../Space'\n\nexport type Props = FlexContainerProps &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction Card(props: Props) {\n const {\n className,\n stack,\n direction,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n divider = 'space',\n rowGap,\n children,\n ...rest\n } = props\n\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n\n const params = SectionParams({\n className: classnames('dnb-card', className),\n breakout: trueWhenSmall,\n roundedCorner: falseWhenSmall,\n outline: true,\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n wrap={!stack}\n spacing={stack ? 'small' : spacing || false}\n rowGap={rowGap || false}\n >\n {children}\n </Flex.Container>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,IAAI,MAAM,cAAc;AAC/B,SAASC,aAAa,QAAsB,oBAAoB;AAahE,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC,SAAS,GAAG,SAAS;MACrBC,OAAO,GAAG,OAAO;MACjBC,MAAM;MACNC;IAEF,CAAC,GAAGT,KAAK;IADJU,IAAI,GAAAC,wBAAA,CACLX,KAAK,EAAAY,SAAA;EAET,MAAMC,cAAc,GAAG;IAAEC,KAAK,EAAE,KAAK;IAAEC,MAAM,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC;EAClE,MAAMC,aAAa,GAAG;IAAEH,KAAK,EAAE,IAAI;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAM,CAAC;EAClE,MAAME,UAAU,GAAG;IACjBC,GAAG,EAAE,QAAQ;IACbC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE;EACR,CAAC;EACD,MAAMC,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXN,UAAU;IACbE,KAAK,EAAE,CAAC;IACRE,IAAI,EAAE;EAAC,EACR;EAED,MAAMG,MAAM,GAAG3B,aAAa,CAAA0B,aAAA;IAC1BvB,SAAS,EAAEL,UAAU,CAAC,UAAU,EAAEK,SAAS,CAAC;IAC5CyB,QAAQ,EAAET,aAAa;IACvBU,aAAa,EAAEd,cAAc;IAC7Be,OAAO,EAAE,IAAI;IACbvB,UAAU,EACRA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GACT;MACCS,KAAK,EAAES,UAAU;MACjBR,MAAM,EAAEG,UAAU;MAClBF,KAAK,EAAEE;IACT;EAAoB,GAClBR,IAAI,CACT,CAAC;EAEF,OACEf,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACiC,IAAI,EAAAC,QAAA;IAACzB,SAAS,EAAEA,SAAU;IAAC0B,OAAO,EAAC;EAAS,GAAKP,MAAM,GAC3D9B,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACoC,SAAS;IACb9B,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,UAAW;IACnCI,OAAO,EAAEA,OAAQ;IACjBD,SAAS,EAAEA,SAAU;IACrB4B,IAAI,EAAE,CAAChC,KAAM;IACbE,OAAO,EAAEF,KAAK,GAAG,OAAO,GAAGE,OAAO,IAAI,KAAM;IAC5CI,MAAM,EAAEA,MAAM,IAAI;EAAM,GAEvBC,QACa,CACP,CAAC;AAEhB;AAEAV,IAAI,CAACoC,qBAAqB,GAAG,IAAI;AAEjC,eAAepC,IAAI"}
|
|
@@ -1,7 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Utilities
|
|
3
|
+
*/
|
|
1
4
|
.dnb-card__heading {
|
|
2
5
|
font-size: var(--font-size-basis);
|
|
3
6
|
font-weight: var(--font-weight-medium);
|
|
4
7
|
}
|
|
5
8
|
.dnb-card + .dnb-card__heading {
|
|
6
9
|
margin-top: var(--spacing-small);
|
|
10
|
+
}
|
|
11
|
+
.dnb-card.dnb-section {
|
|
12
|
+
background-color: var(--background-color);
|
|
13
|
+
}
|
|
14
|
+
@media screen and (max-width: 40em) {
|
|
15
|
+
.dnb-card.dnb-section::before {
|
|
16
|
+
left: -100vw;
|
|
17
|
+
right: -100vw;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
@media screen and (max-width: 40em) {
|
|
21
|
+
.dnb-card + .dnb-card:not([class*=space__top]) {
|
|
22
|
+
background: linear-gradient(to left, var(--background-color), var(--background-color)) no-repeat 0 var(--outline-width);
|
|
23
|
+
}
|
|
24
|
+
.dnb-card + .dnb-card:not([class*=space__top])::before {
|
|
25
|
+
top: var(--outline-width);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
@media screen and (max-width: 40em) {
|
|
29
|
+
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card {
|
|
30
|
+
margin-top: 0;
|
|
31
|
+
}
|
|
32
|
+
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card::before {
|
|
33
|
+
top: var(--outline-width);
|
|
34
|
+
z-index: 0;
|
|
35
|
+
}
|
|
7
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}
|
|
1
|
+
.dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}.dnb-card.dnb-section{background-color:var(--background-color)}@media screen and (max-width:40em){.dnb-card.dnb-section:before{left:-100vw;right:-100vw}.dnb-card+.dnb-card:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card:before{top:var(--outline-width);z-index:0}}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import '../../../style/core/utilities.scss';
|
|
2
|
+
|
|
1
3
|
.dnb-card {
|
|
2
4
|
&__heading {
|
|
3
5
|
font-size: var(--font-size-basis);
|
|
@@ -7,4 +9,43 @@
|
|
|
7
9
|
& + &__heading {
|
|
8
10
|
margin-top: var(--spacing-small);
|
|
9
11
|
}
|
|
12
|
+
|
|
13
|
+
&.dnb-section {
|
|
14
|
+
background-color: var(--background-color);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@include allBelow(small) {
|
|
18
|
+
&.dnb-section::before {
|
|
19
|
+
left: -100vw;
|
|
20
|
+
right: -100vw;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Show only one border (combined) when stacked
|
|
25
|
+
& + .dnb-card:not([class*='space__top']) {
|
|
26
|
+
@include allBelow(small) {
|
|
27
|
+
&::before {
|
|
28
|
+
top: var(--outline-width);
|
|
29
|
+
}
|
|
30
|
+
background: linear-gradient(
|
|
31
|
+
to left,
|
|
32
|
+
var(--background-color),
|
|
33
|
+
var(--background-color)
|
|
34
|
+
)
|
|
35
|
+
no-repeat 0 var(--outline-width); // with an offset
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Combine the two borers to one
|
|
40
|
+
.dnb-flex-container.dnb-flex-container--divider-space & + .dnb-card {
|
|
41
|
+
@include allBelow(small) {
|
|
42
|
+
// --gap: var(--outline-width);
|
|
43
|
+
margin-top: 0;
|
|
44
|
+
|
|
45
|
+
&::before {
|
|
46
|
+
top: var(--outline-width); // align background and outline
|
|
47
|
+
z-index: 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
10
51
|
}
|
|
@@ -2,25 +2,7 @@
|
|
|
2
2
|
* Utilities
|
|
3
3
|
*/
|
|
4
4
|
.dnb-card.dnb-section {
|
|
5
|
-
--background-color: var(--color-white);
|
|
6
5
|
--outline-color: var(--border-color, var(--color-lavender));
|
|
7
6
|
--outline-width: 0.25rem;
|
|
8
|
-
|
|
9
|
-
@media screen and (max-width: 40em) {
|
|
10
|
-
.dnb-card::before {
|
|
11
|
-
left: -100%;
|
|
12
|
-
right: -100%;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
.dnb-card + .dnb-card:not([class*=space__top])::before {
|
|
16
|
-
top: var(--outline-width);
|
|
17
|
-
}
|
|
18
|
-
@media screen and (max-width: 40em) {
|
|
19
|
-
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card {
|
|
20
|
-
margin-top: 0;
|
|
21
|
-
}
|
|
22
|
-
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card::before {
|
|
23
|
-
top: var(--outline-width);
|
|
24
|
-
z-index: 0;
|
|
25
|
-
}
|
|
7
|
+
--background-color: var(--color-white);
|
|
26
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-card.dnb-section{--
|
|
1
|
+
.dnb-card.dnb-section{--outline-color:var(--border-color,var(--color-lavender));--outline-width:0.25rem;--background-color:var(--color-white)}
|
|
@@ -2,34 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
.dnb-card {
|
|
4
4
|
&.dnb-section {
|
|
5
|
-
--background-color: var(--color-white);
|
|
6
5
|
--outline-color: var(--border-color, var(--color-lavender));
|
|
7
6
|
--outline-width: 0.25rem;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@include allBelow(small) {
|
|
11
|
-
&::before {
|
|
12
|
-
left: -100%;
|
|
13
|
-
right: -100%;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Show only one border (combined) when stacked
|
|
18
|
-
& + .dnb-card:not([class*='space__top']) {
|
|
19
|
-
&::before {
|
|
20
|
-
top: var(--outline-width);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Combine the two borers to one
|
|
25
|
-
.dnb-flex-container.dnb-flex-container--divider-space & + .dnb-card {
|
|
26
|
-
@include allBelow(small) {
|
|
27
|
-
margin-top: 0;
|
|
28
|
-
|
|
29
|
-
&::before {
|
|
30
|
-
top: var(--outline-width);
|
|
31
|
-
z-index: 0;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
7
|
+
--background-color: var(--color-white);
|
|
34
8
|
}
|
|
35
9
|
}
|
|
@@ -61,16 +61,16 @@ export default class DatePickerProvider extends React.PureComponent {
|
|
|
61
61
|
date_format
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
}
|
|
65
|
+
if (isTrue(props.correct_invalid_date) || (typeof props.min_date !== 'undefined' || typeof props.max_date !== 'undefined') && props.correct_invalid_date !== false) {
|
|
66
|
+
if (isDisabled(state.startDate, state.minDate, state.maxDate)) {
|
|
67
|
+
state.startDate = state.minDate;
|
|
68
|
+
}
|
|
69
|
+
if (isDisabled(state.endDate, state.minDate, state.maxDate)) {
|
|
70
|
+
if (!props.range && !props.min_date) {
|
|
71
|
+
state.startDate = state.maxDate;
|
|
72
|
+
} else {
|
|
73
|
+
state.endDate = state.maxDate;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
|
|
@@ -106,7 +106,7 @@ function FlexContainer(props) {
|
|
|
106
106
|
const n = 'dnb-flex-container';
|
|
107
107
|
const getRowGapClass = useCallback(() => {
|
|
108
108
|
if (rowGap === false) {
|
|
109
|
-
return
|
|
109
|
+
return `${n}--row-gap-off`;
|
|
110
110
|
}
|
|
111
111
|
if (rowGap === true || !rowGap && wrap && direction === 'horizontal') {
|
|
112
112
|
return `${n}--row-gap-small`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
3
|
const _excluded = ["element", "className", "grow", "shrink", "alignSelf", "size", "style", "children"];
|
|
5
|
-
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; }
|
|
6
|
-
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; }
|
|
7
4
|
import React from 'react';
|
|
8
5
|
import classnames from 'classnames';
|
|
9
6
|
import Space from '../space/Space';
|
|
10
|
-
import { omitSpacingProps, pickSpacingProps } from './utils';
|
|
11
7
|
function FlexItem(props) {
|
|
12
8
|
const {
|
|
13
9
|
element = 'div',
|
|
@@ -20,7 +16,7 @@ function FlexItem(props) {
|
|
|
20
16
|
children
|
|
21
17
|
} = props,
|
|
22
18
|
rest = _objectWithoutProperties(props, _excluded);
|
|
23
|
-
const cn = classnames('dnb-flex-item',
|
|
19
|
+
const cn = classnames('dnb-flex-item', grow && 'dnb-flex-item--grow', shrink && 'dnb-flex-item--shrink', alignSelf && `dnb-flex-item--align-self-${alignSelf}`, size && 'dnb-flex-item--responsive');
|
|
24
20
|
const spaceStyles = {};
|
|
25
21
|
if (size) {
|
|
26
22
|
if (isValidSize(size)) {
|
|
@@ -35,17 +31,18 @@ function FlexItem(props) {
|
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
if (Object.keys(spaceStyles).length) {
|
|
38
|
-
return React.createElement(Space,
|
|
34
|
+
return React.createElement(Space, {
|
|
39
35
|
element: element,
|
|
40
36
|
className: cn,
|
|
41
|
-
style:
|
|
42
|
-
},
|
|
43
|
-
className:
|
|
44
|
-
|
|
37
|
+
style: spaceStyles
|
|
38
|
+
}, React.createElement(Space, _extends({
|
|
39
|
+
className: classnames('dnb-flex-item__spacer', className),
|
|
40
|
+
style: style
|
|
41
|
+
}, rest), children));
|
|
45
42
|
}
|
|
46
43
|
return React.createElement(Space, _extends({
|
|
47
44
|
element: element,
|
|
48
|
-
className: cn,
|
|
45
|
+
className: classnames(cn, className),
|
|
49
46
|
style: style
|
|
50
47
|
}, rest), children);
|
|
51
48
|
function isValidSize(size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["React","classnames","Space","
|
|
1
|
+
{"version":3,"file":"Item.js","names":["React","classnames","Space","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive'\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space element={element} className={cn} style={spaceStyles}>\n <Space\n className={classnames('dnb-flex-item__spacer', className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space\n element={element}\n className={classnames(cn, className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAmClD,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGf,UAAU,CACnB,eAAe,EACfM,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BACV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEvB,KAAA,CAAAwB,aAAA,CAACtB,KAAK;MAACG,OAAO,EAAEA,OAAQ;MAACC,SAAS,EAAEU,EAAG;MAACL,KAAK,EAAEM;IAAY,GACzDjB,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;MACJnB,SAAS,EAAEL,UAAU,CAAC,uBAAuB,EAAEK,SAAS,CAAE;MAC1DK,KAAK,EAAEA;IAAM,GACTE,IAAI,GAEPD,QACI,CACF,CAAC;EAEZ;EAEA,OACEZ,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;IACJpB,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEL,UAAU,CAACe,EAAE,EAAEV,SAAS,CAAE;IACrCK,KAAK,EAAEA;EAAM,GACTE,IAAI,GAEPD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACuB,qBAAqB,GAAG,IAAI;AAErC,eAAevB,QAAQ"}
|