@elliemae/ds-slider 1.56.0-rc.2 → 1.57.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/DSSlider.js CHANGED
@@ -9,7 +9,7 @@ var propTypes = require('./prop-types.js');
9
9
  require('@babel/runtime/helpers/slicedToArray');
10
10
  require('uuid');
11
11
  require('react-range');
12
- require('@elliemae/ds-utilities/hooks/usePrevious');
12
+ require('@elliemae/ds-utilities');
13
13
  require('@elliemae/ds-truncated-tooltip-text');
14
14
  require('@elliemae/ds-grid');
15
15
  require('./components/Track.js');
@@ -24,7 +24,6 @@ require('@babel/runtime/helpers/defineProperty');
24
24
  require('prop-types');
25
25
  require('@elliemae/ds-tooltip');
26
26
  require('./components/utils.js');
27
- require('@elliemae/ds-utilities/utils');
28
27
  require('./components/styled.js');
29
28
 
30
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1 +1 @@
1
- {"version":3,"file":"DSSlider.js","sources":["../../src/DSSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\n\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],"names":["DSSlider","props","React","SliderImp","defaultProps","propTypes","sliderPropTypes","DSSliderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AAAA,sBAAWC,wCAACC,oBAAD,EAAeF,KAAf,CAAX;AAAA;;AAEjBD,QAAQ,CAACI,YAAT,GAAwBA,sBAAxB;AACAJ,QAAQ,CAACK,SAAT,GAAqBC,yBAArB;IAEMC,kBAAkB,GAAGC,kBAAQ,CAACR,QAAD;AACnCO,kBAAkB,CAACF,SAAnB,GAA+BC,yBAA/B;;;;;;"}
1
+ {"version":3,"file":"DSSlider.js","sources":["../../src/DSSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\n\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],"names":["DSSlider","props","React","SliderImp","defaultProps","propTypes","sliderPropTypes","DSSliderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AAAA,sBAAWC,wCAACC,oBAAD,EAAeF,KAAf,CAAX;AAAA;;AAEjBD,QAAQ,CAACI,YAAT,GAAwBA,sBAAxB;AACAJ,QAAQ,CAACK,SAAT,GAAqBC,yBAArB;IAEMC,kBAAkB,GAAGC,kBAAQ,CAACR,QAAD;AACnCO,kBAAkB,CAACF,SAAnB,GAA+BC,yBAA/B;;;;;;"}
@@ -4,7 +4,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var React = require('react');
5
5
  var uuid = require('uuid');
6
6
  var reactRange = require('react-range');
7
- var usePrevious = require('@elliemae/ds-utilities/hooks/usePrevious');
7
+ var dsUtilities = require('@elliemae/ds-utilities');
8
8
  var DSTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
9
9
  var dsGrid = require('@elliemae/ds-grid');
10
10
  var components_Track = require('./Track.js');
@@ -20,13 +20,11 @@ require('./TickMarksValues.js');
20
20
  require('@babel/runtime/helpers/defineProperty');
21
21
  require('prop-types');
22
22
  require('@elliemae/ds-tooltip');
23
- require('@elliemae/ds-utilities/utils');
24
23
 
25
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
25
 
27
26
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
28
27
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
- var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
30
28
  var DSTruncatedTooltipText__default = /*#__PURE__*/_interopDefaultLegacy(DSTruncatedTooltipText);
31
29
 
32
30
  var getSubArrayFromRange = function getSubArrayFromRange(arr, _ref) {
@@ -124,7 +122,7 @@ var SliderImp = function SliderImp(props) {
124
122
  var selectedRangeValues = getSubArrayFromRange(parsedValuesArray, rangeValues, !!(customTickMarksValues !== null && customTickMarksValues !== void 0 && customTickMarksValues.length));
125
123
  setFullSelectedValues(selectedRangeValues);
126
124
  }, [parsedValuesArray, rangeValues, customTickMarksValues === null || customTickMarksValues === void 0 ? void 0 : customTickMarksValues.length]);
127
- var prevWithTwoHandles = usePrevious__default['default'](withTwoHandles);
125
+ var prevWithTwoHandles = dsUtilities.usePrevious(withTwoHandles);
128
126
 
129
127
  var resizeHandler = function resizeHandler() {
130
128
  var _ref$current;
@@ -1 +1 @@
1
- {"version":3,"file":"SliderImp.js","sources":["../../../src/components/SliderImp.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport usePrevious from '@elliemae/ds-utilities/hooks/usePrevious';\nimport DSTruncatedTooltipText, {\n TooltipTextProvider,\n} from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport {\n LabelWrapper,\n StyledRangeWrapper,\n LabelText,\n ValueText,\n} from './styled';\nimport { conformedLabel } from './utils';\nimport { SliderContext } from './context';\n\nconst getSubArrayFromRange = (\n arr,\n [minVal, maxVal], // maxValue is undefined when only one handler\n isCustomTickMarksValues = false,\n) => {\n const trueMinVal = isCustomTickMarksValues ? arr[minVal] : minVal;\n const minIndex = arr.findIndex((el) => el === trueMinVal);\n\n if (maxVal !== undefined) {\n // if two handlers, return the found slice\n const trueMaxVal = isCustomTickMarksValues ? arr[maxVal] : maxVal;\n const maxIndex = arr.findIndex((el) => el === trueMaxVal);\n\n if (minIndex >= 0 && maxIndex > minIndex)\n return arr.slice(minIndex, maxIndex + 1);\n return [];\n }\n // if only one handler, return the value in an array\n return [trueMinVal];\n};\n\nconst SliderImp = (props) => {\n const {\n containerProps,\n disabled,\n label,\n labelWithValue,\n minValue,\n maxValue,\n step,\n onChange,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n zIndex,\n } = props;\n const ref = useRef();\n const [width, setWidth] = useState(0);\n const sliderUUID = useMemo(() => uuidv4(), []);\n\n const parsedMinValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 0;\n return minValue;\n }, [customTickMarksValues?.length, minValue]);\n const parsedMaxValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues?.length - 1;\n return maxValue;\n }, [customTickMarksValues?.length, maxValue]);\n const parsedStep = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 1;\n return step;\n }, [customTickMarksValues?.length, step]);\n\n const parsedValuesArray = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues;\n const newLength = Math.ceil(maxValue / step);\n const valuesArray = [];\n for (let i = 0; i <= newLength; i += 1) {\n valuesArray.push(step * i);\n }\n\n return valuesArray;\n }, [customTickMarksValues?.length, minValue, maxValue, step]);\n\n const [rangeValues, setRangeValues] = useState(\n withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue],\n );\n // track the full slice of values selected instead of only the limits\n // this is important to handle the selected range labels colors\n const [fullSelectedValues, setFullSelectedValues] = useState([]);\n useEffect(() => {\n const selectedRangeValues = getSubArrayFromRange(\n parsedValuesArray,\n rangeValues,\n !!customTickMarksValues?.length,\n );\n setFullSelectedValues(selectedRangeValues);\n }, [parsedValuesArray, rangeValues, customTickMarksValues?.length]);\n\n const prevWithTwoHandles = usePrevious(withTwoHandles);\n const resizeHandler = () => {\n setWidth(0);\n setWidth(ref.current?.clientWidth);\n };\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n return () => window.removeEventListener('resize', resizeHandler);\n });\n useEffect(() => {\n if (!prevWithTwoHandles && withTwoHandles) {\n setRangeValues([parsedMinValue, parsedMaxValue]);\n } else if (prevWithTwoHandles && !withTwoHandles) {\n setRangeValues([parsedMinValue]);\n }\n }, [withTwoHandles]);\n\n useEffect(() => {\n setWidth(ref.current?.clientWidth);\n }, [ref.current?.clientWidth]);\n\n const [finalLabelText, finalValueText] = useMemo(\n () =>\n conformedLabel(\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ),\n [\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n return (\n <TooltipTextProvider>\n <div ref={ref}>\n <Grid\n width=\"100%\"\n style={{ maxWidth: '100%' }}\n containerProps={containerProps}\n data-testid=\"slider\"\n rows={['auto', 'auto']}\n >\n <SliderContext.Provider\n value={{\n disabled,\n sliderUUID,\n label,\n labelWithValue,\n minValue: parsedMinValue,\n maxValue: parsedMaxValue,\n step: parsedStep,\n parsedValuesArray,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n rangeValues,\n fullSelectedValues,\n zIndex,\n }}\n >\n {finalLabelText && (\n <LabelWrapper width={width}>\n <DSTruncatedTooltipText value={SliderLabel} />\n </LabelWrapper>\n )}\n <StyledRangeWrapper>\n <Range\n step={parsedStep}\n min={parsedMinValue}\n max={parsedMaxValue}\n values={rangeValues}\n disabled={disabled}\n onChange={(values) => {\n if (withTwoHandles && values[0] === values[1]) return;\n setRangeValues(values);\n onChange(values);\n }}\n renderTrack={({ props: trackProps, children }) => (\n <Track props={trackProps}>{children}</Track>\n )}\n renderThumb={(renderArgs) => {\n const { index, props: thumbProps, isDragged } = renderArgs;\n return (\n <Thumb\n key={`${sliderUUID}-${thumbProps.key}`}\n props={thumbProps}\n isDragged={isDragged}\n index={index}\n />\n );\n }}\n allowOverlap={false}\n />\n </StyledRangeWrapper>\n </SliderContext.Provider>\n </Grid>\n </div>\n </TooltipTextProvider>\n );\n};\n\n// SliderImp.propTypes = sliderPropTypes;\n\nexport default SliderImp;\n"],"names":["getSubArrayFromRange","arr","minVal","maxVal","isCustomTickMarksValues","trueMinVal","minIndex","findIndex","el","undefined","trueMaxVal","maxIndex","slice","SliderImp","props","containerProps","disabled","label","labelWithValue","minValue","maxValue","step","onChange","withTickMarks","withTickMarksValues","withTwoHandles","customTickMarksValues","zIndex","ref","useRef","useState","width","setWidth","sliderUUID","useMemo","uuidv4","parsedMinValue","length","parsedMaxValue","parsedStep","parsedValuesArray","newLength","Math","ceil","valuesArray","i","push","rangeValues","setRangeValues","fullSelectedValues","setFullSelectedValues","useEffect","selectedRangeValues","prevWithTwoHandles","usePrevious","resizeHandler","current","clientWidth","window","addEventListener","removeEventListener","conformedLabel","finalLabelText","finalValueText","SliderLabel","React","LabelText","ValueText","TooltipTextProvider","Grid","maxWidth","SliderContext","LabelWrapper","DSTruncatedTooltipText","StyledRangeWrapper","Range","values","trackProps","children","Track","renderArgs","index","thumbProps","isDragged","Thumb","key"],"mappings":"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"}
1
+ {"version":3,"file":"SliderImp.js","sources":["../../../src/components/SliderImp.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport { usePrevious } from '@elliemae/ds-utilities';\nimport DSTruncatedTooltipText, {\n TooltipTextProvider,\n} from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport {\n LabelWrapper,\n StyledRangeWrapper,\n LabelText,\n ValueText,\n} from './styled';\nimport { conformedLabel } from './utils';\nimport { SliderContext } from './context';\n\nconst getSubArrayFromRange = (\n arr,\n [minVal, maxVal], // maxValue is undefined when only one handler\n isCustomTickMarksValues = false,\n) => {\n const trueMinVal = isCustomTickMarksValues ? arr[minVal] : minVal;\n const minIndex = arr.findIndex((el) => el === trueMinVal);\n\n if (maxVal !== undefined) {\n // if two handlers, return the found slice\n const trueMaxVal = isCustomTickMarksValues ? arr[maxVal] : maxVal;\n const maxIndex = arr.findIndex((el) => el === trueMaxVal);\n\n if (minIndex >= 0 && maxIndex > minIndex)\n return arr.slice(minIndex, maxIndex + 1);\n return [];\n }\n // if only one handler, return the value in an array\n return [trueMinVal];\n};\n\nconst SliderImp = (props) => {\n const {\n containerProps,\n disabled,\n label,\n labelWithValue,\n minValue,\n maxValue,\n step,\n onChange,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n zIndex,\n } = props;\n const ref = useRef();\n const [width, setWidth] = useState(0);\n const sliderUUID = useMemo(() => uuidv4(), []);\n\n const parsedMinValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 0;\n return minValue;\n }, [customTickMarksValues?.length, minValue]);\n const parsedMaxValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues?.length - 1;\n return maxValue;\n }, [customTickMarksValues?.length, maxValue]);\n const parsedStep = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 1;\n return step;\n }, [customTickMarksValues?.length, step]);\n\n const parsedValuesArray = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues;\n const newLength = Math.ceil(maxValue / step);\n const valuesArray = [];\n for (let i = 0; i <= newLength; i += 1) {\n valuesArray.push(step * i);\n }\n\n return valuesArray;\n }, [customTickMarksValues?.length, minValue, maxValue, step]);\n\n const [rangeValues, setRangeValues] = useState(\n withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue],\n );\n // track the full slice of values selected instead of only the limits\n // this is important to handle the selected range labels colors\n const [fullSelectedValues, setFullSelectedValues] = useState([]);\n useEffect(() => {\n const selectedRangeValues = getSubArrayFromRange(\n parsedValuesArray,\n rangeValues,\n !!customTickMarksValues?.length,\n );\n setFullSelectedValues(selectedRangeValues);\n }, [parsedValuesArray, rangeValues, customTickMarksValues?.length]);\n\n const prevWithTwoHandles = usePrevious(withTwoHandles);\n const resizeHandler = () => {\n setWidth(0);\n setWidth(ref.current?.clientWidth);\n };\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n return () => window.removeEventListener('resize', resizeHandler);\n });\n useEffect(() => {\n if (!prevWithTwoHandles && withTwoHandles) {\n setRangeValues([parsedMinValue, parsedMaxValue]);\n } else if (prevWithTwoHandles && !withTwoHandles) {\n setRangeValues([parsedMinValue]);\n }\n }, [withTwoHandles]);\n\n useEffect(() => {\n setWidth(ref.current?.clientWidth);\n }, [ref.current?.clientWidth]);\n\n const [finalLabelText, finalValueText] = useMemo(\n () =>\n conformedLabel(\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ),\n [\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n return (\n <TooltipTextProvider>\n <div ref={ref}>\n <Grid\n width=\"100%\"\n style={{ maxWidth: '100%' }}\n containerProps={containerProps}\n data-testid=\"slider\"\n rows={['auto', 'auto']}\n >\n <SliderContext.Provider\n value={{\n disabled,\n sliderUUID,\n label,\n labelWithValue,\n minValue: parsedMinValue,\n maxValue: parsedMaxValue,\n step: parsedStep,\n parsedValuesArray,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n rangeValues,\n fullSelectedValues,\n zIndex,\n }}\n >\n {finalLabelText && (\n <LabelWrapper width={width}>\n <DSTruncatedTooltipText value={SliderLabel} />\n </LabelWrapper>\n )}\n <StyledRangeWrapper>\n <Range\n step={parsedStep}\n min={parsedMinValue}\n max={parsedMaxValue}\n values={rangeValues}\n disabled={disabled}\n onChange={(values) => {\n if (withTwoHandles && values[0] === values[1]) return;\n setRangeValues(values);\n onChange(values);\n }}\n renderTrack={({ props: trackProps, children }) => (\n <Track props={trackProps}>{children}</Track>\n )}\n renderThumb={(renderArgs) => {\n const { index, props: thumbProps, isDragged } = renderArgs;\n return (\n <Thumb\n key={`${sliderUUID}-${thumbProps.key}`}\n props={thumbProps}\n isDragged={isDragged}\n index={index}\n />\n );\n }}\n allowOverlap={false}\n />\n </StyledRangeWrapper>\n </SliderContext.Provider>\n </Grid>\n </div>\n </TooltipTextProvider>\n );\n};\n\n// SliderImp.propTypes = sliderPropTypes;\n\nexport default SliderImp;\n"],"names":["getSubArrayFromRange","arr","minVal","maxVal","isCustomTickMarksValues","trueMinVal","minIndex","findIndex","el","undefined","trueMaxVal","maxIndex","slice","SliderImp","props","containerProps","disabled","label","labelWithValue","minValue","maxValue","step","onChange","withTickMarks","withTickMarksValues","withTwoHandles","customTickMarksValues","zIndex","ref","useRef","useState","width","setWidth","sliderUUID","useMemo","uuidv4","parsedMinValue","length","parsedMaxValue","parsedStep","parsedValuesArray","newLength","Math","ceil","valuesArray","i","push","rangeValues","setRangeValues","fullSelectedValues","setFullSelectedValues","useEffect","selectedRangeValues","prevWithTwoHandles","usePrevious","resizeHandler","current","clientWidth","window","addEventListener","removeEventListener","conformedLabel","finalLabelText","finalValueText","SliderLabel","React","LabelText","ValueText","TooltipTextProvider","Grid","maxWidth","SliderContext","LabelWrapper","DSTruncatedTooltipText","StyledRangeWrapper","Range","values","trackProps","children","Track","renderArgs","index","thumbProps","isDragged","Thumb","key"],"mappings":"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"}
@@ -9,7 +9,7 @@ var dsTooltip = require('@elliemae/ds-tooltip');
9
9
  var components_context = require('./context.js');
10
10
  var components_utils = require('./utils.js');
11
11
  var components_styled = require('./styled.js');
12
- require('@elliemae/ds-utilities/utils');
12
+ require('@elliemae/ds-utilities');
13
13
  require('styled-components');
14
14
  require('@elliemae/ds-system');
15
15
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var utils = require('@elliemae/ds-utilities/utils');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
6
 
7
7
  /* eslint-disable max-params */
8
8
  var conformedLabel = function conformedLabel(rangeValues) {
@@ -15,7 +15,7 @@ var conformedLabel = function conformedLabel(rangeValues) {
15
15
  var msg = label.trim();
16
16
  var value = '';
17
17
 
18
- if (!utils.isEmpty(customTickMarksValues) && labelWithValue && label) {
18
+ if (!dsUtilities.isEmpty(customTickMarksValues) && labelWithValue && label) {
19
19
  var firstValue = customTickMarksValues[(rangeValues[0] - minValue) / step];
20
20
  var secondValue = customTickMarksValues[(rangeValues[1] - minValue) / step];
21
21
  value = "".concat(firstValue || rangeValues[0].toFixed(1), " ").concat(withTwoHandles ? ", ".concat(secondValue || rangeValues[1].toFixed(1)) : '', " ");
@@ -35,7 +35,7 @@ var conformedThumbLabel = function conformedThumbLabel(rangeValues) {
35
35
  var minValue = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
36
36
  var msg = "Value: ";
37
37
 
38
- if (!utils.isEmpty(customTickMarksValues)) {
38
+ if (!dsUtilities.isEmpty(customTickMarksValues)) {
39
39
  var foundValue = customTickMarksValues[(rangeValues[index] - minValue) / step];
40
40
  msg += "".concat(foundValue || rangeValues[index].toFixed(1));
41
41
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/utils.tsx"],"sourcesContent":["/* eslint-disable max-params */\nimport { isEmpty } from '@elliemae/ds-utilities/utils';\n\nexport const conformedLabel = (\n rangeValues,\n label = '',\n labelWithValue = false,\n withTwoHandles = false,\n customTickMarksValues = [],\n step = 1,\n minValue = 0,\n) => {\n const msg = label.trim();\n let value = '';\n if (!isEmpty(customTickMarksValues) && labelWithValue && label) {\n const firstValue =\n customTickMarksValues[(rangeValues[0] - minValue) / step];\n const secondValue =\n customTickMarksValues[(rangeValues[1] - minValue) / step];\n value = `${firstValue || rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${secondValue || rangeValues[1].toFixed(1)}` : ''\n } `;\n } else if (labelWithValue && label) {\n value = `${rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${rangeValues[1]?.toFixed(1)}` : ''\n } `;\n }\n value = value.trim();\n\n return [msg, value];\n};\n\nexport const conformedThumbLabel = (\n rangeValues,\n customTickMarksValues = [],\n index = 0,\n step = 1,\n minValue = 0,\n) => {\n let msg = `Value: `;\n if (!isEmpty(customTickMarksValues)) {\n const foundValue =\n customTickMarksValues[(rangeValues[index] - minValue) / step];\n msg += `${foundValue || rangeValues[index].toFixed(1)}`;\n } else {\n msg += `${rangeValues[index].toFixed(1)}`;\n }\n\n return msg;\n};\n"],"names":["conformedLabel","rangeValues","label","labelWithValue","withTwoHandles","customTickMarksValues","step","minValue","msg","trim","value","isEmpty","firstValue","secondValue","toFixed","conformedThumbLabel","index","foundValue"],"mappings":";;;;;;AAAA;IAGaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,WAD4B,EAQzB;AAAA,MANHC,KAMG,uEANK,EAML;AAAA,MALHC,cAKG,uEALc,KAKd;AAAA,MAJHC,cAIG,uEAJc,KAId;AAAA,MAHHC,qBAGG,uEAHqB,EAGrB;AAAA,MAFHC,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAMC,GAAG,GAAGN,KAAK,CAACO,IAAN,EAAZ;AACA,MAAIC,KAAK,GAAG,EAAZ;;AACA,MAAI,CAACC,aAAO,CAACN,qBAAD,CAAR,IAAmCF,cAAnC,IAAqDD,KAAzD,EAAgE;AAC9D,QAAMU,UAAU,GACdP,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEA,QAAMO,WAAW,GACfR,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEAI,IAAAA,KAAK,aAAME,UAAU,IAAIX,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAApB,cACHV,cAAc,eAAQS,WAAW,IAAIZ,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAvB,IAAqD,EADhE,MAAL;AAGD,GARD,MAQO,IAAIX,cAAc,IAAID,KAAtB,EAA6B;AAAA;;AAClCQ,IAAAA,KAAK,aAAMT,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAN,cACHV,cAAc,gCAAQH,WAAW,CAAC,CAAD,CAAnB,kDAAQ,cAAgBa,OAAhB,CAAwB,CAAxB,CAAR,IAAuC,EADlD,MAAL;AAGD;;AACDJ,EAAAA,KAAK,GAAGA,KAAK,CAACD,IAAN,EAAR;AAEA,SAAO,CAACD,GAAD,EAAME,KAAN,CAAP;AACD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCd,WADiC,EAM9B;AAAA,MAJHI,qBAIG,uEAJqB,EAIrB;AAAA,MAHHW,KAGG,uEAHK,CAGL;AAAA,MAFHV,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAIC,GAAG,YAAP;;AACA,MAAI,CAACG,aAAO,CAACN,qBAAD,CAAZ,EAAqC;AACnC,QAAMY,UAAU,GACdZ,qBAAqB,CAAC,CAACJ,WAAW,CAACe,KAAD,CAAX,GAAqBT,QAAtB,IAAkCD,IAAnC,CADvB;AAEAE,IAAAA,GAAG,cAAOS,UAAU,IAAIhB,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAArB,CAAH;AACD,GAJD,MAIO;AACLN,IAAAA,GAAG,cAAOP,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAAP,CAAH;AACD;;AAED,SAAON,GAAP;AACD;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/utils.tsx"],"sourcesContent":["/* eslint-disable max-params */\nimport { isEmpty } from '@elliemae/ds-utilities';\n\nexport const conformedLabel = (\n rangeValues,\n label = '',\n labelWithValue = false,\n withTwoHandles = false,\n customTickMarksValues = [],\n step = 1,\n minValue = 0,\n) => {\n const msg = label.trim();\n let value = '';\n if (!isEmpty(customTickMarksValues) && labelWithValue && label) {\n const firstValue =\n customTickMarksValues[(rangeValues[0] - minValue) / step];\n const secondValue =\n customTickMarksValues[(rangeValues[1] - minValue) / step];\n value = `${firstValue || rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${secondValue || rangeValues[1].toFixed(1)}` : ''\n } `;\n } else if (labelWithValue && label) {\n value = `${rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${rangeValues[1]?.toFixed(1)}` : ''\n } `;\n }\n value = value.trim();\n\n return [msg, value];\n};\n\nexport const conformedThumbLabel = (\n rangeValues,\n customTickMarksValues = [],\n index = 0,\n step = 1,\n minValue = 0,\n) => {\n let msg = `Value: `;\n if (!isEmpty(customTickMarksValues)) {\n const foundValue =\n customTickMarksValues[(rangeValues[index] - minValue) / step];\n msg += `${foundValue || rangeValues[index].toFixed(1)}`;\n } else {\n msg += `${rangeValues[index].toFixed(1)}`;\n }\n\n return msg;\n};\n"],"names":["conformedLabel","rangeValues","label","labelWithValue","withTwoHandles","customTickMarksValues","step","minValue","msg","trim","value","isEmpty","firstValue","secondValue","toFixed","conformedThumbLabel","index","foundValue"],"mappings":";;;;;;AAAA;IAGaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,WAD4B,EAQzB;AAAA,MANHC,KAMG,uEANK,EAML;AAAA,MALHC,cAKG,uEALc,KAKd;AAAA,MAJHC,cAIG,uEAJc,KAId;AAAA,MAHHC,qBAGG,uEAHqB,EAGrB;AAAA,MAFHC,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAMC,GAAG,GAAGN,KAAK,CAACO,IAAN,EAAZ;AACA,MAAIC,KAAK,GAAG,EAAZ;;AACA,MAAI,CAACC,mBAAO,CAACN,qBAAD,CAAR,IAAmCF,cAAnC,IAAqDD,KAAzD,EAAgE;AAC9D,QAAMU,UAAU,GACdP,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEA,QAAMO,WAAW,GACfR,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEAI,IAAAA,KAAK,aAAME,UAAU,IAAIX,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAApB,cACHV,cAAc,eAAQS,WAAW,IAAIZ,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAvB,IAAqD,EADhE,MAAL;AAGD,GARD,MAQO,IAAIX,cAAc,IAAID,KAAtB,EAA6B;AAAA;;AAClCQ,IAAAA,KAAK,aAAMT,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAN,cACHV,cAAc,gCAAQH,WAAW,CAAC,CAAD,CAAnB,kDAAQ,cAAgBa,OAAhB,CAAwB,CAAxB,CAAR,IAAuC,EADlD,MAAL;AAGD;;AACDJ,EAAAA,KAAK,GAAGA,KAAK,CAACD,IAAN,EAAR;AAEA,SAAO,CAACD,GAAD,EAAME,KAAN,CAAP;AACD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCd,WADiC,EAM9B;AAAA,MAJHI,qBAIG,uEAJqB,EAIrB;AAAA,MAHHW,KAGG,uEAHK,CAGL;AAAA,MAFHV,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAIC,GAAG,YAAP;;AACA,MAAI,CAACG,mBAAO,CAACN,qBAAD,CAAZ,EAAqC;AACnC,QAAMY,UAAU,GACdZ,qBAAqB,CAAC,CAACJ,WAAW,CAACe,KAAD,CAAX,GAAqBT,QAAtB,IAAkCD,IAAnC,CADvB;AAEAE,IAAAA,GAAG,cAAOS,UAAU,IAAIhB,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAArB,CAAH;AACD,GAJD,MAIO;AACLN,IAAAA,GAAG,cAAOP,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAAP,CAAH;AACD;;AAED,SAAON,GAAP;AACD;;;;;"}
package/cjs/index.js CHANGED
@@ -9,7 +9,7 @@ require('./components/SliderImp.js');
9
9
  require('@babel/runtime/helpers/slicedToArray');
10
10
  require('uuid');
11
11
  require('react-range');
12
- require('@elliemae/ds-utilities/hooks/usePrevious');
12
+ require('@elliemae/ds-utilities');
13
13
  require('@elliemae/ds-truncated-tooltip-text');
14
14
  require('@elliemae/ds-grid');
15
15
  require('./components/Track.js');
@@ -24,7 +24,6 @@ require('@babel/runtime/helpers/defineProperty');
24
24
  require('prop-types');
25
25
  require('@elliemae/ds-tooltip');
26
26
  require('./components/utils.js');
27
- require('@elliemae/ds-utilities/utils');
28
27
  require('./components/styled.js');
29
28
  require('./prop-types.js');
30
29
 
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/esm/DSSlider.js CHANGED
@@ -5,7 +5,7 @@ import { sliderPropTypes, defaultProps } from './prop-types.js';
5
5
  import '@babel/runtime/helpers/esm/slicedToArray';
6
6
  import 'uuid';
7
7
  import 'react-range';
8
- import '@elliemae/ds-utilities/hooks/usePrevious';
8
+ import '@elliemae/ds-utilities';
9
9
  import '@elliemae/ds-truncated-tooltip-text';
10
10
  import '@elliemae/ds-grid';
11
11
  import './components/Track.js';
@@ -20,7 +20,6 @@ import '@babel/runtime/helpers/esm/defineProperty';
20
20
  import 'prop-types';
21
21
  import '@elliemae/ds-tooltip';
22
22
  import './components/utils.js';
23
- import '@elliemae/ds-utilities/utils';
24
23
  import './components/styled.js';
25
24
 
26
25
  var DSSlider = function DSSlider(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"DSSlider.js","sources":["../../src/DSSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\n\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],"names":["DSSlider","props","defaultProps","propTypes","sliderPropTypes","DSSliderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IAKMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AAAA,sBAAW,oBAAC,SAAD,EAAeA,KAAf,CAAX;AAAA;;AAEjBD,QAAQ,CAACE,YAAT,GAAwBA,YAAxB;AACAF,QAAQ,CAACG,SAAT,GAAqBC,eAArB;IAEMC,kBAAkB,GAAGC,QAAQ,CAACN,QAAD;AACnCK,kBAAkB,CAACF,SAAnB,GAA+BC,eAA/B;;;;"}
1
+ {"version":3,"file":"DSSlider.js","sources":["../../src/DSSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\n\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],"names":["DSSlider","props","defaultProps","propTypes","sliderPropTypes","DSSliderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAKMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD;AAAA,sBAAW,oBAAC,SAAD,EAAeA,KAAf,CAAX;AAAA;;AAEjBD,QAAQ,CAACE,YAAT,GAAwBA,YAAxB;AACAF,QAAQ,CAACG,SAAT,GAAqBC,eAArB;IAEMC,kBAAkB,GAAGC,QAAQ,CAACN,QAAD;AACnCK,kBAAkB,CAACF,SAAnB,GAA+BC,eAA/B;;;;"}
@@ -2,7 +2,7 @@ import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
2
2
  import React, { useRef, useState, useMemo, useEffect } from 'react';
3
3
  import { v4 } from 'uuid';
4
4
  import { Range } from 'react-range';
5
- import usePrevious from '@elliemae/ds-utilities/hooks/usePrevious';
5
+ import { usePrevious } from '@elliemae/ds-utilities';
6
6
  import DSTruncatedTooltipText, { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';
7
7
  import { Grid } from '@elliemae/ds-grid';
8
8
  import Track from './Track.js';
@@ -18,7 +18,6 @@ import './TickMarksValues.js';
18
18
  import '@babel/runtime/helpers/esm/defineProperty';
19
19
  import 'prop-types';
20
20
  import '@elliemae/ds-tooltip';
21
- import '@elliemae/ds-utilities/utils';
22
21
 
23
22
  var getSubArrayFromRange = function getSubArrayFromRange(arr, _ref) {
24
23
  var _ref2 = _slicedToArray(_ref, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"SliderImp.js","sources":["../../../src/components/SliderImp.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport usePrevious from '@elliemae/ds-utilities/hooks/usePrevious';\nimport DSTruncatedTooltipText, {\n TooltipTextProvider,\n} from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport {\n LabelWrapper,\n StyledRangeWrapper,\n LabelText,\n ValueText,\n} from './styled';\nimport { conformedLabel } from './utils';\nimport { SliderContext } from './context';\n\nconst getSubArrayFromRange = (\n arr,\n [minVal, maxVal], // maxValue is undefined when only one handler\n isCustomTickMarksValues = false,\n) => {\n const trueMinVal = isCustomTickMarksValues ? arr[minVal] : minVal;\n const minIndex = arr.findIndex((el) => el === trueMinVal);\n\n if (maxVal !== undefined) {\n // if two handlers, return the found slice\n const trueMaxVal = isCustomTickMarksValues ? arr[maxVal] : maxVal;\n const maxIndex = arr.findIndex((el) => el === trueMaxVal);\n\n if (minIndex >= 0 && maxIndex > minIndex)\n return arr.slice(minIndex, maxIndex + 1);\n return [];\n }\n // if only one handler, return the value in an array\n return [trueMinVal];\n};\n\nconst SliderImp = (props) => {\n const {\n containerProps,\n disabled,\n label,\n labelWithValue,\n minValue,\n maxValue,\n step,\n onChange,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n zIndex,\n } = props;\n const ref = useRef();\n const [width, setWidth] = useState(0);\n const sliderUUID = useMemo(() => uuidv4(), []);\n\n const parsedMinValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 0;\n return minValue;\n }, [customTickMarksValues?.length, minValue]);\n const parsedMaxValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues?.length - 1;\n return maxValue;\n }, [customTickMarksValues?.length, maxValue]);\n const parsedStep = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 1;\n return step;\n }, [customTickMarksValues?.length, step]);\n\n const parsedValuesArray = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues;\n const newLength = Math.ceil(maxValue / step);\n const valuesArray = [];\n for (let i = 0; i <= newLength; i += 1) {\n valuesArray.push(step * i);\n }\n\n return valuesArray;\n }, [customTickMarksValues?.length, minValue, maxValue, step]);\n\n const [rangeValues, setRangeValues] = useState(\n withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue],\n );\n // track the full slice of values selected instead of only the limits\n // this is important to handle the selected range labels colors\n const [fullSelectedValues, setFullSelectedValues] = useState([]);\n useEffect(() => {\n const selectedRangeValues = getSubArrayFromRange(\n parsedValuesArray,\n rangeValues,\n !!customTickMarksValues?.length,\n );\n setFullSelectedValues(selectedRangeValues);\n }, [parsedValuesArray, rangeValues, customTickMarksValues?.length]);\n\n const prevWithTwoHandles = usePrevious(withTwoHandles);\n const resizeHandler = () => {\n setWidth(0);\n setWidth(ref.current?.clientWidth);\n };\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n return () => window.removeEventListener('resize', resizeHandler);\n });\n useEffect(() => {\n if (!prevWithTwoHandles && withTwoHandles) {\n setRangeValues([parsedMinValue, parsedMaxValue]);\n } else if (prevWithTwoHandles && !withTwoHandles) {\n setRangeValues([parsedMinValue]);\n }\n }, [withTwoHandles]);\n\n useEffect(() => {\n setWidth(ref.current?.clientWidth);\n }, [ref.current?.clientWidth]);\n\n const [finalLabelText, finalValueText] = useMemo(\n () =>\n conformedLabel(\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ),\n [\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n return (\n <TooltipTextProvider>\n <div ref={ref}>\n <Grid\n width=\"100%\"\n style={{ maxWidth: '100%' }}\n containerProps={containerProps}\n data-testid=\"slider\"\n rows={['auto', 'auto']}\n >\n <SliderContext.Provider\n value={{\n disabled,\n sliderUUID,\n label,\n labelWithValue,\n minValue: parsedMinValue,\n maxValue: parsedMaxValue,\n step: parsedStep,\n parsedValuesArray,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n rangeValues,\n fullSelectedValues,\n zIndex,\n }}\n >\n {finalLabelText && (\n <LabelWrapper width={width}>\n <DSTruncatedTooltipText value={SliderLabel} />\n </LabelWrapper>\n )}\n <StyledRangeWrapper>\n <Range\n step={parsedStep}\n min={parsedMinValue}\n max={parsedMaxValue}\n values={rangeValues}\n disabled={disabled}\n onChange={(values) => {\n if (withTwoHandles && values[0] === values[1]) return;\n setRangeValues(values);\n onChange(values);\n }}\n renderTrack={({ props: trackProps, children }) => (\n <Track props={trackProps}>{children}</Track>\n )}\n renderThumb={(renderArgs) => {\n const { index, props: thumbProps, isDragged } = renderArgs;\n return (\n <Thumb\n key={`${sliderUUID}-${thumbProps.key}`}\n props={thumbProps}\n isDragged={isDragged}\n index={index}\n />\n );\n }}\n allowOverlap={false}\n />\n </StyledRangeWrapper>\n </SliderContext.Provider>\n </Grid>\n </div>\n </TooltipTextProvider>\n );\n};\n\n// SliderImp.propTypes = sliderPropTypes;\n\nexport default SliderImp;\n"],"names":["getSubArrayFromRange","arr","minVal","maxVal","isCustomTickMarksValues","trueMinVal","minIndex","findIndex","el","undefined","trueMaxVal","maxIndex","slice","SliderImp","props","containerProps","disabled","label","labelWithValue","minValue","maxValue","step","onChange","withTickMarks","withTickMarksValues","withTwoHandles","customTickMarksValues","zIndex","ref","useRef","useState","width","setWidth","sliderUUID","useMemo","uuidv4","parsedMinValue","length","parsedMaxValue","parsedStep","parsedValuesArray","newLength","Math","ceil","valuesArray","i","push","rangeValues","setRangeValues","fullSelectedValues","setFullSelectedValues","useEffect","selectedRangeValues","prevWithTwoHandles","usePrevious","resizeHandler","current","clientWidth","window","addEventListener","removeEventListener","conformedLabel","finalLabelText","finalValueText","SliderLabel","maxWidth","values","trackProps","children","renderArgs","index","thumbProps","isDragged","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3BC,GAD2B,QAIxB;AAAA;AAAA,MAFFC,MAEE;AAAA,MAFMC,MAEN;;AAAA,MADHC,uBACG,uEADuB,KACvB;AACH,MAAMC,UAAU,GAAGD,uBAAuB,GAAGH,GAAG,CAACC,MAAD,CAAN,GAAiBA,MAA3D;AACA,MAAMI,QAAQ,GAAGL,GAAG,CAACM,SAAJ,CAAc,UAACC,EAAD;AAAA,WAAQA,EAAE,KAAKH,UAAf;AAAA,GAAd,CAAjB;;AAEA,MAAIF,MAAM,KAAKM,SAAf,EAA0B;AACxB;AACA,QAAMC,UAAU,GAAGN,uBAAuB,GAAGH,GAAG,CAACE,MAAD,CAAN,GAAiBA,MAA3D;AACA,QAAMQ,QAAQ,GAAGV,GAAG,CAACM,SAAJ,CAAc,UAACC,EAAD;AAAA,aAAQA,EAAE,KAAKE,UAAf;AAAA,KAAd,CAAjB;AAEA,QAAIJ,QAAQ,IAAI,CAAZ,IAAiBK,QAAQ,GAAGL,QAAhC,EACE,OAAOL,GAAG,CAACW,KAAJ,CAAUN,QAAV,EAAoBK,QAAQ,GAAG,CAA/B,CAAP;AACF,WAAO,EAAP;AACD,GAZE;;;AAcH,SAAO,CAACN,UAAD,CAAP;AACD,CAnBD;;IAqBMQ,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAW;AAAA;;AAC3B,MACEC,cADF,GAcID,KAdJ,CACEC,cADF;AAAA,MAEEC,QAFF,GAcIF,KAdJ,CAEEE,QAFF;AAAA,MAGEC,KAHF,GAcIH,KAdJ,CAGEG,KAHF;AAAA,MAIEC,cAJF,GAcIJ,KAdJ,CAIEI,cAJF;AAAA,MAKEC,QALF,GAcIL,KAdJ,CAKEK,QALF;AAAA,MAMEC,QANF,GAcIN,KAdJ,CAMEM,QANF;AAAA,MAOEC,IAPF,GAcIP,KAdJ,CAOEO,IAPF;AAAA,MAQEC,SARF,GAcIR,KAdJ,CAQEQ,QARF;AAAA,MASEC,aATF,GAcIT,KAdJ,CASES,aATF;AAAA,MAUEC,mBAVF,GAcIV,KAdJ,CAUEU,mBAVF;AAAA,MAWEC,cAXF,GAcIX,KAdJ,CAWEW,cAXF;AAAA,MAYEC,qBAZF,GAcIZ,KAdJ,CAYEY,qBAZF;AAAA,MAaEC,MAbF,GAcIb,KAdJ,CAaEa,MAbF;AAeA,MAAMC,GAAG,GAAGC,MAAM,EAAlB;;AACA,kBAA0BC,QAAQ,CAAC,CAAD,CAAlC;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAMC,UAAU,GAAGC,OAAO,CAAC;AAAA,WAAMC,EAAM,EAAZ;AAAA,GAAD,EAAiB,EAAjB,CAA1B;AAEA,MAAMC,cAAc,GAAGF,OAAO,CAAC,YAAM;AACnC;AACA,QAAIR,qBAAJ,aAAIA,qBAAJ,eAAIA,qBAAqB,CAAEW,MAA3B,EAAmC,OAAO,CAAP;AACnC,WAAOlB,QAAP;AACD,GAJ6B,EAI3B,CAACO,qBAAD,aAACA,qBAAD,uBAACA,qBAAqB,CAAEW,MAAxB,EAAgClB,QAAhC,CAJ2B,CAA9B;AAKA,MAAMmB,cAAc,GAAGJ,OAAO,CAAC,YAAM;AACnC;AACA,QAAIR,qBAAJ,aAAIA,qBAAJ,eAAIA,qBAAqB,CAAEW,MAA3B,EAAmC,OAAO,CAAAX,qBAAqB,SAArB,IAAAA,qBAAqB,WAArB,YAAAA,qBAAqB,CAAEW,MAAvB,IAAgC,CAAvC;AACnC,WAAOjB,QAAP;AACD,GAJ6B,EAI3B,CAACM,qBAAD,aAACA,qBAAD,uBAACA,qBAAqB,CAAEW,MAAxB,EAAgCjB,QAAhC,CAJ2B,CAA9B;AAKA,MAAMmB,UAAU,GAAGL,OAAO,CAAC,YAAM;AAC/B;AACA,QAAIR,qBAAJ,aAAIA,qBAAJ,eAAIA,qBAAqB,CAAEW,MAA3B,EAAmC,OAAO,CAAP;AACnC,WAAOhB,IAAP;AACD,GAJyB,EAIvB,CAACK,qBAAD,aAACA,qBAAD,uBAACA,qBAAqB,CAAEW,MAAxB,EAAgChB,IAAhC,CAJuB,CAA1B;AAMA,MAAMmB,iBAAiB,GAAGN,OAAO,CAAC,YAAM;AACtC;AACA,QAAIR,qBAAJ,aAAIA,qBAAJ,eAAIA,qBAAqB,CAAEW,MAA3B,EAAmC,OAAOX,qBAAP;AACnC,QAAMe,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUvB,QAAQ,GAAGC,IAArB,CAAlB;AACA,QAAMuB,WAAW,GAAG,EAApB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIJ,SAArB,EAAgCI,CAAC,IAAI,CAArC,EAAwC;AACtCD,MAAAA,WAAW,CAACE,IAAZ,CAAiBzB,IAAI,GAAGwB,CAAxB;AACD;;AAED,WAAOD,WAAP;AACD,GAVgC,EAU9B,CAAClB,qBAAD,aAACA,qBAAD,uBAACA,qBAAqB,CAAEW,MAAxB,EAAgClB,QAAhC,EAA0CC,QAA1C,EAAoDC,IAApD,CAV8B,CAAjC;;AAYA,mBAAsCS,QAAQ,CAC5CL,cAAc,GAAG,CAACW,cAAD,EAAiBE,cAAjB,CAAH,GAAsC,CAACF,cAAD,CADR,CAA9C;AAAA;AAAA,MAAOW,WAAP;AAAA,MAAoBC,cAApB,iBAhD2B;AAoD3B;;;AACA,mBAAoDlB,QAAQ,CAAC,EAAD,CAA5D;AAAA;AAAA,MAAOmB,kBAAP;AAAA,MAA2BC,qBAA3B;;AACAC,EAAAA,SAAS,CAAC,YAAM;AACd,QAAMC,mBAAmB,GAAGpD,oBAAoB,CAC9CwC,iBAD8C,EAE9CO,WAF8C,EAG9C,CAAC,EAACrB,qBAAD,aAACA,qBAAD,eAACA,qBAAqB,CAAEW,MAAxB,CAH6C,CAAhD;AAKAa,IAAAA,qBAAqB,CAACE,mBAAD,CAArB;AACD,GAPQ,EAON,CAACZ,iBAAD,EAAoBO,WAApB,EAAiCrB,qBAAjC,aAAiCA,qBAAjC,uBAAiCA,qBAAqB,CAAEW,MAAxD,CAPM,CAAT;AASA,MAAMgB,kBAAkB,GAAGC,WAAW,CAAC7B,cAAD,CAAtC;;AACA,MAAM8B,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAAA;;AAC1BvB,IAAAA,QAAQ,CAAC,CAAD,CAAR;AACAA,IAAAA,QAAQ,iBAACJ,GAAG,CAAC4B,OAAL,iDAAC,aAAaC,WAAd,CAAR;AACD,GAHD;;AAIAN,EAAAA,SAAS,CAAC,YAAM;AACdO,IAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCJ,aAAlC;AACA,WAAO;AAAA,aAAMG,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqCL,aAArC,CAAN;AAAA,KAAP;AACD,GAHQ,CAAT;AAIAJ,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI,CAACE,kBAAD,IAAuB5B,cAA3B,EAA2C;AACzCuB,MAAAA,cAAc,CAAC,CAACZ,cAAD,EAAiBE,cAAjB,CAAD,CAAd;AACD,KAFD,MAEO,IAAIe,kBAAkB,IAAI,CAAC5B,cAA3B,EAA2C;AAChDuB,MAAAA,cAAc,CAAC,CAACZ,cAAD,CAAD,CAAd;AACD;AACF,GANQ,EAMN,CAACX,cAAD,CANM,CAAT;AAQA0B,EAAAA,SAAS,CAAC,YAAM;AAAA;;AACdnB,IAAAA,QAAQ,kBAACJ,GAAG,CAAC4B,OAAL,kDAAC,cAAaC,WAAd,CAAR;AACD,GAFQ,EAEN,kBAAC7B,GAAG,CAAC4B,OAAL,kDAAC,cAAaC,WAAd,CAFM,CAAT;;AAIA,iBAAyCvB,OAAO,CAC9C;AAAA,WACE2B,cAAc,CACZd,WADY,EAEZ9B,KAFY,EAGZC,cAHY,EAIZO,cAJY,EAKZC,qBALY,EAMZa,UANY,CADhB;AAAA,GAD8C,EAU9C,CACEQ,WADF,EAEE9B,KAFF,EAGEC,cAHF,EAIEO,cAJF,EAKEC,qBALF,EAMEa,UANF,CAV8C,CAAhD;AAAA;AAAA,MAAOuB,cAAP;AAAA,MAAuBC,cAAvB;;AAoBA,MAAMC,WAAW,gBACf,uDACE,oBAAC,SAAD,QAAYF,cAAZ,CADF,EAEGA,cAAc,IAAI,GAFrB,eAGE,oBAAC,SAAD;AAAW,IAAA,QAAQ,EAAE9C;AAArB,KAAgC+C,cAAhC,CAHF,CADF;AAQA,sBACE,oBAAC,mBAAD,qBACE;AAAK,IAAA,GAAG,EAAEnC;AAAV,kBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,KAAK,EAAE;AAAEqC,MAAAA,QAAQ,EAAE;AAAZ,KAFT;AAGE,IAAA,cAAc,EAAElD,cAHlB;AAIE,mBAAY,QAJd;AAKE,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT;AALR,kBAOE,oBAAC,aAAD,CAAe,QAAf;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAARA,QADK;AAELiB,MAAAA,UAAU,EAAVA,UAFK;AAGLhB,MAAAA,KAAK,EAALA,KAHK;AAILC,MAAAA,cAAc,EAAdA,cAJK;AAKLC,MAAAA,QAAQ,EAAEiB,cALL;AAMLhB,MAAAA,QAAQ,EAAEkB,cANL;AAOLjB,MAAAA,IAAI,EAAEkB,UAPD;AAQLC,MAAAA,iBAAiB,EAAjBA,iBARK;AASLjB,MAAAA,aAAa,EAAbA,aATK;AAULC,MAAAA,mBAAmB,EAAnBA,mBAVK;AAWLC,MAAAA,cAAc,EAAdA,cAXK;AAYLC,MAAAA,qBAAqB,EAArBA,qBAZK;AAaLqB,MAAAA,WAAW,EAAXA,WAbK;AAcLE,MAAAA,kBAAkB,EAAlBA,kBAdK;AAeLtB,MAAAA,MAAM,EAANA;AAfK;AADT,KAmBGmC,cAAc,iBACb,oBAAC,YAAD;AAAc,IAAA,KAAK,EAAE/B;AAArB,kBACE,oBAAC,sBAAD;AAAwB,IAAA,KAAK,EAAEiC;AAA/B,IADF,CApBJ,eAwBE,oBAAC,kBAAD,qBACE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAEzB,UADR;AAEE,IAAA,GAAG,EAAEH,cAFP;AAGE,IAAA,GAAG,EAAEE,cAHP;AAIE,IAAA,MAAM,EAAES,WAJV;AAKE,IAAA,QAAQ,EAAE/B,QALZ;AAME,IAAA,QAAQ,EAAE,kBAACkD,MAAD,EAAY;AACpB,UAAIzC,cAAc,IAAIyC,MAAM,CAAC,CAAD,CAAN,KAAcA,MAAM,CAAC,CAAD,CAA1C,EAA+C;AAC/ClB,MAAAA,cAAc,CAACkB,MAAD,CAAd;;AACA5C,MAAAA,SAAQ,CAAC4C,MAAD,CAAR;AACD,KAVH;AAWE,IAAA,WAAW,EAAE;AAAA,UAAUC,UAAV,SAAGrD,KAAH;AAAA,UAAsBsD,QAAtB,SAAsBA,QAAtB;AAAA,0BACX,oBAAC,KAAD;AAAO,QAAA,KAAK,EAAED;AAAd,SAA2BC,QAA3B,CADW;AAAA,KAXf;AAcE,IAAA,WAAW,EAAE,qBAACC,UAAD,EAAgB;AAC3B,UAAQC,KAAR,GAAgDD,UAAhD,CAAQC,KAAR;AAAA,UAAsBC,UAAtB,GAAgDF,UAAhD,CAAevD,KAAf;AAAA,UAAkC0D,SAAlC,GAAgDH,UAAhD,CAAkCG,SAAlC;AACA,0BACE,oBAAC,KAAD;AACE,QAAA,GAAG,YAAKvC,UAAL,cAAmBsC,UAAU,CAACE,GAA9B,CADL;AAEE,QAAA,KAAK,EAAEF,UAFT;AAGE,QAAA,SAAS,EAAEC,SAHb;AAIE,QAAA,KAAK,EAAEF;AAJT,QADF;AAQD,KAxBH;AAyBE,IAAA,YAAY,EAAE;AAzBhB,IADF,CAxBF,CAPF,CADF,CADF,CADF;AAoED;;;;"}
1
+ {"version":3,"file":"SliderImp.js","sources":["../../../src/components/SliderImp.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport { usePrevious } from '@elliemae/ds-utilities';\nimport DSTruncatedTooltipText, {\n TooltipTextProvider,\n} from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport {\n LabelWrapper,\n StyledRangeWrapper,\n LabelText,\n ValueText,\n} from './styled';\nimport { conformedLabel } from './utils';\nimport { SliderContext } from './context';\n\nconst getSubArrayFromRange = (\n arr,\n [minVal, maxVal], // maxValue is undefined when only one handler\n isCustomTickMarksValues = false,\n) => {\n const trueMinVal = isCustomTickMarksValues ? arr[minVal] : minVal;\n const minIndex = arr.findIndex((el) => el === trueMinVal);\n\n if (maxVal !== undefined) {\n // if two handlers, return the found slice\n const trueMaxVal = isCustomTickMarksValues ? arr[maxVal] : maxVal;\n const maxIndex = arr.findIndex((el) => el === trueMaxVal);\n\n if (minIndex >= 0 && maxIndex > minIndex)\n return arr.slice(minIndex, maxIndex + 1);\n return [];\n }\n // if only one handler, return the value in an array\n return [trueMinVal];\n};\n\nconst SliderImp = (props) => {\n const {\n containerProps,\n disabled,\n label,\n labelWithValue,\n minValue,\n maxValue,\n step,\n onChange,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n zIndex,\n } = props;\n const ref = useRef();\n const [width, setWidth] = useState(0);\n const sliderUUID = useMemo(() => uuidv4(), []);\n\n const parsedMinValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 0;\n return minValue;\n }, [customTickMarksValues?.length, minValue]);\n const parsedMaxValue = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues?.length - 1;\n return maxValue;\n }, [customTickMarksValues?.length, maxValue]);\n const parsedStep = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return 1;\n return step;\n }, [customTickMarksValues?.length, step]);\n\n const parsedValuesArray = useMemo(() => {\n // ensure this works correctly with customTickMarksValues array\n if (customTickMarksValues?.length) return customTickMarksValues;\n const newLength = Math.ceil(maxValue / step);\n const valuesArray = [];\n for (let i = 0; i <= newLength; i += 1) {\n valuesArray.push(step * i);\n }\n\n return valuesArray;\n }, [customTickMarksValues?.length, minValue, maxValue, step]);\n\n const [rangeValues, setRangeValues] = useState(\n withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue],\n );\n // track the full slice of values selected instead of only the limits\n // this is important to handle the selected range labels colors\n const [fullSelectedValues, setFullSelectedValues] = useState([]);\n useEffect(() => {\n const selectedRangeValues = getSubArrayFromRange(\n parsedValuesArray,\n rangeValues,\n !!customTickMarksValues?.length,\n );\n setFullSelectedValues(selectedRangeValues);\n }, [parsedValuesArray, rangeValues, customTickMarksValues?.length]);\n\n const prevWithTwoHandles = usePrevious(withTwoHandles);\n const resizeHandler = () => {\n setWidth(0);\n setWidth(ref.current?.clientWidth);\n };\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n return () => window.removeEventListener('resize', resizeHandler);\n });\n useEffect(() => {\n if (!prevWithTwoHandles && withTwoHandles) {\n setRangeValues([parsedMinValue, parsedMaxValue]);\n } else if (prevWithTwoHandles && !withTwoHandles) {\n setRangeValues([parsedMinValue]);\n }\n }, [withTwoHandles]);\n\n useEffect(() => {\n setWidth(ref.current?.clientWidth);\n }, [ref.current?.clientWidth]);\n\n const [finalLabelText, finalValueText] = useMemo(\n () =>\n conformedLabel(\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ),\n [\n rangeValues,\n label,\n labelWithValue,\n withTwoHandles,\n customTickMarksValues,\n parsedStep,\n ],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n return (\n <TooltipTextProvider>\n <div ref={ref}>\n <Grid\n width=\"100%\"\n style={{ maxWidth: '100%' }}\n containerProps={containerProps}\n data-testid=\"slider\"\n rows={['auto', 'auto']}\n >\n <SliderContext.Provider\n value={{\n disabled,\n sliderUUID,\n label,\n labelWithValue,\n minValue: parsedMinValue,\n maxValue: parsedMaxValue,\n step: parsedStep,\n parsedValuesArray,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n customTickMarksValues,\n rangeValues,\n fullSelectedValues,\n zIndex,\n }}\n >\n {finalLabelText && (\n <LabelWrapper width={width}>\n <DSTruncatedTooltipText value={SliderLabel} />\n </LabelWrapper>\n )}\n <StyledRangeWrapper>\n <Range\n step={parsedStep}\n min={parsedMinValue}\n max={parsedMaxValue}\n values={rangeValues}\n disabled={disabled}\n onChange={(values) => {\n if (withTwoHandles && values[0] === values[1]) return;\n setRangeValues(values);\n onChange(values);\n }}\n renderTrack={({ props: trackProps, children }) => (\n <Track props={trackProps}>{children}</Track>\n )}\n renderThumb={(renderArgs) => {\n const { index, props: thumbProps, isDragged } = renderArgs;\n return (\n <Thumb\n key={`${sliderUUID}-${thumbProps.key}`}\n props={thumbProps}\n isDragged={isDragged}\n index={index}\n />\n );\n }}\n allowOverlap={false}\n />\n </StyledRangeWrapper>\n </SliderContext.Provider>\n </Grid>\n </div>\n </TooltipTextProvider>\n );\n};\n\n// SliderImp.propTypes = sliderPropTypes;\n\nexport default SliderImp;\n"],"names":["getSubArrayFromRange","arr","minVal","maxVal","isCustomTickMarksValues","trueMinVal","minIndex","findIndex","el","undefined","trueMaxVal","maxIndex","slice","SliderImp","props","containerProps","disabled","label","labelWithValue","minValue","maxValue","step","onChange","withTickMarks","withTickMarksValues","withTwoHandles","customTickMarksValues","zIndex","ref","useRef","useState","width","setWidth","sliderUUID","useMemo","uuidv4","parsedMinValue","length","parsedMaxValue","parsedStep","parsedValuesArray","newLength","Math","ceil","valuesArray","i","push","rangeValues","setRangeValues","fullSelectedValues","setFullSelectedValues","useEffect","selectedRangeValues","prevWithTwoHandles","usePrevious","resizeHandler","current","clientWidth","window","addEventListener","removeEventListener","conformedLabel","finalLabelText","finalValueText","SliderLabel","maxWidth","values","trackProps","children","renderArgs","index","thumbProps","isDragged","key"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { TooltipText } from '@elliemae/ds-tooltip';
7
7
  import { SliderContext } from './context.js';
8
8
  import { conformedThumbLabel } from './utils.js';
9
9
  import { ThumbStyled, TooltipContainerStyled, TooltipArrow } from './styled.js';
10
- import '@elliemae/ds-utilities/utils';
10
+ import '@elliemae/ds-utilities';
11
11
  import 'styled-components';
12
12
  import '@elliemae/ds-system';
13
13
 
@@ -1,4 +1,4 @@
1
- import { isEmpty } from '@elliemae/ds-utilities/utils';
1
+ import { isEmpty } from '@elliemae/ds-utilities';
2
2
 
3
3
  /* eslint-disable max-params */
4
4
  var conformedLabel = function conformedLabel(rangeValues) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/utils.tsx"],"sourcesContent":["/* eslint-disable max-params */\nimport { isEmpty } from '@elliemae/ds-utilities/utils';\n\nexport const conformedLabel = (\n rangeValues,\n label = '',\n labelWithValue = false,\n withTwoHandles = false,\n customTickMarksValues = [],\n step = 1,\n minValue = 0,\n) => {\n const msg = label.trim();\n let value = '';\n if (!isEmpty(customTickMarksValues) && labelWithValue && label) {\n const firstValue =\n customTickMarksValues[(rangeValues[0] - minValue) / step];\n const secondValue =\n customTickMarksValues[(rangeValues[1] - minValue) / step];\n value = `${firstValue || rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${secondValue || rangeValues[1].toFixed(1)}` : ''\n } `;\n } else if (labelWithValue && label) {\n value = `${rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${rangeValues[1]?.toFixed(1)}` : ''\n } `;\n }\n value = value.trim();\n\n return [msg, value];\n};\n\nexport const conformedThumbLabel = (\n rangeValues,\n customTickMarksValues = [],\n index = 0,\n step = 1,\n minValue = 0,\n) => {\n let msg = `Value: `;\n if (!isEmpty(customTickMarksValues)) {\n const foundValue =\n customTickMarksValues[(rangeValues[index] - minValue) / step];\n msg += `${foundValue || rangeValues[index].toFixed(1)}`;\n } else {\n msg += `${rangeValues[index].toFixed(1)}`;\n }\n\n return msg;\n};\n"],"names":["conformedLabel","rangeValues","label","labelWithValue","withTwoHandles","customTickMarksValues","step","minValue","msg","trim","value","isEmpty","firstValue","secondValue","toFixed","conformedThumbLabel","index","foundValue"],"mappings":";;AAAA;IAGaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,WAD4B,EAQzB;AAAA,MANHC,KAMG,uEANK,EAML;AAAA,MALHC,cAKG,uEALc,KAKd;AAAA,MAJHC,cAIG,uEAJc,KAId;AAAA,MAHHC,qBAGG,uEAHqB,EAGrB;AAAA,MAFHC,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAMC,GAAG,GAAGN,KAAK,CAACO,IAAN,EAAZ;AACA,MAAIC,KAAK,GAAG,EAAZ;;AACA,MAAI,CAACC,OAAO,CAACN,qBAAD,CAAR,IAAmCF,cAAnC,IAAqDD,KAAzD,EAAgE;AAC9D,QAAMU,UAAU,GACdP,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEA,QAAMO,WAAW,GACfR,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEAI,IAAAA,KAAK,aAAME,UAAU,IAAIX,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAApB,cACHV,cAAc,eAAQS,WAAW,IAAIZ,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAvB,IAAqD,EADhE,MAAL;AAGD,GARD,MAQO,IAAIX,cAAc,IAAID,KAAtB,EAA6B;AAAA;;AAClCQ,IAAAA,KAAK,aAAMT,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAN,cACHV,cAAc,gCAAQH,WAAW,CAAC,CAAD,CAAnB,kDAAQ,cAAgBa,OAAhB,CAAwB,CAAxB,CAAR,IAAuC,EADlD,MAAL;AAGD;;AACDJ,EAAAA,KAAK,GAAGA,KAAK,CAACD,IAAN,EAAR;AAEA,SAAO,CAACD,GAAD,EAAME,KAAN,CAAP;AACD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCd,WADiC,EAM9B;AAAA,MAJHI,qBAIG,uEAJqB,EAIrB;AAAA,MAHHW,KAGG,uEAHK,CAGL;AAAA,MAFHV,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAIC,GAAG,YAAP;;AACA,MAAI,CAACG,OAAO,CAACN,qBAAD,CAAZ,EAAqC;AACnC,QAAMY,UAAU,GACdZ,qBAAqB,CAAC,CAACJ,WAAW,CAACe,KAAD,CAAX,GAAqBT,QAAtB,IAAkCD,IAAnC,CADvB;AAEAE,IAAAA,GAAG,cAAOS,UAAU,IAAIhB,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAArB,CAAH;AACD,GAJD,MAIO;AACLN,IAAAA,GAAG,cAAOP,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAAP,CAAH;AACD;;AAED,SAAON,GAAP;AACD;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/utils.tsx"],"sourcesContent":["/* eslint-disable max-params */\nimport { isEmpty } from '@elliemae/ds-utilities';\n\nexport const conformedLabel = (\n rangeValues,\n label = '',\n labelWithValue = false,\n withTwoHandles = false,\n customTickMarksValues = [],\n step = 1,\n minValue = 0,\n) => {\n const msg = label.trim();\n let value = '';\n if (!isEmpty(customTickMarksValues) && labelWithValue && label) {\n const firstValue =\n customTickMarksValues[(rangeValues[0] - minValue) / step];\n const secondValue =\n customTickMarksValues[(rangeValues[1] - minValue) / step];\n value = `${firstValue || rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${secondValue || rangeValues[1].toFixed(1)}` : ''\n } `;\n } else if (labelWithValue && label) {\n value = `${rangeValues[0].toFixed(1)} ${\n withTwoHandles ? `, ${rangeValues[1]?.toFixed(1)}` : ''\n } `;\n }\n value = value.trim();\n\n return [msg, value];\n};\n\nexport const conformedThumbLabel = (\n rangeValues,\n customTickMarksValues = [],\n index = 0,\n step = 1,\n minValue = 0,\n) => {\n let msg = `Value: `;\n if (!isEmpty(customTickMarksValues)) {\n const foundValue =\n customTickMarksValues[(rangeValues[index] - minValue) / step];\n msg += `${foundValue || rangeValues[index].toFixed(1)}`;\n } else {\n msg += `${rangeValues[index].toFixed(1)}`;\n }\n\n return msg;\n};\n"],"names":["conformedLabel","rangeValues","label","labelWithValue","withTwoHandles","customTickMarksValues","step","minValue","msg","trim","value","isEmpty","firstValue","secondValue","toFixed","conformedThumbLabel","index","foundValue"],"mappings":";;AAAA;IAGaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,WAD4B,EAQzB;AAAA,MANHC,KAMG,uEANK,EAML;AAAA,MALHC,cAKG,uEALc,KAKd;AAAA,MAJHC,cAIG,uEAJc,KAId;AAAA,MAHHC,qBAGG,uEAHqB,EAGrB;AAAA,MAFHC,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAMC,GAAG,GAAGN,KAAK,CAACO,IAAN,EAAZ;AACA,MAAIC,KAAK,GAAG,EAAZ;;AACA,MAAI,CAACC,OAAO,CAACN,qBAAD,CAAR,IAAmCF,cAAnC,IAAqDD,KAAzD,EAAgE;AAC9D,QAAMU,UAAU,GACdP,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEA,QAAMO,WAAW,GACfR,qBAAqB,CAAC,CAACJ,WAAW,CAAC,CAAD,CAAX,GAAiBM,QAAlB,IAA8BD,IAA/B,CADvB;AAEAI,IAAAA,KAAK,aAAME,UAAU,IAAIX,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAApB,cACHV,cAAc,eAAQS,WAAW,IAAIZ,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAvB,IAAqD,EADhE,MAAL;AAGD,GARD,MAQO,IAAIX,cAAc,IAAID,KAAtB,EAA6B;AAAA;;AAClCQ,IAAAA,KAAK,aAAMT,WAAW,CAAC,CAAD,CAAX,CAAea,OAAf,CAAuB,CAAvB,CAAN,cACHV,cAAc,gCAAQH,WAAW,CAAC,CAAD,CAAnB,kDAAQ,cAAgBa,OAAhB,CAAwB,CAAxB,CAAR,IAAuC,EADlD,MAAL;AAGD;;AACDJ,EAAAA,KAAK,GAAGA,KAAK,CAACD,IAAN,EAAR;AAEA,SAAO,CAACD,GAAD,EAAME,KAAN,CAAP;AACD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCd,WADiC,EAM9B;AAAA,MAJHI,qBAIG,uEAJqB,EAIrB;AAAA,MAHHW,KAGG,uEAHK,CAGL;AAAA,MAFHV,IAEG,uEAFI,CAEJ;AAAA,MADHC,QACG,uEADQ,CACR;AACH,MAAIC,GAAG,YAAP;;AACA,MAAI,CAACG,OAAO,CAACN,qBAAD,CAAZ,EAAqC;AACnC,QAAMY,UAAU,GACdZ,qBAAqB,CAAC,CAACJ,WAAW,CAACe,KAAD,CAAX,GAAqBT,QAAtB,IAAkCD,IAAnC,CADvB;AAEAE,IAAAA,GAAG,cAAOS,UAAU,IAAIhB,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAArB,CAAH;AACD,GAJD,MAIO;AACLN,IAAAA,GAAG,cAAOP,WAAW,CAACe,KAAD,CAAX,CAAmBF,OAAnB,CAA2B,CAA3B,CAAP,CAAH;AACD;;AAED,SAAON,GAAP;AACD;;;;"}
package/esm/index.js CHANGED
@@ -5,7 +5,7 @@ import './components/SliderImp.js';
5
5
  import '@babel/runtime/helpers/esm/slicedToArray';
6
6
  import 'uuid';
7
7
  import 'react-range';
8
- import '@elliemae/ds-utilities/hooks/usePrevious';
8
+ import '@elliemae/ds-utilities';
9
9
  import '@elliemae/ds-truncated-tooltip-text';
10
10
  import '@elliemae/ds-grid';
11
11
  import './components/Track.js';
@@ -20,7 +20,6 @@ import '@babel/runtime/helpers/esm/defineProperty';
20
20
  import 'prop-types';
21
21
  import '@elliemae/ds-tooltip';
22
22
  import './components/utils.js';
23
- import '@elliemae/ds-utilities/utils';
24
23
  import './components/styled.js';
25
24
  import './prop-types.js';
26
25
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-slider",
3
- "version": "1.56.0-rc.2",
3
+ "version": "1.57.0-rc.10",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Slider",
6
6
  "module": "esm/index.js",
@@ -16,11 +16,11 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-grid": "1.56.0-rc.2",
20
- "@elliemae/ds-system": "1.56.0-rc.2",
21
- "@elliemae/ds-tooltip": "1.56.0-rc.2",
22
- "@elliemae/ds-truncated-tooltip-text": "1.56.0-rc.2",
23
- "@elliemae/ds-utilities": "1.56.0-rc.2",
19
+ "@elliemae/ds-grid": "1.57.0-rc.10",
20
+ "@elliemae/ds-system": "1.57.0-rc.10",
21
+ "@elliemae/ds-tooltip": "1.57.0-rc.10",
22
+ "@elliemae/ds-truncated-tooltip-text": "1.57.0-rc.10",
23
+ "@elliemae/ds-utilities": "1.57.0-rc.10",
24
24
  "prop-types": "~15.7.2",
25
25
  "react-desc": "^4.1.2",
26
26
  "react-range": "~1.8.6",