@elliemae/ds-form 3.1.5-rc.9 → 3.2.0-rc.3

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.
Files changed (63) hide show
  1. package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
  2. package/dist/cjs/FormItem/DSFormItemLayout.js.map +1 -1
  3. package/dist/cjs/FormItem/ValidationFieldWrapper.js.map +1 -1
  4. package/dist/cjs/FormItem/props.js +3 -1
  5. package/dist/cjs/FormItem/props.js.map +2 -2
  6. package/dist/cjs/InputGroup/AddonWrapper.js.map +1 -1
  7. package/dist/cjs/InputMask/mask_types/DateInputMask.js +0 -36
  8. package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +2 -2
  9. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +0 -36
  10. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  11. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +0 -39
  12. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  13. package/dist/cjs/InputMask/mask_types/NumberInputMask.js +0 -48
  14. package/dist/cjs/InputMask/mask_types/NumberInputMask.js.map +2 -2
  15. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +0 -36
  16. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  17. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +0 -36
  18. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  19. package/dist/cjs/InputMask/mask_types/SsnInputMask.js +0 -36
  20. package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +2 -2
  21. package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js +0 -36
  22. package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
  23. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +0 -36
  24. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  25. package/dist/cjs/InputMask/props.js +2 -1
  26. package/dist/cjs/InputMask/props.js.map +2 -2
  27. package/dist/cjs/InputProtected/props.js +4 -2
  28. package/dist/cjs/InputProtected/props.js.map +2 -2
  29. package/dist/cjs/Radio/DSRadio.js +6 -4
  30. package/dist/cjs/Radio/DSRadio.js.map +2 -2
  31. package/dist/cjs/Toggle/DSToggleImpl.js.map +1 -1
  32. package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
  33. package/dist/esm/FormItem/DSFormItemLayout.js.map +1 -1
  34. package/dist/esm/FormItem/ValidationFieldWrapper.js.map +1 -1
  35. package/dist/esm/FormItem/props.js +3 -1
  36. package/dist/esm/FormItem/props.js.map +2 -2
  37. package/dist/esm/InputGroup/AddonWrapper.js.map +1 -1
  38. package/dist/esm/InputMask/mask_types/DateInputMask.js +0 -36
  39. package/dist/esm/InputMask/mask_types/DateInputMask.js.map +2 -2
  40. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +0 -36
  41. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  42. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +0 -39
  43. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  44. package/dist/esm/InputMask/mask_types/NumberInputMask.js +0 -48
  45. package/dist/esm/InputMask/mask_types/NumberInputMask.js.map +2 -2
  46. package/dist/esm/InputMask/mask_types/PhoneInputMask.js +0 -36
  47. package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  48. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +0 -36
  49. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  50. package/dist/esm/InputMask/mask_types/SsnInputMask.js +0 -36
  51. package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +2 -2
  52. package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js +0 -36
  53. package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
  54. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +0 -36
  55. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  56. package/dist/esm/InputMask/props.js +2 -1
  57. package/dist/esm/InputMask/props.js.map +2 -2
  58. package/dist/esm/InputProtected/props.js +4 -2
  59. package/dist/esm/InputProtected/props.js.map +2 -2
  60. package/dist/esm/Radio/DSRadio.js +6 -4
  61. package/dist/esm/Radio/DSRadio.js.map +2 -2
  62. package/dist/esm/Toggle/DSToggleImpl.js.map +1 -1
  63. package/package.json +19 -20
@@ -74,7 +74,8 @@ const DSRadio = (_a) => {
74
74
  name,
75
75
  onChange,
76
76
  children,
77
- tabIndex
77
+ tabIndex,
78
+ innerRef
78
79
  } = _b, otherProps = __objRest(_b, [
79
80
  "containerProps",
80
81
  "className",
@@ -89,7 +90,8 @@ const DSRadio = (_a) => {
89
90
  "name",
90
91
  "onChange",
91
92
  "children",
92
- "tabIndex"
93
+ "tabIndex",
94
+ "innerRef"
93
95
  ]);
94
96
  const { cssClassName, classNameElement } = (0, import_ds_classnames.convertPropToCssClassName)("form-element-radio", className, {
95
97
  hasError,
@@ -119,7 +121,7 @@ const DSRadio = (_a) => {
119
121
  type: "radio",
120
122
  value
121
123
  })), /* @__PURE__ */ import_react.default.createElement("span", {
122
- ref: otherProps.innerRef,
124
+ ref: innerRef,
123
125
  "aria-checked": checked,
124
126
  "aria-disabled": disabled,
125
127
  className: classNameElement("input-button"),
@@ -170,7 +172,7 @@ const radioProps = {
170
172
  onChange: import_ds_utilities.PropTypes.func.description("Allows a function that is triggered once the radio changes"),
171
173
  children: import_ds_utilities.PropTypes.node.description("Optional, if you want a checkbox customized"),
172
174
  tabIndex: import_ds_utilities.PropTypes.number.description("HTML tabindex to manage focus"),
173
- style: import_ds_utilities.PropTypes.number.description("style override object")
175
+ style: import_ds_utilities.PropTypes.object.description("style override object")
174
176
  };
175
177
  DSRadio.propTypes = radioProps;
176
178
  DSRadio.displayName = "DSRadio";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/Radio/DSRadio.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable react/no-unknown-property */\nimport React, { useRef } from 'react';\nimport * as CSS from 'csstype';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { Circle } from './Circle';\n\ninterface DSRadioT {\n [x: string]: unknown;\n innerRef?: React.MutableRefObject<HTMLInputElement>;\n containerProps?: { [x: string]: unknown };\n className?: string;\n style?: CSS.Properties;\n labelText?: string;\n htmlFor?: string;\n hasError?: boolean;\n readOnly?: boolean;\n disabled?: boolean;\n checked?: boolean;\n value?: string;\n name?: string;\n onKeyDown?: React.KeyboardEventHandler<HTMLSpanElement>;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n}\n\nconst DSRadio = ({\n containerProps,\n className,\n style,\n labelText,\n htmlFor,\n hasError,\n readOnly,\n disabled,\n checked,\n value,\n name,\n onChange,\n children,\n tabIndex,\n ...otherProps\n}: DSRadioT) => {\n // this will be solved when we move to styled components...\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { cssClassName, classNameElement } = convertPropToCssClassName('form-element-radio', className, {\n hasError,\n readOnly,\n disabled,\n });\n const checkRef = useRef<HTMLInputElement | null>(null);\n return (\n <div {...containerProps} className={cssClassName}>\n <label className={classNameElement('label')} htmlFor={htmlFor}>\n <input\n {...otherProps}\n ref={checkRef}\n aria-disabled={disabled}\n checked={disabled ? false : checked}\n className={classNameElement('input')}\n disabled={disabled}\n name={name}\n onChange={(e) => {\n if (!readOnly && !disabled) {\n onChange(e);\n }\n }}\n readOnly={readOnly}\n tabIndex={-1}\n type=\"radio\"\n value={value}\n />\n <span\n ref={otherProps.innerRef}\n aria-checked={checked}\n aria-disabled={disabled}\n className={classNameElement('input-button')}\n onKeyDown={(e) => {\n // really really bad pattern...\n // overwriting the target to point to the hidden input because the focus is on the span and not on the input...\n // we will solve this with a v2 of this when we move to controlled + styled components...\n e.target = checkRef.current;\n if (disabled) return;\n if (e.key === 'Enter' || e.keyCode === 32) {\n onChange(e);\n } else if (otherProps.onKeyDown) {\n otherProps.onKeyDown(e);\n }\n }}\n role=\"radio\"\n style={style}\n tabIndex={disabled ? -1 : tabIndex}\n // value={value} // should be unused?\n >\n <Circle checked={checked} />\n </span>\n <span className={classNameElement('label-text')}>{labelText}</span>\n </label>\n {children && <div className={classNameElement('radio-children')}>{children}</div>}\n </div>\n );\n};\n\nDSRadio.defaultProps = {\n containerProps: {},\n className: '',\n hasError: false,\n readOnly: false,\n disabled: false,\n checked: false,\n name: '',\n onChange: () => null,\n children: null,\n tabIndex: 0,\n};\n\nconst radioProps = {\n /** Injected props to wrapper element of component */\n containerProps: PropTypes.object.description('Injected props to wrapper element of component'),\n /** css class prop */\n className: PropTypes.string.description('css class prop'),\n /** name property to manage form */\n name: PropTypes.string.description('name property to manage form'),\n /**\n * Displayable label for the radio\n */\n labelText: PropTypes.string.description('Displayable label for the radio'),\n /** HTMLFOR property to manage form */\n htmlFor: PropTypes.element.description('HTMLFOR property to manage form'),\n /**\n * Whether the radio has error or not\n */\n hasError: PropTypes.bool.description('Whether the radio has error or not'),\n /**\n * Whether the radio is read only or not\n */\n readOnly: PropTypes.bool.description('Whether the radio is read only or not'),\n /**\n * Whether the radio is disabled or not\n */\n disabled: PropTypes.bool.description('Whether the radio is disabled or not'),\n /**\n * Whether the radio is checked or not\n */\n checked: PropTypes.bool.description('Whether the radio is checked or not'),\n /**\n * Value that takes the checkbox if it is checked\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description(\n 'Value that takes the checkbox if it is checked',\n ).isRequired,\n /**\n * Allows a function that is triggered once the radio changes\n */\n onChange: PropTypes.func.description('Allows a function that is triggered once the radio changes'),\n /**\n * Optional, if you want a checkbox customized\n */\n children: PropTypes.node.description('Optional, if you want a checkbox customized'),\n /** HTML tabindex to manage focus */\n tabIndex: PropTypes.number.description('HTML tabindex to manage focus'),\n /** style override object */\n style: PropTypes.number.description('style override object'),\n};\n\nDSRadio.propTypes = radioProps;\nDSRadio.displayName = 'DSRadio';\nconst DSRadioWithSchema = describe(DSRadio);\nDSRadioWithSchema.propTypes = radioProps;\n\nexport { DSRadio, DSRadioWithSchema };\n\nexport default DSRadio;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable react/no-unknown-property */\nimport React, { useRef } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { Circle } from './Circle';\n\ninterface DSRadioT {\n [x: string]: unknown;\n innerRef?: React.MutableRefObject<HTMLInputElement>;\n containerProps?: { [x: string]: unknown };\n className?: string;\n style?: React.CSSProperties;\n labelText?: string;\n htmlFor?: string;\n hasError?: boolean;\n readOnly?: boolean;\n disabled?: boolean;\n checked?: boolean;\n value?: string;\n name?: string;\n onKeyDown?: React.KeyboardEventHandler<HTMLSpanElement>;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n}\n\nconst DSRadio = ({\n containerProps,\n className,\n style,\n labelText,\n htmlFor,\n hasError,\n readOnly,\n disabled,\n checked,\n value,\n name,\n onChange,\n children,\n tabIndex,\n innerRef,\n ...otherProps\n}: DSRadioT) => {\n // this will be solved when we move to styled components...\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { cssClassName, classNameElement } = convertPropToCssClassName('form-element-radio', className, {\n hasError,\n readOnly,\n disabled,\n });\n const checkRef = useRef<HTMLInputElement | null>(null);\n return (\n <div {...containerProps} className={cssClassName}>\n <label className={classNameElement('label')} htmlFor={htmlFor}>\n <input\n {...otherProps}\n ref={checkRef}\n aria-disabled={disabled}\n checked={disabled ? false : checked}\n className={classNameElement('input')}\n disabled={disabled}\n name={name}\n onChange={(e) => {\n if (!readOnly && !disabled) {\n onChange(e);\n }\n }}\n readOnly={readOnly}\n tabIndex={-1}\n type=\"radio\"\n value={value}\n />\n <span\n ref={innerRef}\n aria-checked={checked}\n aria-disabled={disabled}\n className={classNameElement('input-button')}\n onKeyDown={(e) => {\n // really really bad pattern...\n // overwriting the target to point to the hidden input because the focus is on the span and not on the input...\n // we will solve this with a v2 of this when we move to controlled + styled components...\n e.target = checkRef.current;\n if (disabled) return;\n if (e.key === 'Enter' || e.keyCode === 32) {\n onChange(e);\n } else if (otherProps.onKeyDown) {\n otherProps.onKeyDown(e);\n }\n }}\n role=\"radio\"\n style={style}\n tabIndex={disabled ? -1 : tabIndex}\n // value={value} // should be unused?\n >\n <Circle checked={checked} />\n </span>\n <span className={classNameElement('label-text')}>{labelText}</span>\n </label>\n {children && <div className={classNameElement('radio-children')}>{children}</div>}\n </div>\n );\n};\n\nDSRadio.defaultProps = {\n containerProps: {},\n className: '',\n hasError: false,\n readOnly: false,\n disabled: false,\n checked: false,\n name: '',\n onChange: () => null,\n children: null,\n tabIndex: 0,\n};\n\nconst radioProps = {\n /** Injected props to wrapper element of component */\n containerProps: PropTypes.object.description('Injected props to wrapper element of component'),\n /** css class prop */\n className: PropTypes.string.description('css class prop'),\n /** name property to manage form */\n name: PropTypes.string.description('name property to manage form'),\n /**\n * Displayable label for the radio\n */\n labelText: PropTypes.string.description('Displayable label for the radio'),\n /** HTMLFOR property to manage form */\n htmlFor: PropTypes.element.description('HTMLFOR property to manage form'),\n /**\n * Whether the radio has error or not\n */\n hasError: PropTypes.bool.description('Whether the radio has error or not'),\n /**\n * Whether the radio is read only or not\n */\n readOnly: PropTypes.bool.description('Whether the radio is read only or not'),\n /**\n * Whether the radio is disabled or not\n */\n disabled: PropTypes.bool.description('Whether the radio is disabled or not'),\n /**\n * Whether the radio is checked or not\n */\n checked: PropTypes.bool.description('Whether the radio is checked or not'),\n /**\n * Value that takes the checkbox if it is checked\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description(\n 'Value that takes the checkbox if it is checked',\n ).isRequired,\n /**\n * Allows a function that is triggered once the radio changes\n */\n onChange: PropTypes.func.description('Allows a function that is triggered once the radio changes'),\n /**\n * Optional, if you want a checkbox customized\n */\n children: PropTypes.node.description('Optional, if you want a checkbox customized'),\n /** HTML tabindex to manage focus */\n tabIndex: PropTypes.number.description('HTML tabindex to manage focus'),\n /** style override object */\n style: PropTypes.object.description('style override object'),\n};\n\nDSRadio.propTypes = radioProps;\nDSRadio.displayName = 'DSRadio';\nconst DSRadioWithSchema = describe(DSRadio);\nDSRadioWithSchema.propTypes = radioProps;\n\nexport { DSRadio, DSRadioWithSchema };\n\nexport default DSRadio;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/Toggle/DSToggleImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { isValidDrag, cleanDrag, calculateDrag, dragStartingPoints } from './toggleHelper';\nimport { DSToggleRender } from './DSToggleRender';\nimport { togglePropTypes } from './props';\n\nclass DSToggleImpl extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: props.checked || false,\n inside: false,\n isDragging: false,\n // prevent draw of toggle before drag handle positioning calculations\n hide: true,\n drag: null,\n startPoint: null,\n circleWidth: null,\n boxWidth: null,\n };\n this.circle = React.createRef();\n this.box = React.createRef();\n\n this.setDragOnChange = this.setDragOnChange.bind(this);\n this.verifyElements = this.verifyElements.bind(this);\n }\n\n componentDidMount() {\n this.verifyElements();\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (\n this.state.hide &&\n this.state.circleWidth &&\n this.state.boxWidth &&\n prevState.hide &&\n this.state.drag !== null\n ) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ hide: false });\n }\n if (snapshot) {\n this.verifyElements();\n }\n }\n\n /**\n * ******************************************************\n * Drag\n * ****************************************************** *\n *\n * @param clientX\n */\n onDragStart = (clientX) => {\n const { startPoint, checked, isDragging, boxWidth, circleWidth } = this.state;\n // const { checked: checkedProp, } = this.props\n const drag = calculateDrag(clientX, {\n startPoint,\n checked,\n isDragging,\n boxWidth,\n circleWidth,\n });\n if (drag) this.setState({ drag });\n // else this.setDragOnChange(checkedProp != null ? checkedProp : checked) // set initial position\n else this.setDragOnChange(checked); // set initial position\n };\n\n onDragStop = (e) => {\n const { checked } = this.state;\n // const { checked: checkedProp, } = this.props\n if (isValidDrag(this.state)) {\n this.onChange(e);\n this.setState(cleanDrag);\n // } else this.setDragOnChange(checkedProp != null ? checkedProp : checked) // set initial position\n } else this.setDragOnChange(checked); // set initial position\n };\n\n /**\n * ******************************************************\n * StandardEvents\n * ****************************************************** *\n *\n * @param e\n */\n onBlur = (e) => {\n const { onBlur, id } = this.props;\n if (onBlur) onBlur(e, id);\n };\n\n onFocus = (e) => {\n const { onFocus, id } = this.props;\n if (onFocus) onFocus(e, id);\n };\n\n onChange = (e) => {\n const { checked } = this.state;\n const {\n onChange,\n id,\n value,\n // checked: checkedProp,\n } = this.props;\n const newCheck = !checked;\n // this.setState({\n // checked: checkedProp != null ? checkedProp : newCheck,\n // })\n this.setState({\n checked: newCheck,\n });\n e.target.value = value;\n e.target.checked = newCheck;\n e.checked = newCheck;\n onChange(e, id);\n // this.setDragOnChange(checkedProp != null ? checkedProp : newCheck) // set new position\n this.setDragOnChange(newCheck); // set new position\n };\n\n /** ******************************************************\n MouseEvents\n ******************************************************* * */\n onMouseEnter = () => {\n this.setState({ inside: true });\n };\n\n onMouseLeave = () => {\n this.setState({ inside: false });\n };\n\n onMouseMove = (event) => {\n event.preventDefault();\n this.onDragStart(event.clientX);\n };\n\n onMouseDown = (event) => {\n this.onDragStart(event.clientX);\n this.setState({ startPoint: event.clientX, isDragging: true });\n window.addEventListener('mousemove', this.onMouseMove);\n window.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseUp = (event) => {\n this.onDragStop(event);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseup', this.onMouseUp);\n };\n\n /** ******************************************************\n Touch\n ******************************************************* * */\n onTouchCancel = () => {\n this.setState({ inside: false });\n };\n\n onTouchEnd = (event) => {\n event.preventDefault();\n this.onDragStop(event);\n };\n\n onTouchMove = (event) => {\n this.onDragStart(event.touches[0].clientX);\n };\n\n onTouchStart = (event) => {\n this.onDragStart(event.touches[0].clientX);\n this.setState({ startPoint: event.touches[0].clientX, isDragging: true });\n };\n\n static getDerivedStateFromProps(props, state) {\n if (props.checked === true || props.checked === false) {\n return {\n checked: props.checked,\n ...dragStartingPoints(props.checked)(state),\n };\n }\n return null;\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n const { size } = this.props;\n if (prevProps.size !== size) {\n return true;\n }\n return false;\n }\n\n /**\n * ******************************************************\n * other\n * ****************************************************** *\n *\n * @param currentCheckState\n */\n setDragOnChange(currentCheckState) {\n this.setState(dragStartingPoints(currentCheckState));\n }\n\n verifyElements() {\n const { checked } = this.state;\n const { checked: checkedProp } = this.props;\n const nodesInterval = setInterval(() => {\n // !important it checks when nodes are availables\n if (!this.circle || !this.box || !this.circle.current || !this.box.current) return;\n const {\n current: { clientWidth: circleWidth },\n } = this.circle;\n const {\n current: { clientWidth: boxWidth },\n } = this.box;\n if (!circleWidth || !boxWidth || circleWidth === boxWidth) return;\n this.setState({\n boxWidth,\n circleWidth,\n });\n this.setDragOnChange(checkedProp != null ? checkedProp : checked);\n // this.setDragOnChange(checked)\n clearInterval(nodesInterval);\n }, 5);\n }\n\n render() {\n const { checked, drag, inside, hide } = this.state;\n const dragStyle = drag !== null || checked || this.props.checked ? { left: `${drag}px` } : null;\n return (\n <DSToggleRender\n {...this.props}\n defaultState={this.props.checked}\n checked={checked}\n containerRef={this.box}\n hide={hide}\n dragStyle={dragStyle}\n handRef={this.circle}\n inside={inside}\n onBlur={this.onBlur}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onMouseDown={this.onMouseDown}\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n onTouchCancel={this.onTouchCancel}\n onTouchEnd={this.onTouchEnd}\n onTouchMove={this.onTouchMove}\n onTouchStart={this.onTouchStart}\n />\n );\n }\n}\n\nDSToggleImpl.propTypes = togglePropTypes;\n\nexport { DSToggleImpl };\nexport default DSToggleImpl;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FloatingLabelInput/FloatingLabelInputImpl.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getComponentFromProps } from '@elliemae/ds-utilities';\nimport { DSTextWrapper } from '@elliemae/ds-text-wrapper';\nimport { ResizeObserver } from 'resize-observer';\nimport { getSvgPath } from './getSvgPath';\nimport { RequiredMark } from '../RequiredMark/RequiredMark';\n\nconst blockName = 'labeled-outline';\n\nconst Wrapper = aggregatedClasses('div')(blockName, null, ({ isOpen }) => ({\n 'has-value': isOpen,\n}));\nconst FloatingLabel = aggregatedClasses('label')(blockName, 'label');\nconst OutlineIdle = aggregatedClasses('div')(blockName, 'idle');\nconst Outline = aggregatedClasses('div')(blockName, 'outline');\nconst OutlinePath = aggregatedClasses('path')(blockName, 'outline__path');\n\nconst shouldUpdateSvgPath = ({ width, height, labelWidth }, prevSizes) => {\n if (width !== prevSizes.width) return true;\n if (height !== prevSizes.height) return true;\n return labelWidth !== prevSizes.labelWidth;\n};\n\nclass FloatingLabelInputImpl extends Component {\n resizeObserver = new ResizeObserver(() => this.updatePath());\n\n prevSizes = {};\n\n static defaultProps = { onChange: () => null };\n\n constructor(props) {\n super(props);\n this.wrapperRef = React.createRef();\n this.outlinePathRef = React.createRef();\n this.outlineIdleRef = React.createRef();\n this.labelRef = React.createRef();\n\n this.sizes = this.sizes.bind(this);\n this.isOpened = this.isOpened.bind(this);\n this.getValue = this.getValue.bind(this);\n this.updatePath = this.updatePath.bind(this);\n }\n\n componentDidMount() {\n this.resizeObserver.observe(this.wrapperRef.current);\n }\n\n componentDidUpdate() {\n if (!shouldUpdateSvgPath(this.sizes, this.prevSizes)) return;\n this.updatePath();\n }\n\n componentWillUnmount() {\n this.resizeObserver.unobserve(this.wrapperRef.current);\n }\n\n get sizes() {\n const { current: labelEl } = this.labelRef;\n const { current: wrapperEl } = this.wrapperRef;\n const { current: outlineIdleEl } = this.outlineIdleRef;\n const elStyles = window.getComputedStyle(outlineIdleEl);\n const leftRadius = elStyles.getPropertyValue('border-top-left-radius');\n const rightRadius = elStyles.getPropertyValue('border-top-right-radius');\n const hasLeftRadius = parseFloat(leftRadius) !== 0;\n const hasRightRadius = parseFloat(rightRadius) !== 0;\n return {\n labelWidth: labelEl.offsetWidth * 0.9,\n width: wrapperEl.offsetWidth,\n height: wrapperEl.offsetHeight,\n radiusStyle: leftRadius,\n hasLeftRadius,\n hasRightRadius,\n };\n }\n\n get isOpened() {\n const { focused, isOpen, value } = this.props;\n return focused || (Array.isArray(value) ? !!value.length : !!value) || isOpen;\n }\n\n getValue(value) {\n const { valueAccessor } = this.props;\n if (valueAccessor) return valueAccessor(value);\n // is an event\n if (value && value.target) return value.target.value;\n\n return value;\n }\n\n updatePath() {\n const path = getSvgPath(this.sizes);\n this.prevSizes = this.sizes;\n this.outlinePathRef.current.setAttribute('d', path);\n }\n\n render() {\n const {\n ariaLabel,\n hasError,\n readOnly,\n disabled,\n inputComponent,\n labelText,\n onBlur,\n onFocus,\n innerRef,\n extraInputProps,\n required,\n value,\n onChange,\n mask,\n useSubfix,\n optional,\n } = this.props;\n\n const inputProps = {\n ariaLabel,\n className: 'floating-label-input-controller',\n disabled,\n hasError,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n value,\n innerRef,\n mask,\n useSubfix,\n ...extraInputProps,\n };\n const InputComponent = getComponentFromProps(inputComponent, inputProps);\n const isOpen = this.isOpened;\n\n return (\n <Wrapper\n classProps={{\n hasError,\n isOpen,\n readOnly,\n disabled,\n }}\n innerRef={this.wrapperRef}\n onBlur={() => null}\n onFocus={() => null}\n onMouseOut={this.handleMouseOut}\n onMouseOver={this.handleMouseOver}\n >\n {InputComponent}\n <FloatingLabel classProps={{ isOpen }} innerRef={this.labelRef}>\n <DSTextWrapper maxWidth=\"100%\" text={labelText} />\n <RequiredMark optional={optional} required={required} />\n </FloatingLabel>\n <Outline>\n <svg>\n <OutlinePath innerRef={this.outlinePathRef} />\n </svg>\n </Outline>\n <OutlineIdle innerRef={this.outlineIdleRef} />\n </Wrapper>\n );\n }\n}\n\nexport { FloatingLabelInputImpl };\nexport default FloatingLabelInputImpl;\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FormItem/DSFormItemLayout.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { describe, getComponentFromProps } from '@elliemae/ds-utilities';\nimport { Group } from '@elliemae/ds-shared';\nimport { DSInputGroup } from '../InputGroup';\nimport { DSFloatingLabelInput } from '../FloatingLabelInput';\nimport { DSError } from './Error/DSError';\nimport { props } from './props';\nimport { defaultProps } from './defaultProps';\nimport { FORMITEM_LAYOUT_VARIANTS } from './variants';\nimport { Suffix, SuffixInputWrapper, SuffixWrapper } from './Suffix/Suffix';\n// import { maskTypes } from '../InputMask/MaskTypes';\n\nexport { DSError, FORMITEM_LAYOUT_VARIANTS };\n\nconst blockName = 'form-item';\n\nconst Wrapper = aggregatedClasses('div')(blockName, null, ({ leftLabel, variant, fitContent, withHighlight }) => ({\n 'with-left-label': leftLabel,\n 'fit-content': fitContent,\n [variant]: variant,\n 'with-highlight': withHighlight,\n}));\n\nconst WrapperContent = aggregatedClasses('div')(`${blockName}-content`);\nconst WrapperContentGroup = aggregatedClasses('fieldset')(`${blockName}-content`);\n\nconst DSFormItemLayout = ({\n leftLabel,\n floatingLabel,\n name,\n id,\n value,\n inputComponent: InputComponent,\n labelComponent: LabelComponent,\n feedbackComponent: FeedbackComponent,\n labelText,\n truncateText,\n hasError,\n // orientation = 'vertical', // one of [ vertical, horizontal ]\n validationState, // one of [ success, error, warning ]\n validationMessage,\n feedbackMessage,\n readOnly,\n focused,\n type,\n autoFocus,\n disabled,\n onChange,\n onBlur,\n onFocus,\n onPaste,\n onKeyUp,\n extraInputProps,\n extraContent,\n leftAddon,\n rightAddon,\n required,\n optional,\n mask,\n useSubfix,\n suffix,\n variant,\n fitContent,\n withHighlight,\n containerProps,\n ...rest\n}) => {\n const isGroup = InputComponent.type === (<Group />).type;\n const floatingLabelOverride = floatingLabel === 'UNSAFE';\n const WrapperContentComp = !isGroup ? WrapperContent : WrapperContentGroup;\n\n // group the input props to not duplicate it inside the specific inputComponent (floating or not)\n const inputProps = {\n ...extraInputProps,\n disabled,\n hasError: hasError || validationState === 'error',\n id,\n name,\n type,\n autoFocus,\n onBlur,\n onChange,\n onFocus,\n onPaste,\n onKeyUp,\n readOnly,\n value,\n mask,\n useSubfix,\n variant,\n required,\n ...rest,\n };\n\n const renderInput = (Input) =>\n leftAddon || rightAddon ? (\n <DSInputGroup leftAddon={leftAddon} rightAddon={rightAddon} variant={variant}>\n {Input}\n </DSInputGroup>\n ) : (\n Input\n );\n\n const renderFloating = (\n <DSFloatingLabelInput\n {...inputProps}\n extraInputProps={extraInputProps}\n focused={focused}\n inputComponent={InputComponent}\n labelComponent={LabelComponent}\n labelText={labelText}\n optional={optional}\n required={required}\n variant={variant}\n />\n );\n\n const InputWithLabel = floatingLabelOverride ? (\n renderInput(renderFloating)\n ) : (\n <>\n <LabelComponent\n htmlFor={id || name}\n label={labelText}\n optional={optional}\n required={required}\n isGroup={isGroup}\n truncateText={truncateText}\n />\n {renderInput(getComponentFromProps(InputComponent, inputProps))}\n </>\n );\n\n if (suffix) {\n return (\n <Wrapper\n classProps={{\n disabled,\n readOnly,\n hasError,\n leftLabel,\n variant,\n fitContent,\n withHighlight,\n }}\n {...containerProps}\n >\n <SuffixWrapper className=\"suffix-wrapper\">\n <SuffixInputWrapper className=\"suffix-input-wrapper\">\n <WrapperContentComp>\n {InputWithLabel}\n {extraContent}\n </WrapperContentComp>\n <FeedbackComponent\n hasError={hasError}\n text={validationState || hasError ? validationMessage : feedbackMessage}\n />\n </SuffixInputWrapper>\n <Suffix\n className=\"suffix-label\"\n label={!!labelText}\n withFeedback={Boolean(validationMessage || feedbackMessage)}\n >\n {suffix}\n </Suffix>\n </SuffixWrapper>\n </Wrapper>\n );\n }\n\n return (\n <Wrapper\n classProps={{\n disabled,\n readOnly,\n hasError,\n leftLabel,\n variant,\n fitContent,\n withHighlight,\n }}\n {...containerProps}\n >\n <WrapperContentComp>\n {InputWithLabel}\n {extraContent}\n </WrapperContentComp>\n <FeedbackComponent hasError={hasError} text={validationState || hasError ? validationMessage : feedbackMessage} />\n </Wrapper>\n );\n};\n\nDSFormItemLayout.propTypes = props;\nDSFormItemLayout.defaultProps = defaultProps;\nDSFormItemLayout.displayName = 'DSFormItemLayout';\nconst DSFormItemLayoutWithSchema = describe(DSFormItemLayout);\nDSFormItemLayoutWithSchema.propTypes = props;\n\nexport default DSFormItemLayout;\nexport { DSFormItemLayoutWithSchema, DSFormItemLayout };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FormItem/ValidationFieldWrapper.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { Component } from 'react';\n\nexport default class ValidationFieldWrapper extends Component {\n static defaultProps = {\n validateOnBlur: false,\n validateOnChange: false,\n name: '', // name in context of the form\n value: '',\n validate: () => null,\n onChange: () => null,\n onBlur: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n };\n }\n\n componentDidMount() {\n const { value } = this.state;\n this.executeValidations(value);\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { value } = nextProps;\n if (value === prevState.value) return null;\n return {\n ...prevState,\n value,\n };\n }\n\n handleChange = (e) => {\n const { onChange } = this.props;\n this.setState({ value: e.target.value });\n if (onChange) onChange(e);\n }\n\n handleBlur = (e) => {\n const { onBlur, validateOnBlur } = this.props;\n const { value } = this.state;\n if (validateOnBlur) this.executeValidations(value);\n onBlur(e);\n }\n\n executeValidations = (value) => {\n const { validations } = this.props;\n if (validations && Array.isArray(validations)) {\n if (\n !validations.some(validation => {\n const { error, payload } = validation({ value });\n if (error)\n this.setState({ validationMessage: payload, state: error });\n return error;\n })\n ) {\n this.setState({ hasError: false });\n }\n }\n }\n\n render() {\n const { children } = this.props;\n const { value, validationMessage, validationState, hasError } = this.state;\n return children({\n value,\n validationMessage,\n validationState,\n hasError,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n });\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAEA,MAAO,+BAA6C,UAAU;AAAA,EAW5D,YAAY,OAAO;AACjB,UAAM,KAAK;AAoBb,wBAAe,CAAC,MAAM;AACpB,YAAM,EAAE,aAAa,KAAK;AAC1B,WAAK,SAAS,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC;AACvC,UAAI;AAAU,iBAAS,CAAC;AAAA,IAC1B;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,QAAQ,mBAAmB,KAAK;AACxC,YAAM,EAAE,UAAU,KAAK;AACvB,UAAI;AAAgB,aAAK,mBAAmB,KAAK;AACjD,aAAO,CAAC;AAAA,IACV;AAEA,8BAAqB,CAAC,UAAU;AAC9B,YAAM,EAAE,gBAAgB,KAAK;AAC7B,UAAI,eAAe,MAAM,QAAQ,WAAW,GAAG;AAC7C,YACE,CAAC,YAAY,KAAK,gBAAc;AAC9B,gBAAM,EAAE,OAAO,YAAY,WAAW,EAAE,MAAM,CAAC;AAC/C,cAAI;AACF,iBAAK,SAAS,EAAE,mBAAmB,SAAS,OAAO,MAAM,CAAC;AAC5D,iBAAO;AAAA,QACT,CAAC,GACD;AACA,eAAK,SAAS,EAAE,UAAU,MAAM,CAAC;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AA9CE,SAAK,QAAQ;AAAA,MACX,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,UAAM,EAAE,UAAU,KAAK;AACvB,SAAK,mBAAmB,KAAK;AAAA,EAC/B;AAAA,SAEO,yBAAyB,WAAW,WAAW;AACpD,UAAM,EAAE,UAAU;AAClB,QAAI,UAAU,UAAU;AAAO,aAAO;AACtC,WAAO,iCACF,YADE;AAAA,MAEL;AAAA,IACF;AAAA,EACF;AAAA,EA+BA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,OAAO,mBAAmB,iBAAiB,aAAa,KAAK;AACrE,WAAO,SAAS;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACH;AACF;AAxES,AADT,uBACS,eAAe;AAAA,EACpB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,MAAM;AAAA,EAChB,UAAU,MAAM;AAAA,EAChB,QAAQ,MAAM;AAChB;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAEA,MAAO,+BAA6C,UAAU;AAAA,EAW5D,YAAY,OAAO;AACjB,UAAM,KAAK;AAoBb,wBAAe,CAAC,MAAM;AACpB,YAAM,EAAE,aAAa,KAAK;AAC1B,WAAK,SAAS,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC;AACvC,UAAI;AAAU,iBAAS,CAAC;AAAA,IAC1B;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,QAAQ,mBAAmB,KAAK;AACxC,YAAM,EAAE,UAAU,KAAK;AACvB,UAAI;AAAgB,aAAK,mBAAmB,KAAK;AACjD,aAAO,CAAC;AAAA,IACV;AAEA,8BAAqB,CAAC,UAAU;AAC9B,YAAM,EAAE,gBAAgB,KAAK;AAC7B,UAAI,eAAe,MAAM,QAAQ,WAAW,GAAG;AAC7C,YACE,CAAC,YAAY,KAAK,gBAAc;AAC9B,gBAAM,EAAE,OAAO,YAAY,WAAW,EAAE,MAAM,CAAC;AAC/C,cAAI;AACF,iBAAK,SAAS,EAAE,mBAAmB,SAAS,OAAO,MAAM,CAAC;AAC5D,iBAAO;AAAA,QACT,CAAC,GACD;AACA,eAAK,SAAS,EAAE,UAAU,MAAM,CAAC;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AA9CE,SAAK,QAAQ;AAAA,MACX,OAAO,MAAM;AAAA,IACf;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,UAAM,EAAE,UAAU,KAAK;AACvB,SAAK,mBAAmB,KAAK;AAAA,EAC/B;AAAA,EAEA,OAAO,yBAAyB,WAAW,WAAW;AACpD,UAAM,EAAE,UAAU;AAClB,QAAI,UAAU,UAAU;AAAO,aAAO;AACtC,WAAO,iCACF,YADE;AAAA,MAEL;AAAA,IACF;AAAA,EACF;AAAA,EA+BA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,OAAO,mBAAmB,iBAAiB,aAAa,KAAK;AACrE,WAAO,SAAS;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACH;AACF;AAxEE,AADmB,uBACZ,eAAe;AAAA,EACpB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,MAAM;AAAA,EAChB,UAAU,MAAM;AAAA,EAChB,QAAQ,MAAM;AAChB;",
6
6
  "names": []
7
7
  }
@@ -38,7 +38,9 @@ const props = {
38
38
  onKeyUp: PropTypes.func.description("on key up event handler"),
39
39
  mask: PropTypes.oneOfType([
40
40
  PropTypes.string,
41
- PropTypes.func
41
+ PropTypes.func,
42
+ PropTypes.object,
43
+ PropTypes.array
42
44
  ]).description("mask for input mask component"),
43
45
  useSubfix: PropTypes.string.description("add suffix to input"),
44
46
  suffix: PropTypes.string.description("suffix for input"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FormItem/props.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-utilities';\nimport { FORMITEM_LAYOUT_VARIANTS } from './variants';\n\nexport const props = {\n /** props to inject to form item layout wrapper */\n containerProps: PropTypes.object.description('props to inject to form item layout wrapper'),\n /** disableTooltip */\n disableTooltip: PropTypes.bool\n .description('Whether to show a tooltip or not when text does not fit')\n .defaultValue(true),\n /** position label on the left */\n leftLabel: PropTypes.bool.description('position label on the left'),\n /** turn on floating label */\n floatingLabel: PropTypes.bool.description('turn on floating label'),\n /** id for form item layout */\n id: PropTypes.string.description('id for form item layout'),\n /** html name prop for form tags */\n name: PropTypes.string.description('html name prop for form tags'),\n /** form item layout element value */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description(\n 'form item layout element value',\n ),\n /** Any input component */\n inputComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('Any input component'),\n /** isShowElipsisActive */\n /** isShowElipsisActive */\n isShowElipsisActive: PropTypes.bool\n .description('Wheter to enable the ellipsis and tooltip functionality or not')\n .defaultValue(true),\n /** Label component */\n labelComponent: PropTypes.func.description('Label component'),\n /** feedback component to embed on form item */\n feedbackComponent: PropTypes.func.description('feedback component to embed on form item'),\n /** label text */\n labelText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('label text'),\n /** error state */\n hasError: PropTypes.bool.description('error state'),\n /** add fit content to form container */\n fitContent: PropTypes.bool.description(\n 'Adds fit content css property to the main container, making the layout width adapt to the input component',\n ),\n /** validation state */\n validationState: PropTypes.oneOf(['success', 'error', 'warning']).description('validation state'),\n /** validation message */\n validationMessage: PropTypes.string.description('validation message'),\n /** feedback message */\n feedbackMessage: PropTypes.string.description('feedback message'),\n /** read only form item */\n readOnly: PropTypes.bool.description('read only form item'),\n /** focused state */\n focused: PropTypes.bool.description('focused state'),\n /** input type */\n type: PropTypes.string.description('input type'),\n /** auto focus input */\n autoFocus: PropTypes.bool.description('auto focus input'),\n /** disabled state */\n disabled: PropTypes.bool.description('disabled state'),\n /** on change handler */\n onChange: PropTypes.func.description('on change handler'),\n /** on blur handler */\n onBlur: PropTypes.func.description('on blur handler'),\n /** extra input props to inject */\n extraInputProps: PropTypes.object.description('extra input props to inject'),\n /** extra content */\n extraContent: PropTypes.element.description('extra content'),\n /** left addon for form item */\n leftAddon: PropTypes.element.description('left addon for form item'),\n /** right addon for form item */\n rightAddon: PropTypes.element.description('right addon for form item'),\n /** add required mark */\n required: PropTypes.bool.description('add required mark'),\n /** add optional mark */\n optional: PropTypes.bool.description('add optional mark'),\n /** on focus handler */\n onFocus: PropTypes.func.description('on focus handler'),\n /** on paste handler */\n onPaste: PropTypes.func.description('on paste handler'),\n /** add truncation and ellipsis */\n truncateText: PropTypes.bool.description('add truncation and ellipsis'),\n /** on key up event handler */\n onKeyUp: PropTypes.func.description('on key up event handler'),\n /** mask for input mask component */\n mask: PropTypes.oneOfType([\n // PropTypes.oneOf(maskTypes),\n PropTypes.string,\n PropTypes.func,\n ]).description('mask for input mask component'),\n /** add suffix to input */\n useSubfix: PropTypes.string.description('add suffix to input'),\n /** suffix for input */\n suffix: PropTypes.string.description('suffix for input'),\n /** form item layout type */\n variant: PropTypes.oneOf([\n FORMITEM_LAYOUT_VARIANTS.DEFAULT,\n FORMITEM_LAYOUT_VARIANTS.FOCUS,\n FORMITEM_LAYOUT_VARIANTS.ACTIVE,\n FORMITEM_LAYOUT_VARIANTS.DISABLED,\n FORMITEM_LAYOUT_VARIANTS.READ_ONLY,\n FORMITEM_LAYOUT_VARIANTS.OPTIONAL,\n ]).description('form item layout type'),\n withHighlight: PropTypes.bool.description('adds highlight style to the input component'),\n};\n"],
5
- "mappings": "AAAA;ACAA;AACA;AAEO,MAAM,QAAQ;AAAA,EAEnB,gBAAgB,UAAU,OAAO,YAAY,6CAA6C;AAAA,EAE1F,gBAAgB,UAAU,KACvB,YAAY,yDAAyD,EACrE,aAAa,IAAI;AAAA,EAEpB,WAAW,UAAU,KAAK,YAAY,4BAA4B;AAAA,EAElE,eAAe,UAAU,KAAK,YAAY,wBAAwB;AAAA,EAElE,IAAI,UAAU,OAAO,YAAY,yBAAyB;AAAA,EAE1D,MAAM,UAAU,OAAO,YAAY,8BAA8B;AAAA,EAEjE,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YACjF,gCACF;AAAA,EAEA,gBAAgB,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,OAAO,CAAC,EAAE,YAAY,qBAAqB;AAAA,EAG1G,qBAAqB,UAAU,KAC5B,YAAY,gEAAgE,EAC5E,aAAa,IAAI;AAAA,EAEpB,gBAAgB,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,mBAAmB,UAAU,KAAK,YAAY,0CAA0C;AAAA,EAExF,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,YAAY;AAAA,EAE9F,UAAU,UAAU,KAAK,YAAY,aAAa;AAAA,EAElD,YAAY,UAAU,KAAK,YACzB,2GACF;AAAA,EAEA,iBAAiB,UAAU,MAAM,CAAC,WAAW,SAAS,SAAS,CAAC,EAAE,YAAY,kBAAkB;AAAA,EAEhG,mBAAmB,UAAU,OAAO,YAAY,oBAAoB;AAAA,EAEpE,iBAAiB,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEhE,UAAU,UAAU,KAAK,YAAY,qBAAqB;AAAA,EAE1D,SAAS,UAAU,KAAK,YAAY,eAAe;AAAA,EAEnD,MAAM,UAAU,OAAO,YAAY,YAAY;AAAA,EAE/C,WAAW,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAExD,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,QAAQ,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAEpD,iBAAiB,UAAU,OAAO,YAAY,6BAA6B;AAAA,EAE3E,cAAc,UAAU,QAAQ,YAAY,eAAe;AAAA,EAE3D,WAAW,UAAU,QAAQ,YAAY,0BAA0B;AAAA,EAEnE,YAAY,UAAU,QAAQ,YAAY,2BAA2B;AAAA,EAErE,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,SAAS,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAEtD,SAAS,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAEtD,cAAc,UAAU,KAAK,YAAY,6BAA6B;AAAA,EAEtE,SAAS,UAAU,KAAK,YAAY,yBAAyB;AAAA,EAE7D,MAAM,UAAU,UAAU;AAAA,IAExB,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC,EAAE,YAAY,+BAA+B;AAAA,EAE9C,WAAW,UAAU,OAAO,YAAY,qBAAqB;AAAA,EAE7D,QAAQ,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEvD,SAAS,UAAU,MAAM;AAAA,IACvB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC3B,CAAC,EAAE,YAAY,uBAAuB;AAAA,EACtC,eAAe,UAAU,KAAK,YAAY,6CAA6C;AACzF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-utilities';\nimport { FORMITEM_LAYOUT_VARIANTS } from './variants';\n\nexport const props = {\n /** props to inject to form item layout wrapper */\n containerProps: PropTypes.object.description('props to inject to form item layout wrapper'),\n /** disableTooltip */\n disableTooltip: PropTypes.bool\n .description('Whether to show a tooltip or not when text does not fit')\n .defaultValue(true),\n /** position label on the left */\n leftLabel: PropTypes.bool.description('position label on the left'),\n /** turn on floating label */\n floatingLabel: PropTypes.bool.description('turn on floating label'),\n /** id for form item layout */\n id: PropTypes.string.description('id for form item layout'),\n /** html name prop for form tags */\n name: PropTypes.string.description('html name prop for form tags'),\n /** form item layout element value */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description(\n 'form item layout element value',\n ),\n /** Any input component */\n inputComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('Any input component'),\n /** isShowElipsisActive */\n /** isShowElipsisActive */\n isShowElipsisActive: PropTypes.bool\n .description('Wheter to enable the ellipsis and tooltip functionality or not')\n .defaultValue(true),\n /** Label component */\n labelComponent: PropTypes.func.description('Label component'),\n /** feedback component to embed on form item */\n feedbackComponent: PropTypes.func.description('feedback component to embed on form item'),\n /** label text */\n labelText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).description('label text'),\n /** error state */\n hasError: PropTypes.bool.description('error state'),\n /** add fit content to form container */\n fitContent: PropTypes.bool.description(\n 'Adds fit content css property to the main container, making the layout width adapt to the input component',\n ),\n /** validation state */\n validationState: PropTypes.oneOf(['success', 'error', 'warning']).description('validation state'),\n /** validation message */\n validationMessage: PropTypes.string.description('validation message'),\n /** feedback message */\n feedbackMessage: PropTypes.string.description('feedback message'),\n /** read only form item */\n readOnly: PropTypes.bool.description('read only form item'),\n /** focused state */\n focused: PropTypes.bool.description('focused state'),\n /** input type */\n type: PropTypes.string.description('input type'),\n /** auto focus input */\n autoFocus: PropTypes.bool.description('auto focus input'),\n /** disabled state */\n disabled: PropTypes.bool.description('disabled state'),\n /** on change handler */\n onChange: PropTypes.func.description('on change handler'),\n /** on blur handler */\n onBlur: PropTypes.func.description('on blur handler'),\n /** extra input props to inject */\n extraInputProps: PropTypes.object.description('extra input props to inject'),\n /** extra content */\n extraContent: PropTypes.element.description('extra content'),\n /** left addon for form item */\n leftAddon: PropTypes.element.description('left addon for form item'),\n /** right addon for form item */\n rightAddon: PropTypes.element.description('right addon for form item'),\n /** add required mark */\n required: PropTypes.bool.description('add required mark'),\n /** add optional mark */\n optional: PropTypes.bool.description('add optional mark'),\n /** on focus handler */\n onFocus: PropTypes.func.description('on focus handler'),\n /** on paste handler */\n onPaste: PropTypes.func.description('on paste handler'),\n /** add truncation and ellipsis */\n truncateText: PropTypes.bool.description('add truncation and ellipsis'),\n /** on key up event handler */\n onKeyUp: PropTypes.func.description('on key up event handler'),\n /** mask for input mask component */\n mask: PropTypes.oneOfType([\n // PropTypes.oneOf(maskTypes),\n PropTypes.string,\n PropTypes.func,\n PropTypes.object,\n PropTypes.array,\n ]).description('mask for input mask component'),\n /** add suffix to input */\n useSubfix: PropTypes.string.description('add suffix to input'),\n /** suffix for input */\n suffix: PropTypes.string.description('suffix for input'),\n /** form item layout type */\n variant: PropTypes.oneOf([\n FORMITEM_LAYOUT_VARIANTS.DEFAULT,\n FORMITEM_LAYOUT_VARIANTS.FOCUS,\n FORMITEM_LAYOUT_VARIANTS.ACTIVE,\n FORMITEM_LAYOUT_VARIANTS.DISABLED,\n FORMITEM_LAYOUT_VARIANTS.READ_ONLY,\n FORMITEM_LAYOUT_VARIANTS.OPTIONAL,\n ]).description('form item layout type'),\n withHighlight: PropTypes.bool.description('adds highlight style to the input component'),\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEO,MAAM,QAAQ;AAAA,EAEnB,gBAAgB,UAAU,OAAO,YAAY,6CAA6C;AAAA,EAE1F,gBAAgB,UAAU,KACvB,YAAY,yDAAyD,EACrE,aAAa,IAAI;AAAA,EAEpB,WAAW,UAAU,KAAK,YAAY,4BAA4B;AAAA,EAElE,eAAe,UAAU,KAAK,YAAY,wBAAwB;AAAA,EAElE,IAAI,UAAU,OAAO,YAAY,yBAAyB;AAAA,EAE1D,MAAM,UAAU,OAAO,YAAY,8BAA8B;AAAA,EAEjE,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YACjF,gCACF;AAAA,EAEA,gBAAgB,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,OAAO,CAAC,EAAE,YAAY,qBAAqB;AAAA,EAG1G,qBAAqB,UAAU,KAC5B,YAAY,gEAAgE,EAC5E,aAAa,IAAI;AAAA,EAEpB,gBAAgB,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,mBAAmB,UAAU,KAAK,YAAY,0CAA0C;AAAA,EAExF,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,YAAY;AAAA,EAE9F,UAAU,UAAU,KAAK,YAAY,aAAa;AAAA,EAElD,YAAY,UAAU,KAAK,YACzB,2GACF;AAAA,EAEA,iBAAiB,UAAU,MAAM,CAAC,WAAW,SAAS,SAAS,CAAC,EAAE,YAAY,kBAAkB;AAAA,EAEhG,mBAAmB,UAAU,OAAO,YAAY,oBAAoB;AAAA,EAEpE,iBAAiB,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEhE,UAAU,UAAU,KAAK,YAAY,qBAAqB;AAAA,EAE1D,SAAS,UAAU,KAAK,YAAY,eAAe;AAAA,EAEnD,MAAM,UAAU,OAAO,YAAY,YAAY;AAAA,EAE/C,WAAW,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAExD,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,QAAQ,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAEpD,iBAAiB,UAAU,OAAO,YAAY,6BAA6B;AAAA,EAE3E,cAAc,UAAU,QAAQ,YAAY,eAAe;AAAA,EAE3D,WAAW,UAAU,QAAQ,YAAY,0BAA0B;AAAA,EAEnE,YAAY,UAAU,QAAQ,YAAY,2BAA2B;AAAA,EAErE,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,UAAU,UAAU,KAAK,YAAY,mBAAmB;AAAA,EAExD,SAAS,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAEtD,SAAS,UAAU,KAAK,YAAY,kBAAkB;AAAA,EAEtD,cAAc,UAAU,KAAK,YAAY,6BAA6B;AAAA,EAEtE,SAAS,UAAU,KAAK,YAAY,yBAAyB;AAAA,EAE7D,MAAM,UAAU,UAAU;AAAA,IAExB,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC,EAAE,YAAY,+BAA+B;AAAA,EAE9C,WAAW,UAAU,OAAO,YAAY,qBAAqB;AAAA,EAE7D,QAAQ,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEvD,SAAS,UAAU,MAAM;AAAA,IACvB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC3B,CAAC,EAAE,YAAY,uBAAuB;AAAA,EACtC,eAAe,UAAU,KAAK,YAAY,6CAA6C;AACzF;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputGroup/AddonWrapper.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'input-addon-group';\n\nconst Container = aggregatedClasses('div')(blockName);\nconst InputAddon = aggregatedClasses('span')(blockName, 'addon');\n\nclass AddonWrapper extends Component {\n static defaultProps = {};\n\n state = {};\n\n render() {\n const {\n leftAddon,\n rightAddon,\n children: inputComponent,\n className,\n containerProps,\n } = this.props;\n const childType =\n inputComponent && inputComponent.type && inputComponent.type.name\n ? inputComponent.type.name.toLowerCase()\n : 'default';\n return (\n <Container\n className={`${className} ${blockName}--${childType}`}\n {...containerProps}\n >\n {leftAddon && <InputAddon>{leftAddon}</InputAddon>}\n {inputComponent}\n {rightAddon && <InputAddon>{rightAddon}</InputAddon>}\n </Container>\n );\n }\n}\n\nexport { AddonWrapper };\nexport default AddonWrapper;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,YAAY,kBAAkB,KAAK,EAAE,SAAS;AACpD,MAAM,aAAa,kBAAkB,MAAM,EAAE,WAAW,OAAO;AAE/D,MAAM,qBAAqB,UAAU;AAAA,EAArC;AAAA;AAGE,iBAAQ,CAAC;AAAA;AAAA,EAET,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,QACE,KAAK;AACT,UAAM,YACJ,kBAAkB,eAAe,QAAQ,eAAe,KAAK,OACzD,eAAe,KAAK,KAAK,YAAY,IACrC;AACN,WACE,qCAAC;AAAA,MACC,WAAW,GAAG,aAAa,cAAc;AAAA,OACrC,iBAEH,aAAa,qCAAC,kBAAY,SAAU,GACpC,gBACA,cAAc,qCAAC,kBAAY,UAAW,CACzC;AAAA,EAEJ;AACF;AA3BS,AADT,aACS,eAAe,CAAC;AA8BzB,IAAO,uBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,YAAY,kBAAkB,KAAK,EAAE,SAAS;AACpD,MAAM,aAAa,kBAAkB,MAAM,EAAE,WAAW,OAAO;AAE/D,MAAM,qBAAqB,UAAU;AAAA,EAArC;AAAA;AAGE,iBAAQ,CAAC;AAAA;AAAA,EAET,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,QACE,KAAK;AACT,UAAM,YACJ,kBAAkB,eAAe,QAAQ,eAAe,KAAK,OACzD,eAAe,KAAK,KAAK,YAAY,IACrC;AACN,WACE,qCAAC;AAAA,MACC,WAAW,GAAG,aAAa,cAAc;AAAA,OACrC,iBAEH,aAAa,qCAAC,kBAAY,SAAU,GACpC,gBACA,cAAc,qCAAC,kBAAY,UAAW,CACzC;AAAA,EAEJ;AACF;AA3BE,AADI,aACG,eAAe,CAAC;AA8BzB,IAAO,uBAAQ;",
6
6
  "names": []
7
7
  }
@@ -31,7 +31,6 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import * as React from "react";
33
33
  import React2, { useCallback, useLayoutEffect, useRef, useState } from "react";
34
- import { PropTypes } from "@elliemae/ds-utilities";
35
34
  import { DSTextBox } from "../../TextBox";
36
35
  import { setCaretPosition } from "../utils/setCaretPosition";
37
36
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
@@ -207,41 +206,6 @@ const DateInputMask = (_a) => {
207
206
  value: maskedValue
208
207
  }));
209
208
  };
210
- DateInputMask.propTypes = {
211
- focus: PropTypes.bool,
212
- setFocus: PropTypes.func,
213
- setRawMask: PropTypes.func,
214
- cursorPosition: PropTypes.shape({ current: PropTypes.number }),
215
- setCursorPosition: PropTypes.func,
216
- lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),
217
- setLastkey: PropTypes.func,
218
- setRawValue: PropTypes.func,
219
- style: PropTypes.object,
220
- disabled: PropTypes.bool,
221
- className: PropTypes.string,
222
- name: PropTypes.string,
223
- maxLength: PropTypes.number,
224
- minLength: PropTypes.number,
225
- fluidWidth: PropTypes.bool,
226
- placeholder: PropTypes.string,
227
- value: PropTypes.string,
228
- onChange: PropTypes.func,
229
- onKeyDown: PropTypes.func,
230
- leftComponent: PropTypes.element,
231
- rightComponent: PropTypes.element,
232
- onFocus: PropTypes.func,
233
- onBlur: PropTypes.func,
234
- onPaste: PropTypes.func,
235
- onKeyUp: PropTypes.func,
236
- hasError: PropTypes.bool,
237
- readOnly: PropTypes.bool,
238
- onClick: PropTypes.func,
239
- clearable: PropTypes.bool,
240
- type: PropTypes.string,
241
- innerRef: PropTypes.any,
242
- mask: PropTypes.any,
243
- placeholderChar: PropTypes.string
244
- };
245
209
  var DateInputMask_default = DateInputMask;
246
210
  export {
247
211
  DateInputMask,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/DateInputMask.tsx"],
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\nDateInputMask.propTypes = {\n focus: PropTypes.bool,\n setFocus: PropTypes.func,\n setRawMask: PropTypes.func,\n cursorPosition: PropTypes.shape({ current: PropTypes.number }),\n setCursorPosition: PropTypes.func,\n lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),\n setLastkey: PropTypes.func,\n setRawValue: PropTypes.func,\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 innerRef: PropTypes.any,\n mask: PropTypes.any,\n placeholderChar: PropTypes.string,\n};\n\nexport { DateInputMask };\nexport default DateInputMask;\n"],
5
- "mappings": "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",
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": "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",
6
6
  "names": []
7
7
  }
@@ -31,7 +31,6 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import * as React from "react";
33
33
  import React2, { useCallback, useLayoutEffect, useRef, useState } from "react";
34
- import { PropTypes } from "@elliemae/ds-utilities";
35
34
  import { DSTextBox } from "../../TextBox";
36
35
  import { setCaretPosition } from "../utils/setCaretPosition";
37
36
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
@@ -213,41 +212,6 @@ const DateTimeInputMask = (_a) => {
213
212
  value: maskedValue
214
213
  }));
215
214
  };
216
- DateTimeInputMask.propTypes = {
217
- focus: PropTypes.bool,
218
- setFocus: PropTypes.func,
219
- setRawMask: PropTypes.func,
220
- cursorPosition: PropTypes.shape({ current: PropTypes.number }),
221
- setCursorPosition: PropTypes.func,
222
- lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),
223
- setLastkey: PropTypes.func,
224
- setRawValue: PropTypes.func,
225
- style: PropTypes.object,
226
- disabled: PropTypes.bool,
227
- className: PropTypes.string,
228
- name: PropTypes.string,
229
- maxLength: PropTypes.number,
230
- minLength: PropTypes.number,
231
- fluidWidth: PropTypes.bool,
232
- placeholder: PropTypes.string,
233
- value: PropTypes.string,
234
- onChange: PropTypes.func,
235
- onKeyDown: PropTypes.func,
236
- leftComponent: PropTypes.element,
237
- rightComponent: PropTypes.element,
238
- onFocus: PropTypes.func,
239
- onBlur: PropTypes.func,
240
- onPaste: PropTypes.func,
241
- onKeyUp: PropTypes.func,
242
- hasError: PropTypes.bool,
243
- readOnly: PropTypes.bool,
244
- onClick: PropTypes.func,
245
- clearable: PropTypes.bool,
246
- type: PropTypes.string,
247
- innerRef: PropTypes.any,
248
- mask: PropTypes.any,
249
- placeholderChar: PropTypes.string
250
- };
251
215
  var DateTimeInputMask_default = DateTimeInputMask;
252
216
  export {
253
217
  DateTimeInputMask,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/DateTimeInputMask.tsx"],
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\nDateTimeInputMask.propTypes = {\n focus: PropTypes.bool,\n setFocus: PropTypes.func,\n setRawMask: PropTypes.func,\n cursorPosition: PropTypes.shape({ current: PropTypes.number }),\n setCursorPosition: PropTypes.func,\n lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),\n setLastkey: PropTypes.func,\n setRawValue: PropTypes.func,\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 innerRef: PropTypes.any,\n mask: PropTypes.any,\n placeholderChar: PropTypes.string,\n};\n\nexport { DateTimeInputMask };\nexport default DateTimeInputMask;\n"],
5
- "mappings": "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",
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": "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",
6
6
  "names": []
7
7
  }
@@ -31,7 +31,6 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import * as React from "react";
33
33
  import React2, { useCallback, useLayoutEffect, useRef, useState } from "react";
34
- import { PropTypes } from "@elliemae/ds-utilities";
35
34
  import { DSTextBox } from "../../TextBox";
36
35
  import { setCaretPosition } from "../utils/setCaretPosition";
37
36
  const startsWith = (a, b, ignoreCase) => {
@@ -201,44 +200,6 @@ const DictionaryInputMask = (_a) => {
201
200
  value: maskedValue
202
201
  }));
203
202
  };
204
- DictionaryInputMask.propTypes = {
205
- focus: PropTypes.bool,
206
- setFocus: PropTypes.func,
207
- setRawMask: PropTypes.func,
208
- cursorPosition: PropTypes.shape({ current: PropTypes.number }),
209
- setCursorPosition: PropTypes.func,
210
- lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),
211
- setLastkey: PropTypes.func,
212
- setRawValue: PropTypes.func,
213
- allowedWords: PropTypes.arrayOf(PropTypes.string),
214
- ignoreCase: PropTypes.bool,
215
- autoFocus: PropTypes.bool,
216
- style: PropTypes.object,
217
- disabled: PropTypes.bool,
218
- className: PropTypes.string,
219
- name: PropTypes.string,
220
- maxLength: PropTypes.number,
221
- minLength: PropTypes.number,
222
- fluidWidth: PropTypes.bool,
223
- placeholder: PropTypes.string,
224
- value: PropTypes.string,
225
- onChange: PropTypes.func,
226
- onKeyDown: PropTypes.func,
227
- leftComponent: PropTypes.element,
228
- rightComponent: PropTypes.element,
229
- onFocus: PropTypes.func,
230
- onBlur: PropTypes.func,
231
- onPaste: PropTypes.func,
232
- onKeyUp: PropTypes.func,
233
- hasError: PropTypes.bool,
234
- readOnly: PropTypes.bool,
235
- onClick: PropTypes.func,
236
- clearable: PropTypes.bool,
237
- type: PropTypes.string,
238
- innerRef: PropTypes.any,
239
- mask: PropTypes.any,
240
- placeholderChar: PropTypes.string
241
- };
242
203
  var DictionaryInputMask_default = DictionaryInputMask;
243
204
  export {
244
205
  DictionaryInputMask,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/DictionaryInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-loop-func */\n/* eslint-disable max-params */\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 { setCaretPosition } from '../utils/setCaretPosition';\n\nconst startsWith = (a: string, b: string, ignoreCase: boolean): boolean => {\n if (ignoreCase) {\n a = a.toLowerCase();\n b = b.toLowerCase();\n }\n return a.startsWith(b);\n};\n\nconst conformValue = (\n rawValue: string,\n cursorPos: number,\n lastkeycode: number,\n allowedWords: string[],\n ignoreCase: boolean,\n) => {\n let nextMaskedValue = '';\n let currentPosibleWords = allowedWords;\n for (let i = 0; i < rawValue.length; i += 1) {\n const matchingWords = currentPosibleWords.filter((word) =>\n startsWith(word, nextMaskedValue + rawValue[i], ignoreCase),\n );\n if (matchingWords.length) {\n nextMaskedValue += rawValue[i];\n currentPosibleWords = matchingWords;\n }\n }\n\n return { nextMaskedValue, maskedPos: cursorPos };\n};\n\nconst DictionaryInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n allowedWords,\n ignoreCase = true,\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}) => {\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 allowedWords,\n ignoreCase,\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\nDictionaryInputMask.propTypes = {\n focus: PropTypes.bool,\n setFocus: PropTypes.func,\n setRawMask: PropTypes.func,\n cursorPosition: PropTypes.shape({ current: PropTypes.number }),\n setCursorPosition: PropTypes.func,\n lastkey: PropTypes.shape({ code: PropTypes.number, key: PropTypes.string }),\n setLastkey: PropTypes.func,\n setRawValue: PropTypes.func,\n allowedWords: PropTypes.arrayOf(PropTypes.string),\n ignoreCase: PropTypes.bool,\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 innerRef: PropTypes.any,\n mask: PropTypes.any,\n placeholderChar: PropTypes.string,\n};\n\nexport { DictionaryInputMask };\nexport default DictionaryInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-loop-func */\n/* eslint-disable max-params */\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 { setCaretPosition } from '../utils/setCaretPosition';\n\nconst startsWith = (a: string, b: string, ignoreCase: boolean): boolean => {\n if (ignoreCase) {\n a = a.toLowerCase();\n b = b.toLowerCase();\n }\n return a.startsWith(b);\n};\n\nconst conformValue = (\n rawValue: string,\n cursorPos: number,\n lastkeycode: number,\n allowedWords: string[],\n ignoreCase: boolean,\n) => {\n let nextMaskedValue = '';\n let currentPosibleWords = allowedWords;\n for (let i = 0; i < rawValue.length; i += 1) {\n const matchingWords = currentPosibleWords.filter((word) =>\n startsWith(word, nextMaskedValue + rawValue[i], ignoreCase),\n );\n if (matchingWords.length) {\n nextMaskedValue += rawValue[i];\n currentPosibleWords = matchingWords;\n }\n }\n\n return { nextMaskedValue, maskedPos: cursorPos };\n};\n\nconst DictionaryInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n allowedWords,\n ignoreCase = true,\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}) => {\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 allowedWords,\n ignoreCase,\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 { DictionaryInputMask };\nexport default DictionaryInputMask;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACIA;AAEA;AACA;AAEA,MAAM,aAAa,CAAC,GAAW,GAAW,eAAiC;AACzE,MAAI,YAAY;AACd,QAAI,EAAE,YAAY;AAClB,QAAI,EAAE,YAAY;AAAA,EACpB;AACA,SAAO,EAAE,WAAW,CAAC;AACvB;AAEA,MAAM,eAAe,CACnB,UACA,WACA,aACA,cACA,eACG;AACH,MAAI,kBAAkB;AACtB,MAAI,sBAAsB;AAC1B,WAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,GAAG;AAC3C,UAAM,gBAAgB,oBAAoB,OAAO,CAAC,SAChD,WAAW,MAAM,kBAAkB,SAAS,IAAI,UAAU,CAC5D;AACA,QAAI,cAAc,QAAQ;AACxB,yBAAmB,SAAS;AAC5B,4BAAsB;AAAA,IACxB;AAAA,EACF;AAEA,SAAO,EAAE,iBAAiB,WAAW,UAAU;AACjD;AAEA,MAAM,sBAAsB,CAAC,OAoCvB;AApCuB,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,MAlC2B,IAmCxB,iBAnCwB,IAmCxB;AAAA,IAlCH;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,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,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,WAAW,OAAO;AACxB,QAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;AAEpD,QAAM,UAAU,YACd,CAAC,EAAE,UAAU,WAAW,aAAa,wBAAwB,WAAW;AACtE,UAAM,EAAE,iBAAiB,cAAc,aACrC,UACA,WACA,aACA,cACA,UACF;AACA,UAAM,QAAQ;AAAA,MACZ,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,MACjB;AAAA,IACF;AACA,QAAI,YAAY,oBAAoB;AAAa,eAAS,KAAK;AAE/D,mBAAe,eAAe;AAC9B,gBAAY,eAAe;AAE3B,QAAI;AAAuB,wBAAkB,EAAE,SAAS,UAAU,CAAC;AAAA,EACrE,GACA,CAAC,aAAa,QAAQ,CACxB;AAEA,QAAM,iBAAiB,YACrB,CAAC,MAAM;AACL,UAAM,EAAE,OAAO,UAAU,iBAAiB,EAAE;AAC5C,eAAW,QAAQ;AACnB,gBAAY,QAAQ;AACpB,sBAAkB,EAAE,SAAS,aAAa,CAAC;AAC3C,aAAS,IAAI;AAAA,EACf,GACA,CAAC,YAAY,aAAa,mBAAmB,UAAU,QAAQ,IAAI,CACrE;AAEA,kBAAgB,MAAM;AACpB,QAAI;AAAO,uBAAiB,SAAS,SAAS,eAAe,OAAO;AAAA,EACtE,GAAG,CAAC,OAAO,cAAc,CAAC;AAE1B,kBAAgB,MAAM;AAEpB,YAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW,eAAe;AAAA,MAC1B,aAAa,QAAQ;AAAA,MACrB,uBAAuB;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,OAAO,eAAe,OAAO,CAAC;AAEzC,QAAM,gBAAgB,YACpB,CAAC,MAAM;AACL,MAAE,gBAAgB;AAClB,eAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,QAAQ,CAAC;AAC1C,cAAU,CAAC;AAAA,EACb,GACA,CAAC,SAAS,CACZ;AAEA,QAAM,aAAa,YACjB,CAAC,MAAM;AACL,aAAS,KAAK;AACd,WAAO,CAAC;AAAA,EACV,GACA,CAAC,MAAM,CACT;AAEA,SACE,qCAAC,4CACK,OADL;AAAA,IAEC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,CAAC,QAAQ;AACjB,eAAS,UAAU;AACnB,UAAI;AAAU,iBAAS,GAAG;AAAA,IAC5B;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACT;AAEJ;AAGA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }