@elliemae/ds-form 3.3.0-next.4 → 3.3.0-next.7
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/CheckboxGroup/DSCheckboxGroup.js +15 -29
- package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +24 -65
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +5 -19
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js +3 -15
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +7 -20
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/dist/cjs/DateInput/DSDateInput.js +14 -46
- package/dist/cjs/DateInput/DSDateInput.js.map +1 -1
- package/dist/cjs/DateInput/components/DateInputImpl.js +4 -17
- package/dist/cjs/DateInput/components/DateInputImpl.js.map +1 -1
- package/dist/cjs/DateInput/components/DateInputs.js +9 -23
- package/dist/cjs/DateInput/components/DateInputs.js.map +1 -1
- package/dist/cjs/DateInputV2/components/DateInputs.js +9 -23
- package/dist/cjs/DateInputV2/components/DateInputs.js.map +1 -1
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js +3 -19
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js.map +1 -1
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +4 -17
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/dist/cjs/FormItem/DSFormItemLayout.js +56 -118
- package/dist/cjs/FormItem/DSFormItemLayout.js.map +1 -1
- package/dist/cjs/FormItem/ValidationFieldWrapper.js +3 -19
- package/dist/cjs/FormItem/ValidationFieldWrapper.js.map +1 -1
- package/dist/cjs/InputGroup/AddonWrapper.js +4 -17
- package/dist/cjs/InputGroup/AddonWrapper.js.map +1 -1
- package/dist/cjs/InputMask/DSInputMask.js +19 -51
- package/dist/cjs/InputMask/DSInputMask.js.map +1 -1
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js +11 -62
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js.map +1 -1
- package/dist/cjs/InputMask/MaskTypes.js +3 -17
- package/dist/cjs/InputMask/MaskTypes.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DateInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +40 -103
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js +49 -121
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +37 -97
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/index.js +79 -119
- package/dist/cjs/InputMask/mask_types/index.js.map +1 -1
- package/dist/cjs/InputProtected/DSInputProtected.js +14 -51
- package/dist/cjs/InputProtected/DSInputProtected.js.map +1 -1
- package/dist/cjs/LargeInputText/DSLargeInputText.js +3 -19
- package/dist/cjs/LargeInputText/DSLargeInputText.js.map +1 -1
- package/dist/cjs/Radio/DSRadio.js +24 -67
- package/dist/cjs/Radio/DSRadio.js.map +1 -1
- package/dist/cjs/RadioGroup/DSRadioGroup.js +15 -29
- package/dist/cjs/RadioGroup/DSRadioGroup.js.map +1 -1
- package/dist/cjs/TimeInput/DSTimeInput.js +8 -40
- package/dist/cjs/TimeInput/DSTimeInput.js.map +1 -1
- package/dist/cjs/TimeInput/TimeInputImpl.js +4 -17
- package/dist/cjs/TimeInput/TimeInputImpl.js.map +1 -1
- package/dist/cjs/TimeInput/TimeInputs.js +12 -25
- package/dist/cjs/TimeInput/TimeInputs.js.map +1 -1
- package/dist/cjs/Toggle/DSToggle.js +25 -66
- package/dist/cjs/Toggle/DSToggle.js.map +1 -1
- package/dist/cjs/Toggle/DSToggleImpl.js +7 -22
- package/dist/cjs/Toggle/DSToggleImpl.js.map +1 -1
- package/dist/cjs/Toggle/DSToggleRender.js +10 -24
- package/dist/cjs/Toggle/DSToggleRender.js.map +1 -1
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js +15 -31
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +24 -67
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js +5 -21
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js +3 -17
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js +7 -22
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/dist/esm/DateInput/DSDateInput.js +14 -48
- package/dist/esm/DateInput/DSDateInput.js.map +1 -1
- package/dist/esm/DateInput/components/DateInputImpl.js +4 -19
- package/dist/esm/DateInput/components/DateInputImpl.js.map +1 -1
- package/dist/esm/DateInput/components/DateInputs.js +9 -25
- package/dist/esm/DateInput/components/DateInputs.js.map +1 -1
- package/dist/esm/DateInputV2/components/DateInputs.js +9 -25
- package/dist/esm/DateInputV2/components/DateInputs.js.map +1 -1
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js +3 -21
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js.map +1 -1
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js +4 -19
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/dist/esm/FormItem/DSFormItemLayout.js +56 -120
- package/dist/esm/FormItem/DSFormItemLayout.js.map +1 -1
- package/dist/esm/FormItem/ValidationFieldWrapper.js +3 -21
- package/dist/esm/FormItem/ValidationFieldWrapper.js.map +1 -1
- package/dist/esm/InputGroup/AddonWrapper.js +4 -19
- package/dist/esm/InputGroup/AddonWrapper.js.map +1 -1
- package/dist/esm/InputMask/DSInputMask.js +19 -53
- package/dist/esm/InputMask/DSInputMask.js.map +1 -1
- package/dist/esm/InputMask/DSInputMaskDeprecated.js +11 -64
- package/dist/esm/InputMask/DSInputMaskDeprecated.js.map +1 -1
- package/dist/esm/InputMask/MaskTypes.js +3 -19
- package/dist/esm/InputMask/MaskTypes.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DateInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/DateInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +40 -105
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/NumberInputMask.js +49 -123
- package/dist/esm/InputMask/mask_types/NumberInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/SsnInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +37 -99
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +1 -1
- package/dist/esm/InputMask/mask_types/index.js +79 -121
- package/dist/esm/InputMask/mask_types/index.js.map +1 -1
- package/dist/esm/InputProtected/DSInputProtected.js +14 -53
- package/dist/esm/InputProtected/DSInputProtected.js.map +1 -1
- package/dist/esm/LargeInputText/DSLargeInputText.js +3 -21
- package/dist/esm/LargeInputText/DSLargeInputText.js.map +1 -1
- package/dist/esm/Radio/DSRadio.js +24 -69
- package/dist/esm/Radio/DSRadio.js.map +1 -1
- package/dist/esm/RadioGroup/DSRadioGroup.js +15 -31
- package/dist/esm/RadioGroup/DSRadioGroup.js.map +1 -1
- package/dist/esm/TimeInput/DSTimeInput.js +8 -42
- package/dist/esm/TimeInput/DSTimeInput.js.map +1 -1
- package/dist/esm/TimeInput/TimeInputImpl.js +4 -19
- package/dist/esm/TimeInput/TimeInputImpl.js.map +1 -1
- package/dist/esm/TimeInput/TimeInputs.js +12 -27
- package/dist/esm/TimeInput/TimeInputs.js.map +1 -1
- package/dist/esm/Toggle/DSToggle.js +25 -68
- package/dist/esm/Toggle/DSToggle.js.map +1 -1
- package/dist/esm/Toggle/DSToggleImpl.js +7 -24
- package/dist/esm/Toggle/DSToggleImpl.js.map +1 -1
- package/dist/esm/Toggle/DSToggleRender.js +10 -26
- package/dist/esm/Toggle/DSToggleRender.js.map +1 -1
- package/package.json +12 -12
|
@@ -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": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __spreadValues = (a, b) => {
|
|
8
|
-
for (var prop in b || (b = {}))
|
|
9
|
-
if (__hasOwnProp.call(b, prop))
|
|
10
|
-
__defNormalProp(a, prop, b[prop]);
|
|
11
|
-
if (__getOwnPropSymbols)
|
|
12
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
13
|
-
if (__propIsEnum.call(b, prop))
|
|
14
|
-
__defNormalProp(a, prop, b[prop]);
|
|
15
|
-
}
|
|
16
|
-
return a;
|
|
17
|
-
};
|
|
18
2
|
import * as React from "react";
|
|
19
3
|
const MASK_TYPES = {
|
|
20
4
|
DATE: "ds-mask-date",
|
|
@@ -38,14 +22,14 @@ const MASK_TYPES = {
|
|
|
38
22
|
/[0-5]/,
|
|
39
23
|
/[0-9]/
|
|
40
24
|
],
|
|
41
|
-
DICTIONARY: (props) =>
|
|
25
|
+
DICTIONARY: (props) => ({ type: "ds-mask-dictionary", ...props }),
|
|
42
26
|
PHONE: "ds-mask-phone",
|
|
43
27
|
PHONE_INTENATIONAL: "ds-mask-phone-international",
|
|
44
28
|
SSN: "ds-mask-ssn",
|
|
45
29
|
US_ZIP_CODE: "ds-mask-us-zip-code",
|
|
46
30
|
ZIP_CODE_SEARCH: "ds-mask-zip-code-search",
|
|
47
|
-
NUMBER: (props) => (_number) =>
|
|
48
|
-
PERCENT: (props) => (_number) =>
|
|
31
|
+
NUMBER: (props) => (_number) => ({ type: "ds-mask-number", ...props }),
|
|
32
|
+
PERCENT: (props) => (_number) => ({ type: "ds-mask-percent", ...props })
|
|
49
33
|
};
|
|
50
34
|
const maskTypes = [
|
|
51
35
|
MASK_TYPES.DATE,
|
|
@@ -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": "
|
|
5
|
+
"mappings": ";AAAA;ACEO,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,UAAW,GAAE,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,YAAa,GAAE,MAAM,kBAAkB,GAAG,MAAM;AAAA,EACpE,SAAS,CAAC,UAAU,CAAC,YAAa,GAAE,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
|
}
|
|
@@ -1,35 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
-
var __objRest = (source, exclude) => {
|
|
22
|
-
var target = {};
|
|
23
|
-
for (var prop in source)
|
|
24
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
-
target[prop] = source[prop];
|
|
26
|
-
if (source != null && __getOwnPropSymbols)
|
|
27
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
-
target[prop] = source[prop];
|
|
30
|
-
}
|
|
31
|
-
return target;
|
|
32
|
-
};
|
|
33
2
|
import * as React from "react";
|
|
34
3
|
import React2, { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
35
4
|
import { DSTextBox } from "../../TextBox";
|
|
@@ -65,72 +34,40 @@ const conformValue = (rawValue, cursorPos, lastkeycode) => {
|
|
|
65
34
|
}
|
|
66
35
|
return { nextMaskedValue: nextMaskedValue.join(""), maskedPos };
|
|
67
36
|
};
|
|
68
|
-
const DateInputMask = (
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
"focus",
|
|
103
|
-
"setFocus",
|
|
104
|
-
"setRawMask",
|
|
105
|
-
"cursorPosition",
|
|
106
|
-
"setCursorPosition",
|
|
107
|
-
"lastkey",
|
|
108
|
-
"setLastkey",
|
|
109
|
-
"setRawValue",
|
|
110
|
-
"style",
|
|
111
|
-
"disabled",
|
|
112
|
-
"className",
|
|
113
|
-
"name",
|
|
114
|
-
"maxLength",
|
|
115
|
-
"minLength",
|
|
116
|
-
"fluidWidth",
|
|
117
|
-
"placeholder",
|
|
118
|
-
"onKeyDown",
|
|
119
|
-
"onClick",
|
|
120
|
-
"onChange",
|
|
121
|
-
"onFocus",
|
|
122
|
-
"onBlur",
|
|
123
|
-
"onPaste",
|
|
124
|
-
"onKeyUp",
|
|
125
|
-
"hasError",
|
|
126
|
-
"readOnly",
|
|
127
|
-
"type",
|
|
128
|
-
"innerRef",
|
|
129
|
-
"clearable",
|
|
130
|
-
"leftComponent",
|
|
131
|
-
"rightComponent",
|
|
132
|
-
"value"
|
|
133
|
-
]);
|
|
37
|
+
const DateInputMask = ({
|
|
38
|
+
focus,
|
|
39
|
+
setFocus,
|
|
40
|
+
setRawMask,
|
|
41
|
+
cursorPosition,
|
|
42
|
+
setCursorPosition,
|
|
43
|
+
lastkey,
|
|
44
|
+
setLastkey,
|
|
45
|
+
setRawValue,
|
|
46
|
+
style,
|
|
47
|
+
disabled,
|
|
48
|
+
className,
|
|
49
|
+
name,
|
|
50
|
+
maxLength,
|
|
51
|
+
minLength,
|
|
52
|
+
fluidWidth,
|
|
53
|
+
placeholder,
|
|
54
|
+
onKeyDown,
|
|
55
|
+
onClick,
|
|
56
|
+
onChange,
|
|
57
|
+
onFocus,
|
|
58
|
+
onBlur,
|
|
59
|
+
onPaste,
|
|
60
|
+
onKeyUp,
|
|
61
|
+
hasError,
|
|
62
|
+
readOnly,
|
|
63
|
+
type,
|
|
64
|
+
innerRef,
|
|
65
|
+
clearable = false,
|
|
66
|
+
leftComponent,
|
|
67
|
+
rightComponent,
|
|
68
|
+
value,
|
|
69
|
+
...rest
|
|
70
|
+
}) => {
|
|
134
71
|
const inputRef = useRef();
|
|
135
72
|
const [maskedValue, setMaskedValue] = useState(value);
|
|
136
73
|
const conform = useCallback(({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {
|
|
@@ -176,7 +113,8 @@ const DateInputMask = (_a) => {
|
|
|
176
113
|
setFocus(false);
|
|
177
114
|
onBlur(e);
|
|
178
115
|
}, [onBlur]);
|
|
179
|
-
return /* @__PURE__ */ React2.createElement(DSTextBox,
|
|
116
|
+
return /* @__PURE__ */ React2.createElement(DSTextBox, {
|
|
117
|
+
...rest,
|
|
180
118
|
className,
|
|
181
119
|
clearable,
|
|
182
120
|
disabled,
|
|
@@ -205,7 +143,7 @@ const DateInputMask = (_a) => {
|
|
|
205
143
|
style,
|
|
206
144
|
type,
|
|
207
145
|
value: maskedValue
|
|
208
|
-
})
|
|
146
|
+
});
|
|
209
147
|
};
|
|
210
148
|
var DateInputMask_default = DateInputMask;
|
|
211
149
|
export {
|
|
@@ -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": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,35 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
-
var __objRest = (source, exclude) => {
|
|
22
|
-
var target = {};
|
|
23
|
-
for (var prop in source)
|
|
24
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
-
target[prop] = source[prop];
|
|
26
|
-
if (source != null && __getOwnPropSymbols)
|
|
27
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
-
target[prop] = source[prop];
|
|
30
|
-
}
|
|
31
|
-
return target;
|
|
32
|
-
};
|
|
33
2
|
import * as React from "react";
|
|
34
3
|
import React2, { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
35
4
|
import { DSTextBox } from "../../TextBox";
|
|
@@ -71,72 +40,40 @@ const conformValue = (rawValue, cursorPos, lastkeycode) => {
|
|
|
71
40
|
}
|
|
72
41
|
return { nextMaskedValue: nextMaskedValue.join(""), maskedPos };
|
|
73
42
|
};
|
|
74
|
-
const DateTimeInputMask = (
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
"focus",
|
|
109
|
-
"setFocus",
|
|
110
|
-
"setRawMask",
|
|
111
|
-
"cursorPosition",
|
|
112
|
-
"setCursorPosition",
|
|
113
|
-
"lastkey",
|
|
114
|
-
"setLastkey",
|
|
115
|
-
"setRawValue",
|
|
116
|
-
"style",
|
|
117
|
-
"disabled",
|
|
118
|
-
"className",
|
|
119
|
-
"name",
|
|
120
|
-
"maxLength",
|
|
121
|
-
"minLength",
|
|
122
|
-
"fluidWidth",
|
|
123
|
-
"placeholder",
|
|
124
|
-
"onKeyDown",
|
|
125
|
-
"onClick",
|
|
126
|
-
"onChange",
|
|
127
|
-
"onFocus",
|
|
128
|
-
"onBlur",
|
|
129
|
-
"onPaste",
|
|
130
|
-
"onKeyUp",
|
|
131
|
-
"hasError",
|
|
132
|
-
"readOnly",
|
|
133
|
-
"type",
|
|
134
|
-
"innerRef",
|
|
135
|
-
"clearable",
|
|
136
|
-
"leftComponent",
|
|
137
|
-
"rightComponent",
|
|
138
|
-
"value"
|
|
139
|
-
]);
|
|
43
|
+
const DateTimeInputMask = ({
|
|
44
|
+
focus,
|
|
45
|
+
setFocus,
|
|
46
|
+
setRawMask,
|
|
47
|
+
cursorPosition,
|
|
48
|
+
setCursorPosition,
|
|
49
|
+
lastkey,
|
|
50
|
+
setLastkey,
|
|
51
|
+
setRawValue,
|
|
52
|
+
style,
|
|
53
|
+
disabled,
|
|
54
|
+
className,
|
|
55
|
+
name,
|
|
56
|
+
maxLength,
|
|
57
|
+
minLength,
|
|
58
|
+
fluidWidth,
|
|
59
|
+
placeholder,
|
|
60
|
+
onKeyDown,
|
|
61
|
+
onClick,
|
|
62
|
+
onChange,
|
|
63
|
+
onFocus,
|
|
64
|
+
onBlur,
|
|
65
|
+
onPaste,
|
|
66
|
+
onKeyUp,
|
|
67
|
+
hasError,
|
|
68
|
+
readOnly,
|
|
69
|
+
type,
|
|
70
|
+
innerRef,
|
|
71
|
+
clearable = false,
|
|
72
|
+
leftComponent,
|
|
73
|
+
rightComponent,
|
|
74
|
+
value,
|
|
75
|
+
...rest
|
|
76
|
+
}) => {
|
|
140
77
|
const inputRef = useRef();
|
|
141
78
|
const [maskedValue, setMaskedValue] = useState(value);
|
|
142
79
|
const conform = useCallback(({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {
|
|
@@ -182,7 +119,8 @@ const DateTimeInputMask = (_a) => {
|
|
|
182
119
|
setFocus(false);
|
|
183
120
|
onBlur(e);
|
|
184
121
|
}, [onBlur]);
|
|
185
|
-
return /* @__PURE__ */ React2.createElement(DSTextBox,
|
|
122
|
+
return /* @__PURE__ */ React2.createElement(DSTextBox, {
|
|
123
|
+
...rest,
|
|
186
124
|
className,
|
|
187
125
|
clearable,
|
|
188
126
|
disabled,
|
|
@@ -211,7 +149,7 @@ const DateTimeInputMask = (_a) => {
|
|
|
211
149
|
style,
|
|
212
150
|
type,
|
|
213
151
|
value: maskedValue
|
|
214
|
-
})
|
|
152
|
+
});
|
|
215
153
|
};
|
|
216
154
|
var DateTimeInputMask_default = DateTimeInputMask;
|
|
217
155
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/DateTimeInputMask.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\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, 12);\n\n while (nextMaskedValue.length > 8 && !nextMaskedValue[8].match(/[0-2]/))\n nextMaskedValue.splice(8, 1);\n while (nextMaskedValue.length > 10 && !nextMaskedValue[10].match(/[0-5]/))\n nextMaskedValue.splice(10, 1);\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 [' ', 10],\n [':', 13],\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 DateTimeInputMask = ({\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 { DateTimeInputMask };\nexport default DateTimeInputMask;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|