@elliemae/ds-form 3.12.0-next.0 → 3.12.0-next.1

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 (135) hide show
  1. package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
  2. package/dist/cjs/ComboBox/index.js.map +1 -1
  3. package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +28 -30
  4. package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
  5. package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js.map +2 -2
  6. package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js.map +2 -2
  7. package/dist/cjs/DateInput/props.js +12 -33
  8. package/dist/cjs/DateInput/props.js.map +2 -2
  9. package/dist/cjs/DateInputV2/components/helpers.js.map +2 -2
  10. package/dist/cjs/DateInputV2/components/props.js +8 -25
  11. package/dist/cjs/DateInputV2/components/props.js.map +2 -2
  12. package/dist/cjs/DateInputV2/components/propsTypes.js +1 -4
  13. package/dist/cjs/DateInputV2/components/propsTypes.js.map +2 -2
  14. package/dist/cjs/DateInputV2/components/styled.js.map +2 -2
  15. package/dist/cjs/DateInputV2/components/utils.js +1 -4
  16. package/dist/cjs/DateInputV2/components/utils.js.map +2 -2
  17. package/dist/cjs/FloatingLabelInput/getSvgPath.js.map +2 -2
  18. package/dist/cjs/FormItem/Label/DSLabel.js +1 -9
  19. package/dist/cjs/FormItem/Label/DSLabel.js.map +2 -2
  20. package/dist/cjs/FormItem/Suffix/Suffix.js.map +2 -2
  21. package/dist/cjs/FormItem/ValidationFieldWrapper.js.map +2 -2
  22. package/dist/cjs/Input/index.js.map +1 -1
  23. package/dist/cjs/InputGroup/AddonWrapper.js +1 -7
  24. package/dist/cjs/InputGroup/AddonWrapper.js.map +2 -2
  25. package/dist/cjs/InputGroup/props.js +5 -12
  26. package/dist/cjs/InputGroup/props.js.map +2 -2
  27. package/dist/cjs/InputMask/DSInputMask.js +2 -6
  28. package/dist/cjs/InputMask/DSInputMask.js.map +2 -2
  29. package/dist/cjs/InputMask/InputMaskContext.js.map +1 -1
  30. package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js +3 -12
  31. package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js.map +2 -2
  32. package/dist/cjs/InputMask/mask_types/DateInputMask.js +1 -5
  33. package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +2 -2
  34. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +1 -5
  35. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  36. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +1 -7
  37. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  38. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +1 -5
  39. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  40. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +1 -5
  41. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  42. package/dist/cjs/InputMask/mask_types/SsnInputMask.js +1 -5
  43. package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +2 -2
  44. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +1 -5
  45. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  46. package/dist/cjs/InputMask/mask_types/index.js.map +2 -2
  47. package/dist/cjs/InputMask/props.js +19 -59
  48. package/dist/cjs/InputMask/props.js.map +2 -2
  49. package/dist/cjs/InputProtected/props.js +8 -21
  50. package/dist/cjs/InputProtected/props.js.map +2 -2
  51. package/dist/cjs/LargeInputText/DSLargeInputText.js +13 -19
  52. package/dist/cjs/LargeInputText/DSLargeInputText.js.map +2 -2
  53. package/dist/cjs/LargeInputText/props.js +13 -39
  54. package/dist/cjs/LargeInputText/props.js.map +2 -2
  55. package/dist/cjs/Radio/Circle.js.map +2 -2
  56. package/dist/cjs/RadioGroup/DSRadioGroup.js.map +2 -2
  57. package/dist/cjs/TimeInput/DSTimeInput.js +8 -19
  58. package/dist/cjs/TimeInput/DSTimeInput.js.map +2 -2
  59. package/dist/cjs/TimeInput/TimeInputImpl.js +1 -3
  60. package/dist/cjs/TimeInput/TimeInputImpl.js.map +2 -2
  61. package/dist/cjs/TimeInput/utils.js +4 -5
  62. package/dist/cjs/TimeInput/utils.js.map +3 -3
  63. package/dist/cjs/Toggle/DSToggleImpl.js.map +2 -2
  64. package/dist/cjs/Toggle/DSToggleRender.js +13 -15
  65. package/dist/cjs/Toggle/DSToggleRender.js.map +2 -2
  66. package/dist/cjs/Toggle/toggleHelper.js +1 -7
  67. package/dist/cjs/Toggle/toggleHelper.js.map +2 -2
  68. package/dist/esm/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
  69. package/dist/esm/ComboBox/index.js.map +1 -1
  70. package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +28 -30
  71. package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
  72. package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js.map +2 -2
  73. package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js.map +2 -2
  74. package/dist/esm/DateInput/props.js +12 -33
  75. package/dist/esm/DateInput/props.js.map +2 -2
  76. package/dist/esm/DateInputV2/components/helpers.js.map +2 -2
  77. package/dist/esm/DateInputV2/components/props.js +8 -25
  78. package/dist/esm/DateInputV2/components/props.js.map +2 -2
  79. package/dist/esm/DateInputV2/components/propsTypes.js +1 -4
  80. package/dist/esm/DateInputV2/components/propsTypes.js.map +2 -2
  81. package/dist/esm/DateInputV2/components/styled.js.map +2 -2
  82. package/dist/esm/DateInputV2/components/utils.js +1 -4
  83. package/dist/esm/DateInputV2/components/utils.js.map +2 -2
  84. package/dist/esm/FloatingLabelInput/getSvgPath.js.map +2 -2
  85. package/dist/esm/FormItem/Label/DSLabel.js +1 -9
  86. package/dist/esm/FormItem/Label/DSLabel.js.map +2 -2
  87. package/dist/esm/FormItem/Suffix/Suffix.js.map +2 -2
  88. package/dist/esm/FormItem/ValidationFieldWrapper.js.map +2 -2
  89. package/dist/esm/Input/index.js.map +1 -1
  90. package/dist/esm/InputGroup/AddonWrapper.js +1 -7
  91. package/dist/esm/InputGroup/AddonWrapper.js.map +2 -2
  92. package/dist/esm/InputGroup/props.js +5 -12
  93. package/dist/esm/InputGroup/props.js.map +2 -2
  94. package/dist/esm/InputMask/DSInputMask.js +2 -6
  95. package/dist/esm/InputMask/DSInputMask.js.map +2 -2
  96. package/dist/esm/InputMask/InputMaskContext.js.map +1 -1
  97. package/dist/esm/InputMask/addons/AutoCorrectedDatePipe.js +3 -12
  98. package/dist/esm/InputMask/addons/AutoCorrectedDatePipe.js.map +2 -2
  99. package/dist/esm/InputMask/mask_types/DateInputMask.js +1 -5
  100. package/dist/esm/InputMask/mask_types/DateInputMask.js.map +2 -2
  101. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +1 -5
  102. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  103. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +1 -7
  104. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  105. package/dist/esm/InputMask/mask_types/PhoneInputMask.js +1 -5
  106. package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  107. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +1 -5
  108. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  109. package/dist/esm/InputMask/mask_types/SsnInputMask.js +1 -5
  110. package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +2 -2
  111. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +1 -5
  112. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  113. package/dist/esm/InputMask/mask_types/index.js.map +2 -2
  114. package/dist/esm/InputMask/props.js +19 -59
  115. package/dist/esm/InputMask/props.js.map +2 -2
  116. package/dist/esm/InputProtected/props.js +8 -21
  117. package/dist/esm/InputProtected/props.js.map +2 -2
  118. package/dist/esm/LargeInputText/DSLargeInputText.js +14 -23
  119. package/dist/esm/LargeInputText/DSLargeInputText.js.map +2 -2
  120. package/dist/esm/LargeInputText/props.js +13 -39
  121. package/dist/esm/LargeInputText/props.js.map +2 -2
  122. package/dist/esm/Radio/Circle.js.map +2 -2
  123. package/dist/esm/RadioGroup/DSRadioGroup.js.map +2 -2
  124. package/dist/esm/TimeInput/DSTimeInput.js +8 -19
  125. package/dist/esm/TimeInput/DSTimeInput.js.map +2 -2
  126. package/dist/esm/TimeInput/TimeInputImpl.js +1 -3
  127. package/dist/esm/TimeInput/TimeInputImpl.js.map +2 -2
  128. package/dist/esm/TimeInput/utils.js +1 -2
  129. package/dist/esm/TimeInput/utils.js.map +2 -2
  130. package/dist/esm/Toggle/DSToggleImpl.js.map +2 -2
  131. package/dist/esm/Toggle/DSToggleRender.js +13 -15
  132. package/dist/esm/Toggle/DSToggleRender.js.map +2 -2
  133. package/dist/esm/Toggle/toggleHelper.js +1 -7
  134. package/dist/esm/Toggle/toggleHelper.js.map +2 -2
  135. package/package.json +12 -12
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/TimeInput/utils.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { addLeadingZeros } from '@elliemae/ds-utilities';\nimport { parseInt, isNaN } from '@elliemae/ds-utilities';\nimport { AM, PM, ARROW_UP, ARROW_DOWN, SHIFT, PLACEHOLDER_TIME } from '@elliemae/ds-shared';\n\nconst isAM = (time) => time && time.hour() < 12;\n\nexport const isArrowIncrementDecrement = (key) => key === ARROW_DOWN || key === ARROW_UP || key === SHIFT;\n\nexport const setNativeValue = (element, value) => {\n if (!Object.getOwnPropertyDescriptor(element, 'value')) return;\n const valueSetter = Object.getOwnPropertyDescriptor(element, 'value').set;\n const prototype = Object.getPrototypeOf(element);\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set;\n\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter.call(element, value);\n } else {\n valueSetter.call(element, value);\n }\n element.dispatchEvent(new Event('input', { bubbles: true }));\n};\n\nexport const placeholderFormat = (position, format, use12Hours) => {\n if (position === PLACEHOLDER_TIME.hour) {\n return _placeholderHour(format, use12Hours);\n }\n if (position === PLACEHOLDER_TIME.minutes) {\n return format.indexOf('mm') > -1 ? 'mm' : 'm';\n }\n if (position === PLACEHOLDER_TIME.seconds) {\n return format.indexOf('ss') > -1 ? 'ss' : 's';\n }\n if (position === PLACEHOLDER_TIME.meridiem) {\n return format.indexOf('A') > -1 ? 'A' : 'a';\n }\n};\n\nconst _placeholderHour = (format, use12Hours) => {\n if (use12Hours) {\n return format.indexOf('hh') > -1 ? 'hh' : 'h';\n }\n return format.indexOf('HH') > -1 ? 'HH' : 'H';\n};\n\nconst formatTimeNumber = (value, shouldAddLeadingZeros) => {\n if (value === null || value === undefined) return '';\n return shouldAddLeadingZeros ? addLeadingZeros(2)(value) : String(value);\n};\n\nexport const formatMinutes = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('mm') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\nexport const formatSeconds = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('ss') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\nexport const formatHour = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('HH') > -1 || format.indexOf('hh') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\n\nexport const formatMeridiem = (format, value) => (format.indexOf('A') > -1 ? value.toUpperCase() : value.toLowerCase());\n\nexport const parseTimeNumberFromText = (stringValue) => {\n const parsedInt = parseInt(stringValue);\n if (isNaN(parsedInt)) return null;\n\n return parsedInt;\n};\n\nexport const focusNextInput = (currentEl) => {\n const nextElement = currentEl.nextElementSibling;\n if (nextElement && nextElement.nextElementSibling) {\n nextElement.nextElementSibling.focus();\n }\n};\n\nexport const focusPreviousInput = (currentEl) => {\n const previousElement = currentEl.previousElementSibling;\n if (previousElement && previousElement.previousElementSibling) {\n previousElement.previousElementSibling.focus();\n }\n};\n\nexport const getValidTimeNumber = ({ min, max }, number, typed) => {\n if (number === undefined || number === null) return null;\n if (number > max) {\n if (isNaN(typed)) return parseInt(typed);\n return max;\n }\n if (number < min) return min;\n return number;\n};\n\nexport const shouldFocusNextInput = (max, number = 0, stringValue) => {\n const safeString = String(stringValue);\n const cleanString = safeString.startsWith('00') ? safeString.slice(1) : safeString;\n return number * 10 > max || String(max).length === cleanString.length;\n};\n\nexport const getTimeValuesFromTime = (time, format, use12Hours) => {\n if (!time || !time.hour) return {};\n const hours = use12Hours ? time.hour() % 12 || 12 : time.hour();\n const minutes = time.minutes();\n const seconds = time.seconds();\n const meridiem = !isAM(time) ? PM : AM;\n\n return {\n hours: formatHour(format, hours),\n minutes: formatMinutes(format, minutes),\n seconds: formatSeconds(format, seconds),\n meridiem,\n };\n};\n\nexport const resetTimeValues = () => ({\n hours: '',\n minutes: '',\n seconds: '',\n meridiem: AM,\n});\n\nexport const commonInputProps = (onKeyDown, onInputFocus, onClick) => ({\n pattern: '[0-9]*',\n type: 'text',\n onKeyDown,\n onClick,\n onFocus: onInputFocus,\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { addLeadingZeros, parseInt, isNaN } from '@elliemae/ds-utilities';\nimport { AM, PM, ARROW_UP, ARROW_DOWN, SHIFT, PLACEHOLDER_TIME } from '@elliemae/ds-shared';\n\nconst isAM = (time) => time && time.hour() < 12;\n\nexport const isArrowIncrementDecrement = (key) => key === ARROW_DOWN || key === ARROW_UP || key === SHIFT;\n\nexport const setNativeValue = (element, value) => {\n if (!Object.getOwnPropertyDescriptor(element, 'value')) return;\n const valueSetter = Object.getOwnPropertyDescriptor(element, 'value').set;\n const prototype = Object.getPrototypeOf(element);\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set;\n\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter.call(element, value);\n } else {\n valueSetter.call(element, value);\n }\n element.dispatchEvent(new Event('input', { bubbles: true }));\n};\n\nexport const placeholderFormat = (position, format, use12Hours) => {\n if (position === PLACEHOLDER_TIME.hour) {\n return _placeholderHour(format, use12Hours);\n }\n if (position === PLACEHOLDER_TIME.minutes) {\n return format.indexOf('mm') > -1 ? 'mm' : 'm';\n }\n if (position === PLACEHOLDER_TIME.seconds) {\n return format.indexOf('ss') > -1 ? 'ss' : 's';\n }\n if (position === PLACEHOLDER_TIME.meridiem) {\n return format.indexOf('A') > -1 ? 'A' : 'a';\n }\n};\n\nconst _placeholderHour = (format, use12Hours) => {\n if (use12Hours) {\n return format.indexOf('hh') > -1 ? 'hh' : 'h';\n }\n return format.indexOf('HH') > -1 ? 'HH' : 'H';\n};\n\nconst formatTimeNumber = (value, shouldAddLeadingZeros) => {\n if (value === null || value === undefined) return '';\n return shouldAddLeadingZeros ? addLeadingZeros(2)(value) : String(value);\n};\n\nexport const formatMinutes = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('mm') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\nexport const formatSeconds = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('ss') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\nexport const formatHour = (format, value) => {\n const shouldAddLeadingZeros = format.indexOf('HH') > -1 || format.indexOf('hh') > -1;\n return formatTimeNumber(value, shouldAddLeadingZeros);\n};\n\nexport const formatMeridiem = (format, value) => (format.indexOf('A') > -1 ? value.toUpperCase() : value.toLowerCase());\n\nexport const parseTimeNumberFromText = (stringValue) => {\n const parsedInt = parseInt(stringValue);\n if (isNaN(parsedInt)) return null;\n\n return parsedInt;\n};\n\nexport const focusNextInput = (currentEl) => {\n const nextElement = currentEl.nextElementSibling;\n if (nextElement && nextElement.nextElementSibling) {\n nextElement.nextElementSibling.focus();\n }\n};\n\nexport const focusPreviousInput = (currentEl) => {\n const previousElement = currentEl.previousElementSibling;\n if (previousElement && previousElement.previousElementSibling) {\n previousElement.previousElementSibling.focus();\n }\n};\n\nexport const getValidTimeNumber = ({ min, max }, number, typed) => {\n if (number === undefined || number === null) return null;\n if (number > max) {\n if (isNaN(typed)) return parseInt(typed);\n return max;\n }\n if (number < min) return min;\n return number;\n};\n\nexport const shouldFocusNextInput = (max, number = 0, stringValue) => {\n const safeString = String(stringValue);\n const cleanString = safeString.startsWith('00') ? safeString.slice(1) : safeString;\n return number * 10 > max || String(max).length === cleanString.length;\n};\n\nexport const getTimeValuesFromTime = (time, format, use12Hours) => {\n if (!time || !time.hour) return {};\n const hours = use12Hours ? time.hour() % 12 || 12 : time.hour();\n const minutes = time.minutes();\n const seconds = time.seconds();\n const meridiem = !isAM(time) ? PM : AM;\n\n return {\n hours: formatHour(format, hours),\n minutes: formatMinutes(format, minutes),\n seconds: formatSeconds(format, seconds),\n meridiem,\n };\n};\n\nexport const resetTimeValues = () => ({\n hours: '',\n minutes: '',\n seconds: '',\n meridiem: AM,\n});\n\nexport const commonInputProps = (onKeyDown, onInputFocus, onClick) => ({\n pattern: '[0-9]*',\n type: 'text',\n onKeyDown,\n onClick,\n onFocus: onInputFocus,\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/Toggle/DSToggleImpl.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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 ******************************************************\n MouseEvents\n ******************************************************* *\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 ******************************************************\n Touch\n ******************************************************* *\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"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -33,18 +33,18 @@ const DSToggleRender = ({
33
33
  size = "s",
34
34
  defaultState
35
35
  }) => {
36
- const {
37
- cssClassName,
38
- classNameBlock,
39
- classNameElement
40
- } = convertPropToCssClassName("form-element-toggle", className, {
41
- hasError,
42
- readOnly,
43
- disabled,
44
- checked,
45
- id,
46
- size
47
- });
36
+ const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(
37
+ "form-element-toggle",
38
+ className,
39
+ {
40
+ hasError,
41
+ readOnly,
42
+ disabled,
43
+ checked,
44
+ id,
45
+ size
46
+ }
47
+ );
48
48
  const allowChange = disabled || readOnly;
49
49
  let label = checked ? /* @__PURE__ */ jsx("div", {
50
50
  className: classNameElement("icon-on"),
@@ -66,9 +66,7 @@ const DSToggleRender = ({
66
66
  "aria-disabled": disabled,
67
67
  defaultChecked: checked,
68
68
  defaultValue: value,
69
- ...onClickHandlerForNonInteractiveElements(
70
- allowChange ? null : onChange
71
- ),
69
+ ...onClickHandlerForNonInteractiveElements(allowChange ? null : onChange),
72
70
  ref: containerRef,
73
71
  className: `${cssClassName} ${defaultState ? "default-state-checked" : ""}${hide ? " ds-form-element-toggle-hide" : ""}`,
74
72
  onBlur,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/Toggle/DSToggleRender.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { onClickHandlerForNonInteractiveElements } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSTooltip } from '@elliemae/ds-tooltip';\n\nconst DSToggleRender = ({\n containerProps,\n id,\n className = '',\n style = {},\n hasError = false,\n hide,\n readOnly = false,\n disabled = false,\n checked = false,\n onBlur = () => null,\n onFocus = () => null,\n onChange = () => null,\n onMouseDown = () => null,\n onMouseEnter = () => null,\n onMouseLeave = () => null,\n onTouchCancel = () => null,\n onTouchEnd = () => null,\n onTouchMove = () => null,\n onTouchStart = () => null,\n labelOn = 'ON',\n labelOff = 'OFF',\n dragStyle = {},\n containerRef = null,\n handRef = null,\n name = '',\n value = '',\n size = 's',\n defaultState,\n}) => {\n const {\n cssClassName,\n classNameBlock,\n classNameElement,\n } = convertPropToCssClassName('form-element-toggle', className, {\n hasError,\n readOnly,\n disabled,\n checked,\n id,\n size,\n });\n const allowChange = disabled || readOnly;\n\n let label = checked ? (\n <div className={classNameElement('icon-on')}>{labelOn}</div>\n ) : (\n <div className={classNameElement('icon-off')}>{labelOff}</div>\n );\n\n if (readOnly) {\n label = (\n <DSTooltip\n interactionType=\"hover\"\n title=\"Read Only\"\n triggerComponent={label}\n />\n );\n }\n\n return (\n <div\n data-testid=\"em-ds-toggle\"\n {...containerProps}\n aria-disabled={disabled}\n defaultChecked={checked}\n defaultValue={value}\n {...onClickHandlerForNonInteractiveElements(\n allowChange ? null : onChange,\n )}\n ref={containerRef}\n className={`${cssClassName} ${\n defaultState ? 'default-state-checked' : ''\n }${hide ? ' ds-form-element-toggle-hide' : ''}`}\n onBlur={onBlur}\n onFocus={onFocus}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n aria-checked={checked}\n role=\"checkbox\"\n tabIndex={0}\n >\n <div className={classNameBlock('box')}>{label}</div>\n <div\n ref={handRef}\n aria-checked={checked}\n aria-disabled={disabled}\n className={`${classNameElement('input')} ${\n defaultState ? 'default-state-checked' : ''\n }`}\n onMouseDown={allowChange ? null : onMouseDown}\n onMouseEnter={allowChange ? null : onMouseEnter}\n onMouseLeave={allowChange ? null : onMouseLeave}\n onTouchCancel={allowChange ? null : onTouchCancel}\n onTouchEnd={allowChange ? null : onTouchEnd}\n onTouchMove={allowChange ? null : onTouchMove}\n onTouchStart={allowChange ? null : onTouchStart}\n style={{\n ...style,\n ...dragStyle,\n }}\n />\n <input\n className={classNameElement('hidden-checkbox')}\n defaultChecked={checked}\n defaultValue={value}\n name={name}\n type=\"checkbox\"\n />\n </div>\n );\n};\n\nexport { DSToggleRender };\nexport default DSToggleRender;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACoDnB,cAgBA,YAhBA;AAjDJ,SAAS,+CAA+C;AACxD,SAAS,iCAAiC;AAC1C,SAAS,iBAAiB;AAE1B,MAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ,CAAC;AAAA,EACT,WAAW;AAAA,EACX;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS,MAAM;AAAA,EACf,UAAU,MAAM;AAAA,EAChB,WAAW,MAAM;AAAA,EACjB,cAAc,MAAM;AAAA,EACpB,eAAe,MAAM;AAAA,EACrB,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,aAAa,MAAM;AAAA,EACnB,cAAc,MAAM;AAAA,EACpB,eAAe,MAAM;AAAA,EACrB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY,CAAC;AAAA,EACb,eAAe;AAAA,EACf,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AACF,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,0BAA0B,uBAAuB,WAAW;AAAA,IAC9D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,cAAc,YAAY;AAEhC,MAAI,QAAQ,UACV,oBAAC;AAAA,IAAI,WAAW,iBAAiB,SAAS;AAAA,IAAI;AAAA,GAAQ,IAEtD,oBAAC;AAAA,IAAI,WAAW,iBAAiB,UAAU;AAAA,IAAI;AAAA,GAAS;AAG1D,MAAI,UAAU;AACZ,YACE,oBAAC;AAAA,MACC,iBAAgB;AAAA,MAChB,OAAM;AAAA,MACN,kBAAkB;AAAA,KACpB;AAAA,EAEJ;AAEA,SACE,qBAAC;AAAA,IACC,eAAY;AAAA,IACX,GAAG;AAAA,IACJ,iBAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACb,GAAG;AAAA,MACF,cAAc,OAAO;AAAA,IACvB;AAAA,IACA,KAAK;AAAA,IACL,WAAW,GAAG,gBACZ,eAAe,0BAA0B,KACxC,OAAO,iCAAiC;AAAA,IAC3C;AAAA,IACA;AAAA,IAEA,gBAAc;AAAA,IACd,MAAK;AAAA,IACL,UAAU;AAAA,IAEV;AAAA,0BAAC;AAAA,QAAI,WAAW,eAAe,KAAK;AAAA,QAAI;AAAA,OAAM;AAAA,MAC9C,oBAAC;AAAA,QACC,KAAK;AAAA,QACL,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,WAAW,GAAG,iBAAiB,OAAO,KACpC,eAAe,0BAA0B;AAAA,QAE3C,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,cAAc,OAAO;AAAA,QACnC,cAAc,cAAc,OAAO;AAAA,QACnC,eAAe,cAAc,OAAO;AAAA,QACpC,YAAY,cAAc,OAAO;AAAA,QACjC,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,cAAc,OAAO;AAAA,QACnC,OAAO;AAAA,UACL,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,OACF;AAAA,MACA,oBAAC;AAAA,QACC,WAAW,iBAAiB,iBAAiB;AAAA,QAC7C,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd;AAAA,QACA,MAAK;AAAA,OACP;AAAA;AAAA,GACF;AAEJ;AAGA,IAAO,yBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { onClickHandlerForNonInteractiveElements } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSTooltip } from '@elliemae/ds-tooltip';\n\nconst DSToggleRender = ({\n containerProps,\n id,\n className = '',\n style = {},\n hasError = false,\n hide,\n readOnly = false,\n disabled = false,\n checked = false,\n onBlur = () => null,\n onFocus = () => null,\n onChange = () => null,\n onMouseDown = () => null,\n onMouseEnter = () => null,\n onMouseLeave = () => null,\n onTouchCancel = () => null,\n onTouchEnd = () => null,\n onTouchMove = () => null,\n onTouchStart = () => null,\n labelOn = 'ON',\n labelOff = 'OFF',\n dragStyle = {},\n containerRef = null,\n handRef = null,\n name = '',\n value = '',\n size = 's',\n defaultState,\n}) => {\n const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(\n 'form-element-toggle',\n className,\n {\n hasError,\n readOnly,\n disabled,\n checked,\n id,\n size,\n },\n );\n const allowChange = disabled || readOnly;\n\n let label = checked ? (\n <div className={classNameElement('icon-on')}>{labelOn}</div>\n ) : (\n <div className={classNameElement('icon-off')}>{labelOff}</div>\n );\n\n if (readOnly) {\n label = <DSTooltip interactionType=\"hover\" title=\"Read Only\" triggerComponent={label} />;\n }\n\n return (\n <div\n data-testid=\"em-ds-toggle\"\n {...containerProps}\n aria-disabled={disabled}\n defaultChecked={checked}\n defaultValue={value}\n {...onClickHandlerForNonInteractiveElements(allowChange ? null : onChange)}\n ref={containerRef}\n className={`${cssClassName} ${defaultState ? 'default-state-checked' : ''}${\n hide ? ' ds-form-element-toggle-hide' : ''\n }`}\n onBlur={onBlur}\n onFocus={onFocus}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n aria-checked={checked}\n role=\"checkbox\"\n tabIndex={0}\n >\n <div className={classNameBlock('box')}>{label}</div>\n <div\n ref={handRef}\n aria-checked={checked}\n aria-disabled={disabled}\n className={`${classNameElement('input')} ${defaultState ? 'default-state-checked' : ''}`}\n onMouseDown={allowChange ? null : onMouseDown}\n onMouseEnter={allowChange ? null : onMouseEnter}\n onMouseLeave={allowChange ? null : onMouseLeave}\n onTouchCancel={allowChange ? null : onTouchCancel}\n onTouchEnd={allowChange ? null : onTouchEnd}\n onTouchMove={allowChange ? null : onTouchMove}\n onTouchStart={allowChange ? null : onTouchStart}\n style={{\n ...style,\n ...dragStyle,\n }}\n />\n <input\n className={classNameElement('hidden-checkbox')}\n defaultChecked={checked}\n defaultValue={value}\n name={name}\n type=\"checkbox\"\n />\n </div>\n );\n};\n\nexport { DSToggleRender };\nexport default DSToggleRender;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACoDnB,cAUA,YAVA;AAjDJ,SAAS,+CAA+C;AACxD,SAAS,iCAAiC;AAC1C,SAAS,iBAAiB;AAE1B,MAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ,CAAC;AAAA,EACT,WAAW;AAAA,EACX;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS,MAAM;AAAA,EACf,UAAU,MAAM;AAAA,EAChB,WAAW,MAAM;AAAA,EACjB,cAAc,MAAM;AAAA,EACpB,eAAe,MAAM;AAAA,EACrB,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,aAAa,MAAM;AAAA,EACnB,cAAc,MAAM;AAAA,EACpB,eAAe,MAAM;AAAA,EACrB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY,CAAC;AAAA,EACb,eAAe;AAAA,EACf,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AACF,MAAM;AACJ,QAAM,EAAE,cAAc,gBAAgB,iBAAiB,IAAI;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,cAAc,YAAY;AAEhC,MAAI,QAAQ,UACV,oBAAC;AAAA,IAAI,WAAW,iBAAiB,SAAS;AAAA,IAAI;AAAA,GAAQ,IAEtD,oBAAC;AAAA,IAAI,WAAW,iBAAiB,UAAU;AAAA,IAAI;AAAA,GAAS;AAG1D,MAAI,UAAU;AACZ,YAAQ,oBAAC;AAAA,MAAU,iBAAgB;AAAA,MAAQ,OAAM;AAAA,MAAY,kBAAkB;AAAA,KAAO;AAAA,EACxF;AAEA,SACE,qBAAC;AAAA,IACC,eAAY;AAAA,IACX,GAAG;AAAA,IACJ,iBAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACb,GAAG,wCAAwC,cAAc,OAAO,QAAQ;AAAA,IACzE,KAAK;AAAA,IACL,WAAW,GAAG,gBAAgB,eAAe,0BAA0B,KACrE,OAAO,iCAAiC;AAAA,IAE1C;AAAA,IACA;AAAA,IAEA,gBAAc;AAAA,IACd,MAAK;AAAA,IACL,UAAU;AAAA,IAEV;AAAA,0BAAC;AAAA,QAAI,WAAW,eAAe,KAAK;AAAA,QAAI;AAAA,OAAM;AAAA,MAC9C,oBAAC;AAAA,QACC,KAAK;AAAA,QACL,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,WAAW,GAAG,iBAAiB,OAAO,KAAK,eAAe,0BAA0B;AAAA,QACpF,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,cAAc,OAAO;AAAA,QACnC,cAAc,cAAc,OAAO;AAAA,QACnC,eAAe,cAAc,OAAO;AAAA,QACpC,YAAY,cAAc,OAAO;AAAA,QACjC,aAAa,cAAc,OAAO;AAAA,QAClC,cAAc,cAAc,OAAO;AAAA,QACnC,OAAO;AAAA,UACL,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,OACF;AAAA,MACA,oBAAC;AAAA,QACC,WAAW,iBAAiB,iBAAiB;AAAA,QAC7C,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd;AAAA,QACA,MAAK;AAAA,OACP;AAAA;AAAA,GACF;AAEJ;AAGA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,11 +1,5 @@
1
1
  import * as React from "react";
2
- const isValidDrag = ({
3
- inside,
4
- circleWidth,
5
- drag,
6
- checked,
7
- boxWidth
8
- }) => {
2
+ const isValidDrag = ({ inside, circleWidth, drag, checked, boxWidth }) => {
9
3
  const difference = boxWidth - circleWidth;
10
4
  return checked ? !inside && -drag > difference / 2 : !inside && drag > boxWidth / 3;
11
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/Toggle/toggleHelper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const isValidDrag = ({\n inside,\n circleWidth,\n drag,\n checked,\n boxWidth,\n}) => {\n const difference = boxWidth - circleWidth;\n return checked\n ? !inside && -drag > difference / 2\n : !inside && drag > boxWidth / 3;\n};\n\nexport const cleanDrag = () => ({\n startPoint: null,\n isDragging: false,\n});\n\n// eslint-disable-next-line complexity\nexport const calculateDrag = (\n clientX,\n { startPoint, checked, isDragging, boxWidth, circleWidth },\n) => {\n if (!isDragging) return null;\n const move = startPoint - clientX;\n const drag = !checked ? clientX - startPoint : boxWidth - circleWidth - move;\n if (!checked && clientX > 0 && clientX > startPoint && drag < boxWidth * 0.7)\n return drag;\n if (checked && clientX > 0 && clientX < startPoint && move < boxWidth * 0.7)\n return drag;\n return null;\n};\n\nexport const dragStartingPoints = (checked) => ({ circleWidth, boxWidth }) => {\n if (checked) return { drag: boxWidth - circleWidth };\n return {\n drag: 0,\n };\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,WAAW;AAC9B,SAAO,UACH,CAAC,UAAU,CAAC,OAAO,aAAa,IAChC,CAAC,UAAU,OAAO,WAAW;AACnC;AAEO,MAAM,YAAY,OAAO;AAAA,EAC9B,YAAY;AAAA,EACZ,YAAY;AACd;AAGO,MAAM,gBAAgB,CAC3B,SACA,EAAE,YAAY,SAAS,YAAY,UAAU,YAAY,MACtD;AACH,MAAI,CAAC;AAAY,WAAO;AACxB,QAAM,OAAO,aAAa;AAC1B,QAAM,OAAO,CAAC,UAAU,UAAU,aAAa,WAAW,cAAc;AACxE,MAAI,CAAC,WAAW,UAAU,KAAK,UAAU,cAAc,OAAO,WAAW;AACvE,WAAO;AACT,MAAI,WAAW,UAAU,KAAK,UAAU,cAAc,OAAO,WAAW;AACtE,WAAO;AACT,SAAO;AACT;AAEO,MAAM,qBAAqB,CAAC,YAAY,CAAC,EAAE,aAAa,SAAS,MAAM;AAC5E,MAAI;AAAS,WAAO,EAAE,MAAM,WAAW,YAAY;AACnD,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const isValidDrag = ({ inside, circleWidth, drag, checked, boxWidth }) => {\n const difference = boxWidth - circleWidth;\n return checked ? !inside && -drag > difference / 2 : !inside && drag > boxWidth / 3;\n};\n\nexport const cleanDrag = () => ({\n startPoint: null,\n isDragging: false,\n});\n\n// eslint-disable-next-line complexity\nexport const calculateDrag = (clientX, { startPoint, checked, isDragging, boxWidth, circleWidth }) => {\n if (!isDragging) return null;\n const move = startPoint - clientX;\n const drag = !checked ? clientX - startPoint : boxWidth - circleWidth - move;\n if (!checked && clientX > 0 && clientX > startPoint && drag < boxWidth * 0.7) return drag;\n if (checked && clientX > 0 && clientX < startPoint && move < boxWidth * 0.7) return drag;\n return null;\n};\n\nexport const dragStartingPoints =\n (checked) =>\n ({ circleWidth, boxWidth }) => {\n if (checked) return { drag: boxWidth - circleWidth };\n return {\n drag: 0,\n };\n };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,cAAc,CAAC,EAAE,QAAQ,aAAa,MAAM,SAAS,SAAS,MAAM;AAC/E,QAAM,aAAa,WAAW;AAC9B,SAAO,UAAU,CAAC,UAAU,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,OAAO,WAAW;AACpF;AAEO,MAAM,YAAY,OAAO;AAAA,EAC9B,YAAY;AAAA,EACZ,YAAY;AACd;AAGO,MAAM,gBAAgB,CAAC,SAAS,EAAE,YAAY,SAAS,YAAY,UAAU,YAAY,MAAM;AACpG,MAAI,CAAC;AAAY,WAAO;AACxB,QAAM,OAAO,aAAa;AAC1B,QAAM,OAAO,CAAC,UAAU,UAAU,aAAa,WAAW,cAAc;AACxE,MAAI,CAAC,WAAW,UAAU,KAAK,UAAU,cAAc,OAAO,WAAW;AAAK,WAAO;AACrF,MAAI,WAAW,UAAU,KAAK,UAAU,cAAc,OAAO,WAAW;AAAK,WAAO;AACpF,SAAO;AACT;AAEO,MAAM,qBACX,CAAC,YACC,CAAC,EAAE,aAAa,SAAS,MAAM;AAC7B,MAAI;AAAS,WAAO,EAAE,MAAM,WAAW,YAAY;AACnD,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-form",
3
- "version": "3.12.0-next.0",
3
+ "version": "3.12.0-next.1",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Form",
6
6
  "files": [
@@ -475,17 +475,17 @@
475
475
  "indent": 4
476
476
  },
477
477
  "dependencies": {
478
- "@elliemae/ds-button": "3.12.0-next.0",
479
- "@elliemae/ds-classnames": "3.12.0-next.0",
480
- "@elliemae/ds-common": "3.12.0-next.0",
481
- "@elliemae/ds-grid": "3.12.0-next.0",
482
- "@elliemae/ds-icons": "3.12.0-next.0",
483
- "@elliemae/ds-shared": "3.12.0-next.0",
484
- "@elliemae/ds-system": "3.12.0-next.0",
485
- "@elliemae/ds-text-wrapper": "3.12.0-next.0",
486
- "@elliemae/ds-tooltip": "3.12.0-next.0",
487
- "@elliemae/ds-truncated-tooltip-text": "3.12.0-next.0",
488
- "@elliemae/ds-utilities": "3.12.0-next.0",
478
+ "@elliemae/ds-button": "3.12.0-next.1",
479
+ "@elliemae/ds-classnames": "3.12.0-next.1",
480
+ "@elliemae/ds-common": "3.12.0-next.1",
481
+ "@elliemae/ds-grid": "3.12.0-next.1",
482
+ "@elliemae/ds-icons": "3.12.0-next.1",
483
+ "@elliemae/ds-shared": "3.12.0-next.1",
484
+ "@elliemae/ds-system": "3.12.0-next.1",
485
+ "@elliemae/ds-text-wrapper": "3.12.0-next.1",
486
+ "@elliemae/ds-tooltip": "3.12.0-next.1",
487
+ "@elliemae/ds-truncated-tooltip-text": "3.12.0-next.1",
488
+ "@elliemae/ds-utilities": "3.12.0-next.1",
489
489
  "memoize-one": "~6.0.0",
490
490
  "moment": "~2.29.3",
491
491
  "prop-types": "~15.8.1",