@dnb/eufemia 10.15.1 → 10.16.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 +43 -0
- package/assets/icons/dnb/browser.svg +1 -0
- package/assets/icons/dnb/browser_medium.svg +1 -0
- package/assets/icons/dnb/coins_1.svg +1 -1
- package/assets/icons/dnb/coins_1_medium.svg +1 -1
- package/assets/icons/dnb/digipass_corporate.svg +1 -0
- package/assets/icons/dnb/digipass_corporate_medium.svg +1 -0
- package/assets/icons/dnb/digipass_private.svg +1 -0
- package/assets/icons/dnb/digipass_private_medium.svg +1 -0
- package/assets/icons/dnb/envelope_open.svg +1 -0
- package/assets/icons/dnb/envelope_open_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/laptop.svg +1 -0
- package/assets/icons/dnb/laptop_medium.svg +1 -0
- package/assets/icons/dnb/mobile.svg +1 -0
- package/assets/icons/dnb/mobile_medium.svg +1 -0
- package/assets/icons/dnb/money_left.svg +1 -0
- package/assets/icons/dnb/money_left_medium.svg +1 -0
- package/assets/icons/dnb/scan.svg +1 -1
- package/assets/icons/dnb/scan_medium.svg +1 -1
- package/assets/icons/dnb/teenager.svg +1 -0
- package/assets/icons/dnb/teenager_medium.svg +1 -0
- package/cjs/components/anchor/style/anchor-mixins.scss +8 -6
- package/cjs/components/anchor/style/dnb-anchor.css +28 -8
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/card/Card.d.ts +1 -1
- package/cjs/components/card/Card.js +48 -9
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +0 -20
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +0 -20
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/cjs/components/date-picker/DatePicker.d.ts +5 -1
- package/cjs/components/date-picker/DatePicker.js +4 -2
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +20 -6
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +2 -2
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/cjs/components/flex/Container.d.ts +2 -4
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Item.d.ts +2 -3
- package/cjs/components/flex/Item.js +2 -1
- package/cjs/components/flex/Item.js.map +1 -1
- package/cjs/components/input/Input.d.ts +3 -2
- package/cjs/components/input-masked/InputMaskedHooks.js +5 -5
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/cjs/components/input-masked/InputMaskedUtils.js +9 -7
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
- package/cjs/components/input-masked/MultiInputMask.js +4 -2
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/TextMask.js +15 -4
- package/cjs/components/input-masked/TextMask.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +3 -0
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.js +93 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js +0 -1
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/section/Section.d.ts +7 -0
- package/cjs/components/section/Section.js +11 -12
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +6 -4
- package/cjs/components/section/style/dnb-section.min.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +7 -4
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +11 -1
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/cjs/components/textarea/Textarea.js +4 -9
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/cjs/components/tooltip/style/dnb-tooltip.css +1 -0
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/cjs/components/upload/types.d.ts +1 -1
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +3 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +7 -5
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +69 -30
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +59 -50
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
- package/cjs/extensions/forms/Field/String/String.js +13 -8
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +98 -48
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +42 -25
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +12 -2
- package/cjs/extensions/forms/types.js +1 -1
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/icons/browser.d.ts +3 -0
- package/cjs/icons/browser.js +11 -0
- package/cjs/icons/browser.js.map +1 -0
- package/cjs/icons/browser_medium.d.ts +3 -0
- package/cjs/icons/browser_medium.js +11 -0
- package/cjs/icons/browser_medium.js.map +1 -0
- package/cjs/icons/digipass_corporate.d.ts +3 -0
- package/cjs/icons/digipass_corporate.js +11 -0
- package/cjs/icons/digipass_corporate.js.map +1 -0
- package/cjs/icons/digipass_corporate_medium.d.ts +3 -0
- package/cjs/icons/digipass_corporate_medium.js +11 -0
- package/cjs/icons/digipass_corporate_medium.js.map +1 -0
- package/cjs/icons/digipass_private.d.ts +3 -0
- package/cjs/icons/digipass_private.js +11 -0
- package/cjs/icons/digipass_private.js.map +1 -0
- package/cjs/icons/digipass_private_medium.d.ts +3 -0
- package/cjs/icons/digipass_private_medium.js +11 -0
- package/cjs/icons/digipass_private_medium.js.map +1 -0
- package/cjs/icons/dnb/browser.d.ts +3 -0
- package/cjs/icons/dnb/browser.js +25 -0
- package/cjs/icons/dnb/browser.js.map +1 -0
- package/cjs/icons/dnb/browser_medium.d.ts +3 -0
- package/cjs/icons/dnb/browser_medium.js +25 -0
- package/cjs/icons/dnb/browser_medium.js.map +1 -0
- package/cjs/icons/dnb/coins_1.js +1 -1
- package/cjs/icons/dnb/coins_1.js.map +1 -1
- package/cjs/icons/dnb/coins_1_medium.js +1 -1
- package/cjs/icons/dnb/coins_1_medium.js.map +1 -1
- package/cjs/icons/dnb/digipass_corporate.d.ts +3 -0
- package/cjs/icons/dnb/digipass_corporate.js +25 -0
- package/cjs/icons/dnb/digipass_corporate.js.map +1 -0
- package/cjs/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/cjs/icons/dnb/digipass_corporate_medium.js +25 -0
- package/cjs/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/cjs/icons/dnb/digipass_private.d.ts +3 -0
- package/cjs/icons/dnb/digipass_private.js +25 -0
- package/cjs/icons/dnb/digipass_private.js.map +1 -0
- package/cjs/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/cjs/icons/dnb/digipass_private_medium.js +25 -0
- package/cjs/icons/dnb/digipass_private_medium.js.map +1 -0
- package/cjs/icons/dnb/envelope_open.d.ts +3 -0
- package/cjs/icons/dnb/envelope_open.js +26 -0
- package/cjs/icons/dnb/envelope_open.js.map +1 -0
- package/cjs/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/cjs/icons/dnb/envelope_open_medium.js +26 -0
- package/cjs/icons/dnb/envelope_open_medium.js.map +1 -0
- package/cjs/icons/dnb/icons-meta.json +230 -20
- package/cjs/icons/dnb/icons-svg.lock +1272 -1064
- package/cjs/icons/dnb/index.d.ts +17 -1
- package/cjs/icons/dnb/index.js +112 -0
- package/cjs/icons/dnb/index.js.map +1 -1
- package/cjs/icons/dnb/laptop.d.ts +3 -0
- package/cjs/icons/dnb/laptop.js +26 -0
- package/cjs/icons/dnb/laptop.js.map +1 -0
- package/cjs/icons/dnb/laptop_medium.d.ts +3 -0
- package/cjs/icons/dnb/laptop_medium.js +26 -0
- package/cjs/icons/dnb/laptop_medium.js.map +1 -0
- package/cjs/icons/dnb/mobile.d.ts +3 -0
- package/cjs/icons/dnb/mobile.js +23 -0
- package/cjs/icons/dnb/mobile.js.map +1 -0
- package/cjs/icons/dnb/mobile_medium.d.ts +3 -0
- package/cjs/icons/dnb/mobile_medium.js +23 -0
- package/cjs/icons/dnb/mobile_medium.js.map +1 -0
- package/cjs/icons/dnb/money_left.d.ts +3 -0
- package/cjs/icons/dnb/money_left.js +25 -0
- package/cjs/icons/dnb/money_left.js.map +1 -0
- package/cjs/icons/dnb/money_left_medium.d.ts +3 -0
- package/cjs/icons/dnb/money_left_medium.js +26 -0
- package/cjs/icons/dnb/money_left_medium.js.map +1 -0
- package/cjs/icons/dnb/scan.js +5 -2
- package/cjs/icons/dnb/scan.js.map +1 -1
- package/cjs/icons/dnb/scan_medium.js +8 -12
- package/cjs/icons/dnb/scan_medium.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons.d.ts +9 -1
- package/cjs/icons/dnb/secondary_icons.js +56 -0
- package/cjs/icons/dnb/secondary_icons.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/cjs/icons/dnb/secondary_icons_medium.js +56 -0
- package/cjs/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/cjs/icons/dnb/teenager.d.ts +3 -0
- package/cjs/icons/dnb/teenager.js +26 -0
- package/cjs/icons/dnb/teenager.js.map +1 -0
- package/cjs/icons/dnb/teenager_medium.d.ts +3 -0
- package/cjs/icons/dnb/teenager_medium.js +26 -0
- package/cjs/icons/dnb/teenager_medium.js.map +1 -0
- package/cjs/icons/envelope_open.d.ts +3 -0
- package/cjs/icons/envelope_open.js +11 -0
- package/cjs/icons/envelope_open.js.map +1 -0
- package/cjs/icons/envelope_open_medium.d.ts +3 -0
- package/cjs/icons/envelope_open_medium.js +11 -0
- package/cjs/icons/envelope_open_medium.js.map +1 -0
- package/cjs/icons/index.d.ts +17 -1
- package/cjs/icons/index.js +112 -0
- package/cjs/icons/index.js.map +1 -1
- package/cjs/icons/laptop.d.ts +3 -0
- package/cjs/icons/laptop.js +11 -0
- package/cjs/icons/laptop.js.map +1 -0
- package/cjs/icons/laptop_medium.d.ts +3 -0
- package/cjs/icons/laptop_medium.js +11 -0
- package/cjs/icons/laptop_medium.js.map +1 -0
- package/cjs/icons/mobile.d.ts +3 -0
- package/cjs/icons/mobile.js +11 -0
- package/cjs/icons/mobile.js.map +1 -0
- package/cjs/icons/mobile_medium.d.ts +3 -0
- package/cjs/icons/mobile_medium.js +11 -0
- package/cjs/icons/mobile_medium.js.map +1 -0
- package/cjs/icons/money_left.d.ts +3 -0
- package/cjs/icons/money_left.js +11 -0
- package/cjs/icons/money_left.js.map +1 -0
- package/cjs/icons/money_left_medium.d.ts +3 -0
- package/cjs/icons/money_left_medium.js +11 -0
- package/cjs/icons/money_left_medium.js.map +1 -0
- package/cjs/icons/teenager.d.ts +3 -0
- package/cjs/icons/teenager.js +11 -0
- package/cjs/icons/teenager.js.map +1 -0
- package/cjs/icons/teenager_medium.d.ts +3 -0
- package/cjs/icons/teenager_medium.js +11 -0
- package/cjs/icons/teenager_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/shared/component-helper.d.ts +1 -0
- package/cjs/shared/component-helper.js +6 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/dnb-ui-components.css +84 -63
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-extensions.css +42 -25
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +42 -25
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +14 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +166 -91
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +14 -2
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +42 -25
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +42 -25
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/anchor/style/anchor-mixins.scss +8 -6
- package/components/anchor/style/dnb-anchor.css +28 -8
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/card/Card.d.ts +1 -1
- package/components/card/Card.js +46 -9
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +0 -20
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +0 -20
- package/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/components/date-picker/DatePicker.d.ts +5 -1
- package/components/date-picker/DatePicker.js +4 -2
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +20 -6
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +2 -2
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/components/flex/Container.d.ts +2 -4
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Item.d.ts +2 -3
- package/components/flex/Item.js +2 -1
- package/components/flex/Item.js.map +1 -1
- package/components/input/Input.d.ts +3 -2
- package/components/input-masked/InputMaskedHooks.js +6 -6
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/components/input-masked/InputMaskedUtils.js +9 -7
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +1 -1
- package/components/input-masked/MultiInputMask.js +4 -2
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/TextMask.js +15 -4
- package/components/input-masked/TextMask.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +3 -0
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/components/input-masked/text-mask/InputModeNumber.js +84 -0
- package/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/components/radio/RadioGroup.js +0 -1
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/section/Section.d.ts +7 -0
- package/components/section/Section.js +10 -12
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +6 -4
- package/components/section/style/dnb-section.min.css +1 -1
- package/components/section/style/dnb-section.scss +7 -4
- package/components/section/style/themes/dnb-section-theme-ui.css +11 -1
- package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/components/textarea/Textarea.js +4 -9
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/components/tooltip/style/dnb-tooltip.css +1 -0
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/components/upload/types.d.ts +1 -1
- package/components/upload/types.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +8 -6
- package/es/components/anchor/style/dnb-anchor.css +28 -8
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/card/Card.d.ts +1 -1
- package/es/components/card/Card.js +46 -9
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +0 -20
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +0 -20
- package/es/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/es/components/date-picker/DatePicker.d.ts +5 -1
- package/es/components/date-picker/DatePicker.js +4 -2
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +20 -6
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +2 -2
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +2 -2
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/es/components/flex/Container.d.ts +2 -4
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Item.d.ts +2 -3
- package/es/components/flex/Item.js +2 -1
- package/es/components/flex/Item.js.map +1 -1
- package/es/components/input/Input.d.ts +3 -2
- package/es/components/input-masked/InputMaskedHooks.js +6 -6
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/es/components/input-masked/InputMaskedUtils.js +9 -7
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +1 -1
- package/es/components/input-masked/MultiInputMask.js +4 -2
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/TextMask.js +15 -4
- package/es/components/input-masked/TextMask.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +3 -0
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/es/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/es/components/input-masked/text-mask/InputModeNumber.js +84 -0
- package/es/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/es/components/radio/RadioGroup.js +0 -1
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/section/Section.d.ts +7 -0
- package/es/components/section/Section.js +10 -12
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +6 -4
- package/es/components/section/style/dnb-section.min.css +1 -1
- package/es/components/section/style/dnb-section.scss +7 -4
- package/es/components/section/style/themes/dnb-section-theme-ui.css +11 -1
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/es/components/textarea/Textarea.js +4 -9
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/es/components/tooltip/style/dnb-tooltip.css +1 -0
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/es/components/upload/types.d.ts +1 -1
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +3 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +7 -5
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +59 -21
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +58 -50
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/es/extensions/forms/Field/String/String.d.ts +1 -0
- package/es/extensions/forms/Field/String/String.js +13 -7
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/es/extensions/forms/Form/Handler/Handler.js +2 -2
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/es/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/es/extensions/forms/hooks/useDataValue.js +94 -45
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +42 -25
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +12 -2
- package/es/extensions/forms/types.js +1 -1
- package/es/extensions/forms/types.js.map +1 -1
- package/es/icons/browser.d.ts +3 -0
- package/es/icons/browser.js +3 -0
- package/es/icons/browser.js.map +1 -0
- package/es/icons/browser_medium.d.ts +3 -0
- package/es/icons/browser_medium.js +3 -0
- package/es/icons/browser_medium.js.map +1 -0
- package/es/icons/digipass_corporate.d.ts +3 -0
- package/es/icons/digipass_corporate.js +3 -0
- package/es/icons/digipass_corporate.js.map +1 -0
- package/es/icons/digipass_corporate_medium.d.ts +3 -0
- package/es/icons/digipass_corporate_medium.js +3 -0
- package/es/icons/digipass_corporate_medium.js.map +1 -0
- package/es/icons/digipass_private.d.ts +3 -0
- package/es/icons/digipass_private.js +3 -0
- package/es/icons/digipass_private.js.map +1 -0
- package/es/icons/digipass_private_medium.d.ts +3 -0
- package/es/icons/digipass_private_medium.js +3 -0
- package/es/icons/digipass_private_medium.js.map +1 -0
- package/es/icons/dnb/browser.d.ts +3 -0
- package/es/icons/dnb/browser.js +17 -0
- package/es/icons/dnb/browser.js.map +1 -0
- package/es/icons/dnb/browser_medium.d.ts +3 -0
- package/es/icons/dnb/browser_medium.js +17 -0
- package/es/icons/dnb/browser_medium.js.map +1 -0
- package/es/icons/dnb/coins_1.js +1 -1
- package/es/icons/dnb/coins_1.js.map +1 -1
- package/es/icons/dnb/coins_1_medium.js +1 -1
- package/es/icons/dnb/coins_1_medium.js.map +1 -1
- package/es/icons/dnb/digipass_corporate.d.ts +3 -0
- package/es/icons/dnb/digipass_corporate.js +17 -0
- package/es/icons/dnb/digipass_corporate.js.map +1 -0
- package/es/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/es/icons/dnb/digipass_corporate_medium.js +17 -0
- package/es/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/es/icons/dnb/digipass_private.d.ts +3 -0
- package/es/icons/dnb/digipass_private.js +17 -0
- package/es/icons/dnb/digipass_private.js.map +1 -0
- package/es/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/es/icons/dnb/digipass_private_medium.js +17 -0
- package/es/icons/dnb/digipass_private_medium.js.map +1 -0
- package/es/icons/dnb/envelope_open.d.ts +3 -0
- package/es/icons/dnb/envelope_open.js +18 -0
- package/es/icons/dnb/envelope_open.js.map +1 -0
- package/es/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/es/icons/dnb/envelope_open_medium.js +18 -0
- package/es/icons/dnb/envelope_open_medium.js.map +1 -0
- package/es/icons/dnb/icons-meta.json +230 -20
- package/es/icons/dnb/icons-svg.lock +1272 -1064
- package/es/icons/dnb/index.d.ts +17 -1
- package/es/icons/dnb/index.js +17 -1
- package/es/icons/dnb/index.js.map +1 -1
- package/es/icons/dnb/laptop.d.ts +3 -0
- package/es/icons/dnb/laptop.js +18 -0
- package/es/icons/dnb/laptop.js.map +1 -0
- package/es/icons/dnb/laptop_medium.d.ts +3 -0
- package/es/icons/dnb/laptop_medium.js +18 -0
- package/es/icons/dnb/laptop_medium.js.map +1 -0
- package/es/icons/dnb/mobile.d.ts +3 -0
- package/es/icons/dnb/mobile.js +15 -0
- package/es/icons/dnb/mobile.js.map +1 -0
- package/es/icons/dnb/mobile_medium.d.ts +3 -0
- package/es/icons/dnb/mobile_medium.js +15 -0
- package/es/icons/dnb/mobile_medium.js.map +1 -0
- package/es/icons/dnb/money_left.d.ts +3 -0
- package/es/icons/dnb/money_left.js +17 -0
- package/es/icons/dnb/money_left.js.map +1 -0
- package/es/icons/dnb/money_left_medium.d.ts +3 -0
- package/es/icons/dnb/money_left_medium.js +18 -0
- package/es/icons/dnb/money_left_medium.js.map +1 -0
- package/es/icons/dnb/scan.js +5 -2
- package/es/icons/dnb/scan.js.map +1 -1
- package/es/icons/dnb/scan_medium.js +8 -12
- package/es/icons/dnb/scan_medium.js.map +1 -1
- package/es/icons/dnb/secondary_icons.d.ts +9 -1
- package/es/icons/dnb/secondary_icons.js +9 -1
- package/es/icons/dnb/secondary_icons.js.map +1 -1
- package/es/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/es/icons/dnb/secondary_icons_medium.js +9 -1
- package/es/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/es/icons/dnb/teenager.d.ts +3 -0
- package/es/icons/dnb/teenager.js +18 -0
- package/es/icons/dnb/teenager.js.map +1 -0
- package/es/icons/dnb/teenager_medium.d.ts +3 -0
- package/es/icons/dnb/teenager_medium.js +18 -0
- package/es/icons/dnb/teenager_medium.js.map +1 -0
- package/es/icons/envelope_open.d.ts +3 -0
- package/es/icons/envelope_open.js +3 -0
- package/es/icons/envelope_open.js.map +1 -0
- package/es/icons/envelope_open_medium.d.ts +3 -0
- package/es/icons/envelope_open_medium.js +3 -0
- package/es/icons/envelope_open_medium.js.map +1 -0
- package/es/icons/index.d.ts +17 -1
- package/es/icons/index.js +17 -1
- package/es/icons/index.js.map +1 -1
- package/es/icons/laptop.d.ts +3 -0
- package/es/icons/laptop.js +3 -0
- package/es/icons/laptop.js.map +1 -0
- package/es/icons/laptop_medium.d.ts +3 -0
- package/es/icons/laptop_medium.js +3 -0
- package/es/icons/laptop_medium.js.map +1 -0
- package/es/icons/mobile.d.ts +3 -0
- package/es/icons/mobile.js +3 -0
- package/es/icons/mobile.js.map +1 -0
- package/es/icons/mobile_medium.d.ts +3 -0
- package/es/icons/mobile_medium.js +3 -0
- package/es/icons/mobile_medium.js.map +1 -0
- package/es/icons/money_left.d.ts +3 -0
- package/es/icons/money_left.js +3 -0
- package/es/icons/money_left.js.map +1 -0
- package/es/icons/money_left_medium.d.ts +3 -0
- package/es/icons/money_left_medium.js +3 -0
- package/es/icons/money_left_medium.js.map +1 -0
- package/es/icons/teenager.d.ts +3 -0
- package/es/icons/teenager.js +3 -0
- package/es/icons/teenager.js.map +1 -0
- package/es/icons/teenager_medium.d.ts +3 -0
- package/es/icons/teenager_medium.js +3 -0
- package/es/icons/teenager_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/shared/component-helper.d.ts +1 -0
- package/es/shared/component-helper.js +3 -0
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/dnb-ui-components.css +84 -63
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-extensions.css +42 -25
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +42 -25
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +14 -2
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +166 -91
- package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-elements.css +14 -2
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +42 -25
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +42 -25
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +3 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +7 -5
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +70 -31
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +58 -50
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/extensions/forms/Field/String/String.d.ts +1 -0
- package/extensions/forms/Field/String/String.js +13 -8
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -0
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/extensions/forms/Form/Handler/Handler.js +2 -2
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -2
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -0
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -16
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/extensions/forms/hooks/useDataValue.js +99 -49
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +42 -25
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +12 -2
- package/extensions/forms/types.js +1 -1
- package/extensions/forms/types.js.map +1 -1
- package/icons/browser.d.ts +3 -0
- package/icons/browser.js +3 -0
- package/icons/browser.js.map +1 -0
- package/icons/browser_medium.d.ts +3 -0
- package/icons/browser_medium.js +3 -0
- package/icons/browser_medium.js.map +1 -0
- package/icons/digipass_corporate.d.ts +3 -0
- package/icons/digipass_corporate.js +3 -0
- package/icons/digipass_corporate.js.map +1 -0
- package/icons/digipass_corporate_medium.d.ts +3 -0
- package/icons/digipass_corporate_medium.js +3 -0
- package/icons/digipass_corporate_medium.js.map +1 -0
- package/icons/digipass_private.d.ts +3 -0
- package/icons/digipass_private.js +3 -0
- package/icons/digipass_private.js.map +1 -0
- package/icons/digipass_private_medium.d.ts +3 -0
- package/icons/digipass_private_medium.js +3 -0
- package/icons/digipass_private_medium.js.map +1 -0
- package/icons/dnb/browser.d.ts +3 -0
- package/icons/dnb/browser.js +17 -0
- package/icons/dnb/browser.js.map +1 -0
- package/icons/dnb/browser_medium.d.ts +3 -0
- package/icons/dnb/browser_medium.js +17 -0
- package/icons/dnb/browser_medium.js.map +1 -0
- package/icons/dnb/coins_1.js +1 -1
- package/icons/dnb/coins_1.js.map +1 -1
- package/icons/dnb/coins_1_medium.js +1 -1
- package/icons/dnb/coins_1_medium.js.map +1 -1
- package/icons/dnb/digipass_corporate.d.ts +3 -0
- package/icons/dnb/digipass_corporate.js +17 -0
- package/icons/dnb/digipass_corporate.js.map +1 -0
- package/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/icons/dnb/digipass_corporate_medium.js +17 -0
- package/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/icons/dnb/digipass_private.d.ts +3 -0
- package/icons/dnb/digipass_private.js +17 -0
- package/icons/dnb/digipass_private.js.map +1 -0
- package/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/icons/dnb/digipass_private_medium.js +17 -0
- package/icons/dnb/digipass_private_medium.js.map +1 -0
- package/icons/dnb/envelope_open.d.ts +3 -0
- package/icons/dnb/envelope_open.js +18 -0
- package/icons/dnb/envelope_open.js.map +1 -0
- package/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/icons/dnb/envelope_open_medium.js +18 -0
- package/icons/dnb/envelope_open_medium.js.map +1 -0
- package/icons/dnb/icons-meta.json +230 -20
- package/icons/dnb/icons-svg.lock +1272 -1064
- package/icons/dnb/index.d.ts +17 -1
- package/icons/dnb/index.js +17 -1
- package/icons/dnb/index.js.map +1 -1
- package/icons/dnb/laptop.d.ts +3 -0
- package/icons/dnb/laptop.js +18 -0
- package/icons/dnb/laptop.js.map +1 -0
- package/icons/dnb/laptop_medium.d.ts +3 -0
- package/icons/dnb/laptop_medium.js +18 -0
- package/icons/dnb/laptop_medium.js.map +1 -0
- package/icons/dnb/mobile.d.ts +3 -0
- package/icons/dnb/mobile.js +15 -0
- package/icons/dnb/mobile.js.map +1 -0
- package/icons/dnb/mobile_medium.d.ts +3 -0
- package/icons/dnb/mobile_medium.js +15 -0
- package/icons/dnb/mobile_medium.js.map +1 -0
- package/icons/dnb/money_left.d.ts +3 -0
- package/icons/dnb/money_left.js +17 -0
- package/icons/dnb/money_left.js.map +1 -0
- package/icons/dnb/money_left_medium.d.ts +3 -0
- package/icons/dnb/money_left_medium.js +18 -0
- package/icons/dnb/money_left_medium.js.map +1 -0
- package/icons/dnb/scan.js +5 -2
- package/icons/dnb/scan.js.map +1 -1
- package/icons/dnb/scan_medium.js +8 -12
- package/icons/dnb/scan_medium.js.map +1 -1
- package/icons/dnb/secondary_icons.d.ts +9 -1
- package/icons/dnb/secondary_icons.js +9 -1
- package/icons/dnb/secondary_icons.js.map +1 -1
- package/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/icons/dnb/secondary_icons_medium.js +9 -1
- package/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/icons/dnb/teenager.d.ts +3 -0
- package/icons/dnb/teenager.js +18 -0
- package/icons/dnb/teenager.js.map +1 -0
- package/icons/dnb/teenager_medium.d.ts +3 -0
- package/icons/dnb/teenager_medium.js +18 -0
- package/icons/dnb/teenager_medium.js.map +1 -0
- package/icons/envelope_open.d.ts +3 -0
- package/icons/envelope_open.js +3 -0
- package/icons/envelope_open.js.map +1 -0
- package/icons/envelope_open_medium.d.ts +3 -0
- package/icons/envelope_open_medium.js +3 -0
- package/icons/envelope_open_medium.js.map +1 -0
- package/icons/index.d.ts +17 -1
- package/icons/index.js +17 -1
- package/icons/index.js.map +1 -1
- package/icons/laptop.d.ts +3 -0
- package/icons/laptop.js +3 -0
- package/icons/laptop.js.map +1 -0
- package/icons/laptop_medium.d.ts +3 -0
- package/icons/laptop_medium.js +3 -0
- package/icons/laptop_medium.js.map +1 -0
- package/icons/mobile.d.ts +3 -0
- package/icons/mobile.js +3 -0
- package/icons/mobile.js.map +1 -0
- package/icons/mobile_medium.d.ts +3 -0
- package/icons/mobile_medium.js +3 -0
- package/icons/mobile_medium.js.map +1 -0
- package/icons/money_left.d.ts +3 -0
- package/icons/money_left.js +3 -0
- package/icons/money_left.js.map +1 -0
- package/icons/money_left_medium.d.ts +3 -0
- package/icons/money_left_medium.js +3 -0
- package/icons/money_left_medium.js.map +1 -0
- package/icons/teenager.d.ts +3 -0
- package/icons/teenager.js +3 -0
- package/icons/teenager.js.map +1 -0
- package/icons/teenager_medium.d.ts +3 -0
- package/icons/teenager_medium.js +3 -0
- package/icons/teenager_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/shared/component-helper.d.ts +1 -0
- package/shared/component-helper.js +3 -0
- package/shared/component-helper.js.map +1 -1
- package/style/dnb-ui-components.css +84 -63
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-extensions.css +42 -25
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +42 -25
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +14 -2
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +166 -91
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +14 -2
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -25
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -25
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +155 -90
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -25
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -25
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +14 -2
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +166 -91
- package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/style/themes/theme-ui/ui-theme-elements.css +14 -2
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +42 -25
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +42 -25
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +3 -3
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/icons/icons-meta.json +0 -3748
- package/es/icons/icons-meta.json +0 -3748
- package/icons/icons-meta.json +0 -3748
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (isTrue(props.correct_invalid_date)) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,OAAOC,wBAAwB,MAAM,mCAAmC;AAExE,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,MAAM,EACNC,0BAA0B,QACrB,+BAA+B;AACtC,SACEC,mBAAmB,EACnBC,eAAe,EACfC,UAAU,QACL,kBAAkB;AACzB,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,eAAe,MAAMC,kBAAkB,SAASd,KAAK,CAACe,aAAa,CAAC;EAiClE,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,MAAMC,OAAO,GAAGZ,MAAM,CAACU,KAAK,CAACG,KAAK,CAAC;IAEnC,IAAIF,KAAK,CAACG,qBAAqB,EAAE;MAC/B,IAAIC,SAAS,GAAGC,SAAS;MACzB,MAAMC,WAAW,GAAGP,KAAK,CAACO,WAAW;MAGrC,IACE,OAAOP,KAAK,CAACQ,IAAI,KAAK,WAAW,IACjCR,KAAK,CAACQ,IAAI,KAAKP,KAAK,CAACQ,KAAK,EAC1B;QACAJ,SAAS,GAAGL,KAAK,CAACQ,IAAI;MACxB;MACA,IACE,OAAOR,KAAK,CAACU,UAAU,KAAK,WAAW,IACvCV,KAAK,CAACU,UAAU,KAAKT,KAAK,CAACU,UAAU,EACrC;QACAN,SAAS,GAAGL,KAAK,CAACU,UAAU;MAC9B;MACA,IACE,OAAOL,SAAS,KAAK,WAAW,IAChCA,SAAS,KAAKJ,KAAK,CAACI,SAAS,EAC7B;QACAJ,KAAK,CAACI,SAAS,GACbb,mBAAmB,CAACa,SAAS,EAAE;UAC7BE;QACF,CAAC,CAAC,IAAID,SAAS;QAEjB,IAAI,CAAChB,MAAM,CAACU,KAAK,CAACG,KAAK,CAAC,EAAE;UACxBF,KAAK,CAACW,OAAO,GAAGX,KAAK,CAACI,SAAS;QACjC;MACF;MACA,IACE,OAAOL,KAAK,CAACa,QAAQ,KAAK,WAAW,IACrCvB,MAAM,CAACU,KAAK,CAACG,KAAK,CAAC,IACnBH,KAAK,CAACa,QAAQ,KAAKZ,KAAK,CAACa,QAAQ,EACjC;QACAb,KAAK,CAACW,OAAO,GACXpB,mBAAmB,CAACQ,KAAK,CAACa,QAAQ,EAAE;UAClCN;QACF,CAAC,CAAC,IAAID,SAAS;MACnB;MAGA,IACE,OAAON,KAAK,CAACe,WAAW,KAAK,WAAW,IACxCf,KAAK,CAACe,WAAW,KAAKd,KAAK,CAACe,WAAW,EACvC;QACAf,KAAK,CAACgB,UAAU,GAAGzB,mBAAmB,CAACQ,KAAK,CAACe,WAAW,EAAE;UACxDR;QACF,CAAC,CAAC;MACJ;MACA,IACE,OAAOP,KAAK,CAACkB,SAAS,KAAK,WAAW,IACtClB,KAAK,CAACkB,SAAS,KAAKjB,KAAK,CAACkB,SAAS,EACnC;QACAlB,KAAK,CAACmB,QAAQ,GAAG5B,mBAAmB,CAACQ,KAAK,CAACkB,SAAS,EAAE;UACpDX;QACF,CAAC,CAAC;MACJ;MAGA,IACE,OAAOP,KAAK,CAACqB,QAAQ,KAAK,WAAW,IACrCrB,KAAK,CAACqB,QAAQ,KAAKpB,KAAK,CAACqB,QAAQ,EACjC;QACArB,KAAK,CAACsB,OAAO,GAAG/B,mBAAmB,CAACQ,KAAK,CAACqB,QAAQ,EAAE;UAClDd;QACF,CAAC,CAAC;MACJ;MACA,IACE,OAAOP,KAAK,CAACwB,QAAQ,KAAK,WAAW,IACrCxB,KAAK,CAACwB,QAAQ,KAAKvB,KAAK,CAACwB,QAAQ,EACjC;QACAxB,KAAK,CAACyB,OAAO,GAAGlC,mBAAmB,CAACQ,KAAK,CAACwB,QAAQ,EAAE;UAClDjB;QACF,CAAC,CAAC;MACJ;MAMA,IAAIjB,MAAM,CAACU,KAAK,CAAC2B,oBAAoB,CAAC,EAAE;QACtC,IAAIjC,UAAU,CAACO,KAAK,CAACI,SAAS,EAAEJ,KAAK,CAACsB,OAAO,EAAEtB,KAAK,CAACyB,OAAO,CAAC,EAAE;UAC7DzB,KAAK,CAACI,SAAS,GAAGJ,KAAK,CAACsB,OAAO;QACjC;QACA,IAAI7B,UAAU,CAACO,KAAK,CAACW,OAAO,EAAEX,KAAK,CAACsB,OAAO,EAAEtB,KAAK,CAACyB,OAAO,CAAC,EAAE;UAC3DzB,KAAK,CAACW,OAAO,GAAGX,KAAK,CAACyB,OAAO;QAC/B;MACF;IACF;IAEA,IACEzB,KAAK,CAAC2B,kBAAkB,KACvB3B,KAAK,CAAC2B,kBAAkB,CAACvB,SAAS,KAAKJ,KAAK,CAACI,SAAS,IACrDJ,KAAK,CAAC2B,kBAAkB,CAAChB,OAAO,KAAKX,KAAK,CAACW,OAAO,CAAC,EACrD;MACAX,KAAK,CAAC2B,kBAAkB,GAAG,CAAC,CAAC;IAC/B;IAEA,IAAI1C,OAAO,CAACe,KAAK,CAACI,SAAS,CAAC,EAAE;MAC5BJ,KAAK,CAAC4B,UAAU,GAAGC,GAAG,CAAC3C,MAAM,CAACc,KAAK,CAACI,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;MACxDJ,KAAK,CAAC8B,YAAY,GAAGD,GAAG,CAAC3C,MAAM,CAACc,KAAK,CAACI,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;MAC1DJ,KAAK,CAAC+B,WAAW,GAAG7C,MAAM,CAACc,KAAK,CAACI,SAAS,EAAE,MAAM,CAAC;MACnDJ,KAAK,CAACgC,eAAe,GAAG,IAAI;IAC9B,CAAC,MAAM,IAAIhC,KAAK,CAACI,SAAS,KAAKC,SAAS,EAAE;MACxCL,KAAK,CAAC4B,UAAU,GAAG,IAAI;MACvB5B,KAAK,CAAC8B,YAAY,GAAG,IAAI;MACzB9B,KAAK,CAAC+B,WAAW,GAAG,IAAI;IAC1B;IAEA,IAAI9C,OAAO,CAACe,KAAK,CAACW,OAAO,CAAC,EAAE;MAC1BX,KAAK,CAACiC,QAAQ,GAAGJ,GAAG,CAAC3C,MAAM,CAACc,KAAK,CAACW,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;MACpDX,KAAK,CAACkC,UAAU,GAAGL,GAAG,CAAC3C,MAAM,CAACc,KAAK,CAACW,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;MACtDX,KAAK,CAACmC,SAAS,GAAGjD,MAAM,CAACc,KAAK,CAACW,OAAO,EAAE,MAAM,CAAC;MAC/CX,KAAK,CAACgC,eAAe,GAAG,IAAI;IAC9B,CAAC,MAAM,IAAIhC,KAAK,CAACW,OAAO,KAAKN,SAAS,EAAE;MACtCL,KAAK,CAACiC,QAAQ,GAAG,IAAI;MACrBjC,KAAK,CAACkC,UAAU,GAAG,IAAI;MACvBlC,KAAK,CAACmC,SAAS,GAAG,IAAI;IACxB;IAEA,IACE,CAACnC,KAAK,CAACgB,UAAU,IAChBhB,KAAK,CAACoC,gBAAgB,IACrB,CAACpD,WAAW,CAACgB,KAAK,CAACgB,UAAU,EAAEhB,KAAK,CAACI,SAAS,CAAE,EAClD;MACAJ,KAAK,CAACgB,UAAU,GAAGhB,KAAK,CAACI,SAAS;IACpC;IAEA,IACE,CAACJ,KAAK,CAACmB,QAAQ,IACdlB,OAAO,IACND,KAAK,CAACoC,gBAAgB,IACtB,CAACpD,WAAW,CAACgB,KAAK,CAACmB,QAAQ,EAAEnB,KAAK,CAACW,OAAO,CAAE,EAC9C;MACAX,KAAK,CAACmB,QAAQ,GAAGnB,KAAK,CAACW,OAAO,IAAIX,KAAK,CAACgB,UAAU;IACpD;IAEAhB,KAAK,CAACqC,KAAK,GAAG1C,QAAQ,CAACK,KAAK,EAAEC,OAAO,CAAC;IAGtC,IAAI,CAACD,KAAK,CAACgB,UAAU,EAAE;MACrBhB,KAAK,CAACgB,UAAU,GAAGhB,KAAK,CAACqC,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK;MACvC,IACErC,OAAO,IACP,CAACD,KAAK,CAACmB,QAAQ,IACf,OAAOnB,KAAK,CAACqC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EACrC;QACArC,KAAK,CAACmB,QAAQ,GAAGnB,KAAK,CAACqC,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK;MACvC;IACF;IAEAtC,KAAK,CAACoC,gBAAgB,GAAG,KAAK;IAC9BpC,KAAK,CAACG,qBAAqB,GAAG,IAAI;IAClCH,KAAK,CAACQ,KAAK,GAAGT,KAAK,CAACQ,IAAI;IACxBP,KAAK,CAACU,UAAU,GAAGX,KAAK,CAACU,UAAU,IAAIV,KAAK,CAACQ,IAAI;IACjDP,KAAK,CAACa,QAAQ,GAAGd,KAAK,CAACa,QAAQ;IAC/BZ,KAAK,CAACe,WAAW,GAAGhB,KAAK,CAACe,WAAW;IACrCd,KAAK,CAACkB,SAAS,GAAGnB,KAAK,CAACkB,SAAS;IACjCjB,KAAK,CAACuC,MAAM,GAAGxC,KAAK,CAACuC,KAAK;IAC1BtC,KAAK,CAACqB,QAAQ,GAAGtB,KAAK,CAACqB,QAAQ;IAC/BpB,KAAK,CAACwB,QAAQ,GAAGzB,KAAK,CAACwB,QAAQ;IAE/B,OAAOvB,KAAK;EACd;EAEAwC,WAAWA,CAACzC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAA0C,eAAA,gBA5KN;MAAEtC,qBAAqB,EAAE,IAAI;MAAEiC,gBAAgB,EAAE;IAAM,CAAC;IAAAK,eAAA,mBAmLrD,CAACJ,KAAK,EAAEK,EAAE,GAAG,IAAI,KAAK;MAC/B,IAAI,CAACC,QAAQ,CAAC;QAAEN,KAAK;QAAElC,qBAAqB,EAAE;MAAM,CAAC,EAAEuC,EAAE,CAAC;IAC5D,CAAC;IAAAD,eAAA,sBAEa,CAACzC,KAAK,EAAE0C,EAAE,GAAG,IAAI,KAAK;MAClC,IAAI,CAACC,QAAQ,CAAAC,aAAA,CAAAA,aAAA,KAAM5C,KAAK;QAAEG,qBAAqB,EAAE;MAAK,IAAIuC,EAAE,CAAC;IAC/D,CAAC;IAAAD,eAAA,8BAEsBI,IAAI,IAAK;MAK9B,IACE,IAAI,CAAC7C,KAAK,CAAC2B,kBAAkB,IAC7B,IAAI,CAAC3B,KAAK,CAAC2B,kBAAkB,CAACvB,SAAS,KAAK,IAAI,CAACJ,KAAK,CAACI,SAAS,IAChE,IAAI,CAACJ,KAAK,CAAC2B,kBAAkB,CAAChB,OAAO,KAAK,IAAI,CAACX,KAAK,CAACW,OAAO,EAC5D;QACA;MACF;MAEArB,0BAA0B,CACxB,IAAI,EACJ,WAAW,EACX,IAAI,CAACwD,eAAe,CAACD,IAAI,CAC3B,CAAC;MAED,MAAMlB,kBAAkB,GAAG;QACzBvB,SAAS,EAAE,IAAI,CAACJ,KAAK,CAACI,SAAS;QAC/BO,OAAO,EAAE,IAAI,CAACX,KAAK,CAACW;MACtB,CAAC;MACD,IAAI,CAACgC,QAAQ,CAAC;QAAEhB;MAAmB,CAAC,CAAC;IACvC,CAAC;IAAAc,eAAA,0BAEiB,CAACM,IAAA,GAA4B,CAAC,CAAC,KAAK;MAAA,IAAnC;UAAEC,KAAK,GAAG;QAAc,CAAC,GAAAD,IAAA;QAANE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;MACxC,MAAM;QAAE/C,SAAS;QAAEO;MAAQ,CAAC,GAAAiC,aAAA,CAAAA,aAAA,KAAQ,IAAI,CAAC5C,KAAK,GAAKiD,IAAI,CAAE;MACzD,MAAMG,UAAU,GAAG,IAAI,CAACrD,KAAK,CAACqD,UAAU,IAAI,CAAC,CAAC;MAC9C,MAAMC,YAAY,GAAG7D,eAAe,CAAC,IAAI,CAACO,KAAK,CAACuD,aAAa,CAAC;MAC9D,MAAMC,gBAAgB,GAAGC,OAAO,CAACpD,SAAS,IAAInB,OAAO,CAACmB,SAAS,CAAC,CAAC;MACjE,MAAMqD,cAAc,GAAGD,OAAO,CAAC7C,OAAO,IAAI1B,OAAO,CAAC0B,OAAO,CAAC,CAAC;MAE3D,IAAI+C,GAAG,GAAG,IAAI;MAEd,IAAIrE,MAAM,CAAC,IAAI,CAACU,KAAK,CAACG,KAAK,CAAC,EAAE;QAC5BwD,GAAG,GAAG;UACJV,KAAK;UACLI,UAAU;UACVO,YAAY,EACVJ,gBAAgB,IAAIE,cAAc,GAC9BtE,wBAAwB,CAACwB,OAAO,EAAEP,SAAS,CAAC,GAC5C,IAAI;UACVK,UAAU,EAAE8C,gBAAgB,GACxBrE,MAAM,CAACkB,SAAS,EAAEiD,YAAY,CAAC,GAC/B,IAAI;UACRzC,QAAQ,EAAE6C,cAAc,GAAGvE,MAAM,CAACyB,OAAO,EAAE0C,YAAY,CAAC,GAAG,IAAI;UAC/DO,mBAAmB,EAAEL,gBAAgB;UACrCM,iBAAiB,EAAEJ;QACrB,CAAC;MACH,CAAC,MAAM;QACLC,GAAG,GAAG;UACJV,KAAK;UACLI,UAAU;UACV7C,IAAI,EAAEgD,gBAAgB,GAAGrE,MAAM,CAACkB,SAAS,EAAEiD,YAAY,CAAC,GAAG,IAAI;UAC/DS,QAAQ,EAAEP;QACZ,CAAC;MACH;MAEA,IAAI,IAAI,CAACxD,KAAK,CAACqB,QAAQ,IAAI,IAAI,CAACrB,KAAK,CAACwB,QAAQ,EAAE;QAC9C,IAAIlC,MAAM,CAAC,IAAI,CAACU,KAAK,CAACG,KAAK,CAAC,EAAE;UAC5B,IACEqD,gBAAgB,IAChB9D,UAAU,CAACW,SAAS,EAAE,IAAI,CAACJ,KAAK,CAACsB,OAAO,EAAE,IAAI,CAACtB,KAAK,CAACyB,OAAO,CAAC,EAC7D;YACAiC,GAAG,CAACE,mBAAmB,GAAG,KAAK;UACjC;UACA,IACEH,cAAc,IACdhE,UAAU,CAACkB,OAAO,EAAE,IAAI,CAACX,KAAK,CAACsB,OAAO,EAAE,IAAI,CAACtB,KAAK,CAACyB,OAAO,CAAC,EAC3D;YACAiC,GAAG,CAACG,iBAAiB,GAAG,KAAK;UAC/B;QACF,CAAC,MAAM;UACL,IACEN,gBAAgB,IAChB9D,UAAU,CAACW,SAAS,EAAE,IAAI,CAACJ,KAAK,CAACsB,OAAO,EAAE,IAAI,CAACtB,KAAK,CAACyB,OAAO,CAAC,EAC7D;YACAiC,GAAG,CAACI,QAAQ,GAAG,KAAK;UACtB;QACF;MACF;MAEA,OAAOJ,GAAG;IACZ,CAAC;IAjGC,IAAI,OAAO3D,KAAK,CAACgE,eAAe,KAAK,UAAU,EAAE;MAC/ChE,KAAK,CAACgE,eAAe,CAAC,IAAI,CAACjB,eAAe,CAAC;IAC7C;EACF;EAgGAkB,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAClE,KAAK;IAE/B,OACEjB,KAAA,CAAAoF,aAAA,CAACxE,iBAAiB,CAACyE,QAAQ;MACzBC,KAAK,EAAAxB,aAAA,CAAAA,aAAA;QACHyB,WAAW,EAAE,IAAI,CAACC,OAAO,CAACD,WAAW;QACrCE,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBC,WAAW,EAAE,IAAI,CAACA,WAAW;QAC7B1B,eAAe,EAAE,IAAI,CAACA,eAAe;QACrC2B,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;QAC7C1E,KAAK,EAAE,IAAI,CAACA;MAAK,GACd,IAAI,CAACA,KAAK,CAAC2E,kBAAkB,GAC7B,IAAI,CAAC1E,KAAK;IACb,GAEDiE,QACyB,CAAC;EAEjC;AACF;AAACxB,eAAA,CApUoB7C,kBAAkB,iBAChBR,OAAO;AAAAqD,eAAA,CADT7C,kBAAkB,kBAuBf;EACpBwB,QAAQ,EAAE,IAAI;EACdG,QAAQ,EAAE,IAAI;EACd+B,aAAa,EAAE,YAAY;EAC3BF,UAAU,EAAE,IAAI;EAChBsB,kBAAkB,EAAE;AACtB,CAAC;AAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBA7BkBjF,kBAAkB,CAG9BkF,SAAS,GAAG;EACjB1D,QAAQ,EAAErC,SAAS,CAACgG,SAAS,CAAC,CAC5BhG,SAAS,CAACiG,UAAU,CAACC,IAAI,CAAC,EAC1BlG,SAAS,CAACmG,MAAM,CACjB,CAAC;EACF3D,QAAQ,EAAExC,SAAS,CAACgG,SAAS,CAAC,CAC5BhG,SAAS,CAACiG,UAAU,CAACC,IAAI,CAAC,EAC1BlG,SAAS,CAACmG,MAAM,CACjB,CAAC;EACF5B,aAAa,EAAEvE,SAAS,CAACmG,MAAM;EAE/BhF,KAAK,EAAEnB,SAAS,CAACgG,SAAS,CAAC,CAAChG,SAAS,CAACoG,IAAI,EAAEpG,SAAS,CAACmG,MAAM,CAAC,CAAC,CAC3DE,UAAU;EACbrB,eAAe,EAAEhF,SAAS,CAACsG,IAAI,CAACD,UAAU;EAC1CV,kBAAkB,EAAE3F,SAAS,CAACuG,MAAM;EAEpClC,UAAU,EAAErE,SAAS,CAACuG,MAAM;EAC5BrB,QAAQ,EAAElF,SAAS,CAACwG,IAAI,CAACH;AAC3B,CAAC;AAiTH,OAAO,MAAMvD,GAAG,GAAGA,CAAC2D,GAAG,EAAEC,IAAI,KAAK,CAAC,WAAW,GAAGD,GAAG,EAAEE,MAAM,CAAC,CAACD,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (isTrue(props.correct_invalid_date)) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input ~ .dnb-date-picker--separator {
|
|
12
12
|
color: var(--color-black-55);
|
|
13
13
|
}
|
|
14
|
-
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input
|
|
14
|
+
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input--highlight:not([disabled]) {
|
|
15
15
|
color: var(--color-black);
|
|
16
16
|
}
|
|
17
|
-
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input
|
|
17
|
+
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input--highlight:not([disabled]) ~ .dnb-date-picker--separator {
|
|
18
18
|
color: var(--color-black);
|
|
19
19
|
}
|
|
20
20
|
.dnb-date-picker__container {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input,.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input~.dnb-date-picker--separator{color:var(--color-black-55)}.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input
|
|
1
|
+
.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input,.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input~.dnb-date-picker--separator{color:var(--color-black-55)}.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input--highlight:not([disabled]),.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-date-picker__input--highlight:not([disabled])~.dnb-date-picker--separator{color:var(--color-black)}.dnb-date-picker__container{background-color:var(--color-white);border-radius:.25rem;box-shadow:var(--shadow-default)}.dnb-date-picker__addon:after,.dnb-date-picker__calendar:after,.dnb-date-picker__header:after{background-color:var(--color-black-8)}.dnb-date-picker__header__nav .dnb-button{box-shadow:none}.dnb-date-picker__header__title{font-size:var(--font-size-basis);text-align:center}.dnb-date-picker__header__title,.dnb-date-picker__labels__day{color:var(--color-black-80);font-weight:var(--font-weight-medium);text-transform:capitalize}.dnb-date-picker__day,.dnb-date-picker__labels__day{text-align:center}.dnb-date-picker__day--today .dnb-button{font-weight:var(--font-weight-medium)}.dnb-date-picker__day--inactive .dnb-button,.dnb-date-picker__day--preview .dnb-button,.dnb-date-picker__day--within-selection:not(.dnb-date-picker__day--start-date):not(.dnb-date-picker__day--end-date) .dnb-button:not(:hover){background-color:transparent}.dnb-date-picker__day--end-date:not(.dnb-date-picker__day--inactive):after,.dnb-date-picker__day--preview:not(.dnb-date-picker__day--inactive):not(.dnb-date-picker__day--start-date):not(.dnb-date-picker__day--end-date),.dnb-date-picker__day--start-date:not(.dnb-date-picker__day--inactive):after,.dnb-date-picker__day--within-selection:not(.dnb-date-picker__day--inactive):not(.dnb-date-picker__day--start-date):not(.dnb-date-picker__day--end-date){background-color:var(--color-mint-green-50)}.dnb-date-picker__day--end-date:not(.dnb-date-picker__day--inactive) .dnb-button,.dnb-date-picker__day--start-date:not(.dnb-date-picker__day--inactive) .dnb-button{background-color:var(--color-emerald-green);color:var(--color-mint-green-25)}.dnb-date-picker__day--end-date:not(.dnb-date-picker__day--inactive):not(.dnb-date-picker__day--preview) .dnb-button:hover,.dnb-date-picker__day--start-date:not(.dnb-date-picker__day--inactive):not(.dnb-date-picker__day--preview) .dnb-button:hover{box-shadow:none}html:not([data-whatintent=touch]) .dnb-date-picker__day--end-date.dnb-date-picker__day--within-selection .dnb-button:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-date-picker__day--start-date.dnb-date-picker__day--within-selection .dnb-button:hover:not([disabled]){background-color:var(--color-emerald-green);color:var(--color-mint-green-25)}.dnb-date-picker__day--disabled .dnb-button{-webkit-text-decoration:line-through;text-decoration:line-through}.dnb-date-picker__day--inactive .dnb-button{color:var(--color-black-55)}.dnb-date-picker__day--disabled .dnb-button[disabled],.dnb-date-picker__day--inactive .dnb-button[disabled]{box-shadow:none}html:not([data-whatintent=touch]) .dnb-date-picker__day--inactive .dnb-button[disabled]{cursor:default}.dnb-date-picker--opened .dnb-input .dnb-input__shell,.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-form-label:hover~.dnb-date-picker__inner .dnb-input:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-date-picker--opened .dnb-input .dnb-input__submit-button__button.dnb-button--secondary,.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-form-label:hover~.dnb-date-picker__inner .dnb-input:not([data-input-state=disabled]) .dnb-input__submit-button__button.dnb-button--secondary{background-color:var(--color-sea-green);color:var(--color-white)}.dnb-date-picker--opened .dnb-input .dnb-input__submit-button__button.dnb-button--secondary:after,.dnb-date-picker:not(.dnb-date-picker__status--error) .dnb-form-label:hover~.dnb-date-picker__inner .dnb-input:not([data-input-state=disabled]) .dnb-input__submit-button__button.dnb-button--secondary:after{background-color:inherit}.dnb-date-picker__triangle:before{background-color:var(--color-white);border:none;box-shadow:var(--shadow-default)}.dnb-date-picker__status--error:not(.dnb-date-picker--opened) .dnb-form-label:hover~.dnb-date-picker__inner .dnb-input:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}
|
|
@@ -12,24 +12,12 @@
|
|
|
12
12
|
& ~ .dnb-date-picker--separator {
|
|
13
13
|
color: var(--color-black-55);
|
|
14
14
|
}
|
|
15
|
-
}
|
|
16
|
-
&:not(#{&}__status--error) & {
|
|
17
|
-
&__input[value*='0'],
|
|
18
|
-
&__input[value*='1'],
|
|
19
|
-
&__input[value*='2'],
|
|
20
|
-
&__input[value*='3'],
|
|
21
|
-
&__input[value*='4'],
|
|
22
|
-
&__input[value*='5'],
|
|
23
|
-
&__input[value*='6'],
|
|
24
|
-
&__input[value*='7'],
|
|
25
|
-
&__input[value*='8'],
|
|
26
|
-
&__input[value*='9'] {
|
|
27
|
-
&:not([data-input-state='disabled']) {
|
|
28
|
-
color: var(--color-black);
|
|
29
15
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
&--highlight:not([disabled]) {
|
|
17
|
+
color: var(--color-black);
|
|
18
|
+
|
|
19
|
+
& ~ .dnb-date-picker--separator {
|
|
20
|
+
color: var(--color-black);
|
|
33
21
|
}
|
|
34
22
|
}
|
|
35
23
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SpaceProps } from '../space/Space';
|
|
2
3
|
import type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils';
|
|
3
|
-
import type { DynamicElement } from '../../shared/types';
|
|
4
|
-
import type { SpacingProps } from '../space/types';
|
|
5
4
|
import type { UseMediaQueries } from '../../shared/useMedia';
|
|
6
5
|
export type BasicProps = {
|
|
7
6
|
direction?: 'horizontal' | 'vertical';
|
|
@@ -14,11 +13,10 @@ export type BasicProps = {
|
|
|
14
13
|
divider?: 'space' | 'line';
|
|
15
14
|
/** Spacing between items inside */
|
|
16
15
|
spacing?: false | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';
|
|
17
|
-
element?: DynamicElement;
|
|
18
16
|
breakpoints?: MediaQueryBreakpoints;
|
|
19
17
|
queries?: UseMediaQueries;
|
|
20
18
|
};
|
|
21
|
-
export type Props = BasicProps &
|
|
19
|
+
export type Props = BasicProps & SpaceProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>;
|
|
22
20
|
export declare function pickFlexContainerProps<T extends Props>(props: T, defaults?: Partial<Props>, skip?: Array<keyof Props>): Omit<Props, 'children'>;
|
|
23
21
|
declare function FlexContainer(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
24
22
|
declare namespace FlexContainer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","Children","toArray","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","n","cn","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { DynamicElement } from '../../shared/types'\nimport type { SpaceType, SpacingProps } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n element?: DynamicElement\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","Children","toArray","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","n","cn","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { SpaceProps } from '../space/Space';
|
|
3
3
|
export type Sizes = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto';
|
|
4
4
|
type MediaSizes = {
|
|
5
5
|
xsmall?: Sizes;
|
|
@@ -9,13 +9,12 @@ type MediaSizes = {
|
|
|
9
9
|
};
|
|
10
10
|
export type Size = MediaSizes | Sizes;
|
|
11
11
|
export type BasicProps = {
|
|
12
|
-
element?: DynamicElement;
|
|
13
12
|
grow?: boolean;
|
|
14
13
|
shrink?: boolean;
|
|
15
14
|
alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
|
|
16
15
|
size?: Size;
|
|
17
16
|
};
|
|
18
|
-
export type Props = BasicProps &
|
|
17
|
+
export type Props = BasicProps & SpaceProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>;
|
|
19
18
|
declare function FlexItem(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
20
19
|
declare namespace FlexItem {
|
|
21
20
|
var _supportsSpacingProps: boolean;
|
|
@@ -45,7 +45,8 @@ function FlexItem(props) {
|
|
|
45
45
|
}
|
|
46
46
|
return React.createElement(Space, _extends({
|
|
47
47
|
element: element,
|
|
48
|
-
className: cn
|
|
48
|
+
className: cn,
|
|
49
|
+
style: style
|
|
49
50
|
}, rest), children);
|
|
50
51
|
function isValidSize(size) {
|
|
51
52
|
return typeof size === 'number' || size === 'auto';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["React","classnames","Space","omitSpacingProps","pickSpacingProps","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_objectSpread","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space
|
|
1
|
+
{"version":3,"file":"Item.js","names":["React","classnames","Space","omitSpacingProps","pickSpacingProps","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_objectSpread","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { omitSpacingProps, pickSpacingProps } from './utils'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive',\n className\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space\n element={element}\n className={cn}\n style={{ ...spaceStyles, ...style }}\n {...omitSpacingProps(rest)}\n >\n <Space\n className=\"dnb-flex-item__spacer\"\n {...pickSpacingProps(rest)}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space element={element} className={cn} style={style} {...rest}>\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAClD,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAmC5D,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGjB,UAAU,CACnB,eAAe,EAKfO,SAAS,EAJTC,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BAEV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEzB,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJpB,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEU,EAAG;MACdL,KAAK,EAAAe,aAAA,CAAAA,aAAA,KAAOT,WAAW,GAAKN,KAAK;IAAG,GAChCV,gBAAgB,CAACY,IAAI,CAAC,GAE1Bf,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJnB,SAAS,EAAC;IAAuB,GAC7BJ,gBAAgB,CAACW,IAAI,CAAC,GAEzBD,QACI,CACF,CAAC;EAEZ;EAEA,OACEd,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;IAACpB,OAAO,EAAEA,OAAQ;IAACC,SAAS,EAAEU,EAAG;IAACL,KAAK,EAAEA;EAAM,GAAKE,IAAI,GAC3DD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACwB,qBAAqB,GAAG,IAAI;AAErC,eAAexB,QAAQ"}
|
|
@@ -30,7 +30,7 @@ export type InputSubmitButtonIcon =
|
|
|
30
30
|
| ((...args: any[]) => any);
|
|
31
31
|
export type InputChildren = React.ReactNode | ((...args: any[]) => any);
|
|
32
32
|
export interface InputProps
|
|
33
|
-
extends Omit<React.HTMLProps<
|
|
33
|
+
extends Omit<React.HTMLProps<HTMLInputElement>, 'ref'>,
|
|
34
34
|
SpacingProps {
|
|
35
35
|
/**
|
|
36
36
|
* Choose between `text`, `number`, `email`, `password`, `url`, `tel` and `search`.
|
|
@@ -195,7 +195,8 @@ export default class Input extends React.Component<InputProps, any> {
|
|
|
195
195
|
static defaultProps: object;
|
|
196
196
|
render(): JSX.Element;
|
|
197
197
|
}
|
|
198
|
-
export interface SubmitButtonProps
|
|
198
|
+
export interface SubmitButtonProps
|
|
199
|
+
extends React.HTMLProps<HTMLInputElement> {
|
|
199
200
|
id?: string;
|
|
200
201
|
/**
|
|
201
202
|
* The content value of the input.
|
|
@@ -13,7 +13,7 @@ import TextMask from './TextMask';
|
|
|
13
13
|
import createNumberMask from './addons/createNumberMask';
|
|
14
14
|
import keycode from 'keycode';
|
|
15
15
|
import InputMaskedContext from './InputMaskedContext';
|
|
16
|
-
import { isRequestingLocaleSupport, isRequestingNumberMask, correctNumberValue, handlePercentMask, handleCurrencyMask, handleNumberMask, correctCaretPosition,
|
|
16
|
+
import { isRequestingLocaleSupport, isRequestingNumberMask, correctNumberValue, handlePercentMask, handleCurrencyMask, handleNumberMask, correctCaretPosition, getSoftKeyboardAttributes, handleThousandsSeparator, handleDecimalSeparator, fromJSON, invisibleSpace } from './InputMaskedUtils';
|
|
17
17
|
export const useFilteredProps = () => {
|
|
18
18
|
const {
|
|
19
19
|
props
|
|
@@ -157,9 +157,6 @@ export const useInputElement = () => {
|
|
|
157
157
|
}));
|
|
158
158
|
const InputElement = (params, innerRef) => {
|
|
159
159
|
innerRef.current = ref.current;
|
|
160
|
-
if (!params.inputMode) {
|
|
161
|
-
params.inputMode = getInputModeFromMask(mask);
|
|
162
|
-
}
|
|
163
160
|
return React.createElement(TextMask, _extends({
|
|
164
161
|
inputRef: ref,
|
|
165
162
|
inputElement: inputElementRef.current,
|
|
@@ -169,7 +166,7 @@ export const useInputElement = () => {
|
|
|
169
166
|
guide: showGuide,
|
|
170
167
|
keepCharPositions: keepCharPositions,
|
|
171
168
|
placeholderChar: placeholderChar
|
|
172
|
-
}, params, {
|
|
169
|
+
}, getSoftKeyboardAttributes(mask), params, {
|
|
173
170
|
className: classnames(params.className, showMask && showGuide && placeholderChar && placeholderChar !== invisibleSpace && 'dnb-input-masked--guide')
|
|
174
171
|
}));
|
|
175
172
|
};
|
|
@@ -283,7 +280,10 @@ const useCallEvent = ({
|
|
|
283
280
|
setLocalValue(value);
|
|
284
281
|
}
|
|
285
282
|
if ((name === 'on_focus' || name === 'on_mouse_up') && !props.selectall) {
|
|
286
|
-
correctCaretPosition(event.target, maskParams, props);
|
|
283
|
+
event.target.runCorrectCaretPosition = () => correctCaretPosition(event.target, maskParams, props);
|
|
284
|
+
if (!event.target.__getCorrectCaretPosition) {
|
|
285
|
+
event.target.runCorrectCaretPosition();
|
|
286
|
+
}
|
|
287
287
|
}
|
|
288
288
|
return result;
|
|
289
289
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMaskedHooks.js","names":["React","classnames","cleanNumber","getCurrencySymbol","isTrue","dispatchCustomElementEvent","extendPropsWithContext","safeSetSelection","TextMask","createNumberMask","keycode","InputMaskedContext","isRequestingLocaleSupport","isRequestingNumberMask","correctNumberValue","handlePercentMask","handleCurrencyMask","handleNumberMask","correctCaretPosition","getInputModeFromMask","handleThousandsSeparator","handleDecimalSeparator","fromJSON","invisibleSpace","useFilteredProps","props","useContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","_objectWithoutProperties","_excluded","htmlAttributes","Object","freeze","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","useEffect","value","useNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","placeholderChar","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","inputMode","_extends","inputRef","inputElement","guide","className","useEventMapping","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","undefined","on_blur","on_key_down","on_submit","on_change","isNumberMask","decimalSeparators","isUnidentified","name","target","selStart","selectionStart","keyCode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","length","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","indexOf","thousandsSeparatorSymbol","num","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","Number","cleanedValue","String","charAt","result","selectall","_currency_mask","_objectSpread","currency"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getInputModeFromMask,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n // Set \"inputMode\"\n if (!params.inputMode) {\n params.inputMode = getInputModeFromMask(mask)\n }\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n correctCaretPosition(event.target, maskParams, props)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = extendPropsWithContext(number_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n })\n } else if (as_currency) {\n currency_mask = extendPropsWithContext(currency_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n })\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputMaskedHooks.js","names":["React","classnames","cleanNumber","getCurrencySymbol","isTrue","dispatchCustomElementEvent","extendPropsWithContext","safeSetSelection","TextMask","createNumberMask","keycode","InputMaskedContext","isRequestingLocaleSupport","isRequestingNumberMask","correctNumberValue","handlePercentMask","handleCurrencyMask","handleNumberMask","correctCaretPosition","getSoftKeyboardAttributes","handleThousandsSeparator","handleDecimalSeparator","fromJSON","invisibleSpace","useFilteredProps","props","useContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","_objectWithoutProperties","_excluded","htmlAttributes","Object","freeze","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","useEffect","value","useNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","placeholderChar","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","_extends","inputRef","inputElement","guide","className","useEventMapping","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","undefined","on_blur","on_key_down","on_submit","on_change","isNumberMask","decimalSeparators","isUnidentified","name","target","selStart","selectionStart","keyCode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","length","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","indexOf","thousandsSeparatorSymbol","num","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","Number","cleanedValue","String","charAt","result","selectall","runCorrectCaretPosition","__getCorrectCaretPosition","_currency_mask","_objectSpread","currency"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getSoftKeyboardAttributes,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...getSoftKeyboardAttributes(mask)}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n event.target.runCorrectCaretPosition = () =>\n correctCaretPosition(event.target, maskParams, props)\n if (!event.target.__getCorrectCaretPosition) {\n event.target.runCorrectCaretPosition()\n }\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = extendPropsWithContext(number_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n })\n } else if (as_currency) {\n currency_mask = extendPropsWithContext(currency_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n })\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":";;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,WAAW,EACXC,iBAAiB,QACZ,8BAA8B;AACrC,SACEC,MAAM,EACNC,0BAA0B,EAC1BC,sBAAsB,QACjB,+BAA+B;AACtC,SAASC,gBAAgB,QAAQ,wCAAwC;AAEzE,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,gBAAgB,MAAM,2BAA2B;AACxD,OAAOC,OAAO,MAAM,SAAS;AAC7B,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,SACEC,yBAAyB,EACzBC,sBAAsB,EACtBC,kBAAkB,EAClBC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,EAChBC,oBAAoB,EACpBC,yBAAyB,EACzBC,wBAAwB,EACxBC,sBAAsB,EACtBC,QAAQ,EACRC,cAAc,QACT,oBAAoB;AAO3B,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAM;IAAEC;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAEtD,MAAM;MACJgB,IAAI;MACJC,WAAW;MACXC,aAAa;MACbC,aAAa;MACbC,YAAY;MACZC,WAAW;MACXC,SAAS;MACTC,UAAU;MACVC,MAAM;MACNC,SAAS;MACTC,UAAU;MACVC,IAAI;MACJC,mBAAmB;MACnBC;IAIF,CAAC,GAAGf,KAAK;IADJgB,UAAU,GAAAC,wBAAA,CACXjB,KAAK,EAAAkB,SAAA;EAET,OAAO;IAAElB,KAAK;IAAEmB,cAAc,EAAEC,MAAM,CAACC,MAAM,CAACL,UAAU;EAAE,CAAC;AAC7D,CAAC;AAOD,OAAO,MAAMM,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEtB,KAAK;IAAEuB;EAAQ,CAAC,GAAGhD,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAE/D,IAAI;IAAEwB;EAAO,CAAC,GAAGV,KAAK;EACtB,IAAI,CAACU,MAAM,IAAIa,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEb,MAAM,EAAE;IAC9BA,MAAM,GAAGa,OAAO,CAACb,MAAM;EACzB;EAEA,OAAOA,MAAM;AACf,CAAC;AAUD,OAAO,MAAMc,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAExB,KAAK;IAAEuB;EAAQ,CAAC,GAAGhD,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAC/D,MAAMuC,UAAU,GAAGC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;EAC9C,MAAMhB,MAAM,GAAGY,SAAS,CAAC,CAAC;EAE1B,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAGrD,KAAK,CAACsD,QAAQ,CAAC,MACjDxC,kBAAkB,CAAC;IACjBqB,MAAM;IACNV,KAAK;IACLyB;EACF,CAAC,CACH,CAAC;EAMDlD,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpB,MAAMC,KAAK,GAAG1C,kBAAkB,CAAC;MAC/BsC,UAAU;MACVjB,MAAM;MACNV,KAAK;MACLyB;IACF,CAAC,CAAC;IAEFG,aAAa,CAACG,KAAK,CAAC;EAGtB,CAAC,EAAE,CAAC/B,KAAK,EAAEuB,OAAO,EAAEb,MAAM,CAAC,CAAC;EAE5B,OAAO;IAAEiB,UAAU;IAAEC;EAAc,CAAC;AACtC,CAAC;AAOD,OAAO,MAAMI,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMP,UAAU,GAAGC,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAE1B;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAEtD,IAAI,CAACuC,UAAU,IAAI,CAACrC,sBAAsB,CAACY,KAAK,CAAC,EAAE;IACjD,OAAO,IAAI;EACb;EAEA,MAAME,IAAI,GAAGlB,gBAAgB,CAACyC,UAAU,CAAC;EAEzCvB,IAAI,CAACuB,UAAU,GAAGA,UAAU;EAE5B,OAAOvB,IAAI;AACb,CAAC;AAOD,OAAO,MAAM+B,OAAO,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEjC;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAEtD,MAAMgD,UAAU,GAAGF,aAAa,CAAC,CAAC;EAClC,IAAIE,UAAU,EAAE;IACd,OAAOA,UAAU;EACnB;EAEA,OAAOlC,KAAK,CAACE,IAAI;AACnB,CAAC;AAOD,OAAO,MAAMiC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEnC;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EAEtD,MAAM;IACJ4B,mBAAmB;IACnBF,UAAU;IACVD,SAAS;IACTI,gBAAgB;IAChBqB;EACF,CAAC,GAAGpC,KAAK;EAET,MAAME,IAAI,GAAG+B,OAAO,CAAC,CAAC;EACtB,MAAMR,UAAU,GAAGC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;EAE9CD,UAAU,CAACY,QAAQ,GAAG,CAACD,WAAW,IAAIzD,MAAM,CAACgC,SAAS,CAAC;EAGvDc,UAAU,CAACa,eAAe,GAAGvB,gBAAgB;EAC7C,IAAI,QAAOb,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoC,eAAe,MAAK,WAAW,EAAE;IAChDb,UAAU,CAACa,eAAe,GAAGpC,IAAI,CAACoC,eAAe;EACnD;EACA,IAAIb,UAAU,CAACa,eAAe,KAAK,IAAI,EAAE;IACvCb,UAAU,CAACa,eAAe,GAAGxC,cAAc;EAC7C;EAEA,IAAI,QAAOI,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmC,QAAQ,MAAK,WAAW,EAAE;IACzCZ,UAAU,CAACY,QAAQ,GAAGnC,IAAI,CAACmC,QAAQ;EACrC;EAEAZ,UAAU,CAACc,SAAS,GAAG5D,MAAM,CAACiC,UAAU,CAAC;EACzCa,UAAU,CAACe,iBAAiB,GAAG7D,MAAM,CAACmC,mBAAmB,CAAC;EAE1D,OAAOW,UAAU;AACnB,CAAC;AAOD,OAAO,MAAMgB,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEzC;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EACtD,MAAM;IAAE2B,IAAI;IAAE6B;EAAU,CAAC,GAAG1C,KAAK;EAEjC,MAAME,IAAI,GAAG+B,OAAO,CAAC,CAAC;EACtB,MAAM;IAAEI,QAAQ;IAAEE,SAAS;IAAED,eAAe;IAAEE;EAAkB,CAAC,GAC/DL,aAAa,CAAC,CAAC;EAEjB,MAAMQ,IAAI,GAAG,OAAOD,SAAS,KAAK,UAAU;EAC5C,MAAME,OAAO,GAAGrE,KAAK,CAACsE,MAAM,CAAC,CAAC;EAC9B,MAAMC,GAAG,GAAI,CAACH,IAAI,IAAID,SAAS,IAAKE,OAAO;EAE3CrE,KAAK,CAACwE,eAAe,CAAC,MAAM;IAC1B,IAAIJ,IAAI,EAAE;MACRD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGI,GAAG,CAACE,OAAO,CAAC;IAC1B;EACF,CAAC,EAAE,CAACF,GAAG,CAACE,OAAO,CAAC,CAAC;EAGjB,MAAMC,eAAe,GAAG1E,KAAK,CAACsE,MAAM,CAACtE,KAAA,CAAA2E,aAAA;IAAOJ,GAAG,EAAEA;EAAI,CAAE,CAAC,CAAC;EAEzD,MAAMK,YAAY,GAAGA,CAACC,MAAM,EAAEC,QAAQ,KAAK;IAEzCA,QAAQ,CAACL,OAAO,GAAGF,GAAG,CAACE,OAAO;IAE9B,OACEzE,KAAA,CAAA2E,aAAA,CAACnE,QAAQ,EAAAuE,QAAA;MACPC,QAAQ,EAAET,GAAI;MACdU,YAAY,EAAEP,eAAe,CAACD,OAAQ;MACtCnC,IAAI,EAAEA,IAAK;MACXX,IAAI,EAAEA,IAAI,IAAI,EAAG;MACjBmC,QAAQ,EAAEA,QAAS;MACnBoB,KAAK,EAAElB,SAAU;MACjBC,iBAAiB,EAAEA,iBAAkB;MACrCF,eAAe,EAAEA;IAAgB,GAC7B5C,yBAAyB,CAACQ,IAAI,CAAC,EAC/BkD,MAAM;MACVM,SAAS,EAAElF,UAAU,CACnB4E,MAAM,CAACM,SAAS,EAChBrB,QAAQ,IACNE,SAAS,IACTD,eAAe,IACfA,eAAe,KAAKxC,cAAc,IAClC,yBACJ;IAAE,EACH,CAAC;EAEN,CAAC;EACD,OAAOqD,YAAY;AACrB,CAAC;AASD,OAAO,MAAMQ,eAAe,GAAGA,CAAC;EAAE/B;AAAc,CAAC,KAAK;EACpD,MAAMgC,SAAS,GAAGC,YAAY,CAAC;IAAEjC;EAAc,CAAC,CAAC;EAEjD,OAAO;IACLkC,aAAa,EAAGC,KAAK,IAAKH,SAAS,CAAC;MAAEG;IAAM,CAAC,EAAE,iBAAiB,CAAC;IACjEC,OAAO,EAAGZ,MAAM,IAAKQ,SAAS,CAACR,MAAM,EAAE,UAAU,CAAC;IAClDa,MAAM,EAAGb,MAAM,IAAKQ,SAAS,CAACR,MAAM,EAAE,SAAS,CAAC;IAChDc,SAAS,EAAGH,KAAK,IAAKH,SAAS,CAAC;MAAEG;IAAM,CAAC,EAAE,aAAa,CAAC;IACzDI,SAAS,EAAGf,MAAM,IAAKQ,SAAS,CAACR,MAAM,EAAE,aAAa,CAAC;IACvDgB,QAAQ,EAAGhB,MAAM,IAAKQ,SAAS,CAACR,MAAM,EAAE,WAAW,CAAC;IACpDiB,QAAQ,EAAGjB,MAAM,IAAKQ,SAAS,CAACR,MAAM,EAAE,WAAW,CAAC;IAEpDkB,QAAQ,EAAEC,SAAS;IACnBC,OAAO,EAAED,SAAS;IAClBE,WAAW,EAAEF,SAAS;IACtBG,SAAS,EAAEH,SAAS;IACpBI,SAAS,EAAEJ;EACb,CAAC;AACH,CAAC;AASD,MAAMV,YAAY,GAAGA,CAAC;EAAEjC;AAAc,CAAC,KAAK;EAC1C,MAAM;IAAE5B;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EACtD,MAAMuC,UAAU,GAAGU,aAAa,CAAC,CAAC;EAClC,MAAMyC,YAAY,GAAG5C,aAAa,CAAC,CAAC;EAGpC,MAAM6C,iBAAiB,GAAG,QAAQ;EAClC,IAAIC,cAAc,GAAG,KAAK;EAE1B,MAAMlB,SAAS,GAAGA,CAAC;IAAEG,KAAK;IAAEhC;EAAM,CAAC,EAAEgD,IAAI,KAAK;IAC5ChD,KAAK,GAAGA,KAAK,IAAIgC,KAAK,CAACiB,MAAM,CAACjD,KAAK;IACnC,MAAMkD,QAAQ,GAAGlB,KAAK,CAACiB,MAAM,CAACE,cAAc;IAC5C,IAAIC,OAAO,GAAGlG,OAAO,CAAC8E,KAAK,CAAC;IAG5B,IACEgB,IAAI,KAAK,aAAa,KACrBhB,KAAK,CAACqB,KAAK,KAAK,GAAG,IAAID,OAAO,KAAKZ,SAAS,CAAC,EAC9C;MACAO,cAAc,GAAG,IAAI;IACvB;IAIA,IACEA,cAAc,IACdC,IAAI,KAAK,iBAAiB,IAC1B,QAAOhB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,IAAI,MAAK,WAAW,EAClC;MACAN,IAAI,GAAG,aAAa;MACpBI,OAAO,GAAGpB,KAAK,CAACsB,IAAI;MACpBP,cAAc,GAAG,KAAK;IACxB;IAGA,IACEC,IAAI,KAAK,aAAa,IACtB,CAACD,cAAc,IACfrD,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE6D,qBAAqB,KAChCH,OAAO,KAAK,GAAG,IACdA,OAAO,KAAK,UAAU,IACrBpD,KAAK,CAACwD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,IACjCV,iBAAiB,CAACW,IAAI,CAACL,OAAO,CAAE,CAAC,EACrC;MACA,MAAMM,SAAS,GAAG,CAChB1D,KAAK,CAAC2D,KAAK,CAAC,CAAC,EAAET,QAAQ,CAAC,GACxB,GAAG,GACHlD,KAAK,CAAC2D,KAAK,CAACT,QAAQ,GAAG,CAAC,EAAElD,KAAK,CAAC4D,MAAM,CAAC,EACvCJ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;MAEvB,IAAI,IAAI,CAACC,IAAI,CAACC,SAAS,CAAC,EAAE;QACxB1B,KAAK,CAAC6B,cAAc,CAAC,CAAC;MACxB;IACF;IAEA,IACEb,IAAI,KAAK,aAAa,IACtBH,YAAY,IACZ,CAACE,cAAc,IACfrD,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEoE,aAAa,EACzB;MACA,MAAMC,gBAAgB,GAAG/D,KAAK,CAACgE,QAAQ,CAACtE,UAAU,CAACoE,aAAa,CAAC;MACjE,MAAMG,eAAe,GACnBvE,UAAU,CAACwE,YAAY,GAAG,CAAC,IAAIxE,UAAU,CAACyE,YAAY,KAAK,KAAK;MAElE,IAAI,CAACF,eAAe,IAAInB,iBAAiB,CAACW,IAAI,CAACL,OAAO,CAAC,EAAE;QACvDpB,KAAK,CAAC6B,cAAc,CAAC,CAAC;MACxB;MAEA,MAAMO,eAAe,GAAGpE,KAAK,CAAC2D,KAAK,CAACT,QAAQ,EAAEA,QAAQ,GAAG,CAAC,CAAC;MAE3D,IAAIe,eAAe,EAAE;QAEnB,IAAIF,gBAAgB,IAAIjB,iBAAiB,CAACW,IAAI,CAACL,OAAO,CAAC,EAAE;UAEvD,IAAIN,iBAAiB,CAACW,IAAI,CAACW,eAAe,CAAC,EAAE;YAC3C,MAAMC,KAAK,GAAGrE,KAAK,CAACsE,OAAO,CAAC5E,UAAU,CAACoE,aAAa,CAAC;YACrD,IAAIO,KAAK,GAAG,CAAC,CAAC,EAAE;cACdtH,gBAAgB,CAACiF,KAAK,CAACiB,MAAM,EAAEoB,KAAK,GAAG,CAAC,CAAC;YAC3C;UACF;UAGArC,KAAK,CAAC6B,cAAc,CAAC,CAAC;QACxB,CAAC,MAGI,IACH,CAACE,gBAAgB,IACjBX,OAAO,KAAK1D,UAAU,CAACoE,aAAa,IACpChB,iBAAiB,CAACW,IAAI,CAACL,OAAO,CAAC,EAC/B;UACApD,KAAK,GAAGA,KAAK,CAAC2D,KAAK,CAAC,CAAC,EAAET,QAAQ,CAAC;UAChCrD,aAAa,CAACG,KAAK,GAAGN,UAAU,CAACoE,aAAa,CAAC;UAC/C9B,KAAK,CAACiB,MAAM,CAACjD,KAAK,GAAGA,KAAK,GAAGN,UAAU,CAACoE,aAAa;UACrD9B,KAAK,CAAC6B,cAAc,CAAC,CAAC;QACxB;MACF;MAGA,IACET,OAAO,KAAK,QAAQ,IACpBgB,eAAe,MAAM1E,UAAU,CAAC6E,wBAAwB,IAAI,GAAG,CAAC,EAChE;QACAxH,gBAAgB,CAACiF,KAAK,CAACiB,MAAM,EAAEC,QAAQ,GAAG,CAAC,CAAC;QAC5ClB,KAAK,CAAC6B,cAAc,CAAC,CAAC;MACxB;IACF;IAEA,IAAIW,GAAG,GAAG9H,WAAW,CAACsD,KAAK,EAAE;MAC3ByE,MAAM,EAAE/E,UAAU,CAAC+E,MAAM;MACzBC,MAAM,EAAEhF,UAAU,CAACgF,MAAM;MACzBC,gBAAgB,EAAEjF,UAAU,CAACoE,aAAa,IAAI,GAAG;MACjDc,kBAAkB,EAAElF,UAAU,CAAC6E,wBAAwB,IAAI;IAC7D,CAAC,CAAC;IAGF,IAAIC,GAAG,KAAK,GAAG,EAAE;MACfA,GAAG,GAAG,CAAC,CAAC;IACV;IAEA,MAAMK,WAAW,GAAGC,MAAM,CAACN,GAAG,CAAC;IAG/B,MAAMO,YAAY,GAChBF,WAAW,KAAK,CAAC,IAAIG,MAAM,CAACR,GAAG,CAAC,CAACS,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,GAAGT,GAAG;IAE/D,IAAIxB,IAAI,KAAK,WAAW,IAAI6B,WAAW,KAAK,CAAC,EAAE;MAC7CnH,oBAAoB,CAACsE,KAAK,CAACiB,MAAM,EAAEvD,UAAU,EAAEzB,KAAK,CAAC;IACvD;IAEA,MAAMiH,MAAM,GAAGrI,0BAA0B,CAACoB,KAAK,EAAE+E,IAAI,EAAE;MACrDhB,KAAK;MACLhC,KAAK;MACL6E,WAAW;MACXE;IACF,CAAC,CAAC;IAEF,IAAI/B,IAAI,KAAK,WAAW,EAAE;MACxBnD,aAAa,CAACG,KAAK,CAAC;IACtB;IAEA,IACE,CAACgD,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,aAAa,KAC9C,CAAC/E,KAAK,CAACkH,SAAS,EAChB;MAEAnD,KAAK,CAACiB,MAAM,CAACmC,uBAAuB,GAAG,MACrC1H,oBAAoB,CAACsE,KAAK,CAACiB,MAAM,EAAEvD,UAAU,EAAEzB,KAAK,CAAC;MACvD,IAAI,CAAC+D,KAAK,CAACiB,MAAM,CAACoC,yBAAyB,EAAE;QAC3CrD,KAAK,CAACiB,MAAM,CAACmC,uBAAuB,CAAC,CAAC;MACxC;IACF;IAEA,OAAOF,MAAM;EACf,CAAC;EAED,OAAOrD,SAAS;AAClB,CAAC;AAOD,MAAMlC,mBAAmB,GAAGA,CAAA,KAAM;EAAA,IAAA2F,cAAA;EAChC,MAAM;IAAErH;EAAM,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACf,kBAAkB,CAAC;EACtD,MAAMwB,MAAM,GAAGY,SAAS,CAAC,CAAC;EAE1B,IAAI,CAAClC,sBAAsB,CAACY,KAAK,CAAC,EAAE;IAClC,OAAAsH,aAAA,KAAYzH,QAAQ,CAACG,KAAK,CAACM,YAAY,CAAC;EAC1C;EAEA,IAAI;IAAEH,WAAW;IAAEC,aAAa;IAAEE;EAAa,CAAC,GAAGN,KAAK;EAExD,MAAM;IAAEQ,SAAS;IAAEC,UAAU;IAAEF;EAAY,CAAC,GAAGP,KAAK;EAEpDM,YAAY,GAAGT,QAAQ,CAACS,YAAY,CAAC;EACrCH,WAAW,GAAGxB,MAAM,CAACwB,WAAW,CAAC,GAAG,CAAC,CAAC,GAAGN,QAAQ,CAACM,WAAW,CAAC;EAC9DC,aAAa,GAAGzB,MAAM,CAACyB,aAAa,CAAC,GACjC,CAAC,CAAC,GACFP,QAAQ,CAACO,aAAa,EAAE;IACtBmH,QAAQ,EAAEnH;EACZ,CAAC,CAAC;EACN,IAAI,GAAAiH,cAAA,GAACjH,aAAa,cAAAiH,cAAA,eAAbA,cAAA,CAAeE,QAAQ,GAAE;IAC5B,OAAOnH,aAAa,CAACmH,QAAQ;EAC/B;EAEA,IAAIpI,yBAAyB,CAACa,KAAK,CAAC,EAAE;IACpC,MAAMsG,wBAAwB,GAAG3G,wBAAwB,CAACe,MAAM,CAAC;IACjE,MAAMmF,aAAa,GAAGjG,sBAAsB,CAACc,MAAM,CAAC;IAEpD,IAAI/B,MAAM,CAAC6B,SAAS,CAAC,IAAI7B,MAAM,CAAC8B,UAAU,CAAC,EAAE;MAC3CN,WAAW,GAAGtB,sBAAsB,CAACsB,WAAW,EAAE,IAAI,EAAE;QACtD0F,aAAa;QACbS;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI/F,WAAW,EAAE;MACtBH,aAAa,GAAGvB,sBAAsB,CAACuB,aAAa,EAAE,IAAI,EAAE;QAC1DyF,aAAa;QACbS,wBAAwB;QACxBiB,QAAQ,EAAE7I,iBAAiB,CACzBgC,MAAM,EACN,OAAOH,WAAW,KAAK,QAAQ,GAAGA,WAAW,GAAG,IAClD;MACF,CAAC,CAAC;IACJ;EACF;EAEA,IAAIkB,UAAU,GAAG,IAAI;EAErB,IAAItB,WAAW,EAAE;IACfsB,UAAU,GAAGjC,gBAAgB,CAAC;MAC5Bc,YAAY;MACZH;IACF,CAAC,CAAC;IAEF,IAAIxB,MAAM,CAAC8B,UAAU,CAAC,EAAE;MACtBgB,UAAU,GAAGnC,iBAAiB,CAAC;QAAEU,KAAK;QAAEU,MAAM;QAAEe;MAAW,CAAC,CAAC;IAC/D;EACF,CAAC,MAAM,IAAIrB,aAAa,EAAE;IACxBqB,UAAU,GAAGlC,kBAAkB,CAAC;MAC9Be,YAAY;MACZF;IACF,CAAC,CAAC;EACJ;EAEA,OAAOqB,UAAU;AACnB,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Returns the type of what inputMode should be used
|
|
2
|
+
* Returns the type of what inputMode or type attribute should be used
|
|
3
3
|
*
|
|
4
4
|
* @param {function} mask mask function
|
|
5
5
|
* @returns undefined|decimal|numeric
|
|
6
6
|
*/
|
|
7
|
-
export function
|
|
7
|
+
export function getSoftKeyboardAttributes(mask: Function): {
|
|
8
|
+
inputMode: string;
|
|
9
|
+
};
|
|
8
10
|
/**
|
|
9
11
|
* Returns the thousands separator character
|
|
10
12
|
*
|
|
@@ -3,7 +3,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
import { format, getDecimalSeparator, getThousandsSeparator } from '../number-format/NumberUtils';
|
|
5
5
|
import { warn } from '../../shared/component-helper';
|
|
6
|
-
import {
|
|
6
|
+
import { IS_IOS } from '../../shared/helpers';
|
|
7
7
|
import { safeSetSelection } from './text-mask/createTextMaskInputElement';
|
|
8
8
|
const enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency'];
|
|
9
9
|
const enableNumberMaskWhen = ['as_number', 'as_percent', 'as_currency', 'number_mask', 'currency_mask'];
|
|
@@ -172,15 +172,17 @@ export const handleNumberMask = ({
|
|
|
172
172
|
}
|
|
173
173
|
return maskParams;
|
|
174
174
|
};
|
|
175
|
-
export function
|
|
176
|
-
|
|
177
|
-
if ((IS_ANDROID || IS_IOS) && (maskParams === null || maskParams === void 0 ? void 0 : maskParams.allowNegative) !== false) {
|
|
175
|
+
export function getSoftKeyboardAttributes(mask) {
|
|
176
|
+
if ((mask === null || mask === void 0 ? void 0 : mask.instanceOf) !== 'createNumberMask') {
|
|
178
177
|
return undefined;
|
|
179
178
|
}
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
const maskParams = mask === null || mask === void 0 ? void 0 : mask.maskParams;
|
|
180
|
+
if (IS_IOS && (maskParams === null || maskParams === void 0 ? void 0 : maskParams.allowNegative) !== false) {
|
|
181
|
+
return undefined;
|
|
182
182
|
}
|
|
183
|
-
return
|
|
183
|
+
return {
|
|
184
|
+
inputMode: maskParams.allowDecimal && maskParams.decimalLimit !== 0 ? 'decimal' : 'numeric'
|
|
185
|
+
};
|
|
184
186
|
}
|
|
185
187
|
export function handleThousandsSeparator(locale) {
|
|
186
188
|
return getThousandsSeparator(locale).replace(' ', ' ');
|