@elliemae/ds-form 3.24.2 → 3.25.0-next.2
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/DateInputV2/components/DateInputs.js +2 -2
- package/dist/cjs/DateInputV2/components/DateInputs.js.map +2 -2
- package/dist/esm/DateInputV2/components/DateInputs.js +2 -2
- package/dist/esm/DateInputV2/components/DateInputs.js.map +2 -2
- package/dist/types/DateInputV2/components/styled.d.ts +4 -4
- package/dist/types/FormItem/Suffix/Suffix.d.ts +3 -3
- package/package.json +14 -14
|
@@ -145,7 +145,7 @@ const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown,
|
|
|
145
145
|
onChange: onMonthChange,
|
|
146
146
|
value: month,
|
|
147
147
|
tabIndex,
|
|
148
|
-
|
|
148
|
+
innerRef: dayRef
|
|
149
149
|
}
|
|
150
150
|
);
|
|
151
151
|
};
|
|
@@ -210,7 +210,7 @@ const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown,
|
|
|
210
210
|
import_styled.DateInputWrapper,
|
|
211
211
|
{
|
|
212
212
|
disabled,
|
|
213
|
-
|
|
213
|
+
innerRef,
|
|
214
214
|
onKeyDown: onCustomKeyDown,
|
|
215
215
|
tabIndex: -1,
|
|
216
216
|
cols: ["auto", "6px", "auto", "6px", "auto"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/DateInputV2/components/DateInputs.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\n\nimport {\n commonInputProps,\n triggerOnBlur,\n focusNextInput,\n getFormattedDay,\n getShouldShortcircuitDay,\n getFormattedMonth,\n getShouldShortcircuitMonth,\n getFormattedYear,\n} from './utils.js';\nimport { onKeyDownHelper } from './helpers.js';\nimport { DateInputDivider, DateInputWrapper, DateInputInput, DateInputFluidContainer } from './styled.js';\nimport { DateInputsPropTypes } from './propsTypes.js';\n\nconst FORMAT = 'MMDDYYYY';\n\nexport const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown, time, tabIndex, innerRef }) => {\n useDeprecateComponent({ componentName: 'ds-form/DateInputV2', version: '3.x Date: 2023 Q1' });\n\n const [month, setMonth] = useState('');\n const [day, setDay] = useState('');\n const [year, setYear] = useState('');\n const [onChangeDateTrigger, setOnChangeDateTrigger] = useState({});\n const dayRef = React.useRef<HTMLInputElement>();\n const [haveInputsOnChangeTriggered, setHaveInputsOnChangeTriggered] = useState(false);\n\n let digits = 2;\n let placeholder = '';\n\n const handleFluidClick = React.useCallback(\n (e: React.MouseEvent<Element, MouseEvent>) => {\n if (!(e.target as HTMLInputElement).type && dayRef.current) {\n dayRef.current.focus();\n }\n },\n [dayRef.current],\n );\n\n const triggerOnDateChange = React.useCallback(() => {\n if (month && day && year && haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, 'MMDDYYYY', true);\n if (momentValue.isValid()) {\n onDateChange(momentValue);\n }\n setHaveInputsOnChangeTriggered(false);\n }\n }, [day, month, year, haveInputsOnChangeTriggered]);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onMonthChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedMonth(e.target.value);\n const shouldAdvance = getShouldShortcircuitMonth(e.target.value);\n setMonth(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onDayChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedDay(e.target.value);\n const shouldAdvance = getShouldShortcircuitDay(e.target.value);\n setDay(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n const onYearChange = React.useCallback((e) => {\n const value = getFormattedYear(e.target.value);\n setYear(value);\n setHaveInputsOnChangeTriggered(true);\n setOnChangeDateTrigger({});\n }, []);\n\n useEffect(() => {\n // When component mounts haveInputsOnChangeTriggered is set to false\n // so this is not triggered on mount but is triggered with all other changes\n if (haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, FORMAT, true);\n onChange(`${month}${day}${year}`, momentValue.isValid() ? momentValue : null);\n }\n }, [day, month, year]);\n\n useEffect(() => {\n triggerOnDateChange();\n }, [onChangeDateTrigger]);\n\n useEffect(() => {\n if (time && time !== `${month}${day}${year}` && moment(time, 'MMDDYYYY').isValid()) {\n const values = String(time || '');\n if (values.slice(0, 2)) setMonth(values.slice(0, 2));\n if (values.slice(2, 4)) setDay(values.slice(2, 4));\n if (values.slice(4, 8)) setYear(values.slice(4, 8));\n } else if (!time && (month || day || year)) {\n setMonth('');\n setDay('');\n setYear('');\n }\n }, [time]);\n\n const onKeyDown = (event) =>\n onKeyDownHelper(event, {\n onDayChange,\n onMonthChange,\n onYearChange,\n });\n\n const renderMonthInput = () => {\n placeholder = 'MM';\n const onMonthInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"month-input\"\n data-testid=\"month\"\n disabled={disabled}\n name=\"month\"\n onBlur={onMonthInputBlur}\n onChange={onMonthChange}\n value={month}\n tabIndex={tabIndex}\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\n\nimport {\n commonInputProps,\n triggerOnBlur,\n focusNextInput,\n getFormattedDay,\n getShouldShortcircuitDay,\n getFormattedMonth,\n getShouldShortcircuitMonth,\n getFormattedYear,\n} from './utils.js';\nimport { onKeyDownHelper } from './helpers.js';\nimport { DateInputDivider, DateInputWrapper, DateInputInput, DateInputFluidContainer } from './styled.js';\nimport { DateInputsPropTypes } from './propsTypes.js';\n\nconst FORMAT = 'MMDDYYYY';\n\nexport const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown, time, tabIndex, innerRef }) => {\n useDeprecateComponent({ componentName: 'ds-form/DateInputV2', version: '3.x Date: 2023 Q1' });\n\n const [month, setMonth] = useState('');\n const [day, setDay] = useState('');\n const [year, setYear] = useState('');\n const [onChangeDateTrigger, setOnChangeDateTrigger] = useState({});\n const dayRef = React.useRef<HTMLInputElement>();\n const [haveInputsOnChangeTriggered, setHaveInputsOnChangeTriggered] = useState(false);\n\n let digits = 2;\n let placeholder = '';\n\n const handleFluidClick = React.useCallback(\n (e: React.MouseEvent<Element, MouseEvent>) => {\n if (!(e.target as HTMLInputElement).type && dayRef.current) {\n dayRef.current.focus();\n }\n },\n [dayRef.current],\n );\n\n const triggerOnDateChange = React.useCallback(() => {\n if (month && day && year && haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, 'MMDDYYYY', true);\n if (momentValue.isValid()) {\n onDateChange(momentValue);\n }\n setHaveInputsOnChangeTriggered(false);\n }\n }, [day, month, year, haveInputsOnChangeTriggered]);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onMonthChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedMonth(e.target.value);\n const shouldAdvance = getShouldShortcircuitMonth(e.target.value);\n setMonth(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onDayChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedDay(e.target.value);\n const shouldAdvance = getShouldShortcircuitDay(e.target.value);\n setDay(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n const onYearChange = React.useCallback((e) => {\n const value = getFormattedYear(e.target.value);\n setYear(value);\n setHaveInputsOnChangeTriggered(true);\n setOnChangeDateTrigger({});\n }, []);\n\n useEffect(() => {\n // When component mounts haveInputsOnChangeTriggered is set to false\n // so this is not triggered on mount but is triggered with all other changes\n if (haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, FORMAT, true);\n onChange(`${month}${day}${year}`, momentValue.isValid() ? momentValue : null);\n }\n }, [day, month, year]);\n\n useEffect(() => {\n triggerOnDateChange();\n }, [onChangeDateTrigger]);\n\n useEffect(() => {\n if (time && time !== `${month}${day}${year}` && moment(time, 'MMDDYYYY').isValid()) {\n const values = String(time || '');\n if (values.slice(0, 2)) setMonth(values.slice(0, 2));\n if (values.slice(2, 4)) setDay(values.slice(2, 4));\n if (values.slice(4, 8)) setYear(values.slice(4, 8));\n } else if (!time && (month || day || year)) {\n setMonth('');\n setDay('');\n setYear('');\n }\n }, [time]);\n\n const onKeyDown = (event) =>\n onKeyDownHelper(event, {\n onDayChange,\n onMonthChange,\n onYearChange,\n });\n\n const renderMonthInput = () => {\n placeholder = 'MM';\n const onMonthInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"month-input\"\n data-testid=\"month\"\n disabled={disabled}\n name=\"month\"\n onBlur={onMonthInputBlur}\n onChange={onMonthChange}\n value={month}\n tabIndex={tabIndex}\n innerRef={dayRef}\n />\n );\n };\n const renderDayInput = () => {\n placeholder = 'DD';\n const onDayInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"day-input\"\n data-testid=\"day\"\n disabled={disabled}\n name=\"day\"\n onBlur={onDayInputBlur}\n onChange={onDayChange}\n value={day}\n tabIndex={tabIndex}\n />\n );\n };\n const renderYearInput = () => {\n placeholder = 'YY';\n digits = 4;\n const onYearInputBlur = (e) => {\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"year-input\"\n data-testid=\"year\"\n disabled={disabled}\n name=\"year\"\n onBlur={onYearInputBlur}\n onChange={onYearChange}\n value={year}\n size=\"l\"\n tabIndex={tabIndex}\n />\n );\n };\n\n const renderDateInputs = () => {\n const inputs = [renderMonthInput(), renderDayInput(), renderYearInput()];\n const inputsWithDividers = inputs.reduce(\n (acc, input, index) => (input ? acc.concat([index ? <DateInputDivider>/</DateInputDivider> : null, input]) : acc),\n [],\n );\n\n return [\n inputsWithDividers,\n React.createElement('span', { key: 'span' }), // hack for next/prev focus\n ];\n };\n\n return (\n <DateInputFluidContainer onClick={handleFluidClick} data-testid=\"date-input-fluidContainer\">\n <DateInputWrapper\n disabled={disabled}\n innerRef={innerRef}\n onKeyDown={onCustomKeyDown}\n tabIndex={-1}\n cols={['auto', '6px', 'auto', '6px', 'auto']}\n >\n {renderDateInputs()}\n </DateInputWrapper>\n </DateInputFluidContainer>\n );\n};\n\nDateInputs.propTypes = DateInputsPropTypes;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_react", "React", "moment"]
|
|
7
7
|
}
|
|
@@ -121,7 +121,7 @@ const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown,
|
|
|
121
121
|
onChange: onMonthChange,
|
|
122
122
|
value: month,
|
|
123
123
|
tabIndex,
|
|
124
|
-
|
|
124
|
+
innerRef: dayRef
|
|
125
125
|
}
|
|
126
126
|
);
|
|
127
127
|
};
|
|
@@ -186,7 +186,7 @@ const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown,
|
|
|
186
186
|
DateInputWrapper,
|
|
187
187
|
{
|
|
188
188
|
disabled,
|
|
189
|
-
|
|
189
|
+
innerRef,
|
|
190
190
|
onKeyDown: onCustomKeyDown,
|
|
191
191
|
tabIndex: -1,
|
|
192
192
|
cols: ["auto", "6px", "auto", "6px", "auto"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/DateInputV2/components/DateInputs.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\n\nimport {\n commonInputProps,\n triggerOnBlur,\n focusNextInput,\n getFormattedDay,\n getShouldShortcircuitDay,\n getFormattedMonth,\n getShouldShortcircuitMonth,\n getFormattedYear,\n} from './utils.js';\nimport { onKeyDownHelper } from './helpers.js';\nimport { DateInputDivider, DateInputWrapper, DateInputInput, DateInputFluidContainer } from './styled.js';\nimport { DateInputsPropTypes } from './propsTypes.js';\n\nconst FORMAT = 'MMDDYYYY';\n\nexport const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown, time, tabIndex, innerRef }) => {\n useDeprecateComponent({ componentName: 'ds-form/DateInputV2', version: '3.x Date: 2023 Q1' });\n\n const [month, setMonth] = useState('');\n const [day, setDay] = useState('');\n const [year, setYear] = useState('');\n const [onChangeDateTrigger, setOnChangeDateTrigger] = useState({});\n const dayRef = React.useRef<HTMLInputElement>();\n const [haveInputsOnChangeTriggered, setHaveInputsOnChangeTriggered] = useState(false);\n\n let digits = 2;\n let placeholder = '';\n\n const handleFluidClick = React.useCallback(\n (e: React.MouseEvent<Element, MouseEvent>) => {\n if (!(e.target as HTMLInputElement).type && dayRef.current) {\n dayRef.current.focus();\n }\n },\n [dayRef.current],\n );\n\n const triggerOnDateChange = React.useCallback(() => {\n if (month && day && year && haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, 'MMDDYYYY', true);\n if (momentValue.isValid()) {\n onDateChange(momentValue);\n }\n setHaveInputsOnChangeTriggered(false);\n }\n }, [day, month, year, haveInputsOnChangeTriggered]);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onMonthChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedMonth(e.target.value);\n const shouldAdvance = getShouldShortcircuitMonth(e.target.value);\n setMonth(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onDayChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedDay(e.target.value);\n const shouldAdvance = getShouldShortcircuitDay(e.target.value);\n setDay(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n const onYearChange = React.useCallback((e) => {\n const value = getFormattedYear(e.target.value);\n setYear(value);\n setHaveInputsOnChangeTriggered(true);\n setOnChangeDateTrigger({});\n }, []);\n\n useEffect(() => {\n // When component mounts haveInputsOnChangeTriggered is set to false\n // so this is not triggered on mount but is triggered with all other changes\n if (haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, FORMAT, true);\n onChange(`${month}${day}${year}`, momentValue.isValid() ? momentValue : null);\n }\n }, [day, month, year]);\n\n useEffect(() => {\n triggerOnDateChange();\n }, [onChangeDateTrigger]);\n\n useEffect(() => {\n if (time && time !== `${month}${day}${year}` && moment(time, 'MMDDYYYY').isValid()) {\n const values = String(time || '');\n if (values.slice(0, 2)) setMonth(values.slice(0, 2));\n if (values.slice(2, 4)) setDay(values.slice(2, 4));\n if (values.slice(4, 8)) setYear(values.slice(4, 8));\n } else if (!time && (month || day || year)) {\n setMonth('');\n setDay('');\n setYear('');\n }\n }, [time]);\n\n const onKeyDown = (event) =>\n onKeyDownHelper(event, {\n onDayChange,\n onMonthChange,\n onYearChange,\n });\n\n const renderMonthInput = () => {\n placeholder = 'MM';\n const onMonthInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"month-input\"\n data-testid=\"month\"\n disabled={disabled}\n name=\"month\"\n onBlur={onMonthInputBlur}\n onChange={onMonthChange}\n value={month}\n tabIndex={tabIndex}\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\n\nimport {\n commonInputProps,\n triggerOnBlur,\n focusNextInput,\n getFormattedDay,\n getShouldShortcircuitDay,\n getFormattedMonth,\n getShouldShortcircuitMonth,\n getFormattedYear,\n} from './utils.js';\nimport { onKeyDownHelper } from './helpers.js';\nimport { DateInputDivider, DateInputWrapper, DateInputInput, DateInputFluidContainer } from './styled.js';\nimport { DateInputsPropTypes } from './propsTypes.js';\n\nconst FORMAT = 'MMDDYYYY';\n\nexport const DateInputs = ({ onBlur, onChange, onDateChange, disabled, onCustomKeyDown, time, tabIndex, innerRef }) => {\n useDeprecateComponent({ componentName: 'ds-form/DateInputV2', version: '3.x Date: 2023 Q1' });\n\n const [month, setMonth] = useState('');\n const [day, setDay] = useState('');\n const [year, setYear] = useState('');\n const [onChangeDateTrigger, setOnChangeDateTrigger] = useState({});\n const dayRef = React.useRef<HTMLInputElement>();\n const [haveInputsOnChangeTriggered, setHaveInputsOnChangeTriggered] = useState(false);\n\n let digits = 2;\n let placeholder = '';\n\n const handleFluidClick = React.useCallback(\n (e: React.MouseEvent<Element, MouseEvent>) => {\n if (!(e.target as HTMLInputElement).type && dayRef.current) {\n dayRef.current.focus();\n }\n },\n [dayRef.current],\n );\n\n const triggerOnDateChange = React.useCallback(() => {\n if (month && day && year && haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, 'MMDDYYYY', true);\n if (momentValue.isValid()) {\n onDateChange(momentValue);\n }\n setHaveInputsOnChangeTriggered(false);\n }\n }, [day, month, year, haveInputsOnChangeTriggered]);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onMonthChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedMonth(e.target.value);\n const shouldAdvance = getShouldShortcircuitMonth(e.target.value);\n setMonth(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n // isArrowChange is coming from the onKeyDown handler in helpers\n const onDayChange = React.useCallback((e, isArrowChange) => {\n const value = getFormattedDay(e.target.value);\n const shouldAdvance = getShouldShortcircuitDay(e.target.value);\n setDay(value);\n setHaveInputsOnChangeTriggered(true);\n if (e.target.value.length > 1 || shouldAdvance) {\n if (!isArrowChange) focusNextInput(e.target);\n setOnChangeDateTrigger({});\n }\n }, []);\n\n const onYearChange = React.useCallback((e) => {\n const value = getFormattedYear(e.target.value);\n setYear(value);\n setHaveInputsOnChangeTriggered(true);\n setOnChangeDateTrigger({});\n }, []);\n\n useEffect(() => {\n // When component mounts haveInputsOnChangeTriggered is set to false\n // so this is not triggered on mount but is triggered with all other changes\n if (haveInputsOnChangeTriggered) {\n const momentValue = moment(`${month}${day}${year}`, FORMAT, true);\n onChange(`${month}${day}${year}`, momentValue.isValid() ? momentValue : null);\n }\n }, [day, month, year]);\n\n useEffect(() => {\n triggerOnDateChange();\n }, [onChangeDateTrigger]);\n\n useEffect(() => {\n if (time && time !== `${month}${day}${year}` && moment(time, 'MMDDYYYY').isValid()) {\n const values = String(time || '');\n if (values.slice(0, 2)) setMonth(values.slice(0, 2));\n if (values.slice(2, 4)) setDay(values.slice(2, 4));\n if (values.slice(4, 8)) setYear(values.slice(4, 8));\n } else if (!time && (month || day || year)) {\n setMonth('');\n setDay('');\n setYear('');\n }\n }, [time]);\n\n const onKeyDown = (event) =>\n onKeyDownHelper(event, {\n onDayChange,\n onMonthChange,\n onYearChange,\n });\n\n const renderMonthInput = () => {\n placeholder = 'MM';\n const onMonthInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"month-input\"\n data-testid=\"month\"\n disabled={disabled}\n name=\"month\"\n onBlur={onMonthInputBlur}\n onChange={onMonthChange}\n value={month}\n tabIndex={tabIndex}\n innerRef={dayRef}\n />\n );\n };\n const renderDayInput = () => {\n placeholder = 'DD';\n const onDayInputBlur = (e) => {\n setOnChangeDateTrigger({});\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"day-input\"\n data-testid=\"day\"\n disabled={disabled}\n name=\"day\"\n onBlur={onDayInputBlur}\n onChange={onDayChange}\n value={day}\n tabIndex={tabIndex}\n />\n );\n };\n const renderYearInput = () => {\n placeholder = 'YY';\n digits = 4;\n const onYearInputBlur = (e) => {\n triggerOnBlur(e, onBlur);\n };\n return (\n <DateInputInput\n {...commonInputProps(digits, onKeyDown, placeholder)}\n autoComplete=\"off\"\n key=\"year-input\"\n data-testid=\"year\"\n disabled={disabled}\n name=\"year\"\n onBlur={onYearInputBlur}\n onChange={onYearChange}\n value={year}\n size=\"l\"\n tabIndex={tabIndex}\n />\n );\n };\n\n const renderDateInputs = () => {\n const inputs = [renderMonthInput(), renderDayInput(), renderYearInput()];\n const inputsWithDividers = inputs.reduce(\n (acc, input, index) => (input ? acc.concat([index ? <DateInputDivider>/</DateInputDivider> : null, input]) : acc),\n [],\n );\n\n return [\n inputsWithDividers,\n React.createElement('span', { key: 'span' }), // hack for next/prev focus\n ];\n };\n\n return (\n <DateInputFluidContainer onClick={handleFluidClick} data-testid=\"date-input-fluidContainer\">\n <DateInputWrapper\n disabled={disabled}\n innerRef={innerRef}\n onKeyDown={onCustomKeyDown}\n tabIndex={-1}\n cols={['auto', '6px', 'auto', '6px', 'auto']}\n >\n {renderDateInputs()}\n </DateInputWrapper>\n </DateInputFluidContainer>\n );\n};\n\nDateInputs.propTypes = DateInputsPropTypes;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const DateInputFluidContainer: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
3
|
-
export declare const DateInputWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
4
|
-
export declare const DateInputInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
5
|
-
export declare const DateInputDivider: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
2
|
+
export declare const DateInputFluidContainer: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
|
|
3
|
+
export declare const DateInputWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
|
|
4
|
+
export declare const DateInputInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"input">, never>;
|
|
5
|
+
export declare const DateInputDivider: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const Suffix: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
2
|
-
export declare const SuffixInputWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
3
|
-
export declare const SuffixWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface
|
|
1
|
+
export declare const Suffix: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
2
|
+
export declare const SuffixInputWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
3
|
+
export declare const SuffixWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
|
|
4
4
|
export default Suffix;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-form",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.25.0-next.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Form",
|
|
6
6
|
"files": [
|
|
@@ -481,24 +481,24 @@
|
|
|
481
481
|
"react-select": "~4.3.1",
|
|
482
482
|
"resize-observer": "~1.0.4",
|
|
483
483
|
"text-mask-core": "5.1.2",
|
|
484
|
-
"@elliemae/ds-button": "3.
|
|
485
|
-
"@elliemae/ds-classnames": "3.
|
|
486
|
-
"@elliemae/ds-
|
|
487
|
-
"@elliemae/ds-
|
|
488
|
-
"@elliemae/ds-props-helpers": "3.
|
|
489
|
-
"@elliemae/ds-shared": "3.
|
|
490
|
-
"@elliemae/ds-
|
|
491
|
-
"@elliemae/ds-
|
|
492
|
-
"@elliemae/ds-
|
|
493
|
-
"@elliemae/ds-
|
|
494
|
-
"@elliemae/ds-truncated-tooltip-text": "3.
|
|
495
|
-
"@elliemae/ds-utilities": "3.
|
|
484
|
+
"@elliemae/ds-button": "3.25.0-next.2",
|
|
485
|
+
"@elliemae/ds-classnames": "3.25.0-next.2",
|
|
486
|
+
"@elliemae/ds-common": "3.25.0-next.2",
|
|
487
|
+
"@elliemae/ds-grid": "3.25.0-next.2",
|
|
488
|
+
"@elliemae/ds-props-helpers": "3.25.0-next.2",
|
|
489
|
+
"@elliemae/ds-shared": "3.25.0-next.2",
|
|
490
|
+
"@elliemae/ds-system": "3.25.0-next.2",
|
|
491
|
+
"@elliemae/ds-icons": "3.25.0-next.2",
|
|
492
|
+
"@elliemae/ds-tooltip": "3.25.0-next.2",
|
|
493
|
+
"@elliemae/ds-text-wrapper": "3.25.0-next.2",
|
|
494
|
+
"@elliemae/ds-truncated-tooltip-text": "3.25.0-next.2",
|
|
495
|
+
"@elliemae/ds-utilities": "3.25.0-next.2"
|
|
496
496
|
},
|
|
497
497
|
"devDependencies": {
|
|
498
498
|
"@elliemae/pui-cli": "~9.0.0-next.31",
|
|
499
499
|
"styled-components": "~5.3.9",
|
|
500
500
|
"styled-system": "~5.1.5",
|
|
501
|
-
"@elliemae/ds-monorepo-devops": "3.
|
|
501
|
+
"@elliemae/ds-monorepo-devops": "3.25.0-next.2"
|
|
502
502
|
},
|
|
503
503
|
"peerDependencies": {
|
|
504
504
|
"lodash": "^4.17.21",
|