@elliemae/ds-form 3.5.0-rc.1 → 3.5.0-rc.12
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/dist/cjs/Checkbox/index.js +4 -1
- package/dist/cjs/Checkbox/index.js.map +1 -1
- package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js +35 -24
- package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
- package/dist/cjs/CheckboxGroup/defaultProps.js +4 -1
- package/dist/cjs/CheckboxGroup/defaultProps.js.map +1 -1
- package/dist/cjs/CheckboxGroup/index.js +4 -1
- package/dist/cjs/CheckboxGroup/index.js.map +1 -1
- package/dist/cjs/CheckboxGroup/props.js +12 -5
- package/dist/cjs/CheckboxGroup/props.js.map +2 -2
- package/dist/cjs/ComboBox/index.js +4 -1
- package/dist/cjs/ComboBox/index.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +6 -3
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js +17 -6
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +11 -5
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js +10 -6
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +18 -14
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/index.js +4 -1
- package/dist/cjs/ComboBoxFreeSolo/index.js.map +1 -1
- package/dist/cjs/DateInput/DSDateInput.js +8 -4
- package/dist/cjs/DateInput/DSDateInput.js.map +1 -1
- package/dist/cjs/DateInput/components/DateInputImpl.js +23 -18
- package/dist/cjs/DateInput/components/DateInputImpl.js.map +2 -2
- package/dist/cjs/DateInput/components/DateInputs.js +37 -19
- package/dist/cjs/DateInput/components/DateInputs.js.map +2 -2
- package/dist/cjs/DateInput/components/utils.js +4 -1
- package/dist/cjs/DateInput/components/utils.js.map +2 -2
- package/dist/cjs/DateInput/defaultProps.js +4 -1
- package/dist/cjs/DateInput/defaultProps.js.map +1 -1
- package/dist/cjs/DateInput/index.js +4 -1
- package/dist/cjs/DateInput/index.js.map +1 -1
- package/dist/cjs/DateInput/props.js +34 -11
- package/dist/cjs/DateInput/props.js.map +1 -1
- package/dist/cjs/DateInputV2/components/DSDateInput.js +7 -4
- package/dist/cjs/DateInputV2/components/DSDateInput.js.map +1 -1
- package/dist/cjs/DateInputV2/components/DateInputs.js +34 -19
- package/dist/cjs/DateInputV2/components/DateInputs.js.map +2 -2
- package/dist/cjs/DateInputV2/components/helpers.js +4 -1
- package/dist/cjs/DateInputV2/components/helpers.js.map +1 -1
- package/dist/cjs/DateInputV2/components/props.js +28 -9
- package/dist/cjs/DateInputV2/components/props.js.map +1 -1
- package/dist/cjs/DateInputV2/components/propsTypes.js +4 -1
- package/dist/cjs/DateInputV2/components/propsTypes.js.map +2 -2
- package/dist/cjs/DateInputV2/components/styled.js +4 -1
- package/dist/cjs/DateInputV2/components/styled.js.map +1 -1
- package/dist/cjs/DateInputV2/components/utils.js +8 -2
- package/dist/cjs/DateInputV2/components/utils.js.map +2 -2
- package/dist/cjs/DateInputV2/index.js +4 -1
- package/dist/cjs/DateInputV2/index.js.map +1 -1
- package/dist/cjs/ExpandableInput/DSExpandableInput.js +9 -5
- package/dist/cjs/ExpandableInput/DSExpandableInput.js.map +1 -1
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js +20 -14
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js.map +2 -2
- package/dist/cjs/ExpandableInput/index.js +4 -1
- package/dist/cjs/ExpandableInput/index.js.map +1 -1
- package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js +6 -3
- package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js.map +1 -1
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +35 -17
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +2 -2
- package/dist/cjs/FloatingLabelInput/getSvgPath.js +4 -1
- package/dist/cjs/FloatingLabelInput/getSvgPath.js.map +1 -1
- package/dist/cjs/FloatingLabelInput/index.js +4 -1
- package/dist/cjs/FloatingLabelInput/index.js.map +1 -1
- package/dist/cjs/FormItem/DSFormItemLayout.js +68 -35
- package/dist/cjs/FormItem/DSFormItemLayout.js.map +1 -1
- package/dist/cjs/FormItem/Error/DSError.js +9 -5
- package/dist/cjs/FormItem/Error/DSError.js.map +1 -1
- package/dist/cjs/FormItem/Feedback.js +9 -5
- package/dist/cjs/FormItem/Feedback.js.map +1 -1
- package/dist/cjs/FormItem/Label/DSLabel.js +19 -10
- package/dist/cjs/FormItem/Label/DSLabel.js.map +2 -2
- package/dist/cjs/FormItem/Suffix/Suffix.js +4 -1
- package/dist/cjs/FormItem/Suffix/Suffix.js.map +1 -1
- package/dist/cjs/FormItem/ValidationFieldWrapper.js +4 -1
- package/dist/cjs/FormItem/ValidationFieldWrapper.js.map +1 -1
- package/dist/cjs/FormItem/defaultProps.js +4 -1
- package/dist/cjs/FormItem/defaultProps.js.map +1 -1
- package/dist/cjs/FormItem/index.js +4 -1
- package/dist/cjs/FormItem/index.js.map +1 -1
- package/dist/cjs/FormItem/props.js +10 -3
- package/dist/cjs/FormItem/props.js.map +1 -1
- package/dist/cjs/FormItem/variants.js +4 -1
- package/dist/cjs/FormItem/variants.js.map +1 -1
- package/dist/cjs/Input/DSInput.js +4 -1
- package/dist/cjs/Input/DSInput.js.map +1 -1
- package/dist/cjs/Input/InputAddonWrapper.js +4 -1
- package/dist/cjs/Input/InputAddonWrapper.js.map +1 -1
- package/dist/cjs/Input/InputImpl.js +4 -1
- package/dist/cjs/Input/InputImpl.js.map +1 -1
- package/dist/cjs/Input/index.js +4 -1
- package/dist/cjs/Input/index.js.map +1 -1
- package/dist/cjs/InputGroup/AddonWrapper.js +18 -5
- package/dist/cjs/InputGroup/AddonWrapper.js.map +1 -1
- package/dist/cjs/InputGroup/DSInputGroup.js +9 -5
- package/dist/cjs/InputGroup/DSInputGroup.js.map +1 -1
- package/dist/cjs/InputGroup/defaultProps.js +4 -1
- package/dist/cjs/InputGroup/defaultProps.js.map +1 -1
- package/dist/cjs/InputGroup/index.js +4 -1
- package/dist/cjs/InputGroup/index.js.map +1 -1
- package/dist/cjs/InputGroup/props.js +13 -4
- package/dist/cjs/InputGroup/props.js.map +1 -1
- package/dist/cjs/InputMask/DSInputMask.js +19 -8
- package/dist/cjs/InputMask/DSInputMask.js.map +1 -1
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js +43 -33
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js.map +2 -2
- package/dist/cjs/InputMask/InputMaskContext.js +4 -1
- package/dist/cjs/InputMask/InputMaskContext.js.map +2 -2
- package/dist/cjs/InputMask/MaskPipes.js +4 -1
- package/dist/cjs/InputMask/MaskPipes.js.map +1 -1
- package/dist/cjs/InputMask/MaskTypes.js +4 -1
- package/dist/cjs/InputMask/MaskTypes.js.map +1 -1
- package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js +16 -4
- package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js.map +1 -1
- package/dist/cjs/InputMask/defaultProps.js +4 -1
- package/dist/cjs/InputMask/defaultProps.js.map +1 -1
- package/dist/cjs/InputMask/index.js +4 -1
- package/dist/cjs/InputMask/index.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DateInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +59 -35
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js +76 -57
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js +50 -34
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +54 -34
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/index.js +15 -12
- package/dist/cjs/InputMask/mask_types/index.js.map +1 -1
- package/dist/cjs/InputMask/props.js +65 -22
- package/dist/cjs/InputMask/props.js.map +1 -1
- package/dist/cjs/InputMask/types/index.js +4 -1
- package/dist/cjs/InputMask/types/index.js.map +1 -1
- package/dist/cjs/InputMask/utils/setCaretPosition.js +4 -1
- package/dist/cjs/InputMask/utils/setCaretPosition.js.map +1 -1
- package/dist/cjs/InputProtected/DSInputProtected.js +38 -31
- package/dist/cjs/InputProtected/DSInputProtected.js.map +1 -1
- package/dist/cjs/InputProtected/defaultProps.js +4 -1
- package/dist/cjs/InputProtected/defaultProps.js.map +1 -1
- package/dist/cjs/InputProtected/index.js +4 -1
- package/dist/cjs/InputProtected/index.js.map +1 -1
- package/dist/cjs/InputProtected/options.js +4 -1
- package/dist/cjs/InputProtected/options.js.map +1 -1
- package/dist/cjs/InputProtected/props.js +17 -6
- package/dist/cjs/InputProtected/props.js.map +1 -1
- package/dist/cjs/LargeInputText/DSLargeInputText.js +67 -46
- package/dist/cjs/LargeInputText/DSLargeInputText.js.map +1 -1
- package/dist/cjs/LargeInputText/defaultProps.js +4 -1
- package/dist/cjs/LargeInputText/defaultProps.js.map +1 -1
- package/dist/cjs/LargeInputText/index.js +4 -1
- package/dist/cjs/LargeInputText/index.js.map +1 -1
- package/dist/cjs/LargeInputText/props.js +46 -15
- package/dist/cjs/LargeInputText/props.js.map +1 -1
- package/dist/cjs/MenuItem/components/MenuItem/index.js +4 -1
- package/dist/cjs/MenuItem/components/MenuItem/index.js.map +1 -1
- package/dist/cjs/MenuItem/components/MenuItem/styled.js +4 -1
- package/dist/cjs/MenuItem/components/MenuItem/styled.js.map +1 -1
- package/dist/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js +4 -1
- package/dist/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js.map +1 -1
- package/dist/cjs/MenuItem/components/MultiMenuItem/styled.js +4 -1
- package/dist/cjs/MenuItem/components/MultiMenuItem/styled.js.map +1 -1
- package/dist/cjs/MenuItem/components/Section/index.js +4 -1
- package/dist/cjs/MenuItem/components/Section/index.js.map +1 -1
- package/dist/cjs/MenuItem/components/Section/props.js +4 -1
- package/dist/cjs/MenuItem/components/Section/props.js.map +1 -1
- package/dist/cjs/MenuItem/components/Section/styled.js +4 -1
- package/dist/cjs/MenuItem/components/Section/styled.js.map +1 -1
- package/dist/cjs/MenuItem/components/Separator/index.js +4 -1
- package/dist/cjs/MenuItem/components/Separator/index.js.map +1 -1
- package/dist/cjs/MenuItem/components/Separator/styled.js +4 -1
- package/dist/cjs/MenuItem/components/Separator/styled.js.map +1 -1
- package/dist/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js +4 -1
- package/dist/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js.map +1 -1
- package/dist/cjs/MenuItem/components/SubmenuItem/index.js +4 -1
- package/dist/cjs/MenuItem/components/SubmenuItem/index.js.map +1 -1
- package/dist/cjs/MenuItem/components/SubmenuItem/styled.js +4 -1
- package/dist/cjs/MenuItem/components/SubmenuItem/styled.js.map +1 -1
- package/dist/cjs/MenuItem/components/index.js +4 -1
- package/dist/cjs/MenuItem/components/index.js.map +1 -1
- package/dist/cjs/MenuItem/components/styled.js +4 -1
- package/dist/cjs/MenuItem/components/styled.js.map +1 -1
- package/dist/cjs/MenuItem/index.js +4 -1
- package/dist/cjs/MenuItem/index.js.map +1 -1
- package/dist/cjs/MenuItem/props.js +4 -1
- package/dist/cjs/MenuItem/props.js.map +1 -1
- package/dist/cjs/Radio/Circle.js +14 -10
- package/dist/cjs/Radio/Circle.js.map +1 -1
- package/dist/cjs/Radio/DSRadio.js +68 -50
- package/dist/cjs/Radio/DSRadio.js.map +1 -1
- package/dist/cjs/Radio/index.js +4 -1
- package/dist/cjs/Radio/index.js.map +1 -1
- package/dist/cjs/RadioGroup/DSRadioGroup.js +36 -25
- package/dist/cjs/RadioGroup/DSRadioGroup.js.map +2 -2
- package/dist/cjs/RadioGroup/defaultProps.js +4 -1
- package/dist/cjs/RadioGroup/defaultProps.js.map +1 -1
- package/dist/cjs/RadioGroup/index.js +4 -1
- package/dist/cjs/RadioGroup/index.js.map +1 -1
- package/dist/cjs/RadioGroup/props.js +4 -1
- package/dist/cjs/RadioGroup/props.js.map +2 -2
- package/dist/cjs/RequiredMark/RequiredMark.js +13 -8
- package/dist/cjs/RequiredMark/RequiredMark.js.map +1 -1
- package/dist/cjs/RequiredMark/index.js +4 -1
- package/dist/cjs/RequiredMark/index.js.map +1 -1
- package/dist/cjs/SearchBox/index.js +4 -1
- package/dist/cjs/SearchBox/index.js.map +1 -1
- package/dist/cjs/TextBox/index.js +4 -1
- package/dist/cjs/TextBox/index.js.map +1 -1
- package/dist/cjs/TimeInput/DSTimeInput.js +22 -9
- package/dist/cjs/TimeInput/DSTimeInput.js.map +1 -1
- package/dist/cjs/TimeInput/TimeInputImpl.js +24 -17
- package/dist/cjs/TimeInput/TimeInputImpl.js.map +2 -2
- package/dist/cjs/TimeInput/TimeInputs.js +28 -19
- package/dist/cjs/TimeInput/TimeInputs.js.map +2 -2
- package/dist/cjs/TimeInput/index.js +4 -1
- package/dist/cjs/TimeInput/index.js.map +1 -1
- package/dist/cjs/TimeInput/utils.js +4 -1
- package/dist/cjs/TimeInput/utils.js.map +2 -2
- package/dist/cjs/Toggle/DSToggle.js +6 -3
- package/dist/cjs/Toggle/DSToggle.js.map +1 -1
- package/dist/cjs/Toggle/DSToggleImpl.js +6 -2
- package/dist/cjs/Toggle/DSToggleImpl.js.map +2 -2
- package/dist/cjs/Toggle/DSToggleRender.js +49 -36
- package/dist/cjs/Toggle/DSToggleRender.js.map +1 -1
- package/dist/cjs/Toggle/index.js +4 -1
- package/dist/cjs/Toggle/index.js.map +1 -1
- package/dist/cjs/Toggle/props.js +4 -1
- package/dist/cjs/Toggle/props.js.map +2 -2
- package/dist/cjs/Toggle/toggleHelper.js +4 -1
- package/dist/cjs/Toggle/toggleHelper.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/Checkbox/index.js.map +1 -1
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js +31 -23
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
- package/dist/esm/CheckboxGroup/defaultProps.js.map +1 -1
- package/dist/esm/CheckboxGroup/index.js.map +1 -1
- package/dist/esm/CheckboxGroup/props.js +8 -4
- package/dist/esm/CheckboxGroup/props.js.map +1 -1
- package/dist/esm/ComboBox/index.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +2 -2
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js +13 -5
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js +7 -4
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js +6 -5
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js +14 -13
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/index.js.map +1 -1
- package/dist/esm/DateInput/DSDateInput.js +4 -3
- package/dist/esm/DateInput/DSDateInput.js.map +1 -1
- package/dist/esm/DateInput/components/DateInputImpl.js +19 -17
- package/dist/esm/DateInput/components/DateInputImpl.js.map +1 -1
- package/dist/esm/DateInput/components/DateInputs.js +33 -18
- package/dist/esm/DateInput/components/DateInputs.js.map +2 -2
- package/dist/esm/DateInput/components/utils.js.map +1 -1
- package/dist/esm/DateInput/defaultProps.js.map +1 -1
- package/dist/esm/DateInput/index.js.map +1 -1
- package/dist/esm/DateInput/props.js +30 -10
- package/dist/esm/DateInput/props.js.map +1 -1
- package/dist/esm/DateInputV2/components/DSDateInput.js +3 -3
- package/dist/esm/DateInputV2/components/DSDateInput.js.map +1 -1
- package/dist/esm/DateInputV2/components/DateInputs.js +30 -18
- package/dist/esm/DateInputV2/components/DateInputs.js.map +2 -2
- package/dist/esm/DateInputV2/components/helpers.js.map +1 -1
- package/dist/esm/DateInputV2/components/props.js +24 -8
- package/dist/esm/DateInputV2/components/props.js.map +1 -1
- package/dist/esm/DateInputV2/components/propsTypes.js.map +1 -1
- package/dist/esm/DateInputV2/components/styled.js.map +1 -1
- package/dist/esm/DateInputV2/components/utils.js +4 -1
- package/dist/esm/DateInputV2/components/utils.js.map +1 -1
- package/dist/esm/DateInputV2/index.js.map +1 -1
- package/dist/esm/ExpandableInput/DSExpandableInput.js +5 -4
- package/dist/esm/ExpandableInput/DSExpandableInput.js.map +1 -1
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js +16 -13
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js.map +2 -2
- package/dist/esm/ExpandableInput/index.js.map +1 -1
- package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js +2 -2
- package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js.map +1 -1
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js +31 -16
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +2 -2
- package/dist/esm/FloatingLabelInput/getSvgPath.js.map +1 -1
- package/dist/esm/FloatingLabelInput/index.js.map +1 -1
- package/dist/esm/FormItem/DSFormItemLayout.js +64 -34
- package/dist/esm/FormItem/DSFormItemLayout.js.map +1 -1
- package/dist/esm/FormItem/Error/DSError.js +5 -4
- package/dist/esm/FormItem/Error/DSError.js.map +1 -1
- package/dist/esm/FormItem/Feedback.js +5 -4
- package/dist/esm/FormItem/Feedback.js.map +1 -1
- package/dist/esm/FormItem/Label/DSLabel.js +15 -9
- package/dist/esm/FormItem/Label/DSLabel.js.map +1 -1
- package/dist/esm/FormItem/Suffix/Suffix.js.map +1 -1
- package/dist/esm/FormItem/ValidationFieldWrapper.js.map +1 -1
- package/dist/esm/FormItem/defaultProps.js.map +1 -1
- package/dist/esm/FormItem/index.js.map +2 -2
- package/dist/esm/FormItem/props.js +6 -2
- package/dist/esm/FormItem/props.js.map +1 -1
- package/dist/esm/FormItem/variants.js.map +1 -1
- package/dist/esm/Input/DSInput.js.map +1 -1
- package/dist/esm/Input/InputAddonWrapper.js.map +1 -1
- package/dist/esm/Input/InputImpl.js.map +1 -1
- package/dist/esm/Input/index.js.map +2 -2
- package/dist/esm/InputGroup/AddonWrapper.js +14 -4
- package/dist/esm/InputGroup/AddonWrapper.js.map +1 -1
- package/dist/esm/InputGroup/DSInputGroup.js +5 -4
- package/dist/esm/InputGroup/DSInputGroup.js.map +1 -1
- package/dist/esm/InputGroup/defaultProps.js.map +1 -1
- package/dist/esm/InputGroup/index.js.map +2 -2
- package/dist/esm/InputGroup/props.js +9 -3
- package/dist/esm/InputGroup/props.js.map +1 -1
- package/dist/esm/InputMask/DSInputMask.js +15 -7
- package/dist/esm/InputMask/DSInputMask.js.map +1 -1
- package/dist/esm/InputMask/DSInputMaskDeprecated.js +39 -32
- package/dist/esm/InputMask/DSInputMaskDeprecated.js.map +2 -2
- package/dist/esm/InputMask/InputMaskContext.js.map +2 -2
- package/dist/esm/InputMask/MaskPipes.js.map +1 -1
- package/dist/esm/InputMask/MaskTypes.js.map +1 -1
- package/dist/esm/InputMask/addons/AutoCorrectedDatePipe.js +12 -3
- package/dist/esm/InputMask/addons/AutoCorrectedDatePipe.js.map +1 -1
- package/dist/esm/InputMask/defaultProps.js.map +1 -1
- package/dist/esm/InputMask/index.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DateInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/DateInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +55 -34
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/NumberInputMask.js +72 -56
- package/dist/esm/InputMask/mask_types/NumberInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/SsnInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js +46 -33
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +50 -33
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/index.js +11 -11
- package/dist/esm/InputMask/mask_types/index.js.map +1 -1
- package/dist/esm/InputMask/props.js +61 -21
- package/dist/esm/InputMask/props.js.map +1 -1
- package/dist/esm/InputMask/types/index.js.map +1 -1
- package/dist/esm/InputMask/utils/setCaretPosition.js.map +1 -1
- package/dist/esm/InputProtected/DSInputProtected.js +34 -30
- package/dist/esm/InputProtected/DSInputProtected.js.map +1 -1
- package/dist/esm/InputProtected/defaultProps.js.map +1 -1
- package/dist/esm/InputProtected/index.js.map +1 -1
- package/dist/esm/InputProtected/options.js.map +1 -1
- package/dist/esm/InputProtected/props.js +13 -5
- package/dist/esm/InputProtected/props.js.map +1 -1
- package/dist/esm/LargeInputText/DSLargeInputText.js +63 -45
- package/dist/esm/LargeInputText/DSLargeInputText.js.map +1 -1
- package/dist/esm/LargeInputText/defaultProps.js.map +1 -1
- package/dist/esm/LargeInputText/index.js.map +2 -2
- package/dist/esm/LargeInputText/props.js +42 -14
- package/dist/esm/LargeInputText/props.js.map +1 -1
- package/dist/esm/MenuItem/components/MenuItem/index.js.map +1 -1
- package/dist/esm/MenuItem/components/MenuItem/styled.js.map +1 -1
- package/dist/esm/MenuItem/components/MultiMenuItem/MultiMenuItem.js.map +1 -1
- package/dist/esm/MenuItem/components/MultiMenuItem/styled.js.map +1 -1
- package/dist/esm/MenuItem/components/Section/index.js.map +1 -1
- package/dist/esm/MenuItem/components/Section/props.js.map +1 -1
- package/dist/esm/MenuItem/components/Section/styled.js.map +1 -1
- package/dist/esm/MenuItem/components/Separator/index.js.map +1 -1
- package/dist/esm/MenuItem/components/Separator/styled.js.map +1 -1
- package/dist/esm/MenuItem/components/SingleMenuItem/SingleMenuItem.js.map +1 -1
- package/dist/esm/MenuItem/components/SubmenuItem/index.js.map +1 -1
- package/dist/esm/MenuItem/components/SubmenuItem/styled.js.map +1 -1
- package/dist/esm/MenuItem/components/index.js.map +1 -1
- package/dist/esm/MenuItem/components/styled.js.map +1 -1
- package/dist/esm/MenuItem/index.js.map +1 -1
- package/dist/esm/MenuItem/props.js.map +1 -1
- package/dist/esm/Radio/Circle.js +10 -9
- package/dist/esm/Radio/Circle.js.map +1 -1
- package/dist/esm/Radio/DSRadio.js +64 -49
- package/dist/esm/Radio/DSRadio.js.map +1 -1
- package/dist/esm/Radio/index.js.map +1 -1
- package/dist/esm/RadioGroup/DSRadioGroup.js +32 -24
- package/dist/esm/RadioGroup/DSRadioGroup.js.map +2 -2
- package/dist/esm/RadioGroup/defaultProps.js.map +1 -1
- package/dist/esm/RadioGroup/index.js.map +1 -1
- package/dist/esm/RadioGroup/props.js.map +1 -1
- package/dist/esm/RequiredMark/RequiredMark.js +9 -7
- package/dist/esm/RequiredMark/RequiredMark.js.map +1 -1
- package/dist/esm/RequiredMark/index.js.map +1 -1
- package/dist/esm/SearchBox/index.js.map +1 -1
- package/dist/esm/TextBox/index.js.map +1 -1
- package/dist/esm/TimeInput/DSTimeInput.js +18 -8
- package/dist/esm/TimeInput/DSTimeInput.js.map +1 -1
- package/dist/esm/TimeInput/TimeInputImpl.js +20 -16
- package/dist/esm/TimeInput/TimeInputImpl.js.map +1 -1
- package/dist/esm/TimeInput/TimeInputs.js +24 -18
- package/dist/esm/TimeInput/TimeInputs.js.map +2 -2
- package/dist/esm/TimeInput/index.js.map +1 -1
- package/dist/esm/TimeInput/utils.js.map +1 -1
- package/dist/esm/Toggle/DSToggle.js +2 -2
- package/dist/esm/Toggle/DSToggle.js.map +1 -1
- package/dist/esm/Toggle/DSToggleImpl.js +2 -1
- package/dist/esm/Toggle/DSToggleImpl.js.map +2 -2
- package/dist/esm/Toggle/DSToggleRender.js +45 -35
- package/dist/esm/Toggle/DSToggleRender.js.map +1 -1
- package/dist/esm/Toggle/index.js.map +2 -2
- package/dist/esm/Toggle/props.js.map +1 -1
- package/dist/esm/Toggle/toggleHelper.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +12 -12
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
4
|
import { describe } from "@elliemae/ds-utilities";
|
|
4
5
|
import { MASK_TYPES } from "./MaskTypes";
|
|
5
6
|
import { MASK_PIPES } from "./MaskPipes";
|
|
@@ -29,7 +30,9 @@ const DSInputMask = ({
|
|
|
29
30
|
value: valueOrEvent,
|
|
30
31
|
...rest
|
|
31
32
|
}) => {
|
|
32
|
-
const [rawValue, setRawValue] = useState(
|
|
33
|
+
const [rawValue, setRawValue] = useState(
|
|
34
|
+
getValueFromEventOrString(valueOrEvent)
|
|
35
|
+
);
|
|
33
36
|
useEffect(() => {
|
|
34
37
|
setRawValue(getValueFromEventOrString(valueOrEvent));
|
|
35
38
|
}, [valueOrEvent]);
|
|
@@ -40,9 +43,12 @@ const DSInputMask = ({
|
|
|
40
43
|
key: null
|
|
41
44
|
});
|
|
42
45
|
const [cursorPosition, setCursorPosition] = useState({ current: 0 });
|
|
43
|
-
const handleSetMask = useCallback(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
const handleSetMask = useCallback(
|
|
47
|
+
(newValue) => {
|
|
48
|
+
setRawMask(getRawMask(mask, newValue));
|
|
49
|
+
},
|
|
50
|
+
[mask]
|
|
51
|
+
);
|
|
46
52
|
if (!pipe && isStringMask(rawMask)) {
|
|
47
53
|
return OutOfTheBoxMaskTypes[rawMask]({
|
|
48
54
|
...rest,
|
|
@@ -83,7 +89,7 @@ const DSInputMask = ({
|
|
|
83
89
|
return MASK_TYPES.DATE_TIME_DEPRECATED;
|
|
84
90
|
return mask;
|
|
85
91
|
};
|
|
86
|
-
return /* @__PURE__ */
|
|
92
|
+
return /* @__PURE__ */ jsx(DSInputMaskDeprecated, {
|
|
87
93
|
...rest,
|
|
88
94
|
"aria-label": ariaLabel,
|
|
89
95
|
autoFocus,
|
|
@@ -96,7 +102,9 @@ const DSInputMask = ({
|
|
|
96
102
|
DSInputMask.propTypes = inputProps;
|
|
97
103
|
DSInputMask.defaultProps = defaultProps;
|
|
98
104
|
DSInputMask.displayName = "DSInputMask";
|
|
99
|
-
const DSInputMaskWithSchema = describe(DSInputMask).description(
|
|
105
|
+
const DSInputMaskWithSchema = describe(DSInputMask).description(
|
|
106
|
+
"Masking input for custom formats"
|
|
107
|
+
);
|
|
100
108
|
DSInputMaskWithSchema.propTypes = inputProps;
|
|
101
109
|
var DSInputMask_default = DSInputMask;
|
|
102
110
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/DSInputMask.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport { MASK_TYPES } from './MaskTypes';\nimport { MASK_PIPES } from './MaskPipes';\nimport { DSInputMaskDeprecated } from './DSInputMaskDeprecated';\nimport { inputProps } from './props';\nimport { defaultProps } from './defaultProps';\nimport { OutOfTheBoxMaskTypes } from './mask_types';\n\nconst isStringMask = (mask: any) => typeof mask === 'string';\n\nconst isObjectMask = (mask: any) => typeof mask === 'object' && mask.type;\n\nconst getRawMask = (mask: any, rawValue: string) =>\n typeof mask === 'function' ? mask(rawValue) : mask;\n\nconst getValueFromEventOrString = (e: any): string => {\n let value = e;\n if (e && e.target) {\n const {\n target: { value: eValue },\n } = e;\n value = eValue;\n }\n return value;\n};\n\nconst DSInputMask = ({\n 'aria-label': ariaLabel = 'Input Mask',\n autoFocus,\n innerRef,\n mask,\n pipe,\n value: valueOrEvent,\n ...rest\n}) => {\n const [rawValue, setRawValue] = useState(\n getValueFromEventOrString(valueOrEvent),\n );\n\n useEffect(() => {\n setRawValue(getValueFromEventOrString(valueOrEvent));\n }, [valueOrEvent]);\n\n const [rawMask, setRawMask] = useState<any>(getRawMask(mask, rawValue));\n\n const [focus, setFocus] = useState(autoFocus);\n\n const [lastkey, setLastkey] = useState<{ code: number; key: string }>({\n code: null,\n key: null,\n });\n\n const [cursorPosition, setCursorPosition] = useState({ current: 0 });\n\n const handleSetMask = useCallback(\n (newValue) => {\n setRawMask(getRawMask(mask, newValue));\n },\n [mask],\n );\n\n if (!pipe && isStringMask(rawMask)) {\n return OutOfTheBoxMaskTypes[rawMask]({\n ...rest,\n 'aria-label': ariaLabel,\n innerRef,\n value: rawValue,\n focus,\n setFocus,\n setRawMask: handleSetMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n });\n }\n\n if (!pipe && isObjectMask(rawMask)) {\n // we should change rawMask.type to rawMask.maskType\n // to avoid override standard props\n return OutOfTheBoxMaskTypes[rawMask.type]({\n ...rawMask,\n ...rest,\n 'aria-label': ariaLabel,\n innerRef,\n value: rawValue,\n focus,\n setFocus,\n setRawMask: handleSetMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n });\n }\n\n const getDeprecatedMask = () => {\n if (mask === MASK_TYPES.DATE) return MASK_TYPES.DATE_DEPRECATED;\n if (mask === MASK_TYPES.DATE_TIME) return MASK_TYPES.DATE_TIME_DEPRECATED;\n return mask;\n };\n return (\n <DSInputMaskDeprecated\n {...rest}\n aria-label={ariaLabel}\n autoFocus={autoFocus}\n innerRef={innerRef}\n mask={getDeprecatedMask()}\n pipe={pipe}\n value={rawValue}\n />\n );\n};\n\nDSInputMask.propTypes = inputProps;\nDSInputMask.defaultProps = defaultProps;\nDSInputMask.displayName = 'DSInputMask';\nconst DSInputMaskWithSchema = describe(DSInputMask).description(\n 'Masking input for custom formats',\n);\nDSInputMaskWithSchema.propTypes = inputProps;\n\nexport { MASK_TYPES, MASK_PIPES, DSInputMaskWithSchema, DSInputMask };\nexport default DSInputMask;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,aAAa,WAAW,gBAAgB;AACxD,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AAErC,MAAM,eAAe,CAAC,SAAc,OAAO,SAAS;AAEpD,MAAM,eAAe,CAAC,SAAc,OAAO,SAAS,YAAY,KAAK;AAErE,MAAM,aAAa,CAAC,MAAW,aAC7B,OAAO,SAAS,aAAa,KAAK,QAAQ,IAAI;AAEhD,MAAM,4BAA4B,CAAC,MAAmB;AACpD,MAAI,QAAQ;AACZ,MAAI,KAAK,EAAE,QAAQ;AACjB,UAAM;AAAA,MACJ,QAAQ,EAAE,OAAO,OAAO;AAAA,IAC1B,IAAI;AACJ,YAAQ;AAAA,EACV;AACA,SAAO;AACT;AAEA,MAAM,cAAc,CAAC;AAAA,EACnB,cAAc,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,KACJ;AACL,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI;AAAA,IAC9B,0BAA0B,YAAY;AAAA,EACxC;AAEA,YAAU,MAAM;AACd,gBAAY,0BAA0B,YAAY,CAAC;AAAA,EACrD,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,CAAC,SAAS,UAAU,IAAI,SAAc,WAAW,MAAM,QAAQ,CAAC;AAEtE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,SAAS;AAE5C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAwC;AAAA,IACpE,MAAM;AAAA,IACN,KAAK;AAAA,EACP,CAAC;AAED,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;AAEnE,QAAM,gBAAgB;AAAA,IACpB,CAAC,aAAa;AACZ,iBAAW,WAAW,MAAM,QAAQ,CAAC;AAAA,IACvC;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,MAAI,CAAC,QAAQ,aAAa,OAAO,GAAG;AAClC,WAAO,qBAAqB,SAAS;AAAA,MACnC,GAAG;AAAA,MACH,cAAc;AAAA,MACd;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,QAAQ,aAAa,OAAO,GAAG;AAGlC,WAAO,qBAAqB,QAAQ,MAAM;AAAA,MACxC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,cAAc;AAAA,MACd;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,oBAAoB,MAAM;AAC9B,QAAI,SAAS,WAAW;AAAM,aAAO,WAAW;AAChD,QAAI,SAAS,WAAW;AAAW,aAAO,WAAW;AACrD,WAAO;AAAA,EACT;AACA,SACE,oBAAC;AAAA,IACE,GAAG;AAAA,IACJ,cAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,MAAM,kBAAkB;AAAA,IACxB;AAAA,IACA,OAAO;AAAA,GACT;AAEJ;AAEA,YAAY,YAAY;AACxB,YAAY,eAAe;AAC3B,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW,EAAE;AAAA,EAClD;AACF;AACA,sBAAsB,YAAY;AAGlC,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import React2, { Component } from "react";
|
|
3
4
|
import { isEqual } from "lodash";
|
|
4
5
|
import PropTypes from "prop-types";
|
|
@@ -56,20 +57,23 @@ class DSInputMaskDeprecated extends Component {
|
|
|
56
57
|
const { onChange, mask, placeholderChar = "_", pipe } = this.props;
|
|
57
58
|
const rawValue = getValueFromEventOrString(rawValueOrEvent);
|
|
58
59
|
if (rawValue.length === 0) {
|
|
59
|
-
this.setState(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
60
|
+
this.setState(
|
|
61
|
+
{
|
|
62
|
+
maskedValue: rawValue,
|
|
63
|
+
previousConformedValue: rawValue,
|
|
64
|
+
focus: true
|
|
65
|
+
},
|
|
66
|
+
() => {
|
|
67
|
+
const event = {
|
|
68
|
+
target: {
|
|
69
|
+
value: rawValue,
|
|
70
|
+
originalValue: rawValue
|
|
71
|
+
},
|
|
72
|
+
lastkey: this.lastkey
|
|
73
|
+
};
|
|
74
|
+
onChange(event);
|
|
75
|
+
}
|
|
76
|
+
);
|
|
73
77
|
return;
|
|
74
78
|
}
|
|
75
79
|
const rawMaskWithTraps = getRawMask(mask, rawValue);
|
|
@@ -110,23 +114,26 @@ class DSInputMaskDeprecated extends Component {
|
|
|
110
114
|
caretTrapIndexes: []
|
|
111
115
|
};
|
|
112
116
|
const caretPos = adjustCaretPosition(adjustCaretPositionOpts);
|
|
113
|
-
this.setState(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
117
|
+
this.setState(
|
|
118
|
+
{
|
|
119
|
+
maskedValue: conformedValue,
|
|
120
|
+
previousConformedValue: conformedValue,
|
|
121
|
+
focus: true
|
|
122
|
+
},
|
|
123
|
+
() => {
|
|
124
|
+
const event = {
|
|
125
|
+
target: {
|
|
126
|
+
value: conformedValue,
|
|
127
|
+
originalValue: rawValue
|
|
128
|
+
},
|
|
129
|
+
lastkey: this.lastkey
|
|
130
|
+
};
|
|
131
|
+
if (!skipOnChangeCallback)
|
|
132
|
+
onChange(event);
|
|
133
|
+
if (!skipCaretPositioning)
|
|
134
|
+
setTimeout(() => setCaretPosition(this.inputref, caretPos));
|
|
135
|
+
}
|
|
136
|
+
);
|
|
130
137
|
};
|
|
131
138
|
this.handleOnChange = (e) => {
|
|
132
139
|
const rawValue = e?.target?.value || "";
|
|
@@ -217,7 +224,7 @@ class DSInputMaskDeprecated extends Component {
|
|
|
217
224
|
const { maskedValue, focus } = this.state;
|
|
218
225
|
const propsValue = getValueFromEventOrString(value);
|
|
219
226
|
const finalValue = typeof propsValue === "string" || typeof propsValue === "number" ? propsValue : maskedValue;
|
|
220
|
-
return /* @__PURE__ */
|
|
227
|
+
return /* @__PURE__ */ jsx(DSTextBox, {
|
|
221
228
|
...rest,
|
|
222
229
|
"aria-label": rest["aria-label"],
|
|
223
230
|
className,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/DSInputMaskDeprecated.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable react/prop-types */\n/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isEqual } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { adjustCaretPosition, conformToMask } from 'text-mask-core';\nimport { setCaretPosition } from './utils/setCaretPosition';\nimport { DSTextBox } from '../TextBox';\n\nconst getValueFromEventOrString = (e) => {\n let value = e;\n if (e && e.target) {\n const {\n target: { value: eValue },\n } = e;\n value = eValue;\n }\n return value;\n};\n\nconst getRawMask = (mask, rawValue = '') => (typeof mask === 'function' ? mask(rawValue) : mask);\n\n// this is not safe because we don't take in consideration a lot of cases\n// just a monkeypatch untill we get the v2 going,\n// this work with \"internal\" masks...\nconst UNSAFEGetRawValue = (value, mask) => {\n const safeValue = getValueFromEventOrString(value);\n if (!safeValue) return '';\n const rawMask = getRawMask(mask, value);\n const characterToStrip = rawMask.filter((char) => typeof char === 'string');\n\n return safeValue\n ?.split('')\n ?.filter((char) => {\n const indexCharToStrip = characterToStrip.findIndex((strip) => strip === char);\n if (indexCharToStrip >= 0) {\n characterToStrip.splice(indexCharToStrip, 1);\n return false;\n }\n return true;\n })\n ?.join('');\n};\n\n// this is not safe because we don't take in consideration a lot of cases\n// just a monkeypatch untill we get the v2 going,\n// this work with \"internal\" masks...\nconst UNSAFEIsRawValue = (value, mask) => {\n const safeValue = getValueFromEventOrString(value);\n if (!safeValue) return false;\n const rawMask = getRawMask(mask, safeValue);\n const characterToStrip = rawMask.filter((char) => typeof char === 'string');\n if (safeValue)\n safeValue?.split('')?.forEach((char) => {\n const indexCharToStrip = characterToStrip.findIndex((strip) => strip === char);\n if (indexCharToStrip >= 0) {\n characterToStrip.splice(indexCharToStrip, 1);\n }\n });\n // if we matched all the character to strip, this is not a raw value\n // unsafe, but \"good enough\" for most masks...\n return characterToStrip.length !== 0;\n};\n\nclass DSInputMaskDeprecated extends Component {\n lastkey = null;\n\n lastkeycode = null;\n\n constructor(props) {\n super(props);\n this.inputref = React.createRef();\n\n this.state = {\n maskedValue: '',\n previousConformedValue: '',\n };\n this.conformValue = this.conformValue.bind(this);\n }\n\n conformValue = (\n rawValueOrEvent,\n currentCaretPosition,\n { skipCaretPositioning = false, skipOnChangeCallback = false } = {},\n ) => {\n const { previousConformedValue } = this.state;\n const { onChange, mask, placeholderChar = '_', pipe } = this.props;\n const rawValue = getValueFromEventOrString(rawValueOrEvent);\n\n // short-circuit logic if user cleared the input\n if (rawValue.length === 0) {\n this.setState(\n {\n maskedValue: rawValue,\n previousConformedValue: rawValue,\n focus: true,\n },\n () => {\n const event = {\n target: {\n value: rawValue,\n originalValue: rawValue,\n },\n lastkey: this.lastkey,\n };\n onChange(event);\n },\n );\n return;\n }\n const rawMaskWithTraps = getRawMask(mask, rawValue);\n const rawMask = rawMaskWithTraps.filter((val) => val !== '[]');\n\n // generate the final result we want to put in the state and in the input box\n const conformToMaskResults = conformToMask(rawValue, rawMask, {\n guide: false,\n placeholderChar,\n ...(previousConformedValue && { previousConformedValue }),\n });\n\n const { conformedValue: pipelessConformed } = conformToMaskResults;\n // when the last character must be always preserved we need to manually ensure it\n // because\n // conformToMask -> guide: false will interpeter the last character\n // will remove the last character if it's part of the mask\n // we may want to add a prop for this in the future?\n // this is used for example with \"decimal\" and \"percentage\" masks\n let conformedValueEnsureLastMaskChar = pipelessConformed;\n const lastMaskChar = rawMask[rawMask.length - 1];\n const lastValueChar = pipelessConformed.charAt(pipelessConformed.length - 1);\n if (typeof lastMaskChar === 'string' && lastMaskChar !== lastValueChar) {\n conformedValueEnsureLastMaskChar = pipelessConformed + lastMaskChar;\n }\n\n let pipeResult = {\n indexesOfPipedChars: [],\n value: conformedValueEnsureLastMaskChar,\n valid: true,\n };\n if (typeof pipe === 'function') pipeResult = pipe()(conformedValueEnsureLastMaskChar);\n\n // if the pipe results in an invalid value, we don't allow the change\n // meaning the final result will be like the user never tried to change the input\n // this is because the user will have to inject the validation in his pipe\n // probably pipe is never used, because this never worked before...\n // we will deprecate the \"pipe\" props in the future\n const conformedValue = pipeResult.valid ? pipeResult.value : previousConformedValue;\n\n // generate the \"placeholder\" used in calculating new caret position\n // this means we need\n // empty string as a value\n // guide:true\n // we can ignore \"previousConformedValue\" parameter\n const generatedPlaceHolder = conformToMask('', rawMask, {\n guide: true,\n placeholderChar,\n });\n const { indexesOfPipedChars } = pipeResult;\n const adjustCaretPositionOpts = {\n previousConformedValue,\n conformedValue,\n currentCaretPosition,\n rawValue,\n placeholderChar,\n placeholder: generatedPlaceHolder.conformedValue,\n indexesOfPipedChars,\n caretTrapIndexes: [],\n };\n const caretPos = adjustCaretPosition(adjustCaretPositionOpts);\n\n this.setState(\n {\n maskedValue: conformedValue,\n previousConformedValue: conformedValue,\n focus: true,\n },\n () => {\n const event = {\n target: {\n value: conformedValue,\n originalValue: rawValue,\n },\n lastkey: this.lastkey,\n };\n if (!skipOnChangeCallback) onChange(event);\n if (!skipCaretPositioning) setTimeout(() => setCaretPosition(this.inputref, caretPos));\n },\n );\n };\n\n // eslint-disable-next-line max-statements\n handleOnChange = (e) => {\n const rawValue = e?.target?.value || '';\n const { selectionEnd } = e.target;\n const currentCaretPosition = selectionEnd;\n this.conformValue(rawValue, currentCaretPosition);\n };\n\n handleKeyDown = (e) => {\n e.stopPropagation();\n const { onKeyDown } = this.props;\n this.lastkey = e.key;\n this.lastkeycode = e.keyCode;\n onKeyDown(e);\n };\n\n handleBlur = (e) => {\n const { onBlur } = this.props;\n this.setState({ focus: false });\n onBlur(e);\n };\n\n componentDidMount() {\n const { value, mask } = this.props;\n const isAlreadyRaw = UNSAFEIsRawValue(value, mask);\n const rawVal = isAlreadyRaw ? value : UNSAFEGetRawValue(value, mask);\n if (rawVal === '') return;\n // if value from props is raw, we invoke onChange\n // not invoking onChange on a raw value breaks the internal components depending on this...\n const shouldSkipOnChange = !isAlreadyRaw;\n\n this.conformValue(rawVal, rawVal.length, {\n skipCaretPositioning: true,\n skipOnChangeCallback: shouldSkipOnChange,\n });\n }\n\n componentDidUpdate(prevProps) {\n // ensure the mask is re-applied when value/mask props changes.\n // this is required by internal implementations like DSDateRangePicker\n const { value: prevValOrEvent, mask: prevMask } = prevProps;\n const { value: valOrEvent, mask } = this.props;\n const value = getValueFromEventOrString(valOrEvent);\n const isAlreadyRaw = UNSAFEIsRawValue(value, mask);\n const rawVal = isAlreadyRaw ? value : UNSAFEGetRawValue(value, mask);\n if (rawVal === '') return;\n const rawMask = getRawMask(mask, rawVal);\n\n const prevVal = getValueFromEventOrString(prevValOrEvent);\n const prevIsAlreadyRaw = UNSAFEIsRawValue(prevVal, prevMask);\n const prevRawVal = prevIsAlreadyRaw ? prevVal : UNSAFEGetRawValue(prevVal, prevMask);\n const prevRawMask = getRawMask(prevMask, prevRawVal);\n\n // we need to compare \"raw\" masks, because mask sometimes are functions\n // and if we don't compare raw mask, isEqual will produce unexpected result\n // which would lead to infinite loops\n if (prevVal !== value || !isEqual(prevRawMask, rawMask)) {\n // if value from props is raw, we invoke onChange\n // not invoking onChange on a raw value breaks the internal components depending on this...\n const shouldSkipOnChange = !isAlreadyRaw;\n this.conformValue(rawVal, rawVal.length, {\n skipCaretPositioning: true,\n skipOnChangeCallback: shouldSkipOnChange,\n });\n }\n }\n\n render() {\n const {\n autoFocus,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n } = this.props;\n const { maskedValue, focus } = this.state;\n // if component is \"controlled\" we print the value from the props\n // if it's not controlled we use the internal state\n // handleOnChange has the logic to invoke the onChange with the mask applied\n // if the dev controls the component but pass down a value not conformed to the mask\n // it's a problem to be fixed on the dev side.\n // this means no \"get derived state from props\" mumbo-jumbos\n const propsValue = getValueFromEventOrString(value);\n const finalValue = typeof propsValue === 'string' || typeof propsValue === 'number' ? propsValue : maskedValue;\n\n return (\n <DSTextBox\n {...rest}\n aria-label={rest['aria-label']}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={this.handleBlur}\n onChange={this.handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={this.handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={finalValue}\n />\n );\n }\n}\n\nDSInputMaskDeprecated.propTypes = {\n autoFocus: PropTypes.bool,\n style: PropTypes.object,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n name: PropTypes.string,\n maxLength: PropTypes.number,\n minLength: PropTypes.number,\n fluidWidth: PropTypes.bool,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n leftComponent: PropTypes.element,\n rightComponent: PropTypes.element,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onPaste: PropTypes.func,\n onKeyUp: PropTypes.func,\n hasError: PropTypes.bool,\n readOnly: PropTypes.bool,\n onClick: PropTypes.func,\n clearable: PropTypes.bool,\n type: PropTypes.string,\n /**\n * Ref for the component\n */\n innerRef: PropTypes.any,\n /**\n * Mask type\n */\n mask: PropTypes.any,\n placeholderChar: PropTypes.string,\n};\n\nexport { DSInputMaskDeprecated };\nexport default DSInputMaskDeprecated;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/InputMaskContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { TLastkey } from './types';\n\nexport const InputMaskContext = React.createContext<{\n rawValue: string;\n setRawValue: React.Dispatch<string>;\n rawMask: any;\n setRawMask: React.Dispatch<any>;\n focus: boolean;\n setFocus: React.Dispatch<boolean>;\n lastkey: TLastkey;\n setLastkey: React.Dispatch<TLastkey>;\n cursorPosition: { current: number };\n setCursorPosition: React.Dispatch<{ current: number }>;\n}>({\n rawValue: '',\n setRawValue: () => null,\n rawMask: null,\n setRawMask: () => null,\n focus: false,\n setFocus: () => null,\n lastkey: { code: null, key: null },\n setLastkey: () => null,\n cursorPosition: { current: 0 },\n setCursorPosition: () => null,\n});\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,YAAW;AAGX,MAAM,mBAAmBA,OAAM,cAWnC;AAAA,EACD,UAAU;AAAA,EACV,aAAa,MAAM;AAAA,EACnB,SAAS;AAAA,EACT,YAAY,MAAM;AAAA,EAClB,OAAO;AAAA,EACP,UAAU,MAAM;AAAA,EAChB,SAAS,EAAE,MAAM,MAAM,KAAK,KAAK;AAAA,EACjC,YAAY,MAAM;AAAA,EAClB,gBAAgB,EAAE,SAAS,EAAE;AAAA,EAC7B,mBAAmB,MAAM;AAC3B,CAAC;",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/MaskPipes.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { autoCorrectedDatePipe } from './addons/AutoCorrectedDatePipe';\n\nexport const MASK_PIPES = {\n AUTO_CORRECT_DATE: autoCorrectedDatePipe,\n};\n\nexport const maskPipes = [MASK_PIPES.AUTO_CORRECT_DATE];\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,6BAA6B;AAE/B,MAAM,aAAa;AAAA,EACxB,mBAAmB;AACrB;AAEO,MAAM,YAAY,CAAC,WAAW,iBAAiB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/MaskTypes.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-vars */\n\nexport const MASK_TYPES = {\n DATE: 'ds-mask-date',\n DATE_DEPRECATED: [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\n DATE_TIME: 'ds-mask-date-time',\n DATE_TIME_DEPRECATED: [\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /[0-2]/,\n /[0-9]/,\n ':',\n /[0-5]/,\n /[0-9]/,\n ],\n DICTIONARY: (props) => ({ type: 'ds-mask-dictionary', ...props }),\n PHONE: 'ds-mask-phone',\n PHONE_INTENATIONAL: 'ds-mask-phone-international',\n SSN: 'ds-mask-ssn',\n US_ZIP_CODE: 'ds-mask-us-zip-code',\n ZIP_CODE_SEARCH: 'ds-mask-zip-code-search',\n NUMBER: (props) => (_number) => ({ type: 'ds-mask-number', ...props }),\n PERCENT: (props) => (_number) => ({ type: 'ds-mask-percent', ...props }),\n};\n\nexport const maskTypes = [\n MASK_TYPES.DATE,\n MASK_TYPES.DATE_DEPRECATED,\n MASK_TYPES.DATE_TIME,\n MASK_TYPES.DATE_TIME_DEPRECATED,\n MASK_TYPES.PHONE,\n MASK_TYPES.PHONE_INTENATIONAL,\n MASK_TYPES.SSN,\n MASK_TYPES.US_ZIP_CODE,\n MASK_TYPES.NUMBER,\n MASK_TYPES.PERCENT,\n];\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEhB,MAAM,aAAa;AAAA,EACxB,MAAM;AAAA,EACN,iBAAiB,CAAC,MAAM,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,IAAI;AAAA,EAC1E,WAAW;AAAA,EACX,sBAAsB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,YAAY,CAAC,WAAW,EAAE,MAAM,sBAAsB,GAAG,MAAM;AAAA,EAC/D,OAAO;AAAA,EACP,oBAAoB;AAAA,EACpB,KAAK;AAAA,EACL,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,kBAAkB,GAAG,MAAM;AAAA,EACpE,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,mBAAmB,GAAG,MAAM;AACxE;AAEO,MAAM,YAAY;AAAA,EACvB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACb;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -26,7 +26,10 @@ const autoCorrectedDatePipe = (dateFormat = "mm dd yyyy", { minYear = 1, maxYear
|
|
|
26
26
|
const conformedValueArr = conformedValue.split("");
|
|
27
27
|
dateFormatArray.forEach((format) => {
|
|
28
28
|
const position = dateFormat.indexOf(format);
|
|
29
|
-
const maxFirstDigit = parseInt(
|
|
29
|
+
const maxFirstDigit = parseInt(
|
|
30
|
+
maxValue[format].toString().substr(0, 1),
|
|
31
|
+
10
|
|
32
|
+
);
|
|
30
33
|
if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {
|
|
31
34
|
conformedValueArr[position + 1] = conformedValueArr[position];
|
|
32
35
|
conformedValueArr[position] = 0;
|
|
@@ -44,8 +47,14 @@ const autoCorrectedDatePipe = (dateFormat = "mm dd yyyy", { minYear = 1, maxYear
|
|
|
44
47
|
}
|
|
45
48
|
const maxValueForFormat = format === "dd" ? maxValueMonth[month] : maxValue[format];
|
|
46
49
|
if (format === "yyyy" && (minYear !== 1 || maxYear !== 9999)) {
|
|
47
|
-
const scopedMaxValue = parseInt(
|
|
48
|
-
|
|
50
|
+
const scopedMaxValue = parseInt(
|
|
51
|
+
maxValue[format].toString().substring(0, textValue.length),
|
|
52
|
+
10
|
|
53
|
+
);
|
|
54
|
+
const scopedMinValue = parseInt(
|
|
55
|
+
minValue[format].toString().substring(0, textValue.length),
|
|
56
|
+
10
|
|
57
|
+
);
|
|
49
58
|
return value < scopedMinValue || value > scopedMaxValue;
|
|
50
59
|
}
|
|
51
60
|
return value > maxValueForFormat || textValue.length === length && value < minValue[format];
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/addons/AutoCorrectedDatePipe.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "const maxValueMonth = [31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst formatOrder = ['yyyy', 'yy', 'mm', 'dd', 'HH', 'MM', 'SS'];\nexport const autoCorrectedDatePipe = (\n dateFormat = 'mm dd yyyy',\n { minYear = 1, maxYear = 9999 } = {},\n) => {\n const dateFormatArray = dateFormat\n .split(/[^dmyHMS]+/)\n .sort((a, b) => formatOrder.indexOf(a) - formatOrder.indexOf(b));\n return (conformedValue) => {\n const indexesOfPipedChars = [];\n const maxValue = {\n dd: 31,\n mm: 12,\n yy: 99,\n yyyy: maxYear,\n HH: 23,\n MM: 59,\n SS: 59,\n };\n const minValue = {\n dd: 1,\n mm: 1,\n yy: 0,\n yyyy: minYear,\n HH: 0,\n MM: 0,\n SS: 0,\n };\n const conformedValueArr = conformedValue.split('');\n\n // Check first digit\n dateFormatArray.forEach((format) => {\n const position = dateFormat.indexOf(format);\n const maxFirstDigit = parseInt(\n maxValue[format].toString().substr(0, 1),\n 10,\n );\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = 0;\n indexesOfPipedChars.push(position);\n }\n });\n\n // Check for invalid date\n let month = 0;\n const isInvalid = dateFormatArray.some((format) => {\n const position = dateFormat.indexOf(format);\n const { length } = format;\n const textValue = conformedValue\n .substr(position, length)\n .replace(/\\D/g, '');\n const value = parseInt(textValue, 10);\n if (format === 'mm') {\n month = value || 0;\n }\n const maxValueForFormat =\n format === 'dd' ? maxValueMonth[month] : maxValue[format];\n if (format === 'yyyy' && (minYear !== 1 || maxYear !== 9999)) {\n const scopedMaxValue = parseInt(\n maxValue[format].toString().substring(0, textValue.length),\n 10,\n );\n const scopedMinValue = parseInt(\n minValue[format].toString().substring(0, textValue.length),\n 10,\n );\n return value < scopedMinValue || value > scopedMaxValue;\n }\n return (\n value > maxValueForFormat ||\n (textValue.length === length && value < minValue[format])\n );\n });\n\n return {\n value: conformedValueArr.join(''),\n valid: !isInvalid,\n indexesOfPipedChars,\n };\n };\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,MAAM,gBAAgB,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AACzE,MAAM,cAAc,CAAC,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AACxD,MAAM,wBAAwB,CACnC,aAAa,cACb,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC,MAChC;AACH,QAAM,kBAAkB,WACrB,MAAM,YAAY,EAClB,KAAK,CAAC,GAAG,MAAM,YAAY,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC;AACjE,SAAO,CAAC,mBAAmB;AACzB,UAAM,sBAAsB,CAAC;AAC7B,UAAM,WAAW;AAAA,MACf,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,WAAW;AAAA,MACf,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,UAAM,oBAAoB,eAAe,MAAM,EAAE;AAGjD,oBAAgB,QAAQ,CAAC,WAAW;AAClC,YAAM,WAAW,WAAW,QAAQ,MAAM;AAC1C,YAAM,gBAAgB;AAAA,QACpB,SAAS,QAAQ,SAAS,EAAE,OAAO,GAAG,CAAC;AAAA,QACvC;AAAA,MACF;AAEA,UAAI,SAAS,kBAAkB,WAAW,EAAE,IAAI,eAAe;AAC7D,0BAAkB,WAAW,KAAK,kBAAkB;AACpD,0BAAkB,YAAY;AAC9B,4BAAoB,KAAK,QAAQ;AAAA,MACnC;AAAA,IACF,CAAC;AAGD,QAAI,QAAQ;AACZ,UAAM,YAAY,gBAAgB,KAAK,CAAC,WAAW;AACjD,YAAM,WAAW,WAAW,QAAQ,MAAM;AAC1C,YAAM,EAAE,OAAO,IAAI;AACnB,YAAM,YAAY,eACf,OAAO,UAAU,MAAM,EACvB,QAAQ,OAAO,EAAE;AACpB,YAAM,QAAQ,SAAS,WAAW,EAAE;AACpC,UAAI,WAAW,MAAM;AACnB,gBAAQ,SAAS;AAAA,MACnB;AACA,YAAM,oBACJ,WAAW,OAAO,cAAc,SAAS,SAAS;AACpD,UAAI,WAAW,WAAW,YAAY,KAAK,YAAY,OAAO;AAC5D,cAAM,iBAAiB;AAAA,UACrB,SAAS,QAAQ,SAAS,EAAE,UAAU,GAAG,UAAU,MAAM;AAAA,UACzD;AAAA,QACF;AACA,cAAM,iBAAiB;AAAA,UACrB,SAAS,QAAQ,SAAS,EAAE,UAAU,GAAG,UAAU,MAAM;AAAA,UACzD;AAAA,QACF;AACA,eAAO,QAAQ,kBAAkB,QAAQ;AAAA,MAC3C;AACA,aACE,QAAQ,qBACP,UAAU,WAAW,UAAU,QAAQ,SAAS;AAAA,IAErD,CAAC;AAED,WAAO;AAAA,MACL,OAAO,kBAAkB,KAAK,EAAE;AAAA,MAChC,OAAO,CAAC;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/defaultProps.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { MASK_TYPES } from './MaskTypes';\n\nexport const defaultProps = {\n autoFocus: false,\n style: {},\n disabled: false,\n className: '',\n name: '',\n maxLength: 255,\n minLength: 0,\n fluidWidth: false,\n onKeyDown: () => null,\n onClick: () => null,\n onChange: () => null,\n onFocus: () => null,\n onBlur: () => null,\n onPaste: () => null,\n onKeyUp: () => null,\n value: '',\n hasError: false,\n readOnly: false,\n innerRef: null,\n type: 'text',\n clearable: false,\n leftComponent: null,\n rightComponent: null,\n mask: MASK_TYPES.DATE,\n pipe: null,\n useSubfix: '',\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,kBAAkB;AAEpB,MAAM,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,OAAO,CAAC;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW,MAAM;AAAA,EACjB,SAAS,MAAM;AAAA,EACf,UAAU,MAAM;AAAA,EAChB,SAAS,MAAM;AAAA,EACf,QAAQ,MAAM;AAAA,EACd,SAAS,MAAM;AAAA,EACf,SAAS,MAAM;AAAA,EACf,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,MAAM,WAAW;AAAA,EACjB,MAAM;AAAA,EACN,WAAW;AACb;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSInputMask';\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
3
4
|
import { DSTextBox } from "../../TextBox";
|
|
4
5
|
import { setCaretPosition } from "../utils/setCaretPosition";
|
|
5
6
|
const conformValue = (rawValue, cursorPos, lastkeycode) => {
|
|
@@ -69,28 +70,38 @@ const DateInputMask = ({
|
|
|
69
70
|
}) => {
|
|
70
71
|
const inputRef = useRef();
|
|
71
72
|
const [maskedValue, setMaskedValue] = useState(value);
|
|
72
|
-
const conform = useCallback(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
73
|
+
const conform = useCallback(
|
|
74
|
+
({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {
|
|
75
|
+
const { nextMaskedValue, maskedPos } = conformValue(
|
|
76
|
+
rawValue,
|
|
77
|
+
cursorPos,
|
|
78
|
+
lastkeycode
|
|
79
|
+
);
|
|
80
|
+
const event = {
|
|
81
|
+
target: {
|
|
82
|
+
value: nextMaskedValue,
|
|
83
|
+
originalValue: rawValue
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
if (onChange && nextMaskedValue !== maskedValue)
|
|
87
|
+
onChange(event);
|
|
88
|
+
setMaskedValue(nextMaskedValue);
|
|
89
|
+
setRawValue(nextMaskedValue);
|
|
90
|
+
if (shouldUpdateCursorPos)
|
|
91
|
+
setCursorPosition({ current: maskedPos });
|
|
92
|
+
},
|
|
93
|
+
[maskedValue, onChange]
|
|
94
|
+
);
|
|
95
|
+
const handleOnChange = useCallback(
|
|
96
|
+
(e) => {
|
|
97
|
+
const { value: rawValue, selectionEnd } = e.target;
|
|
98
|
+
setRawMask(rawValue);
|
|
99
|
+
setRawValue(rawValue);
|
|
100
|
+
setCursorPosition({ current: selectionEnd });
|
|
101
|
+
setFocus(true);
|
|
102
|
+
},
|
|
103
|
+
[setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code]
|
|
104
|
+
);
|
|
94
105
|
useLayoutEffect(() => {
|
|
95
106
|
if (focus)
|
|
96
107
|
setCaretPosition(inputRef.current, cursorPosition.current);
|
|
@@ -103,16 +114,22 @@ const DateInputMask = ({
|
|
|
103
114
|
shouldUpdateCursorPos: focus
|
|
104
115
|
});
|
|
105
116
|
}, [focus, value, cursorPosition.current]);
|
|
106
|
-
const handleKeyDown = useCallback(
|
|
107
|
-
e
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
const handleKeyDown = useCallback(
|
|
118
|
+
(e) => {
|
|
119
|
+
e.stopPropagation();
|
|
120
|
+
setLastkey({ key: e.key, code: e.keyCode });
|
|
121
|
+
onKeyDown(e);
|
|
122
|
+
},
|
|
123
|
+
[onKeyDown]
|
|
124
|
+
);
|
|
125
|
+
const handleBlur = useCallback(
|
|
126
|
+
(e) => {
|
|
127
|
+
setFocus(false);
|
|
128
|
+
onBlur(e);
|
|
129
|
+
},
|
|
130
|
+
[onBlur]
|
|
131
|
+
);
|
|
132
|
+
return /* @__PURE__ */ jsx(DSTextBox, {
|
|
116
133
|
...rest,
|
|
117
134
|
className,
|
|
118
135
|
clearable,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/DateInputMask.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-utilities';\nimport { DSTextBox } from '../../TextBox';\nimport { TCharsToAdd } from '../types';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (\n rawValue: string,\n cursorPos: number,\n lastkeycode: number,\n) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 8);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['/', 2],\n ['/', 5],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst DateInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(\n rawValue,\n cursorPos,\n lastkeycode,\n );\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { DateInputMask };\nexport default DateInputMask;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
3
4
|
import { DSTextBox } from "../../TextBox";
|
|
4
5
|
import { setCaretPosition } from "../utils/setCaretPosition";
|
|
5
6
|
const conformValue = (rawValue, cursorPos, lastkeycode) => {
|
|
@@ -75,28 +76,38 @@ const DateTimeInputMask = ({
|
|
|
75
76
|
}) => {
|
|
76
77
|
const inputRef = useRef();
|
|
77
78
|
const [maskedValue, setMaskedValue] = useState(value);
|
|
78
|
-
const conform = useCallback(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
79
|
+
const conform = useCallback(
|
|
80
|
+
({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {
|
|
81
|
+
const { nextMaskedValue, maskedPos } = conformValue(
|
|
82
|
+
rawValue,
|
|
83
|
+
cursorPos,
|
|
84
|
+
lastkeycode
|
|
85
|
+
);
|
|
86
|
+
const event = {
|
|
87
|
+
target: {
|
|
88
|
+
value: nextMaskedValue,
|
|
89
|
+
originalValue: rawValue
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
if (onChange && nextMaskedValue !== maskedValue)
|
|
93
|
+
onChange(event);
|
|
94
|
+
setMaskedValue(nextMaskedValue);
|
|
95
|
+
setRawValue(nextMaskedValue);
|
|
96
|
+
if (shouldUpdateCursorPos)
|
|
97
|
+
setCursorPosition({ current: maskedPos });
|
|
98
|
+
},
|
|
99
|
+
[maskedValue, onChange]
|
|
100
|
+
);
|
|
101
|
+
const handleOnChange = useCallback(
|
|
102
|
+
(e) => {
|
|
103
|
+
const { value: rawValue, selectionEnd } = e.target;
|
|
104
|
+
setRawMask(rawValue);
|
|
105
|
+
setRawValue(rawValue);
|
|
106
|
+
setCursorPosition({ current: selectionEnd });
|
|
107
|
+
setFocus(true);
|
|
108
|
+
},
|
|
109
|
+
[setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code]
|
|
110
|
+
);
|
|
100
111
|
useLayoutEffect(() => {
|
|
101
112
|
if (focus)
|
|
102
113
|
setCaretPosition(inputRef.current, cursorPosition.current);
|
|
@@ -109,16 +120,22 @@ const DateTimeInputMask = ({
|
|
|
109
120
|
shouldUpdateCursorPos: focus
|
|
110
121
|
});
|
|
111
122
|
}, [focus, value, cursorPosition.current]);
|
|
112
|
-
const handleKeyDown = useCallback(
|
|
113
|
-
e
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
const handleKeyDown = useCallback(
|
|
124
|
+
(e) => {
|
|
125
|
+
e.stopPropagation();
|
|
126
|
+
setLastkey({ key: e.key, code: e.keyCode });
|
|
127
|
+
onKeyDown(e);
|
|
128
|
+
},
|
|
129
|
+
[onKeyDown]
|
|
130
|
+
);
|
|
131
|
+
const handleBlur = useCallback(
|
|
132
|
+
(e) => {
|
|
133
|
+
setFocus(false);
|
|
134
|
+
onBlur(e);
|
|
135
|
+
},
|
|
136
|
+
[onBlur]
|
|
137
|
+
);
|
|
138
|
+
return /* @__PURE__ */ jsx(DSTextBox, {
|
|
122
139
|
...rest,
|
|
123
140
|
className,
|
|
124
141
|
clearable,
|