@dnb/eufemia 10.63.3 → 10.64.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 +50 -0
- package/assets/icons/dnb/calendar_add.svg +1 -0
- package/assets/icons/dnb/calendar_add_medium.svg +1 -0
- package/assets/icons/dnb/cog_medium.svg +1 -1
- package/assets/icons/dnb/digipass_corporate.svg +1 -1
- package/assets/icons/dnb/digipass_corporate_medium.svg +1 -1
- package/assets/icons/dnb/digipass_private.svg +1 -1
- package/assets/icons/dnb/digipass_private_medium.svg +1 -1
- package/assets/icons/dnb/digitpass_private_corporate.svg +1 -0
- package/assets/icons/dnb/digitpass_private_corporate_medium.svg +1 -0
- package/assets/icons/dnb/eufemia-icons-xml-categorized.tgz +0 -0
- package/assets/icons/dnb/eufemia-icons-xml.tgz +0 -0
- package/assets/icons/dnb/goal.svg +1 -0
- package/assets/icons/dnb/goal_medium.svg +1 -0
- package/assets/icons/dnb/information.svg +1 -1
- package/assets/icons/dnb/investor.svg +1 -0
- package/assets/icons/dnb/investor_medium.svg +1 -0
- package/assets/icons/dnb/layout_grid.svg +1 -0
- package/assets/icons/dnb/layout_grid_medium.svg +1 -0
- package/assets/icons/dnb/question.svg +1 -1
- package/assets/icons/dnb/question_circled.svg +1 -1
- package/assets/icons/dnb/question_medium.svg +1 -1
- package/assets/icons/dnb/return_1_medium.svg +1 -1
- package/assets/icons/dnb/show_pin.svg +1 -0
- package/assets/icons/dnb/show_pin_medium.svg +1 -0
- package/assets/icons/dnb/table.svg +1 -0
- package/assets/icons/dnb/table_medium.svg +1 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/cjs/components/date-picker/DatePickerCalc.js +1 -1
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/drawer/style/dnb-drawer.css +4 -4
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/drawer/style/dnb-drawer.scss +4 -4
- package/cjs/components/dropdown/Dropdown.d.ts +1 -1
- package/cjs/components/form-status/FormStatus.js +3 -2
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/heading/HeadingCounter.js +4 -4
- package/cjs/components/heading/HeadingCounter.js.map +1 -1
- package/cjs/components/input/Input.js +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +1 -1
- package/cjs/components/radio/RadioGroup.d.ts +1 -1
- package/cjs/components/section/Section.d.ts +1 -1
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/SectionDocs.js +1 -1
- package/cjs/components/section/SectionDocs.js.map +1 -1
- package/cjs/components/textarea/Textarea.js +8 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/elements/lists/style/lists-mixins.scss +1 -1
- package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/cjs/extensions/forms/Connectors/Bring/index.js +11 -0
- package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -0
- package/cjs/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
- package/cjs/extensions/forms/Connectors/Bring/postalCode.js +164 -0
- package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
- package/cjs/extensions/forms/Connectors/createContext.d.ts +58 -0
- package/cjs/extensions/forms/Connectors/createContext.js +130 -0
- package/cjs/extensions/forms/Connectors/createContext.js.map +1 -0
- package/cjs/extensions/forms/Connectors/index.d.ts +2 -0
- package/cjs/extensions/forms/Connectors/index.js +26 -0
- package/cjs/extensions/forms/Connectors/index.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +4 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +30 -16
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Address/Address.d.ts +9 -0
- package/cjs/extensions/forms/Field/Address/Address.js +63 -0
- package/cjs/extensions/forms/Field/Address/Address.js.map +1 -0
- package/cjs/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Address/AddressDocs.js +15 -0
- package/cjs/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Address/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Address/index.js +27 -0
- package/cjs/extensions/forms/Field/Address/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Email/EmailDocs.js +15 -0
- package/cjs/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +83 -32
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Name/Name.js +2 -2
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +10 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js +30 -0
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +0 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
- package/cjs/extensions/forms/Iterate/Array/Array.js +7 -2
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Address/Address.d.ts +9 -0
- package/cjs/extensions/forms/Value/Address/Address.js +41 -0
- package/cjs/extensions/forms/Value/Address/Address.js.map +1 -0
- package/cjs/extensions/forms/Value/Address/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Address/index.js +27 -0
- package/cjs/extensions/forms/Value/Address/index.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +1 -0
- package/cjs/extensions/forms/Value/index.js +7 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +13 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +20 -7
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +13 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +26 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +16 -3
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -4
- package/cjs/extensions/forms/hooks/useFieldProps.js +39 -19
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/index.d.ts +1 -0
- package/cjs/extensions/forms/index.js +4 -1
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +4 -0
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +34 -10
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/cjs/icons/calendar_add.d.ts +3 -0
- package/cjs/icons/calendar_add.js +11 -0
- package/cjs/icons/calendar_add.js.map +1 -0
- package/cjs/icons/calendar_add_medium.d.ts +3 -0
- package/cjs/icons/calendar_add_medium.js +11 -0
- package/cjs/icons/calendar_add_medium.js.map +1 -0
- package/cjs/icons/digitpass_private_corporate.d.ts +3 -0
- package/cjs/icons/digitpass_private_corporate.js +11 -0
- package/cjs/icons/digitpass_private_corporate.js.map +1 -0
- package/cjs/icons/digitpass_private_corporate_medium.d.ts +3 -0
- package/cjs/icons/digitpass_private_corporate_medium.js +11 -0
- package/cjs/icons/digitpass_private_corporate_medium.js.map +1 -0
- package/cjs/icons/dnb/calendar_add.d.ts +3 -0
- package/cjs/icons/dnb/calendar_add.js +31 -0
- package/cjs/icons/dnb/calendar_add.js.map +1 -0
- package/cjs/icons/dnb/calendar_add_medium.d.ts +3 -0
- package/cjs/icons/dnb/calendar_add_medium.js +25 -0
- package/cjs/icons/dnb/calendar_add_medium.js.map +1 -0
- package/cjs/icons/dnb/cog_medium.js +1 -1
- package/cjs/icons/dnb/cog_medium.js.map +1 -1
- package/cjs/icons/dnb/digipass_corporate.js +3 -3
- package/cjs/icons/dnb/digipass_corporate.js.map +1 -1
- package/cjs/icons/dnb/digipass_corporate_medium.js +3 -3
- package/cjs/icons/dnb/digipass_corporate_medium.js.map +1 -1
- package/cjs/icons/dnb/digipass_private.js +3 -3
- package/cjs/icons/dnb/digipass_private.js.map +1 -1
- package/cjs/icons/dnb/digipass_private_medium.js +3 -3
- package/cjs/icons/dnb/digipass_private_medium.js.map +1 -1
- package/cjs/icons/dnb/digitpass_private_corporate.d.ts +3 -0
- package/cjs/icons/dnb/digitpass_private_corporate.js +25 -0
- package/cjs/icons/dnb/digitpass_private_corporate.js.map +1 -0
- package/cjs/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
- package/cjs/icons/dnb/digitpass_private_corporate_medium.js +25 -0
- package/cjs/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
- package/cjs/icons/dnb/goal.d.ts +3 -0
- package/cjs/icons/dnb/goal.js +26 -0
- package/cjs/icons/dnb/goal.js.map +1 -0
- package/cjs/icons/dnb/goal_medium.d.ts +3 -0
- package/cjs/icons/dnb/goal_medium.js +26 -0
- package/cjs/icons/dnb/goal_medium.js.map +1 -0
- package/cjs/icons/dnb/icons-meta.json +132 -4
- package/cjs/icons/dnb/icons-svg.lock +1278 -1096
- package/cjs/icons/dnb/index.d.ts +15 -1
- package/cjs/icons/dnb/index.js +98 -0
- package/cjs/icons/dnb/index.js.map +1 -1
- package/cjs/icons/dnb/information.js +1 -1
- package/cjs/icons/dnb/information.js.map +1 -1
- package/cjs/icons/dnb/investor.d.ts +3 -0
- package/cjs/icons/dnb/investor.js +33 -0
- package/cjs/icons/dnb/investor.js.map +1 -0
- package/cjs/icons/dnb/investor_medium.d.ts +3 -0
- package/cjs/icons/dnb/investor_medium.js +33 -0
- package/cjs/icons/dnb/investor_medium.js.map +1 -0
- package/cjs/icons/dnb/layout_grid.d.ts +3 -0
- package/cjs/icons/dnb/layout_grid.js +34 -0
- package/cjs/icons/dnb/layout_grid.js.map +1 -0
- package/cjs/icons/dnb/layout_grid_medium.d.ts +3 -0
- package/cjs/icons/dnb/layout_grid_medium.js +34 -0
- package/cjs/icons/dnb/layout_grid_medium.js.map +1 -0
- package/cjs/icons/dnb/question.js +1 -1
- package/cjs/icons/dnb/question.js.map +1 -1
- package/cjs/icons/dnb/question_circled.js +1 -1
- package/cjs/icons/dnb/question_circled.js.map +1 -1
- package/cjs/icons/dnb/question_medium.js +1 -1
- package/cjs/icons/dnb/question_medium.js.map +1 -1
- package/cjs/icons/dnb/return_1_medium.js +1 -1
- package/cjs/icons/dnb/return_1_medium.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons.d.ts +8 -1
- package/cjs/icons/dnb/secondary_icons.js +49 -0
- package/cjs/icons/dnb/secondary_icons.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons_medium.d.ts +8 -1
- package/cjs/icons/dnb/secondary_icons_medium.js +49 -0
- package/cjs/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/cjs/icons/dnb/show_pin.d.ts +3 -0
- package/cjs/icons/dnb/show_pin.js +23 -0
- package/cjs/icons/dnb/show_pin.js.map +1 -0
- package/cjs/icons/dnb/show_pin_medium.d.ts +3 -0
- package/cjs/icons/dnb/show_pin_medium.js +23 -0
- package/cjs/icons/dnb/show_pin_medium.js.map +1 -0
- package/cjs/icons/dnb/table.d.ts +3 -0
- package/cjs/icons/dnb/table.js +33 -0
- package/cjs/icons/dnb/table.js.map +1 -0
- package/cjs/icons/dnb/table_medium.d.ts +3 -0
- package/cjs/icons/dnb/table_medium.js +26 -0
- package/cjs/icons/dnb/table_medium.js.map +1 -0
- package/cjs/icons/goal.d.ts +3 -0
- package/cjs/icons/goal.js +11 -0
- package/cjs/icons/goal.js.map +1 -0
- package/cjs/icons/goal_medium.d.ts +3 -0
- package/cjs/icons/goal_medium.js +11 -0
- package/cjs/icons/goal_medium.js.map +1 -0
- package/cjs/icons/index.d.ts +15 -1
- package/cjs/icons/index.js +98 -0
- package/cjs/icons/index.js.map +1 -1
- package/cjs/icons/investor.d.ts +3 -0
- package/cjs/icons/investor.js +11 -0
- package/cjs/icons/investor.js.map +1 -0
- package/cjs/icons/investor_medium.d.ts +3 -0
- package/cjs/icons/investor_medium.js +11 -0
- package/cjs/icons/investor_medium.js.map +1 -0
- package/cjs/icons/layout_grid.d.ts +3 -0
- package/cjs/icons/layout_grid.js +11 -0
- package/cjs/icons/layout_grid.js.map +1 -0
- package/cjs/icons/layout_grid_medium.d.ts +3 -0
- package/cjs/icons/layout_grid_medium.js +11 -0
- package/cjs/icons/layout_grid_medium.js.map +1 -0
- package/cjs/icons/show_pin.d.ts +3 -0
- package/cjs/icons/show_pin.js +11 -0
- package/cjs/icons/show_pin.js.map +1 -0
- package/cjs/icons/show_pin_medium.d.ts +3 -0
- package/cjs/icons/show_pin_medium.js +11 -0
- package/cjs/icons/show_pin_medium.js.map +1 -0
- package/cjs/icons/table.d.ts +3 -0
- package/cjs/icons/table.js +11 -0
- package/cjs/icons/table.js.map +1 -0
- package/cjs/icons/table_medium.d.ts +3 -0
- package/cjs/icons/table_medium.js +11 -0
- package/cjs/icons/table_medium.js.map +1 -0
- 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/style/core/reset.scss +3 -9
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +4 -8
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +4 -8
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +8 -4
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +4 -8
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +4 -0
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +4 -0
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +12 -4
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/components/date-picker/DatePickerCalc.js +1 -1
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/drawer/style/dnb-drawer.css +4 -4
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/drawer/style/dnb-drawer.scss +4 -4
- package/components/dropdown/Dropdown.d.ts +1 -1
- package/components/form-status/FormStatus.js +3 -2
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/heading/HeadingCounter.js +4 -4
- package/components/heading/HeadingCounter.js.map +1 -1
- package/components/input/Input.js +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/radio/Radio.d.ts +1 -1
- package/components/radio/RadioGroup.d.ts +1 -1
- package/components/section/Section.d.ts +1 -1
- package/components/section/Section.js.map +1 -1
- package/components/section/SectionDocs.js +1 -1
- package/components/section/SectionDocs.js.map +1 -1
- package/components/textarea/Textarea.js +8 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/elements/lists/style/lists-mixins.scss +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/es/components/date-picker/DatePickerCalc.js +1 -1
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/drawer/style/dnb-drawer.css +4 -4
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/drawer/style/dnb-drawer.scss +4 -4
- package/es/components/dropdown/Dropdown.d.ts +1 -1
- package/es/components/form-status/FormStatus.js +3 -2
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/heading/HeadingCounter.js +4 -4
- package/es/components/heading/HeadingCounter.js.map +1 -1
- package/es/components/input/Input.js +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/radio/Radio.d.ts +1 -1
- package/es/components/radio/RadioGroup.d.ts +1 -1
- package/es/components/section/Section.d.ts +1 -1
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/SectionDocs.js +1 -1
- package/es/components/section/SectionDocs.js.map +1 -1
- package/es/components/textarea/Textarea.js +8 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/elements/lists/style/lists-mixins.scss +1 -1
- package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/es/extensions/forms/Connectors/Bring/index.js +1 -0
- package/es/extensions/forms/Connectors/Bring/index.js.map +1 -0
- package/es/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
- package/es/extensions/forms/Connectors/Bring/postalCode.js +150 -0
- package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
- package/es/extensions/forms/Connectors/createContext.d.ts +58 -0
- package/es/extensions/forms/Connectors/createContext.js +116 -0
- package/es/extensions/forms/Connectors/createContext.js.map +1 -0
- package/es/extensions/forms/Connectors/index.d.ts +2 -0
- package/es/extensions/forms/Connectors/index.js +3 -0
- package/es/extensions/forms/Connectors/index.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +4 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +25 -14
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Address/Address.d.ts +9 -0
- package/es/extensions/forms/Field/Address/Address.js +51 -0
- package/es/extensions/forms/Field/Address/Address.js.map +1 -0
- package/es/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Address/AddressDocs.js +8 -0
- package/es/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
- package/es/extensions/forms/Field/Address/index.d.ts +2 -0
- package/es/extensions/forms/Field/Address/index.js +3 -0
- package/es/extensions/forms/Field/Address/index.js.map +1 -0
- package/es/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Email/EmailDocs.js +8 -0
- package/es/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
- package/es/extensions/forms/Field/Expiry/Expiry.js +82 -31
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Name/Name.js +2 -2
- package/es/extensions/forms/Field/Name/Name.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Password/PasswordDocs.js +23 -0
- package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +0 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
- package/es/extensions/forms/Iterate/Array/Array.js +7 -2
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Value/Address/Address.d.ts +9 -0
- package/es/extensions/forms/Value/Address/Address.js +31 -0
- package/es/extensions/forms/Value/Address/Address.js.map +1 -0
- package/es/extensions/forms/Value/Address/index.d.ts +2 -0
- package/es/extensions/forms/Value/Address/index.js +3 -0
- package/es/extensions/forms/Value/Address/index.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +1 -0
- package/es/extensions/forms/Value/index.js +1 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +2 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +13 -0
- package/es/extensions/forms/constants/locales/en-GB.js +20 -7
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +13 -0
- package/es/extensions/forms/constants/locales/index.d.ts +26 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +16 -3
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -4
- package/es/extensions/forms/hooks/useFieldProps.js +39 -18
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- 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 +4 -0
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +34 -10
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
- package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/es/icons/calendar_add.d.ts +3 -0
- package/es/icons/calendar_add.js +3 -0
- package/es/icons/calendar_add.js.map +1 -0
- package/es/icons/calendar_add_medium.d.ts +3 -0
- package/es/icons/calendar_add_medium.js +3 -0
- package/es/icons/calendar_add_medium.js.map +1 -0
- package/es/icons/digitpass_private_corporate.d.ts +3 -0
- package/es/icons/digitpass_private_corporate.js +3 -0
- package/es/icons/digitpass_private_corporate.js.map +1 -0
- package/es/icons/digitpass_private_corporate_medium.d.ts +3 -0
- package/es/icons/digitpass_private_corporate_medium.js +3 -0
- package/es/icons/digitpass_private_corporate_medium.js.map +1 -0
- package/es/icons/dnb/calendar_add.d.ts +3 -0
- package/es/icons/dnb/calendar_add.js +23 -0
- package/es/icons/dnb/calendar_add.js.map +1 -0
- package/es/icons/dnb/calendar_add_medium.d.ts +3 -0
- package/es/icons/dnb/calendar_add_medium.js +17 -0
- package/es/icons/dnb/calendar_add_medium.js.map +1 -0
- package/es/icons/dnb/cog_medium.js +1 -1
- package/es/icons/dnb/cog_medium.js.map +1 -1
- package/es/icons/dnb/digipass_corporate.js +3 -3
- package/es/icons/dnb/digipass_corporate.js.map +1 -1
- package/es/icons/dnb/digipass_corporate_medium.js +3 -3
- package/es/icons/dnb/digipass_corporate_medium.js.map +1 -1
- package/es/icons/dnb/digipass_private.js +3 -3
- package/es/icons/dnb/digipass_private.js.map +1 -1
- package/es/icons/dnb/digipass_private_medium.js +3 -3
- package/es/icons/dnb/digipass_private_medium.js.map +1 -1
- package/es/icons/dnb/digitpass_private_corporate.d.ts +3 -0
- package/es/icons/dnb/digitpass_private_corporate.js +17 -0
- package/es/icons/dnb/digitpass_private_corporate.js.map +1 -0
- package/es/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
- package/es/icons/dnb/digitpass_private_corporate_medium.js +17 -0
- package/es/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
- package/es/icons/dnb/goal.d.ts +3 -0
- package/es/icons/dnb/goal.js +18 -0
- package/es/icons/dnb/goal.js.map +1 -0
- package/es/icons/dnb/goal_medium.d.ts +3 -0
- package/es/icons/dnb/goal_medium.js +18 -0
- package/es/icons/dnb/goal_medium.js.map +1 -0
- package/es/icons/dnb/icons-meta.json +132 -4
- package/es/icons/dnb/icons-svg.lock +1278 -1096
- package/es/icons/dnb/index.d.ts +15 -1
- package/es/icons/dnb/index.js +15 -1
- package/es/icons/dnb/index.js.map +1 -1
- package/es/icons/dnb/information.js +1 -1
- package/es/icons/dnb/information.js.map +1 -1
- package/es/icons/dnb/investor.d.ts +3 -0
- package/es/icons/dnb/investor.js +25 -0
- package/es/icons/dnb/investor.js.map +1 -0
- package/es/icons/dnb/investor_medium.d.ts +3 -0
- package/es/icons/dnb/investor_medium.js +25 -0
- package/es/icons/dnb/investor_medium.js.map +1 -0
- package/es/icons/dnb/layout_grid.d.ts +3 -0
- package/es/icons/dnb/layout_grid.js +26 -0
- package/es/icons/dnb/layout_grid.js.map +1 -0
- package/es/icons/dnb/layout_grid_medium.d.ts +3 -0
- package/es/icons/dnb/layout_grid_medium.js +26 -0
- package/es/icons/dnb/layout_grid_medium.js.map +1 -0
- package/es/icons/dnb/question.js +1 -1
- package/es/icons/dnb/question.js.map +1 -1
- package/es/icons/dnb/question_circled.js +1 -1
- package/es/icons/dnb/question_circled.js.map +1 -1
- package/es/icons/dnb/question_medium.js +1 -1
- package/es/icons/dnb/question_medium.js.map +1 -1
- package/es/icons/dnb/return_1_medium.js +1 -1
- package/es/icons/dnb/return_1_medium.js.map +1 -1
- package/es/icons/dnb/secondary_icons.d.ts +8 -1
- package/es/icons/dnb/secondary_icons.js +8 -1
- package/es/icons/dnb/secondary_icons.js.map +1 -1
- package/es/icons/dnb/secondary_icons_medium.d.ts +8 -1
- package/es/icons/dnb/secondary_icons_medium.js +8 -1
- package/es/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/es/icons/dnb/show_pin.d.ts +3 -0
- package/es/icons/dnb/show_pin.js +15 -0
- package/es/icons/dnb/show_pin.js.map +1 -0
- package/es/icons/dnb/show_pin_medium.d.ts +3 -0
- package/es/icons/dnb/show_pin_medium.js +15 -0
- package/es/icons/dnb/show_pin_medium.js.map +1 -0
- package/es/icons/dnb/table.d.ts +3 -0
- package/es/icons/dnb/table.js +25 -0
- package/es/icons/dnb/table.js.map +1 -0
- package/es/icons/dnb/table_medium.d.ts +3 -0
- package/es/icons/dnb/table_medium.js +18 -0
- package/es/icons/dnb/table_medium.js.map +1 -0
- package/es/icons/goal.d.ts +3 -0
- package/es/icons/goal.js +3 -0
- package/es/icons/goal.js.map +1 -0
- package/es/icons/goal_medium.d.ts +3 -0
- package/es/icons/goal_medium.js +3 -0
- package/es/icons/goal_medium.js.map +1 -0
- package/es/icons/index.d.ts +15 -1
- package/es/icons/index.js +15 -1
- package/es/icons/index.js.map +1 -1
- package/es/icons/investor.d.ts +3 -0
- package/es/icons/investor.js +3 -0
- package/es/icons/investor.js.map +1 -0
- package/es/icons/investor_medium.d.ts +3 -0
- package/es/icons/investor_medium.js +3 -0
- package/es/icons/investor_medium.js.map +1 -0
- package/es/icons/layout_grid.d.ts +3 -0
- package/es/icons/layout_grid.js +3 -0
- package/es/icons/layout_grid.js.map +1 -0
- package/es/icons/layout_grid_medium.d.ts +3 -0
- package/es/icons/layout_grid_medium.js +3 -0
- package/es/icons/layout_grid_medium.js.map +1 -0
- package/es/icons/show_pin.d.ts +3 -0
- package/es/icons/show_pin.js +3 -0
- package/es/icons/show_pin.js.map +1 -0
- package/es/icons/show_pin_medium.d.ts +3 -0
- package/es/icons/show_pin_medium.js +3 -0
- package/es/icons/show_pin_medium.js.map +1 -0
- package/es/icons/table.d.ts +3 -0
- package/es/icons/table.js +3 -0
- package/es/icons/table.js.map +1 -0
- package/es/icons/table_medium.d.ts +3 -0
- package/es/icons/table_medium.js +3 -0
- package/es/icons/table_medium.js.map +1 -0
- 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/style/core/reset.scss +3 -9
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +4 -8
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +4 -8
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +8 -4
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +4 -8
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +4 -0
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +4 -0
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +12 -4
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +4 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +4 -0
- 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-icons.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
- package/extensions/forms/Connectors/Bring/index.js +3 -0
- package/extensions/forms/Connectors/Bring/index.js.map +1 -0
- package/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
- package/extensions/forms/Connectors/Bring/postalCode.js +151 -0
- package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
- package/extensions/forms/Connectors/createContext.d.ts +58 -0
- package/extensions/forms/Connectors/createContext.js +119 -0
- package/extensions/forms/Connectors/createContext.js.map +1 -0
- package/extensions/forms/Connectors/index.d.ts +2 -0
- package/extensions/forms/Connectors/index.js +4 -0
- package/extensions/forms/Connectors/index.js.map +1 -0
- package/extensions/forms/DataContext/Context.d.ts +4 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +30 -16
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Address/Address.d.ts +9 -0
- package/extensions/forms/Field/Address/Address.js +51 -0
- package/extensions/forms/Field/Address/Address.js.map +1 -0
- package/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
- package/extensions/forms/Field/Address/AddressDocs.js +8 -0
- package/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
- package/extensions/forms/Field/Address/index.d.ts +2 -0
- package/extensions/forms/Field/Address/index.js +3 -0
- package/extensions/forms/Field/Address/index.js.map +1 -0
- package/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
- package/extensions/forms/Field/Email/EmailDocs.js +8 -0
- package/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
- package/extensions/forms/Field/Expiry/Expiry.js +82 -31
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Name/Name.js +2 -2
- package/extensions/forms/Field/Name/Name.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
- package/extensions/forms/Field/Password/PasswordDocs.js +23 -0
- package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +0 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
- package/extensions/forms/Iterate/Array/Array.js +7 -2
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Value/Address/Address.d.ts +9 -0
- package/extensions/forms/Value/Address/Address.js +31 -0
- package/extensions/forms/Value/Address/Address.js.map +1 -0
- package/extensions/forms/Value/Address/index.d.ts +2 -0
- package/extensions/forms/Value/Address/index.js +3 -0
- package/extensions/forms/Value/Address/index.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +1 -0
- package/extensions/forms/Value/index.js +1 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +2 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +13 -0
- package/extensions/forms/constants/locales/en-GB.js +20 -7
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +13 -0
- package/extensions/forms/constants/locales/index.d.ts +26 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
- package/extensions/forms/constants/locales/nb-NO.js +16 -3
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
- package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +8 -4
- package/extensions/forms/hooks/useFieldProps.js +39 -19
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/index.d.ts +1 -0
- package/extensions/forms/index.js +2 -0
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +4 -0
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +34 -10
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
- package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/icons/calendar_add.d.ts +3 -0
- package/icons/calendar_add.js +3 -0
- package/icons/calendar_add.js.map +1 -0
- package/icons/calendar_add_medium.d.ts +3 -0
- package/icons/calendar_add_medium.js +3 -0
- package/icons/calendar_add_medium.js.map +1 -0
- package/icons/digitpass_private_corporate.d.ts +3 -0
- package/icons/digitpass_private_corporate.js +3 -0
- package/icons/digitpass_private_corporate.js.map +1 -0
- package/icons/digitpass_private_corporate_medium.d.ts +3 -0
- package/icons/digitpass_private_corporate_medium.js +3 -0
- package/icons/digitpass_private_corporate_medium.js.map +1 -0
- package/icons/dnb/calendar_add.d.ts +3 -0
- package/icons/dnb/calendar_add.js +23 -0
- package/icons/dnb/calendar_add.js.map +1 -0
- package/icons/dnb/calendar_add_medium.d.ts +3 -0
- package/icons/dnb/calendar_add_medium.js +17 -0
- package/icons/dnb/calendar_add_medium.js.map +1 -0
- package/icons/dnb/cog_medium.js +1 -1
- package/icons/dnb/cog_medium.js.map +1 -1
- package/icons/dnb/digipass_corporate.js +3 -3
- package/icons/dnb/digipass_corporate.js.map +1 -1
- package/icons/dnb/digipass_corporate_medium.js +3 -3
- package/icons/dnb/digipass_corporate_medium.js.map +1 -1
- package/icons/dnb/digipass_private.js +3 -3
- package/icons/dnb/digipass_private.js.map +1 -1
- package/icons/dnb/digipass_private_medium.js +3 -3
- package/icons/dnb/digipass_private_medium.js.map +1 -1
- package/icons/dnb/digitpass_private_corporate.d.ts +3 -0
- package/icons/dnb/digitpass_private_corporate.js +17 -0
- package/icons/dnb/digitpass_private_corporate.js.map +1 -0
- package/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
- package/icons/dnb/digitpass_private_corporate_medium.js +17 -0
- package/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
- package/icons/dnb/goal.d.ts +3 -0
- package/icons/dnb/goal.js +18 -0
- package/icons/dnb/goal.js.map +1 -0
- package/icons/dnb/goal_medium.d.ts +3 -0
- package/icons/dnb/goal_medium.js +18 -0
- package/icons/dnb/goal_medium.js.map +1 -0
- package/icons/dnb/icons-meta.json +132 -4
- package/icons/dnb/icons-svg.lock +1278 -1096
- package/icons/dnb/index.d.ts +15 -1
- package/icons/dnb/index.js +15 -1
- package/icons/dnb/index.js.map +1 -1
- package/icons/dnb/information.js +1 -1
- package/icons/dnb/information.js.map +1 -1
- package/icons/dnb/investor.d.ts +3 -0
- package/icons/dnb/investor.js +25 -0
- package/icons/dnb/investor.js.map +1 -0
- package/icons/dnb/investor_medium.d.ts +3 -0
- package/icons/dnb/investor_medium.js +25 -0
- package/icons/dnb/investor_medium.js.map +1 -0
- package/icons/dnb/layout_grid.d.ts +3 -0
- package/icons/dnb/layout_grid.js +26 -0
- package/icons/dnb/layout_grid.js.map +1 -0
- package/icons/dnb/layout_grid_medium.d.ts +3 -0
- package/icons/dnb/layout_grid_medium.js +26 -0
- package/icons/dnb/layout_grid_medium.js.map +1 -0
- package/icons/dnb/question.js +1 -1
- package/icons/dnb/question.js.map +1 -1
- package/icons/dnb/question_circled.js +1 -1
- package/icons/dnb/question_circled.js.map +1 -1
- package/icons/dnb/question_medium.js +1 -1
- package/icons/dnb/question_medium.js.map +1 -1
- package/icons/dnb/return_1_medium.js +1 -1
- package/icons/dnb/return_1_medium.js.map +1 -1
- package/icons/dnb/secondary_icons.d.ts +8 -1
- package/icons/dnb/secondary_icons.js +8 -1
- package/icons/dnb/secondary_icons.js.map +1 -1
- package/icons/dnb/secondary_icons_medium.d.ts +8 -1
- package/icons/dnb/secondary_icons_medium.js +8 -1
- package/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/icons/dnb/show_pin.d.ts +3 -0
- package/icons/dnb/show_pin.js +15 -0
- package/icons/dnb/show_pin.js.map +1 -0
- package/icons/dnb/show_pin_medium.d.ts +3 -0
- package/icons/dnb/show_pin_medium.js +15 -0
- package/icons/dnb/show_pin_medium.js.map +1 -0
- package/icons/dnb/table.d.ts +3 -0
- package/icons/dnb/table.js +25 -0
- package/icons/dnb/table.js.map +1 -0
- package/icons/dnb/table_medium.d.ts +3 -0
- package/icons/dnb/table_medium.js +18 -0
- package/icons/dnb/table_medium.js.map +1 -0
- package/icons/goal.d.ts +3 -0
- package/icons/goal.js +3 -0
- package/icons/goal.js.map +1 -0
- package/icons/goal_medium.d.ts +3 -0
- package/icons/goal_medium.js +3 -0
- package/icons/goal_medium.js.map +1 -0
- package/icons/index.d.ts +15 -1
- package/icons/index.js +15 -1
- package/icons/index.js.map +1 -1
- package/icons/investor.d.ts +3 -0
- package/icons/investor.js +3 -0
- package/icons/investor.js.map +1 -0
- package/icons/investor_medium.d.ts +3 -0
- package/icons/investor_medium.js +3 -0
- package/icons/investor_medium.js.map +1 -0
- package/icons/layout_grid.d.ts +3 -0
- package/icons/layout_grid.js +3 -0
- package/icons/layout_grid.js.map +1 -0
- package/icons/layout_grid_medium.d.ts +3 -0
- package/icons/layout_grid_medium.js +3 -0
- package/icons/layout_grid_medium.js.map +1 -0
- package/icons/show_pin.d.ts +3 -0
- package/icons/show_pin.js +3 -0
- package/icons/show_pin.js.map +1 -0
- package/icons/show_pin_medium.d.ts +3 -0
- package/icons/show_pin_medium.js +3 -0
- package/icons/show_pin_medium.js.map +1 -0
- package/icons/table.d.ts +3 -0
- package/icons/table.js +3 -0
- package/icons/table.js.map +1 -0
- package/icons/table_medium.d.ts +3 -0
- package/icons/table_medium.js +3 -0
- package/icons/table_medium.js.map +1 -0
- 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/style/core/reset.scss +3 -9
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +4 -8
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +4 -8
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +8 -4
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +4 -8
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +4 -0
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +4 -0
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +12 -4
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +4 -0
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +4 -0
- 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 +1 -1
- package/umd/dnb-ui-icons.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","outset","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","includes","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the Card should break out negatively on larger screens. You can not use `breakout` and `outset` together.\n * Defaults to `false`\n */\n outset?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = !props.outset,\n outset,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(outset, 'outset', (value) => (value ? '1' : '0')),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n if (String(value).includes('--')) {\n return value\n }\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","outset","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","includes","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the Card should break out negatively on larger screens. You cannot use `breakout` and `outset` together.\n * Defaults to `false`\n */\n outset?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = !props.outset,\n outset,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(outset, 'outset', (value) => (value ? '1' : '0')),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n if (String(value).includes('--')) {\n return value\n }\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export const SectionProperties = {
|
|
|
10
10
|
status: 'optional'
|
|
11
11
|
},
|
|
12
12
|
outset: {
|
|
13
|
-
doc: 'Define if the Card should break out negatively on larger screens. You
|
|
13
|
+
doc: 'Define if the Card should break out negatively on larger screens. You cannot use `breakout` and `outset` together. Defaults to `false`.',
|
|
14
14
|
type: 'boolean',
|
|
15
15
|
status: 'optional'
|
|
16
16
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionDocs.js","names":["SectionProperties","variant","doc","type","status","breakout","outset","outline","roundedCorner","backgroundColor","dropShadow","textColor","innerSpace","innerRef"],"sources":["../../../../src/components/section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type property.',\n type: 'string',\n status: 'optional',\n },\n breakout: {\n doc: 'Use `true` to enable a fullscreen breakout look. Supports also media query breakpoints like `{ small: boolean }`. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n outset: {\n doc: 'Define if the Card should break out negatively on larger screens. You
|
|
1
|
+
{"version":3,"file":"SectionDocs.js","names":["SectionProperties","variant","doc","type","status","breakout","outset","outline","roundedCorner","backgroundColor","dropShadow","textColor","innerSpace","innerRef"],"sources":["../../../../src/components/section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type property.',\n type: 'string',\n status: 'optional',\n },\n breakout: {\n doc: 'Use `true` to enable a fullscreen breakout look. Supports also media query breakpoints like `{ small: boolean }`. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n outset: {\n doc: 'Define if the Card should break out negatively on larger screens. You cannot use `breakout` and `outset` together. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n outline: {\n doc: \"Define a custom border color. If `true` is given, `color-black-8` is used. Use a Eufemia color. Supports also media query breakpoints like `{ small: 'black-8' }`.\",\n type: 'string',\n status: 'optional',\n },\n roundedCorner: {\n doc: 'Use `true` to enable rounded corners (border-radius). Supports also media query breakpoints like `{ small: boolean }`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n backgroundColor: {\n doc: \"Define a custom background color, instead of a variant. Use a Eufemia color. Supports also media query breakpoints like `{ small: 'white' }`.\",\n type: 'string',\n status: 'optional',\n },\n dropShadow: {\n doc: 'Use `true` to show the default Eufemia DropShadow. Supports also media query breakpoints like `{ small: true }`.',\n type: 'boolean',\n status: 'optional',\n },\n textColor: {\n doc: \"Define a custom text color to compliment the backgroundColor. Use a Eufemia color. Supports also media query breakpoints like `{ small: 'black-80' }`.\",\n type: 'string',\n status: 'optional',\n },\n innerSpace: {\n doc: \"Will add a padding around the content. Supports also media query breakpoints like `{small: { top: 'medium' }}`.\",\n type: 'string',\n status: 'optional',\n },\n innerRef: {\n doc: 'By providing a React Ref we can get the internally used element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.',\n type: 'React.Ref',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAuC,GAAG;EACrDC,OAAO,EAAE;IACPC,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,uIAAuI;IAC5IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,oKAAoK;IACzKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,aAAa,EAAE;IACbN,GAAG,EAAE,6IAA6I;IAClJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,eAAe,EAAE;IACfP,GAAG,EAAE,+IAA+I;IACpJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,UAAU,EAAE;IACVR,GAAG,EAAE,kHAAkH;IACvHC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,wJAAwJ;IAC7JC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,iHAAiH;IACtHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRX,GAAG,EAAE,mJAAmJ;IACxJC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -188,7 +188,14 @@ export default class Textarea extends React.PureComponent {
|
|
|
188
188
|
if (isTrue(props.autoresize) && typeof window !== 'undefined') {
|
|
189
189
|
this.setAutosize();
|
|
190
190
|
try {
|
|
191
|
-
this.resizeObserver = new ResizeObserver(
|
|
191
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
|
192
|
+
window.requestAnimationFrame(() => {
|
|
193
|
+
if (!Array.isArray(entries) || !entries.length) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this.setAutosize();
|
|
197
|
+
});
|
|
198
|
+
});
|
|
192
199
|
this.resizeObserver.observe(document.body);
|
|
193
200
|
} catch (e) {
|
|
194
201
|
window.addEventListener('resize', this.setAutosize);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","TextCounter","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","convertJsxToString","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","getProps","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","createRef","_id","id","navigator","resizeModifier","test","userAgent","platform","error","console","componentDidMount","inner_ref","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","render","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","keepPlaceholder","align","size","textarea_class","readOnly","textarea_attributes","className","characterCounter","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","top","max","lang","locale","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","variant","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport TextCounter from '../../fragments/text-counter/TextCounter'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.node,\n keepPlaceholder: PropTypes.bool,\n align: PropTypes.oneOf(['left', 'right']),\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n characterCounter: PropTypes.oneOfType([\n PropTypes.shape({\n max: PropTypes.number,\n variant: PropTypes.oneOf(['down', 'up']),\n }),\n PropTypes.number,\n ]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n keepPlaceholder: null,\n align: null,\n size: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n characterCounter: null,\n textarea_class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n\n try {\n if (typeof navigator !== 'undefined') {\n this.resizeModifier =\n /Firefox|Edg/.test(navigator.userAgent) ||\n (/Chrome/.test(navigator.userAgent) &&\n /Win/.test(navigator.platform))\n ? 'large'\n : false\n\n if (!this.resizeModifier) {\n this.resizeModifier =\n /Safari|Chrome/.test(navigator.userAgent) &&\n /Mac/.test(navigator.platform)\n ? 'medium'\n : false\n }\n }\n } catch (error) {\n console.error(error)\n }\n }\n componentDidMount() {\n const props = this.getProps()\n if (props.inner_ref) {\n typeof props.inner_ref === 'function'\n ? props.inner_ref(this._ref.current)\n : (props.inner_ref.current = this._ref.current)\n }\n\n if (isTrue(props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n const props = this.getProps()\n const autoresize = isTrue(props.autoresize)\n\n if (autoresize) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value })\n if (autoresize) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const props = this.getProps()\n const maxRows = parseFloat(props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n getProps() {\n return extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n keepPlaceholder,\n align,\n size,\n textarea_class,\n readOnly,\n textarea_attributes,\n className,\n autoresize,\n characterCounter,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames(\n 'dnb-textarea__textarea',\n 'dnb-input__border',\n textarea_class\n ),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n name: id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n 'aria-placeholder': placeholder\n ? convertJsxToString(placeholder)\n : undefined,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n disabled && 'dnb-textarea--disabled',\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n size && `dnb-textarea__size--${size}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n !autoresize &&\n this.resizeModifier &&\n `dnb-textarea__resize--${this.resizeModifier}`,\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n isTrue(keepPlaceholder) && `dnb-textarea--keep-placeholder`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(props.rows),\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {!hasValue &&\n placeholder &&\n (textareaState !== 'focus' || keepPlaceholder) && (\n <span\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {characterCounter && (\n <TextCounter\n top=\"x-small\"\n text={value}\n max={characterCounter}\n lang={props.lang}\n locale={props.locale}\n {...characterCounter}\n />\n )}\n </span>\n </span>\n )\n }\n}\n\nTextarea._formElement = true\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":["React","PropTypes","classnames","FormLabel","FormStatus","TextCounter","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","combineDescribedBy","warn","dispatchCustomElementEvent","convertJsxToString","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","Textarea","PureComponent","getDerivedStateFromProps","props","state","value","getValue","_value","on_state_update","textarea_state","textareaState","hasValue","String","length","constructor","_this","this","_defineProperty","event","_ref","current","setState","target","getProps","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","arguments","undefined","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","createRef","_id","id","navigator","resizeModifier","test","userAgent","platform","error","console","componentDidMount","inner_ref","window","resizeObserver","ResizeObserver","entries","requestAnimationFrame","Array","isArray","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","render","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","keepPlaceholder","align","size","textarea_class","readOnly","textarea_attributes","className","characterCounter","children","textarea_element","_textarea_element","attributes","_objectWithoutProperties","_excluded","showStatus","TextareaElement","textareaAttributes","JSON","parse","textareaParams","_objectSpread","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","mainParams","innerParams","shellParams","placeholderStyle","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","_span","top","max","lang","locale","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","variant","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport TextCounter from '../../fragments/text-counter/TextCounter'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.node,\n keepPlaceholder: PropTypes.bool,\n align: PropTypes.oneOf(['left', 'right']),\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n characterCounter: PropTypes.oneOfType([\n PropTypes.shape({\n max: PropTypes.number,\n variant: PropTypes.oneOf(['down', 'up']),\n }),\n PropTypes.number,\n ]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n keepPlaceholder: null,\n align: null,\n size: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n characterCounter: null,\n textarea_class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n\n try {\n if (typeof navigator !== 'undefined') {\n this.resizeModifier =\n /Firefox|Edg/.test(navigator.userAgent) ||\n (/Chrome/.test(navigator.userAgent) &&\n /Win/.test(navigator.platform))\n ? 'large'\n : false\n\n if (!this.resizeModifier) {\n this.resizeModifier =\n /Safari|Chrome/.test(navigator.userAgent) &&\n /Mac/.test(navigator.platform)\n ? 'medium'\n : false\n }\n }\n } catch (error) {\n console.error(error)\n }\n }\n componentDidMount() {\n const props = this.getProps()\n if (props.inner_ref) {\n typeof props.inner_ref === 'function'\n ? props.inner_ref(this._ref.current)\n : (props.inner_ref.current = this._ref.current)\n }\n\n if (isTrue(props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n if (!Array.isArray(entries) || !entries.length) {\n return\n }\n this.setAutosize()\n })\n })\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n const props = this.getProps()\n const autoresize = isTrue(props.autoresize)\n\n if (autoresize) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value })\n if (autoresize) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const props = this.getProps()\n const maxRows = parseFloat(props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n getProps() {\n return extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Textarea\n )\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n keepPlaceholder,\n align,\n size,\n textarea_class,\n readOnly,\n textarea_attributes,\n className,\n autoresize,\n characterCounter,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames(\n 'dnb-textarea__textarea',\n 'dnb-input__border',\n textarea_class\n ),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n name: id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n 'aria-placeholder': placeholder\n ? convertJsxToString(placeholder)\n : undefined,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n disabled && 'dnb-textarea--disabled',\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n size && `dnb-textarea__size--${size}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n !autoresize &&\n this.resizeModifier &&\n `dnb-textarea__resize--${this.resizeModifier}`,\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n isTrue(keepPlaceholder) && `dnb-textarea--keep-placeholder`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(props.rows),\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {!hasValue &&\n placeholder &&\n (textareaState !== 'focus' || keepPlaceholder) && (\n <span\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {characterCounter && (\n <TextCounter\n top=\"x-small\"\n text={value}\n max={characterCounter}\n lang={props.lang}\n locale={props.locale}\n {...characterCounter}\n />\n )}\n </span>\n </span>\n )\n }\n}\n\nTextarea._formElement = true\nTextarea._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
--dt-max-width: 40%;
|
|
152
152
|
--dd-max-width: calc(60% - 1rem); // minus margin-right and the gap
|
|
153
153
|
|
|
154
|
-
// We
|
|
154
|
+
// We cannot use gap: 0.5rem because of our wrapper "__item"
|
|
155
155
|
display: flex;
|
|
156
156
|
flex-wrap: wrap;
|
|
157
157
|
max-width: 60ch; // to enhance readability
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
|
|
163
163
|
// input-button
|
|
164
164
|
&--input-button#{&}--secondary:not(&--has-text):not([disabled]) {
|
|
165
|
-
// Because we
|
|
165
|
+
// Because we cannot anymore have a square, we have to trick that part
|
|
166
166
|
background-color: transparent;
|
|
167
167
|
box-shadow: none;
|
|
168
168
|
|
|
@@ -120,7 +120,7 @@ function isWithinSelectionCalc(date, startDate, endDate) {
|
|
|
120
120
|
}) : false;
|
|
121
121
|
}
|
|
122
122
|
function isDisabledCalc(date, minDate, maxDate) {
|
|
123
|
-
return minDate && isBefore(date, startOfDay(minDate)) || maxDate && isAfter(date, startOfDay(maxDate));
|
|
123
|
+
return minDate && isBefore(startOfDay(date), startOfDay(minDate)) || maxDate && isAfter(startOfDay(date), startOfDay(maxDate));
|
|
124
124
|
}
|
|
125
125
|
export { isDisabledCalc as isDisabled };
|
|
126
126
|
function isStartDateCalc(date, range) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","length","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't supplied\n return (\n (minDate && isBefore(date, startOfDay(minDate))) ||\n (maxDate && isAfter(date, startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","length","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't provided\n\n return (\n (minDate && isBefore(startOfDay(date), startOfDay(minDate))) ||\n (maxDate && isAfter(startOfDay(date), startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
}
|
|
95
95
|
.dnb-drawer {
|
|
96
96
|
--drawer-width: 40vw;
|
|
97
|
-
--drawer-min-width:
|
|
97
|
+
--drawer-min-width: 384px;
|
|
98
98
|
--drawer-max-width: 40rem;
|
|
99
99
|
--drawer-spacing: 2rem;
|
|
100
100
|
--drawer-spacing-minus: -2rem;
|
|
@@ -117,9 +117,9 @@
|
|
|
117
117
|
}
|
|
118
118
|
@media screen and (max-width: 40em) {
|
|
119
119
|
.dnb-drawer {
|
|
120
|
-
width: 100vw;
|
|
121
|
-
min-width: none;
|
|
122
|
-
max-width: none;
|
|
120
|
+
--drawer-width: 100vw;
|
|
121
|
+
--drawer-min-width: none;
|
|
122
|
+
--drawer-max-width: none;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
@media screen and (max-width: 40em) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes show-modal{0%{opacity:.1;transform:translate3d(0,-1rem,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hide-modal{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,1rem,0)}}@keyframes show-drawer{to{opacity:1;transform:translateZ(0)}}@keyframes hide-drawer-left{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-20rem,0,0)}}@keyframes hide-drawer-top{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20rem,0)}}@keyframes hide-drawer-bottom{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,20rem,0)}}@keyframes hide-drawer-right{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(20rem,0,0)}}@keyframes show-modal-overlay{0%{opacity:0}to{opacity:1}}@keyframes hide-modal-overlay{0%{opacity:1}to{opacity:0}}.dnb-drawer{--drawer-width:40vw;--drawer-min-width:
|
|
1
|
+
@keyframes show-modal{0%{opacity:.1;transform:translate3d(0,-1rem,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hide-modal{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,1rem,0)}}@keyframes show-drawer{to{opacity:1;transform:translateZ(0)}}@keyframes hide-drawer-left{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-20rem,0,0)}}@keyframes hide-drawer-top{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20rem,0)}}@keyframes hide-drawer-bottom{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,20rem,0)}}@keyframes hide-drawer-right{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(20rem,0,0)}}@keyframes show-modal-overlay{0%{opacity:0}to{opacity:1}}@keyframes hide-modal-overlay{0%{opacity:1}to{opacity:0}}.dnb-drawer{--drawer-width:40vw;--drawer-min-width:384px;--drawer-max-width:40rem;--drawer-spacing:2rem;--drawer-spacing-minus:-2rem;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none;border-radius:0;box-shadow:none;box-shadow:var(--shadow-default);height:100vh;max-height:100vh;max-width:100%;max-width:var(--drawer-max-width);min-width:var(--drawer-min-width);position:relative;-webkit-user-select:text;user-select:text;width:100%;width:var(--drawer-width)}@media screen and (max-width:40em){.dnb-drawer{--drawer-width:100vw;--drawer-min-width:none;--drawer-max-width:none}.dnb-drawer--auto-fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}}.dnb-drawer__inner{background-color:var(--modal-background-color,transparent);display:flex;flex-direction:column;height:calc(100% - var(--header-height, 0));position:relative;width:100%;z-index:10}.dnb-drawer__align--centered .dnb-drawer__inner{align-items:center;justify-content:center}.dnb-drawer__content{position:relative;z-index:1}.dnb-drawer--spacing .dnb-drawer__content{padding:0 var(--drawer-spacing)}@media screen and (min-width:80.00625em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer__align--center .dnb-drawer__content{align-items:center;text-align:center}.dnb-drawer__align--right .dnb-drawer__content{align-items:flex-end;text-align:right}.dnb-drawer--bottom,.dnb-drawer--top{height:40vh;max-width:100%;width:100vw}@media screen and (max-height:40em){.dnb-drawer--bottom,.dnb-drawer--top{height:100vw;max-height:auto;min-height:auto}}.dnb-drawer--fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}html:not([data-visual-test]) .dnb-drawer{animation:show-drawer var(--modal-animation-duration) ease-out forwards;opacity:.1}html:not([data-visual-test]) .dnb-drawer--left{transform:translate3d(-20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--right{transform:translate3d(20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--top{transform:translate3d(0,-20rem,0)}html:not([data-visual-test]) .dnb-drawer--bottom{transform:translate3d(0,20rem,0)}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--left{animation:hide-drawer-left var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--right{animation:hide-drawer-right var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--top{animation:hide-drawer-top var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom{animation:hide-drawer-bottom var(--modal-animation-duration) ease-in-out forwards}.dnb-drawer--no-animation{animation-duration:0ms!important}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-duration:0ms!important}}.dnb-drawer__root{align-items:flex-start;justify-content:flex-start}@media screen and (max-width:60em){.dnb-drawer__title{font-size:var(--font-size-large)!important;line-height:var(--line-height-medium)!important}}.dnb-drawer__title~.dnb-drawer__content{padding-top:calc(var(--drawer-spacing)/1.33333)}.dnb-drawer .dnb-drawer__header .dnb-drawer__title,.dnb-drawer .dnb-drawer__header [class*=dnb-h--]{padding:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__top]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__top]){margin-top:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__bottom]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__bottom]){margin-bottom:0}.dnb-drawer .dnb-drawer__header:after{height:600%;top:-500%}.dnb-drawer--spacing .dnb-drawer__header{padding:0 var(--drawer-spacing)}@media screen and (min-width:80.00625em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__header .dnb-tabs{margin-top:var(--drawer-spacing)}.dnb-drawer__body{margin-bottom:calc(var(--drawer-spacing-minus)*2);padding-bottom:calc(var(--drawer-spacing)*2)}@supports (-webkit-touch-callout:none){.dnb-drawer__body{padding-bottom:calc(var(--drawer-spacing-minus)*8)}}.dnb-drawer__navigation.dnb-section{display:flex;flex-direction:row;justify-content:space-between}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{left:0;margin:var(--drawer-spacing) 0;padding:0 var(--drawer-spacing);position:sticky;top:0;z-index:99}@media screen and (min-width:80.00625em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section.dnb-drawer__navigation--sticky{z-index:2999}.dnb-drawer .dnb-drawer__navigation--sticky:before{bottom:0;box-shadow:var(--shadow-default);content:"";height:300%;left:0;position:absolute;right:0;z-index:-1}.dnb-drawer .dnb-drawer__navigation:not(.dnb-drawer__navigation--sticky):after{color:transparent}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-delay:0ms!important;animation-duration:0ms!important}}[data-visual-test].hide-page-content #___gatsby{opacity:0}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
.dnb-drawer {
|
|
26
26
|
--drawer-width: 40vw;
|
|
27
|
-
--drawer-min-width:
|
|
27
|
+
--drawer-min-width: 384px; // (24rem) Use px so a larger font-size will not make the drawer too small
|
|
28
28
|
--drawer-max-width: 40rem;
|
|
29
29
|
--drawer-spacing: 2rem; // should reflect --spacing-large
|
|
30
30
|
--drawer-spacing-minus: -2rem; // should reflect --spacing-large
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
max-width: var(--drawer-max-width);
|
|
39
39
|
|
|
40
40
|
@include allBelow(small) {
|
|
41
|
-
width: 100vw;
|
|
42
|
-
min-width: none;
|
|
43
|
-
max-width: none;
|
|
41
|
+
--drawer-width: 100vw;
|
|
42
|
+
--drawer-min-width: none;
|
|
43
|
+
--drawer-max-width: none;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
@include defaultDropShadow();
|
|
@@ -56,7 +56,7 @@ export interface DropdownProps {
|
|
|
56
56
|
*/
|
|
57
57
|
status?: FormStatusText;
|
|
58
58
|
/**
|
|
59
|
-
* Defines the state of the status.
|
|
59
|
+
* Defines the state of the status. It's two statuses `[error, info]`. Defaults to `error`.
|
|
60
60
|
*/
|
|
61
61
|
status_state?: FormStatusState;
|
|
62
62
|
/**
|
|
@@ -116,6 +116,7 @@ export default class FormStatus extends React.PureComponent {
|
|
|
116
116
|
const {
|
|
117
117
|
state,
|
|
118
118
|
text,
|
|
119
|
+
children,
|
|
119
120
|
globalStatus,
|
|
120
121
|
label
|
|
121
122
|
} = this.getProps(context);
|
|
@@ -124,7 +125,7 @@ export default class FormStatus extends React.PureComponent {
|
|
|
124
125
|
status_id: this.getStatusId(),
|
|
125
126
|
item: {
|
|
126
127
|
item_id: this.state.id,
|
|
127
|
-
text: (globalStatus === null || globalStatus === void 0 ? void 0 : globalStatus.message) || text,
|
|
128
|
+
text: (globalStatus === null || globalStatus === void 0 ? void 0 : globalStatus.message) || text || children,
|
|
128
129
|
status_anchor_label: label,
|
|
129
130
|
status_anchor_url: true
|
|
130
131
|
}
|
|
@@ -184,7 +185,7 @@ export default class FormStatus extends React.PureComponent {
|
|
|
184
185
|
status_id,
|
|
185
186
|
item: {
|
|
186
187
|
item_id: this.state.id,
|
|
187
|
-
text: (globalStatus === null || globalStatus === void 0 ? void 0 : globalStatus.message) || text,
|
|
188
|
+
text: (globalStatus === null || globalStatus === void 0 ? void 0 : globalStatus.message) || text || children,
|
|
188
189
|
status_anchor_label: label,
|
|
189
190
|
status_anchor_url: true
|
|
190
191
|
}
|