@dnb/eufemia 10.16.0 → 10.18.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 +54 -0
- package/cjs/components/anchor/Anchor.js +9 -5
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
- package/cjs/components/anchor/style/dnb-anchor.css +0 -16
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/button/style/dnb-button.css +13 -0
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/dnb-button.scss +16 -0
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/cjs/components/date-picker/DatePicker.d.ts +14 -1
- package/cjs/components/date-picker/DatePicker.js +0 -1
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.js +2 -1
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerInput.js +9 -2
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +3 -2
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/flex/Container.js +15 -2
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/export.d.ts +1 -0
- package/cjs/components/flex/export.js +7 -0
- package/cjs/components/flex/export.js.map +1 -1
- package/cjs/components/flex/utils.d.ts +1 -1
- package/cjs/components/flex/utils.js +11 -1
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/flex/withChildren.d.ts +6 -0
- package/cjs/components/flex/withChildren.js +13 -0
- package/cjs/components/flex/withChildren.js.map +1 -0
- package/cjs/components/input/Input.js +3 -3
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
- package/cjs/components/input-masked/MultiInputMask.js +41 -14
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.js +1 -1
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +5 -0
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
- package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
- package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/cjs/extensions/forms/Field/Date/Date.js +47 -10
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
- package/cjs/extensions/forms/Field/Number/Number.js +109 -30
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
- package/cjs/extensions/forms/Field/String/String.js +23 -9
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -26
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
- package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
- package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
- package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/index.js +14 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +26 -33
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
- package/cjs/extensions/forms/hooks/useId.js +18 -0
- package/cjs/extensions/forms/hooks/useId.js.map +1 -0
- package/cjs/extensions/forms/index.d.ts +6 -1
- package/cjs/extensions/forms/index.js +5 -8
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +214 -11
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +16 -18
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
- package/cjs/shared/helpers/EventEmitter.js.map +1 -1
- package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
- package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
- package/cjs/shared/helpers/useSharedState.d.ts +15 -0
- package/cjs/shared/helpers/useSharedState.js +71 -0
- package/cjs/shared/helpers/useSharedState.js.map +1 -0
- package/cjs/style/core/utilities.scss +1 -2
- package/cjs/style/dnb-ui-components.css +232 -27
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-extensions.css +214 -11
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +214 -11
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/anchor/Anchor.js +9 -5
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +0 -11
- package/components/anchor/style/dnb-anchor.css +0 -16
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/button/style/dnb-button.css +13 -0
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/dnb-button.scss +16 -0
- package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/components/date-picker/DatePicker.d.ts +14 -1
- package/components/date-picker/DatePicker.js +0 -1
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalc.js +2 -1
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +3 -0
- package/components/date-picker/DatePickerInput.js +9 -2
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/dropdown/Dropdown.js +3 -2
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/flex/Container.js +15 -2
- package/components/flex/Container.js.map +1 -1
- package/components/flex/export.d.ts +1 -0
- package/components/flex/export.js +1 -0
- package/components/flex/export.js.map +1 -1
- package/components/flex/utils.d.ts +1 -1
- package/components/flex/utils.js +11 -1
- package/components/flex/utils.js.map +1 -1
- package/components/flex/withChildren.d.ts +6 -0
- package/components/flex/withChildren.js +6 -0
- package/components/flex/withChildren.js.map +1 -0
- package/components/input/Input.js +3 -3
- package/components/input/Input.js.map +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/components/input-masked/InputMaskedHooks.js +13 -8
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +10 -2
- package/components/input-masked/MultiInputMask.js +39 -14
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
- package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/components/number-format/NumberFormat.js +1 -1
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/textarea/style/dnb-textarea.css +5 -0
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +4 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/components/visually-hidden/VisuallyHidden.js +1 -1
- package/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/es/components/anchor/Anchor.js +9 -5
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +0 -11
- package/es/components/anchor/style/dnb-anchor.css +0 -16
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/button/style/dnb-button.css +13 -0
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/dnb-button.scss +16 -0
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/es/components/date-picker/DatePicker.d.ts +14 -1
- package/es/components/date-picker/DatePicker.js +0 -1
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.js +2 -1
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +3 -0
- package/es/components/date-picker/DatePickerInput.js +9 -2
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +3 -2
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/flex/Container.js +15 -2
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/export.d.ts +1 -0
- package/es/components/flex/export.js +1 -0
- package/es/components/flex/export.js.map +1 -1
- package/es/components/flex/utils.d.ts +1 -1
- package/es/components/flex/utils.js +11 -1
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/flex/withChildren.d.ts +6 -0
- package/es/components/flex/withChildren.js +6 -0
- package/es/components/flex/withChildren.js.map +1 -0
- package/es/components/input/Input.js +3 -3
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/es/components/input-masked/InputMaskedHooks.js +13 -8
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +10 -2
- package/es/components/input-masked/MultiInputMask.js +39 -13
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
- package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
- package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/es/components/number-format/NumberFormat.js +1 -1
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/textarea/style/dnb-textarea.css +5 -0
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +4 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/es/components/visually-hidden/VisuallyHidden.js +1 -1
- package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
- package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/es/extensions/forms/Field/Date/Date.js +45 -9
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
- package/es/extensions/forms/Field/Number/Number.js +109 -31
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/es/extensions/forms/Field/Selection/Selection.js +4 -9
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +0 -1
- package/es/extensions/forms/Field/String/String.js +23 -9
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -23
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
- package/es/extensions/forms/Form/Handler/Handler.js +1 -0
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
- package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
- package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/es/extensions/forms/Form/hooks/useData.js +29 -0
- package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +2 -0
- package/es/extensions/forms/Form/index.js +2 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +0 -4
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +26 -33
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useId.d.ts +1 -0
- package/es/extensions/forms/hooks/useId.js +11 -0
- package/es/extensions/forms/hooks/useId.js.map +1 -0
- package/es/extensions/forms/index.d.ts +6 -1
- package/es/extensions/forms/index.js +3 -1
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +214 -11
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +16 -18
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/EventEmitter.d.ts +5 -0
- package/es/shared/helpers/EventEmitter.js.map +1 -1
- package/es/shared/helpers/useEventEmitter.d.ts +2 -0
- package/es/shared/helpers/useEventEmitter.js.map +1 -1
- package/es/shared/helpers/useSharedState.d.ts +15 -0
- package/es/shared/helpers/useSharedState.js +63 -0
- package/es/shared/helpers/useSharedState.js.map +1 -0
- package/es/style/core/utilities.scss +1 -2
- package/es/style/dnb-ui-components.css +232 -27
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-extensions.css +214 -11
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +214 -11
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
- 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/Provider/Provider.d.ts +8 -4
- package/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
- package/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/extensions/forms/Field/Date/Date.js +48 -11
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +21 -11
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +5 -1
- package/extensions/forms/Field/Number/Number.js +110 -31
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/extensions/forms/Field/Selection/Selection.js +4 -9
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +0 -1
- package/extensions/forms/Field/String/String.js +23 -9
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +16 -26
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
- package/extensions/forms/Form/Handler/Handler.js +1 -0
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
- package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/extensions/forms/Form/Visibility/index.js.map +1 -0
- package/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/extensions/forms/Form/hooks/useData.js +30 -0
- package/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +2 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +0 -4
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.js +26 -33
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useId.d.ts +1 -0
- package/extensions/forms/hooks/useId.js +11 -0
- package/extensions/forms/hooks/useId.js.map +1 -0
- package/extensions/forms/index.d.ts +6 -1
- package/extensions/forms/index.js +3 -1
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +214 -11
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +16 -18
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/EventEmitter.d.ts +5 -0
- package/shared/helpers/EventEmitter.js.map +1 -1
- package/shared/helpers/useEventEmitter.d.ts +2 -0
- package/shared/helpers/useEventEmitter.js.map +1 -1
- package/shared/helpers/useSharedState.d.ts +15 -0
- package/shared/helpers/useSharedState.js +63 -0
- package/shared/helpers/useSharedState.js.map +1 -0
- package/style/core/utilities.scss +1 -2
- package/style/dnb-ui-components.css +232 -27
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-extensions.css +214 -11
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +214 -11
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/style/themes/theme-ui/ui-theme-tags.css +8 -10
- 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/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/cjs/extensions/forms/Visibility/index.js.map +0 -1
- package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/es/extensions/forms/Visibility/index.js.map +0 -1
- package/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/extensions/forms/Visibility/index.js.map +0 -1
- /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
- /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
- /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
|
@@ -3,4 +3,5 @@ export { default as Item } from './Item';
|
|
|
3
3
|
export { default as Stack } from './Stack';
|
|
4
4
|
export { default as Horizontal } from './Horizontal';
|
|
5
5
|
export { default as Vertical } from './Vertical';
|
|
6
|
+
export { default as withChildren } from './withChildren';
|
|
6
7
|
//# sourceMappingURL=export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","names":["default","Container","Item","Stack","Horizontal","Vertical"],"sources":["../../../../src/components/flex/export.ts"],"sourcesContent":["export { default as Container } from './Container'\nexport { default as Item } from './Item'\nexport { default as Stack } from './Stack'\nexport { default as Horizontal } from './Horizontal'\nexport { default as Vertical } from './Vertical'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,IAAI,QAAQ,QAAQ;AACxC,SAASF,OAAO,IAAIG,KAAK,QAAQ,SAAS;AAC1C,SAASH,OAAO,IAAII,UAAU,QAAQ,cAAc;AACpD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,YAAY"}
|
|
1
|
+
{"version":3,"file":"export.js","names":["default","Container","Item","Stack","Horizontal","Vertical","withChildren"],"sources":["../../../../src/components/flex/export.ts"],"sourcesContent":["export { default as Container } from './Container'\nexport { default as Item } from './Item'\nexport { default as Stack } from './Stack'\nexport { default as Horizontal } from './Horizontal'\nexport { default as Vertical } from './Vertical'\nexport { default as withChildren } from './withChildren'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,IAAI,QAAQ,QAAQ;AACxC,SAASF,OAAO,IAAIG,KAAK,QAAQ,SAAS;AAC1C,SAASH,OAAO,IAAII,UAAU,QAAQ,cAAc;AACpD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,YAAY;AAChD,SAASL,OAAO,IAAIM,YAAY,QAAQ,gBAAgB"}
|
|
@@ -15,4 +15,4 @@ export declare const isSpacePropsComponent: (element: React.ReactNode) => boolea
|
|
|
15
15
|
export declare const renderWithSpacing: (element: React.ReactNode, props: SpacingProps & {
|
|
16
16
|
key?: string;
|
|
17
17
|
className?: string;
|
|
18
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
18
|
+
}) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
|
package/components/flex/utils.js
CHANGED
|
@@ -28,10 +28,20 @@ export const isEufemiaElement = element => {
|
|
|
28
28
|
};
|
|
29
29
|
export const isSpacePropsComponent = element => {
|
|
30
30
|
var _element$type2;
|
|
31
|
-
|
|
31
|
+
if (React.isValidElement(element) && typeof (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === 'boolean') {
|
|
32
|
+
var _element$type3;
|
|
33
|
+
return element === null || element === void 0 ? void 0 : (_element$type3 = element.type) === null || _element$type3 === void 0 ? void 0 : _element$type3['_supportsSpacingProps'];
|
|
34
|
+
}
|
|
35
|
+
if (isEufemiaElement(element)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
32
39
|
};
|
|
33
40
|
export const renderWithSpacing = (element, props) => {
|
|
34
41
|
const takesSpaceProps = isSpacePropsComponent(element);
|
|
42
|
+
if (takesSpaceProps === false) {
|
|
43
|
+
return element;
|
|
44
|
+
}
|
|
35
45
|
return takesSpaceProps ? React.cloneElement(element, props) : React.createElement(Space, props, element);
|
|
36
46
|
};
|
|
37
47
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n
|
|
1
|
+
{"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","_element$type3","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n if (\n React.isValidElement(element) &&\n typeof element?.type?.['_supportsSpacingProps'] === 'boolean'\n ) {\n return element?.type?.['_supportsSpacingProps']\n }\n\n if (isEufemiaElement(element)) {\n return true\n }\n\n return undefined\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n if (takesSpaceProps === false) {\n return element\n }\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withChildren.js","names":["withChildren","Component"],"sources":["../../../../src/components/flex/withChildren.tsx"],"sourcesContent":["import React from 'react'\n\ntype WithChildrenProps = {\n children?: React.ReactNode\n}\n\nfunction withChildren<T>(\n Component: React.ComponentType<T>\n): React.ComponentType<T & WithChildrenProps> {\n Component['_supportsSpacingProps'] = 'children'\n return Component\n}\n\nexport default withChildren\n"],"mappings":"AAMA,SAASA,YAAYA,CACnBC,SAAiC,EACW;EAC5CA,SAAS,CAAC,uBAAuB,CAAC,GAAG,UAAU;EAC/C,OAAOA,SAAS;AAClB;AAEA,eAAeD,YAAY"}
|
|
@@ -326,10 +326,10 @@ export default class Input extends React.PureComponent {
|
|
|
326
326
|
}
|
|
327
327
|
return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
|
|
328
328
|
id: id + '-label',
|
|
329
|
-
|
|
329
|
+
forId: id,
|
|
330
330
|
text: label,
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
labelDirection: label_direction,
|
|
332
|
+
srOnly: label_sr_only,
|
|
333
333
|
disabled: disabled,
|
|
334
334
|
skeleton: skeleton
|
|
335
335
|
}), React.createElement("span", innerParams, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","convertStatusToStateOnly","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","Button","buttonVariantPropType","FormLabel","FormStatus","IconPrimary","Context","Suffix","inputPropTypes","_objectSpread","type","string","size","oneOfType","oneOf","number","value","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","object","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","variant","submit_button_icon","submit_button_status","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","Input","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","inputState","hasValue","String","length","constructor","context","_defineProperty","event","target","setState","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","result","key","clearValue","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","_className","_input_element","attributes","_objectWithoutProperties","_excluded","focusState","sizeIsNumber","parseFloat","showStatus","hasSubmitButton","iconSize","mainParams","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","shellParams","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","undefined","onClick","title","process","env","NODE_ENV","propTypes","arguments","_this$props","rest","_excluded2","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n if (isTrue(this.props.clear) && event.key === 'Escape') {\n this.clearValue(event)\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","convertStatusToStateOnly","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","Button","buttonVariantPropType","FormLabel","FormStatus","IconPrimary","Context","Suffix","inputPropTypes","_objectSpread","type","string","size","oneOfType","oneOf","number","value","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","object","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","variant","submit_button_icon","submit_button_status","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","Input","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","inputState","hasValue","String","length","constructor","context","_defineProperty","event","target","setState","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","result","key","clearValue","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","_className","_input_element","attributes","_objectWithoutProperties","_excluded","focusState","sizeIsNumber","parseFloat","showStatus","hasSubmitButton","iconSize","mainParams","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","shellParams","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","undefined","onClick","title","process","env","NODE_ENV","propTypes","arguments","_this$props","rest","_excluded2","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n if (isTrue(this.props.clear) && event.key === 'Escape') {\n this.clearValue(event)\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -58,12 +58,14 @@
|
|
|
58
58
|
color: var(--color-fire-red);
|
|
59
59
|
}
|
|
60
60
|
.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell {
|
|
61
|
+
--input-border-color: transparent;
|
|
61
62
|
--border-color: var(--color-fire-red);
|
|
62
63
|
--border-width: 0.0625rem;
|
|
63
64
|
box-shadow: 0 0 0 var(--border-width) var(--border-color);
|
|
64
65
|
border-color: transparent;
|
|
65
66
|
}
|
|
66
67
|
.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell, .dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover, .dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell {
|
|
68
|
+
--input-border-color: var(--color-fire-red);
|
|
67
69
|
--border-color: var(--color-fire-red);
|
|
68
70
|
--border-width: var(--input-border-width--focus);
|
|
69
71
|
box-shadow: 0 0 0 var(--border-width) var(--border-color);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-input{--input-border-color:var(--color-sea-green);--input-border-color--hover:var(--color-sea-green);--input-border-color--focus:var(--color-emerald-green);--input-border-color--disabled:var(--color-black-55);--input-border-radius:0.25rem;--input-border-width:0.0625rem;--input-border-width--focus:0.125rem;color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--input-border-color);--border-width:var(--input-border-width);background-color:var(--input-background-color);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--input-border-color--disabled);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--input-border-color--hover);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--input-border-color--focus);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
|
|
1
|
+
.dnb-input{--input-border-color:var(--color-sea-green);--input-border-color--hover:var(--color-sea-green);--input-border-color--focus:var(--color-emerald-green);--input-border-color--disabled:var(--color-black-55);--input-border-radius:0.25rem;--input-border-width:0.0625rem;--input-border-width--focus:0.125rem;color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--input-border-color);--border-width:var(--input-border-width);background-color:var(--input-background-color);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--input-border-color--disabled);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--input-border-color--hover);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--input-border-color--focus);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--input-border-color:transparent;--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--input-border-color:var(--color-fire-red);--border-color:var(--color-fire-red);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
|
|
@@ -74,11 +74,13 @@
|
|
|
74
74
|
}
|
|
75
75
|
&__status--error#{&}:not([data-input-state='focus']):not(:hover)
|
|
76
76
|
&__shell {
|
|
77
|
+
--input-border-color: transparent;
|
|
77
78
|
@include fakeBorder(var(--color-fire-red));
|
|
78
79
|
}
|
|
79
80
|
&__status--error#{&}[data-input-state='focus'] &__shell,
|
|
80
81
|
&__status--error#{&}:not([data-input-state='disabled']) &__shell:hover,
|
|
81
82
|
&__status--error#{&}:not([data-input-state='disabled']):hover &__shell {
|
|
83
|
+
--input-border-color: var(--color-fire-red);
|
|
82
84
|
@include fakeBorder(
|
|
83
85
|
var(--color-fire-red),
|
|
84
86
|
var(--input-border-width--focus)
|
|
@@ -19,6 +19,7 @@ export function useEventMapping({ setLocalValue }: object): {
|
|
|
19
19
|
onFocus: (params: any) => any;
|
|
20
20
|
onBlur: (params: any) => any;
|
|
21
21
|
onMouseUp: (event: any) => any;
|
|
22
|
+
onMouseDown: (event: any) => any;
|
|
22
23
|
onKeyDown: (params: any) => any;
|
|
23
24
|
onSubmit: (params: any) => any;
|
|
24
25
|
onChange: (params: any) => any;
|
|
@@ -188,6 +188,9 @@ export const useEventMapping = _ref => {
|
|
|
188
188
|
onMouseUp: event => callEvent({
|
|
189
189
|
event
|
|
190
190
|
}, 'on_mouse_up'),
|
|
191
|
+
onMouseDown: event => callEvent({
|
|
192
|
+
event
|
|
193
|
+
}, 'on_mouse_down'),
|
|
191
194
|
onKeyDown: params => callEvent(params, 'on_key_down'),
|
|
192
195
|
onSubmit: params => callEvent(params, 'on_submit'),
|
|
193
196
|
onChange: params => callEvent(params, 'on_change'),
|
|
@@ -270,8 +273,16 @@ const useCallEvent = _ref2 => {
|
|
|
270
273
|
}
|
|
271
274
|
const numberValue = Number(num);
|
|
272
275
|
const cleanedValue = numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num;
|
|
273
|
-
|
|
274
|
-
|
|
276
|
+
switch (name) {
|
|
277
|
+
case 'on_focus':
|
|
278
|
+
case 'on_key_down':
|
|
279
|
+
case 'on_mouse_down':
|
|
280
|
+
case 'on_mouse_up':
|
|
281
|
+
event.target.runCorrectCaretPosition = () => correctCaretPosition(event.target, maskParams, props);
|
|
282
|
+
if (!event.target.__getCorrectCaretPosition) {
|
|
283
|
+
event.target.runCorrectCaretPosition();
|
|
284
|
+
}
|
|
285
|
+
break;
|
|
275
286
|
}
|
|
276
287
|
const result = dispatchCustomElementEvent(props, name, {
|
|
277
288
|
event,
|
|
@@ -282,12 +293,6 @@ const useCallEvent = _ref2 => {
|
|
|
282
293
|
if (name === 'on_change') {
|
|
283
294
|
setLocalValue(value);
|
|
284
295
|
}
|
|
285
|
-
if ((name === 'on_focus' || name === 'on_mouse_up') && !props.selectall) {
|
|
286
|
-
event.target.runCorrectCaretPosition = () => correctCaretPosition(event.target, maskParams, props);
|
|
287
|
-
if (!event.target.__getCorrectCaretPosition) {
|
|
288
|
-
event.target.runCorrectCaretPosition();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
296
|
return result;
|
|
292
297
|
};
|
|
293
298
|
return callEvent;
|
|
@@ -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","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","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","undefined","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","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":"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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","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onMouseDown","onKeyDown","onSubmit","onChange","on_focus","undefined","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","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","runCorrectCaretPosition","__getCorrectCaretPosition","result","_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 onMouseDown: (event) => callEvent({ event }, 'on_mouse_down'),\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 switch (name) {\n case 'on_focus':\n case 'on_key_down':\n case 'on_mouse_down':\n case 'on_mouse_up':\n event.target.runCorrectCaretPosition = () =>\n correctCaretPosition(event.target, maskParams, props)\n if (!event.target.__getCorrectCaretPosition) {\n event.target.runCorrectCaretPosition()\n }\n break\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 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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"}
|