@elliemae/ds-slider 3.0.4-rc.5 → 3.1.0-next.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.
Files changed (33) hide show
  1. package/dist/cjs/DSSlider.js +2 -2
  2. package/dist/cjs/DSSlider.js.map +2 -2
  3. package/dist/cjs/components/SliderImp.js +4 -9
  4. package/dist/cjs/components/SliderImp.js.map +2 -2
  5. package/dist/cjs/components/Thumb.js +8 -12
  6. package/dist/cjs/components/Thumb.js.map +2 -2
  7. package/dist/cjs/components/TickMarks.js +5 -5
  8. package/dist/cjs/components/TickMarks.js.map +2 -2
  9. package/dist/cjs/components/TickMarksValues.js +5 -5
  10. package/dist/cjs/components/TickMarksValues.js.map +2 -2
  11. package/dist/cjs/components/Track.js +5 -5
  12. package/dist/cjs/components/Track.js.map +2 -2
  13. package/dist/cjs/components/styled.js +13 -12
  14. package/dist/cjs/components/styled.js.map +2 -2
  15. package/dist/cjs/prop-types.js +15 -16
  16. package/dist/cjs/prop-types.js.map +2 -2
  17. package/dist/esm/DSSlider.js +1 -1
  18. package/dist/esm/DSSlider.js.map +1 -1
  19. package/dist/esm/components/SliderImp.js +7 -19
  20. package/dist/esm/components/SliderImp.js.map +2 -2
  21. package/dist/esm/components/Thumb.js +10 -14
  22. package/dist/esm/components/Thumb.js.map +2 -2
  23. package/dist/esm/components/TickMarks.js +1 -1
  24. package/dist/esm/components/TickMarks.js.map +1 -1
  25. package/dist/esm/components/TickMarksValues.js +1 -1
  26. package/dist/esm/components/TickMarksValues.js.map +1 -1
  27. package/dist/esm/components/Track.js +1 -1
  28. package/dist/esm/components/Track.js.map +1 -1
  29. package/dist/esm/components/styled.js +3 -2
  30. package/dist/esm/components/styled.js.map +2 -2
  31. package/dist/esm/prop-types.js +2 -3
  32. package/dist/esm/prop-types.js.map +2 -2
  33. package/package.json +8 -8
@@ -41,14 +41,14 @@ __export(DSSlider_exports, {
41
41
  module.exports = __toCommonJS(DSSlider_exports);
42
42
  var React = __toESM(require("react"));
43
43
  var import_react = __toESM(require("react"));
44
- var import_react_desc = require("react-desc");
44
+ var import_ds_utilities = require("@elliemae/ds-utilities");
45
45
  var import_SliderImp = __toESM(require("./components/SliderImp"));
46
46
  var import_prop_types = require("./prop-types");
47
47
  const DSSlider = (props) => /* @__PURE__ */ import_react.default.createElement(import_SliderImp.default, __spreadValues({}, props));
48
48
  DSSlider.defaultProps = import_prop_types.defaultProps;
49
49
  DSSlider.propTypes = import_prop_types.sliderPropTypes;
50
50
  DSSlider.displayName = "DSSlider";
51
- const DSSliderWithSchema = (0, import_react_desc.describe)(DSSlider);
51
+ const DSSliderWithSchema = (0, import_ds_utilities.describe)(DSSlider);
52
52
  DSSliderWithSchema.propTypes = import_prop_types.sliderPropTypes;
53
53
  var DSSlider_default = DSSlider;
54
54
  //# sourceMappingURL=DSSlider.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSSlider.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "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;\nDSSlider.displayName = 'DSSlider';\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,wBAAyB;AACzB,uBAAsB;AACtB,wBAA8C;AAE9C,MAAM,WAAW,CAAC,UAAU,mDAAC,6CAAc,MAAO;AAElD,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,MAAM,qBAAqB,gCAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\nDSSlider.displayName = 'DSSlider';\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,0BAAyB;AACzB,uBAAsB;AACtB,wBAA8C;AAE9C,MAAM,WAAW,CAAC,UAAU,mDAAC,6CAAc,MAAO;AAElD,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,MAAM,qBAAqB,kCAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -30,6 +30,7 @@ var import_react_range = require("react-range");
30
30
  var import_ds_utilities = require("@elliemae/ds-utilities");
31
31
  var import_ds_truncated_tooltip_text = __toESM(require("@elliemae/ds-truncated-tooltip-text"));
32
32
  var import_ds_grid = require("@elliemae/ds-grid");
33
+ var import_ds_system = require("@elliemae/ds-system");
33
34
  var import_Track = __toESM(require("./Track"));
34
35
  var import_Thumb = __toESM(require("./Thumb"));
35
36
  var import_styled = require("./styled");
@@ -116,17 +117,11 @@ const SliderImp = (props) => {
116
117
  (0, import_react.useEffect)(() => {
117
118
  setWidth(ref.current?.clientWidth);
118
119
  }, [ref.current?.clientWidth]);
119
- const [finalLabelText, finalValueText] = (0, import_react.useMemo)(() => (0, import_utils.conformedLabel)(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep), [
120
- rangeValues,
121
- label,
122
- labelWithValue,
123
- withTwoHandles,
124
- customTickMarksValues,
125
- parsedStep
126
- ]);
120
+ const [finalLabelText, finalValueText] = (0, import_react.useMemo)(() => (0, import_utils.conformedLabel)(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep), [rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep]);
127
121
  const SliderLabel = /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styled.LabelText, null, finalLabelText), finalLabelText && " ", /* @__PURE__ */ import_react.default.createElement(import_styled.ValueText, {
128
122
  disabled
129
123
  }, finalValueText));
124
+ const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
130
125
  return /* @__PURE__ */ import_react.default.createElement(import_ds_truncated_tooltip_text.TooltipTextProvider, null, /* @__PURE__ */ import_react.default.createElement("div", {
131
126
  ref
132
127
  }, /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
@@ -151,7 +146,7 @@ const SliderImp = (props) => {
151
146
  customTickMarksValues,
152
147
  rangeValues,
153
148
  fullSelectedValues,
154
- zIndex
149
+ zIndex: zIndex ?? theme.zIndex.tooltip
155
150
  }
156
151
  }, finalLabelText && /* @__PURE__ */ import_react.default.createElement(import_styled.LabelWrapper, {
157
152
  width
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/SliderImp.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA4D;AAC5D,kBAA6B;AAC7B,yBAAsB;AACtB,0BAA4B;AAC5B,uCAEO;AACP,qBAAqB;AACrB,mBAAkB;AAClB,mBAAkB;AAClB,oBAKO;AACP,mBAA+B;AAC/B,qBAA8B;AAE9B,MAAM,uBAAuB,CAC3B,KACA,CAAC,QAAQ,SACT,0BAA0B,UACvB;AACH,QAAM,aAAa,0BAA0B,IAAI,UAAU;AAC3D,QAAM,WAAW,IAAI,UAAU,CAAC,OAAO,OAAO,UAAU;AAExD,MAAI,WAAW,QAAW;AAExB,UAAM,aAAa,0BAA0B,IAAI,UAAU;AAC3D,UAAM,WAAW,IAAI,UAAU,CAAC,OAAO,OAAO,UAAU;AAExD,QAAI,YAAY,KAAK,WAAW;AAC9B,aAAO,IAAI,MAAM,UAAU,WAAW,CAAC;AACzC,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,CAAC,UAAU;AACpB;AAEA,MAAM,YAAY,CAAC,UAAU;AAC3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AACJ,QAAM,MAAM,yBAAO;AACnB,QAAM,CAAC,OAAO,YAAY,2BAAS,CAAC;AACpC,QAAM,aAAa,0BAAQ,MAAM,oBAAO,GAAG,CAAC,CAAC;AAE7C,QAAM,iBAAiB,0BAAQ,MAAM;AAEnC,QAAI,uBAAuB;AAAQ,aAAO;AAC1C,WAAO;AAAA,EACT,GAAG,CAAC,uBAAuB,QAAQ,QAAQ,CAAC;AAC5C,QAAM,iBAAiB,0BAAQ,MAAM;AAEnC,QAAI,uBAAuB;AAAQ,aAAO,uBAAuB,SAAS;AAC1E,WAAO;AAAA,EACT,GAAG,CAAC,uBAAuB,QAAQ,QAAQ,CAAC;AAC5C,QAAM,aAAa,0BAAQ,MAAM;AAE/B,QAAI,uBAAuB;AAAQ,aAAO;AAC1C,WAAO;AAAA,EACT,GAAG,CAAC,uBAAuB,QAAQ,IAAI,CAAC;AAExC,QAAM,oBAAoB,0BAAQ,MAAM;AAEtC,QAAI,uBAAuB;AAAQ,aAAO;AAC1C,UAAM,YAAY,KAAK,KAAK,WAAW,IAAI;AAC3C,UAAM,cAAc,CAAC;AACrB,aAAS,IAAI,GAAG,KAAK,WAAW,KAAK,GAAG;AACtC,kBAAY,KAAK,OAAO,CAAC;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,uBAAuB,QAAQ,UAAU,UAAU,IAAI,CAAC;AAE5D,QAAM,CAAC,aAAa,kBAAkB,2BACpC,iBAAiB,CAAC,gBAAgB,cAAc,IAAI,CAAC,cAAc,CACrE;AAGA,QAAM,CAAC,oBAAoB,yBAAyB,2BAAS,CAAC,CAAC;AAC/D,8BAAU,MAAM;AACd,UAAM,sBAAsB,qBAC1B,mBACA,aACA,CAAC,CAAC,uBAAuB,MAC3B;AACA,0BAAsB,mBAAmB;AAAA,EAC3C,GAAG,CAAC,mBAAmB,aAAa,uBAAuB,MAAM,CAAC;AAElE,QAAM,qBAAqB,qCAAY,cAAc;AACrD,QAAM,gBAAgB,MAAM;AAC1B,aAAS,CAAC;AACV,aAAS,IAAI,SAAS,WAAW;AAAA,EACnC;AACA,8BAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,aAAa;AAC/C,WAAO,MAAM,OAAO,oBAAoB,UAAU,aAAa;AAAA,EACjE,CAAC;AACD,8BAAU,MAAM;AACd,QAAI,CAAC,sBAAsB,gBAAgB;AACzC,qBAAe,CAAC,gBAAgB,cAAc,CAAC;AAAA,IACjD,WAAW,sBAAsB,CAAC,gBAAgB;AAChD,qBAAe,CAAC,cAAc,CAAC;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,cAAc,CAAC;AAEnB,8BAAU,MAAM;AACd,aAAS,IAAI,SAAS,WAAW;AAAA,EACnC,GAAG,CAAC,IAAI,SAAS,WAAW,CAAC;AAE7B,QAAM,CAAC,gBAAgB,kBAAkB,0BACvC,MACE,iCACE,aACA,OACA,gBACA,gBACA,uBACA,UACF,GACF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,QAAM,cACJ,wFACE,mDAAC,+BAAW,cAAe,GAC1B,kBAAkB,KACnB,mDAAC;AAAA,IAAU;AAAA,KAAqB,cAAe,CACjD;AAGF,SACE,mDAAC,4DACC,mDAAC;AAAA,IAAI;AAAA,KACH,mDAAC;AAAA,IACC,OAAM;AAAA,IACN,OAAO,EAAE,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA,eAAY;AAAA,IACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,KAErB,mDAAC,6BAAc,UAAd;AAAA,IACC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,KAEC,kBACC,mDAAC;AAAA,IAAa;AAAA,KACZ,mDAAC;AAAA,IAAuB,OAAO;AAAA,GAAa,CAC9C,GAEF,mDAAC,wCACC,mDAAC;AAAA,IACC,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,IACA,UAAU,CAAC,WAAW;AACpB,UAAI,kBAAkB,OAAO,OAAO,OAAO;AAAI;AAC/C,qBAAe,MAAM;AACrB,eAAS,MAAM;AAAA,IACjB;AAAA,IACA,aAAa,CAAC,EAAE,OAAO,YAAY,eACjC,mDAAC;AAAA,MAAM,OAAO;AAAA,OAAa,QAAS;AAAA,IAEtC,aAAa,CAAC,eAAe;AAC3B,YAAM,EAAE,OAAO,OAAO,YAAY,cAAc;AAChD,aACE,mDAAC;AAAA,QACC,KAAK,GAAG,cAAc,WAAW;AAAA,QACjC,OAAO;AAAA,QACP;AAAA,QACA;AAAA,OACF;AAAA,IAEJ;AAAA,IACA,cAAc;AAAA,GAChB,CACF,CACF,CACF,CACF,CACF;AAEJ;AAIA,IAAO,oBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo, useContext } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport { usePrevious } from '@elliemae/ds-utilities';\nimport DSTruncatedTooltipText, { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport { LabelWrapper, StyledRangeWrapper, LabelText, ValueText } 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) 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(withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue]);\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(parsedValuesArray, rangeValues, !!customTickMarksValues?.length);\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 () => conformedLabel(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep),\n [rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n const theme = useContext(ThemeContext);\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: zIndex ?? theme.zIndex.tooltip,\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 }) => <Track props={trackProps}>{children}</Track>}\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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -49,14 +49,7 @@ var import_utils = require("./utils");
49
49
  var import_styled = require("./styled");
50
50
  const Thumb = ({ index, props, isDragged }) => {
51
51
  const [isHovered, setIsHovered] = (0, import_react.useState)(false);
52
- const {
53
- disabled,
54
- rangeValues,
55
- zIndex,
56
- customTickMarksValues,
57
- step,
58
- minValue
59
- } = (0, import_react.useContext)(import_context.SliderContext);
52
+ const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = (0, import_react.useContext)(import_context.SliderContext);
60
53
  const cleanedProps = __spreadValues({}, props);
61
54
  return /* @__PURE__ */ import_react.default.createElement(import_styled.ThumbStyled, __spreadProps(__spreadValues({}, cleanedProps), {
62
55
  "data-testid": "slider-thumb",
@@ -65,10 +58,13 @@ const Thumb = ({ index, props, isDragged }) => {
65
58
  index,
66
59
  onMouseEnter: () => setIsHovered(true),
67
60
  onMouseLeave: () => setIsHovered(false)
68
- }), /* @__PURE__ */ import_react.default.createElement(import_styled.TooltipContainerStyled, {
69
- isDragged,
70
- isHovered
71
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_tooltip.TooltipText, null, (0, import_utils.conformedThumbLabel)(rangeValues, customTickMarksValues, index, step, minValue)), /* @__PURE__ */ import_react.default.createElement(import_styled.TooltipArrow, null)));
61
+ }), /* @__PURE__ */ import_react.default.createElement(import_ds_tooltip.DSTooltipV3, {
62
+ key: (0, import_utils.conformedThumbLabel)(rangeValues, customTickMarksValues, index, step, minValue),
63
+ text: (0, import_utils.conformedThumbLabel)(rangeValues, customTickMarksValues, index, step, minValue),
64
+ showPopover: isDragged || isHovered,
65
+ customOffset: [0, 20],
66
+ withoutAnimation: true
67
+ }));
72
68
  };
73
69
  Thumb.propTypes = {
74
70
  index: import_prop_types.default.number,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/Thumb.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { TooltipText } from '@elliemae/ds-tooltip';\nimport { SliderContext } from './context';\nimport { conformedThumbLabel } from './utils';\nimport { ThumbStyled, TooltipContainerStyled, TooltipArrow } from './styled';\n\nconst Thumb = ({ index, props, isDragged }) => {\n const [isHovered, setIsHovered] = useState(false);\n const {\n disabled,\n rangeValues,\n zIndex,\n customTickMarksValues,\n step,\n minValue,\n } = useContext(SliderContext);\n\n const cleanedProps = { ...props };\n // delete cleanedProps.key;\n // delete cleanedProps.draggable;\n return (\n // ...props is needed because it's received from the library\n // ...props.style has it own style from the library but has a bug with the zIndex for two thumbs, so that's why it has to be overwrite\n <ThumbStyled\n {...cleanedProps}\n data-testid=\"slider-thumb\"\n disabled={disabled}\n // eslint-disable-next-line react/prop-types\n style={{ ...cleanedProps.style, zIndex }}\n index={index}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <TooltipContainerStyled isDragged={isDragged} isHovered={isHovered}>\n <TooltipText>\n {conformedThumbLabel(\n rangeValues,\n customTickMarksValues,\n index,\n step,\n minValue,\n )}\n </TooltipText>\n <TooltipArrow />\n </TooltipContainerStyled>\n </ThumbStyled>\n );\n};\n\nThumb.propTypes = {\n index: PropTypes.number,\n props: PropTypes.shape({\n style: PropTypes.shape({}).isRequired,\n }).isRequired,\n isDragged: PropTypes.bool,\n};\n\nexport default Thumb;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAC5C,wBAAsB;AACtB,wBAA4B;AAC5B,qBAA8B;AAC9B,mBAAoC;AACpC,oBAAkE;AAElE,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,gBAAgB;AAC7C,QAAM,CAAC,WAAW,gBAAgB,2BAAS,KAAK;AAChD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,4BAAa;AAE5B,QAAM,eAAe,mBAAK;AAG1B,SAGE,mDAAC,4DACK,eADL;AAAA,IAEC,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,iCAAK,aAAa,QAAlB,EAAyB,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC,mDAAC;AAAA,IAAuB;AAAA,IAAsB;AAAA,KAC5C,mDAAC,qCACE,sCACC,aACA,uBACA,OACA,MACA,QACF,CACF,GACA,mDAAC,gCAAa,CAChB,CACF;AAEJ;AAEA,MAAM,YAAY;AAAA,EAChB,OAAO,0BAAU;AAAA,EACjB,OAAO,0BAAU,MAAM;AAAA,IACrB,OAAO,0BAAU,MAAM,CAAC,CAAC,EAAE;AAAA,EAC7B,CAAC,EAAE;AAAA,EACH,WAAW,0BAAU;AACvB;AAEA,IAAO,gBAAQ;",
4
+ "sourcesContent": ["import React, { useContext, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\nimport { SliderContext } from './context';\nimport { conformedThumbLabel } from './utils';\nimport { ThumbStyled, TooltipContainerStyled, TooltipArrow } from './styled';\n\nconst Thumb = ({ index, props, isDragged }) => {\n const [isHovered, setIsHovered] = useState(false);\n const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = useContext(SliderContext);\n\n const cleanedProps = { ...props };\n // delete cleanedProps.key;\n // delete cleanedProps.draggable;\n return (\n // ...props is needed because it's received from the library\n // ...props.style has it own style from the library but has a bug with the zIndex for two thumbs, so that's why it has to be overwrite\n <ThumbStyled\n {...cleanedProps}\n data-testid=\"slider-thumb\"\n disabled={disabled}\n // eslint-disable-next-line react/prop-types\n style={{ ...cleanedProps.style, zIndex }}\n index={index}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <DSTooltipV3\n key={conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue)}\n text={conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue)}\n showPopover={isDragged || isHovered}\n customOffset={[0, 20]}\n withoutAnimation\n ></DSTooltipV3>\n </ThumbStyled>\n );\n};\n\n/* {createPortal(\n <TooltipContainerStyled isDragged={isDragged} isHovered={isHovered}>\n <TooltipText>{</TooltipText>\n <TooltipArrow />\n </TooltipContainerStyled>,\n document.body,\n )} */\n\nThumb.propTypes = {\n index: PropTypes.number,\n props: PropTypes.shape({\n style: PropTypes.shape({}).isRequired,\n }).isRequired,\n isDragged: PropTypes.bool,\n};\n\nexport default Thumb;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAE5C,wBAAsB;AACtB,wBAA4B;AAC5B,qBAA8B;AAC9B,mBAAoC;AACpC,oBAAkE;AAElE,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,gBAAgB;AAC7C,QAAM,CAAC,WAAW,gBAAgB,2BAAS,KAAK;AAChD,QAAM,EAAE,UAAU,aAAa,QAAQ,uBAAuB,MAAM,aAAa,6BAAW,4BAAa;AAEzG,QAAM,eAAe,mBAAK;AAG1B,SAGE,mDAAC,4DACK,eADL;AAAA,IAEC,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,iCAAK,aAAa,QAAlB,EAAyB,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC,mDAAC;AAAA,IACC,KAAK,sCAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,IAClF,MAAM,sCAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,IACnF,aAAa,aAAa;AAAA,IAC1B,cAAc,CAAC,GAAG,EAAE;AAAA,IACpB,kBAAgB;AAAA,GACjB,CACH;AAEJ;AAUA,MAAM,YAAY;AAAA,EAChB,OAAO,0BAAU;AAAA,EACjB,OAAO,0BAAU,MAAM;AAAA,IACrB,OAAO,0BAAU,MAAM,CAAC,CAAC,EAAE;AAAA,EAC7B,CAAC,EAAE;AAAA,EACH,WAAW,0BAAU;AACvB;AAEA,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -25,8 +25,8 @@ __export(TickMarks_exports, {
25
25
  module.exports = __toCommonJS(TickMarks_exports);
26
26
  var React = __toESM(require("react"));
27
27
  var import_react = __toESM(require("react"));
28
- var import_styled_components = __toESM(require("styled-components"));
29
28
  var import_ds_system = require("@elliemae/ds-system");
29
+ var import_ds_system2 = require("@elliemae/ds-system");
30
30
  var import_context = require("./context");
31
31
  const TickMarks = () => {
32
32
  const {
@@ -51,20 +51,20 @@ const TickMarks = () => {
51
51
  zIndex
52
52
  }, dots);
53
53
  };
54
- const Dot = import_styled_components.default.div`
54
+ const Dot = import_ds_system.styled.div`
55
55
  &:after {
56
56
  content: '';
57
57
  background: ${(props) => props.isActive ? props.theme.colors.brand[300] : props.theme.colors.neutral[400]};
58
- border-radius: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
58
+ border-radius: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
59
59
  display: block;
60
60
  position: relative;
61
61
  width: 2px;
62
62
  height: 2px;
63
63
  }
64
64
  `;
65
- const DotsContainer = import_styled_components.default.div`
65
+ const DotsContainer = import_ds_system.styled.div`
66
66
  padding: 0
67
- calc(${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 0.5);
67
+ calc(${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 0.5);
68
68
  align-items: center;
69
69
  display: flex;
70
70
  justify-content: space-between;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/TickMarks.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\nimport React, { useContext } from 'react';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const {\n minValue,\n maxValue,\n rangeValues,\n step,\n withTwoHandles,\n zIndex,\n } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles\n ? rangeValues[0] <= index && index < rangeValues[1]\n : rangeValues[0] > index;\n dots.push(<Dot data-testid=\"slider-dot\" isActive={isActive} key={index} />);\n }\n\n return (\n <DotsContainer data-testid=\"slider-tick-marks\" zIndex={zIndex}>\n {dots}\n </DotsContainer>\n );\n};\n\nconst Dot = styled.div`\n &:after {\n content: '';\n background: ${(props) =>\n props.isActive\n ? props.theme.colors.brand[300]\n : props.theme.colors.neutral[400]};\n border-radius: ${(props) =>\n __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n display: block;\n position: relative;\n width: 2px;\n height: 2px;\n }\n`;\n\nconst DotsContainer = styled.div`\n padding: 0\n calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 0.5);\n align-items: center;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${(props) => props.zIndex - 1};\n`;\n\nexport default TickMarks;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkC;AAClC,+BAAmB;AACnB,uBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,4BAAa;AAC5B,QAAM,OAAO,CAAC;AAEd,WAAS,QAAQ,YAAY,GAAG,SAAS,UAAU,SAAS,MAAM;AAChE,UAAM,WAAW,iBACb,YAAY,MAAM,SAAS,QAAQ,YAAY,KAC/C,YAAY,KAAK;AACrB,SAAK,KAAK,mDAAC;AAAA,MAAI,eAAY;AAAA,MAAa;AAAA,MAAoB,KAAK;AAAA,KAAO,CAAE;AAAA,EAC5E;AAEA,SACE,mDAAC;AAAA,IAAc,eAAY;AAAA,IAAoB;AAAA,KAC5C,IACH;AAEJ;AAEA,MAAM,MAAM,iCAAO;AAAA;AAAA;AAAA,kBAGD,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,MAAM,OACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,qBAChB,CAAC,UAChB,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpD,MAAM,gBAAgB,iCAAO;AAAA;AAAA,WAElB,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUvD,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable indent */\nimport React, { useContext } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const {\n minValue,\n maxValue,\n rangeValues,\n step,\n withTwoHandles,\n zIndex,\n } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles\n ? rangeValues[0] <= index && index < rangeValues[1]\n : rangeValues[0] > index;\n dots.push(<Dot data-testid=\"slider-dot\" isActive={isActive} key={index} />);\n }\n\n return (\n <DotsContainer data-testid=\"slider-tick-marks\" zIndex={zIndex}>\n {dots}\n </DotsContainer>\n );\n};\n\nconst Dot = styled.div`\n &:after {\n content: '';\n background: ${(props) =>\n props.isActive\n ? props.theme.colors.brand[300]\n : props.theme.colors.neutral[400]};\n border-radius: ${(props) =>\n __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n display: block;\n position: relative;\n width: 2px;\n height: 2px;\n }\n`;\n\nconst DotsContainer = styled.div`\n padding: 0\n calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 0.5);\n align-items: center;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${(props) => props.zIndex - 1};\n`;\n\nexport default TickMarks;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkC;AAClC,uBAAuB;AACvB,wBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,4BAAa;AAC5B,QAAM,OAAO,CAAC;AAEd,WAAS,QAAQ,YAAY,GAAG,SAAS,UAAU,SAAS,MAAM;AAChE,UAAM,WAAW,iBACb,YAAY,MAAM,SAAS,QAAQ,YAAY,KAC/C,YAAY,KAAK;AACrB,SAAK,KAAK,mDAAC;AAAA,MAAI,eAAY;AAAA,MAAa;AAAA,MAAoB,KAAK;AAAA,KAAO,CAAE;AAAA,EAC5E;AAEA,SACE,mDAAC;AAAA,IAAc,eAAY;AAAA,IAAoB;AAAA,KAC5C,IACH;AAEJ;AAEA,MAAM,MAAM,wBAAO;AAAA;AAAA;AAAA,kBAGD,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,MAAM,OACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,qBAChB,CAAC,UAChB,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpD,MAAM,gBAAgB,wBAAO;AAAA;AAAA,WAElB,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUvD,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
6
6
  "names": []
7
7
  }
@@ -25,8 +25,8 @@ __export(TickMarksValues_exports, {
25
25
  module.exports = __toCommonJS(TickMarksValues_exports);
26
26
  var React = __toESM(require("react"));
27
27
  var import_react = __toESM(require("react"));
28
- var import_styled_components = __toESM(require("styled-components"));
29
28
  var import_ds_system = require("@elliemae/ds-system");
29
+ var import_ds_system2 = require("@elliemae/ds-system");
30
30
  var import_context = require("./context");
31
31
  const TickMarks = () => {
32
32
  const { parsedValuesArray, fullSelectedValues, sliderUUID } = (0, import_react.useContext)(import_context.SliderContext);
@@ -42,14 +42,14 @@ const TickMarks = () => {
42
42
  }, TickMarksLabels), [TickMarksLabels]);
43
43
  return PureTickMArksValues;
44
44
  };
45
- const TickMarkValue = import_styled_components.default.div`
46
- margin: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.s)} 0;
45
+ const TickMarkValue = import_ds_system.styled.div`
46
+ margin: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.s)} 0;
47
47
  overflow: visible;
48
48
  transform: translateX(-100%);
49
- width: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
49
+ width: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
50
50
  color: ${(props) => props.isSelected ? props.theme.colors.neutral[800] : props.theme.colors.neutral[500]};
51
51
  `;
52
- const TickMarksContainer = import_styled_components.default.div`
52
+ const TickMarksContainer = import_ds_system.styled.div`
53
53
  display: flex;
54
54
  justify-content: space-between;
55
55
  `;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/TickMarksValues.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable no-plusplus */\nimport React, { useContext, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const { parsedValuesArray, fullSelectedValues, sliderUUID } = useContext(\n SliderContext,\n );\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected =\n fullSelectedValues.findIndex(\n (selectedVal) => selectedVal === value,\n ) >= 0;\n return (\n <TickMarkValue key={`${sliderUUID}-${value}`} isSelected={isSelected}>\n {value}\n </TickMarkValue>\n );\n }),\n\n [parsedValuesArray, sliderUUID, fullSelectedValues],\n );\n\n const PureTickMArksValues = useMemo(\n () => (\n <TickMarksContainer data-testid=\"slider-tick-marks-values\">\n {TickMarksLabels}\n </TickMarksContainer>\n ),\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n margin: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)} 0;\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) =>\n props.isSelected\n ? props.theme.colors.neutral[800]\n : props.theme.colors.neutral[500]};\n`;\n\nconst TickMarksContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport default TickMarks;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA2C;AAC3C,+BAAmB;AACnB,uBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,eAAe,6BAC5D,4BACF;AAEA,QAAM,kBAAkB,0BACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,UAAM,aACJ,mBAAmB,UACjB,CAAC,gBAAgB,gBAAgB,KACnC,KAAK;AACP,WACE,mDAAC;AAAA,MAAc,KAAK,GAAG,cAAc;AAAA,MAAS;AAAA,OAC3C,KACH;AAAA,EAEJ,CAAC,GAEH,CAAC,mBAAmB,YAAY,kBAAkB,CACpD;AAEA,QAAM,sBAAsB,0BAC1B,MACE,mDAAC;AAAA,IAAmB,eAAY;AAAA,KAC7B,eACH,GAEF,CAAC,eAAe,CAClB;AAEA,SAAO;AACT;AAEA,MAAM,gBAAgB,iCAAO;AAAA,YACjB,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,WAGxD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,WACzD,CAAC,UACR,MAAM,aACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGnC,MAAM,qBAAqB,iCAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
4
+ "sourcesContent": ["/* eslint-disable no-plusplus */\nimport React, { useContext, useMemo } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const { parsedValuesArray, fullSelectedValues, sliderUUID } = useContext(\n SliderContext,\n );\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected =\n fullSelectedValues.findIndex(\n (selectedVal) => selectedVal === value,\n ) >= 0;\n return (\n <TickMarkValue key={`${sliderUUID}-${value}`} isSelected={isSelected}>\n {value}\n </TickMarkValue>\n );\n }),\n\n [parsedValuesArray, sliderUUID, fullSelectedValues],\n );\n\n const PureTickMArksValues = useMemo(\n () => (\n <TickMarksContainer data-testid=\"slider-tick-marks-values\">\n {TickMarksLabels}\n </TickMarksContainer>\n ),\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n margin: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)} 0;\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) =>\n props.isSelected\n ? props.theme.colors.neutral[800]\n : props.theme.colors.neutral[500]};\n`;\n\nconst TickMarksContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport default TickMarks;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA2C;AAC3C,uBAAuB;AACvB,wBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,eAAe,6BAC5D,4BACF;AAEA,QAAM,kBAAkB,0BACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,UAAM,aACJ,mBAAmB,UACjB,CAAC,gBAAgB,gBAAgB,KACnC,KAAK;AACP,WACE,mDAAC;AAAA,MAAc,KAAK,GAAG,cAAc;AAAA,MAAS;AAAA,OAC3C,KACH;AAAA,EAEJ,CAAC,GAEH,CAAC,mBAAmB,YAAY,kBAAkB,CACpD;AAEA,QAAM,sBAAsB,0BAC1B,MACE,mDAAC;AAAA,IAAmB,eAAY;AAAA,KAC7B,eACH,GAEF,CAAC,eAAe,CAClB;AAEA,SAAO;AACT;AAEA,MAAM,gBAAgB,wBAAO;AAAA,YACjB,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,WAGxD,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,WACzD,CAAC,UACR,MAAM,aACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGnC,MAAM,qBAAqB,wBAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
6
6
  "names": []
7
7
  }
@@ -43,8 +43,8 @@ module.exports = __toCommonJS(Track_exports);
43
43
  var React = __toESM(require("react"));
44
44
  var import_react = __toESM(require("react"));
45
45
  var import_react_range = require("react-range");
46
- var import_styled_components = __toESM(require("styled-components"));
47
46
  var import_ds_system = require("@elliemae/ds-system");
47
+ var import_ds_system2 = require("@elliemae/ds-system");
48
48
  var import_TickMarks = __toESM(require("./TickMarks"));
49
49
  var import_TickMarksValues = __toESM(require("./TickMarksValues"));
50
50
  var import_context = require("./context");
@@ -66,12 +66,12 @@ const Track = ({ children, props }) => {
66
66
  withTwoHandles
67
67
  }), children, withTickMarks && !disabled && /* @__PURE__ */ import_react.default.createElement(import_TickMarks.default, null)), withTickMarksValues && /* @__PURE__ */ import_react.default.createElement(import_TickMarksValues.default, null));
68
68
  };
69
- const TrackStyled = import_styled_components.default.div`
69
+ const TrackStyled = import_ds_system.styled.div`
70
70
  position: relative;
71
- height: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
71
+ height: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
72
72
  width: 100%;
73
- min-width: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxl)};
74
- border-radius: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
73
+ min-width: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxl)};
74
+ border-radius: ${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
75
75
  background: ${(props) => props.disabled ? props.theme.colors.neutral[100] : (0, import_react_range.getTrackBackground)({
76
76
  values: props.rangeValues,
77
77
  colors: props.withTwoHandles ? [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/Track.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { getTrackBackground } from 'react-range';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\n\nimport TickMarks from './TickMarks';\nimport TickMarksValues from './TickMarksValues';\nimport { SliderContext } from './context';\n\nconst Track = ({ children, props }) => {\n const {\n disabled,\n minValue,\n maxValue,\n rangeValues,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n } = useContext(SliderContext);\n\n return (\n <>\n <TrackStyled\n {...props} // This is needed because it's received from the library\n disabled={disabled}\n minValue={minValue}\n maxValue={maxValue}\n rangeValues={rangeValues}\n withTwoHandles={withTwoHandles}\n >\n {children}\n {withTickMarks && !disabled && <TickMarks />}\n </TrackStyled>\n {withTickMarksValues && <TickMarksValues />}\n </>\n );\n};\n\nconst TrackStyled = styled.div`\n position: relative;\n height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n width: 100%;\n min-width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxl)};\n border-radius: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n background: ${(props) =>\n props.disabled\n ? props.theme.colors.neutral[100]\n : getTrackBackground({\n values: props.rangeValues,\n colors: props.withTwoHandles\n ? [\n props.theme.colors.neutral[100],\n props.theme.colors.brand[600],\n props.theme.colors.neutral[100],\n ]\n : [props.theme.colors.brand[600], props.theme.colors.neutral[100]],\n min: props.minValue,\n max: props.maxValue,\n })};\n`;\n\nexport default Track;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkC;AAClC,yBAAmC;AACnC,+BAAmB;AACnB,uBAAyC;AAEzC,uBAAsB;AACtB,6BAA4B;AAC5B,qBAA8B;AAE9B,MAAM,QAAQ,CAAC,EAAE,UAAU,YAAY;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,4BAAa;AAE5B,SACE,wFACE,mDAAC,8CACK,QADL;AAAA,IAEC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEC,UACA,iBAAiB,CAAC,YAAY,mDAAC,8BAAU,CAC5C,GACC,uBAAuB,mDAAC,oCAAgB,CAC3C;AAEJ;AAEA,MAAM,cAAc,iCAAO;AAAA;AAAA,YAEf,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,eAEtD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,mBACrD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,gBAC5D,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,2CAAmB;AAAA,EACjB,QAAQ,MAAM;AAAA,EACd,QAAQ,MAAM,iBACV;AAAA,IACE,MAAM,MAAM,OAAO,QAAQ;AAAA,IAC3B,MAAM,MAAM,OAAO,MAAM;AAAA,IACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,EAC7B,IACA,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,QAAQ,IAAI;AAAA,EACnE,KAAK,MAAM;AAAA,EACX,KAAK,MAAM;AACb,CAAC;AAAA;AAGT,IAAO,gBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { getTrackBackground } from 'react-range';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\n\nimport TickMarks from './TickMarks';\nimport TickMarksValues from './TickMarksValues';\nimport { SliderContext } from './context';\n\nconst Track = ({ children, props }) => {\n const {\n disabled,\n minValue,\n maxValue,\n rangeValues,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n } = useContext(SliderContext);\n\n return (\n <>\n <TrackStyled\n {...props} // This is needed because it's received from the library\n disabled={disabled}\n minValue={minValue}\n maxValue={maxValue}\n rangeValues={rangeValues}\n withTwoHandles={withTwoHandles}\n >\n {children}\n {withTickMarks && !disabled && <TickMarks />}\n </TrackStyled>\n {withTickMarksValues && <TickMarksValues />}\n </>\n );\n};\n\nconst TrackStyled = styled.div`\n position: relative;\n height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n width: 100%;\n min-width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxl)};\n border-radius: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n background: ${(props) =>\n props.disabled\n ? props.theme.colors.neutral[100]\n : getTrackBackground({\n values: props.rangeValues,\n colors: props.withTwoHandles\n ? [\n props.theme.colors.neutral[100],\n props.theme.colors.brand[600],\n props.theme.colors.neutral[100],\n ]\n : [props.theme.colors.brand[600], props.theme.colors.neutral[100]],\n min: props.minValue,\n max: props.maxValue,\n })};\n`;\n\nexport default Track;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkC;AAClC,yBAAmC;AACnC,uBAAuB;AACvB,wBAAyC;AAEzC,uBAAsB;AACtB,6BAA4B;AAC5B,qBAA8B;AAE9B,MAAM,QAAQ,CAAC,EAAE,UAAU,YAAY;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,4BAAa;AAE5B,SACE,wFACE,mDAAC,8CACK,QADL;AAAA,IAEC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEC,UACA,iBAAiB,CAAC,YAAY,mDAAC,8BAAU,CAC5C,GACC,uBAAuB,mDAAC,oCAAgB,CAC3C;AAEJ;AAEA,MAAM,cAAc,wBAAO;AAAA;AAAA,YAEf,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,eAEtD,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,mBACrD,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,gBAC5D,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,2CAAmB;AAAA,EACjB,QAAQ,MAAM;AAAA,EACd,QAAQ,MAAM,iBACV;AAAA,IACE,MAAM,MAAM,OAAO,QAAQ;AAAA,IAC3B,MAAM,MAAM,OAAO,MAAM;AAAA,IACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,EAC7B,IACA,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,QAAQ,IAAI;AAAA,EACnE,KAAK,MAAM;AAAA,EACX,KAAK,MAAM;AACb,CAAC;AAAA;AAGT,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -30,12 +30,13 @@ __export(styled_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(styled_exports);
32
32
  var React = __toESM(require("react"));
33
- var import_styled_components = __toESM(require("styled-components"));
34
33
  var import_ds_system = require("@elliemae/ds-system");
34
+ var import_ds_system2 = require("@elliemae/ds-system");
35
35
  var import_ds_tooltip = require("@elliemae/ds-tooltip");
36
- const ThumbStyled = import_styled_components.default.div`
36
+ const ThumbStyled = import_ds_system.styled.div`
37
37
  height: 20px;
38
38
  width: 20px;
39
+ top: 0;
39
40
  background-color: ${(props) => props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral["000"]};
40
41
  border-radius: 10px;
41
42
  border: 1px solid ${(props) => props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400]};
@@ -49,7 +50,7 @@ const ThumbStyled = import_styled_components.default.div`
49
50
  background-color: ${({ disabled, theme }) => disabled ? theme.colors.neutral[100] : theme.colors.brand[200]};
50
51
  }
51
52
  `;
52
- const TooltipContainerStyled = (0, import_styled_components.default)(import_ds_tooltip.TooltipContainer)`
53
+ const TooltipContainerStyled = (0, import_ds_system.styled)(import_ds_tooltip.TooltipContainer)`
53
54
  position: relative;
54
55
  display: flex;
55
56
  align-items: center;
@@ -60,29 +61,29 @@ const TooltipContainerStyled = (0, import_styled_components.default)(import_ds_t
60
61
  transform: translateX(-50%);
61
62
  visibility: ${({ isDragged, isHovered }) => isDragged || isHovered ? "visible" : "hidden"};
62
63
  `;
63
- const TooltipArrow = import_styled_components.default.div`
64
+ const TooltipArrow = import_ds_system.styled.div`
64
65
  position: absolute;
65
66
  width: 0;
66
67
  height: 0;
67
68
  top: 20px;
68
- border-left: calc(${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid transparent;
69
- border-right: calc(${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid transparent;
69
+ border-left: calc(${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid transparent;
70
+ border-right: calc(${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid transparent;
70
71
 
71
- border-top: calc(${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid
72
- ${(props) => props.theme.colors.neutral[0]};
72
+ border-top: calc(${(props) => (0, import_ds_system2.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 2.5) solid
73
+ ${(props) => props.theme.colors.neutral["000"]};
73
74
  `;
74
- const LabelWrapper = import_styled_components.default.div`
75
+ const LabelWrapper = import_ds_system.styled.div`
75
76
  margin-bottom: ${(props) => props.theme.space.xxs};
76
77
  max-width: 100%;
77
78
  width: ${(props) => `${props.width || 0}px`};
78
79
  `;
79
- const LabelText = import_styled_components.default.span`
80
+ const LabelText = import_ds_system.styled.span`
80
81
  color: ${(props) => props.theme.colors.neutral[600]};
81
82
  `;
82
- const ValueText = import_styled_components.default.span`
83
+ const ValueText = import_ds_system.styled.span`
83
84
  color: ${({ disabled, theme }) => theme.colors.neutral[disabled ? 500 : 800]};
84
85
  `;
85
- const StyledRangeWrapper = import_styled_components.default.div`
86
+ const StyledRangeWrapper = import_ds_system.styled.div`
86
87
  min-height: 28px;
87
88
  margin: 0 10px;
88
89
  `;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/styled.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { TooltipContainer } from '@elliemae/ds-tooltip';\n\nexport const ThumbStyled = styled.div`\n height: 20px;\n width: 20px;\n background-color: ${(props) =>\n props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral['000']};\n border-radius: 10px;\n border: 1px solid ${(props) => (props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400])};\n\n :focus {\n border: 1px solid ${(props) => props.theme.colors.brand[600]};\n outline: unset;\n }\n\n :hover {\n background-color: ${({ disabled, theme }) => (disabled ? theme.colors.neutral[100] : theme.colors.brand[200])};\n }\n`;\n\nexport const TooltipContainerStyled = styled(TooltipContainer)`\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n top: -35px;\n width: max-content;\n left: 50%;\n transform: translateX(-50%);\n visibility: ${({ isDragged, isHovered }) => (isDragged || isHovered ? 'visible' : 'hidden')};\n`;\n// TODO: didn't work with DSTooltip, see how to improve\nexport const TooltipArrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n top: 20px;\n border-left: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n border-right: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n\n border-top: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid\n ${(props) => props.theme.colors.neutral[0]};\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: ${(props) => props.theme.space.xxs};\n max-width: 100%;\n width: ${(props) => `${props.width || 0}px`};\n`;\n\nexport const LabelText = styled.span`\n color: ${(props) => props.theme.colors.neutral[600]};\n`;\n\nexport const ValueText = styled.span`\n color: ${({ disabled, theme }) => theme.colors.neutral[disabled ? 500 : 800]};\n`;\n\nexport const StyledRangeWrapper = styled.div`\n min-height: 28px;\n margin: 0 10px;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,+BAAmB;AACnB,uBAAyC;AACzC,wBAAiC;AAE1B,MAAM,cAAc,iCAAO;AAAA;AAAA;AAAA,sBAGZ,CAAC,UACnB,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,sBAE5D,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,wBAGxF,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpC,CAAC,EAAE,UAAU,YAAa,WAAW,MAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAIrG,MAAM,yBAAyB,sCAAO,kCAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS7C,CAAC,EAAE,WAAW,gBAAiB,aAAa,YAAY,YAAY;AAAA;AAG7E,MAAM,eAAe,iCAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKb,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,uBACxD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,qBAE3D,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,MACxE,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGrC,MAAM,eAAe,iCAAO;AAAA,mBAChB,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA,WAErC,CAAC,UAAU,GAAG,MAAM,SAAS;AAAA;AAGjC,MAAM,YAAY,iCAAO;AAAA,WACrB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAG1C,MAAM,YAAY,iCAAO;AAAA,WACrB,CAAC,EAAE,UAAU,YAAY,MAAM,OAAO,QAAQ,WAAW,MAAM;AAAA;AAGnE,MAAM,qBAAqB,iCAAO;AAAA;AAAA;AAAA;",
4
+ "sourcesContent": ["/* eslint-disable indent */\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { TooltipContainer } from '@elliemae/ds-tooltip';\n\nexport const ThumbStyled = styled.div`\n height: 20px;\n width: 20px;\n top: 0;\n background-color: ${(props) =>\n props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral['000']};\n border-radius: 10px;\n border: 1px solid ${(props) => (props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400])};\n\n :focus {\n border: 1px solid ${(props) => props.theme.colors.brand[600]};\n outline: unset;\n }\n\n :hover {\n background-color: ${({ disabled, theme }) => (disabled ? theme.colors.neutral[100] : theme.colors.brand[200])};\n }\n`;\n\nexport const TooltipContainerStyled = styled(TooltipContainer)`\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n top: -35px;\n width: max-content;\n left: 50%;\n transform: translateX(-50%);\n visibility: ${({ isDragged, isHovered }) => (isDragged || isHovered ? 'visible' : 'hidden')};\n`;\n// TODO: didn't work with DSTooltip, see how to improve\nexport const TooltipArrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n top: 20px;\n border-left: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n border-right: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n\n border-top: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid\n ${(props) => props.theme.colors.neutral['000']};\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: ${(props) => props.theme.space.xxs};\n max-width: 100%;\n width: ${(props) => `${props.width || 0}px`};\n`;\n\nexport const LabelText = styled.span`\n color: ${(props) => props.theme.colors.neutral[600]};\n`;\n\nexport const ValueText = styled.span`\n color: ${({ disabled, theme }) => theme.colors.neutral[disabled ? 500 : 800]};\n`;\n\nexport const StyledRangeWrapper = styled.div`\n min-height: 28px;\n margin: 0 10px;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,uBAAuB;AACvB,wBAAyC;AACzC,wBAAiC;AAE1B,MAAM,cAAc,wBAAO;AAAA;AAAA;AAAA;AAAA,sBAIZ,CAAC,UACnB,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,sBAE5D,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,wBAGxF,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpC,CAAC,EAAE,UAAU,YAAa,WAAW,MAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAIrG,MAAM,yBAAyB,6BAAO,kCAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS7C,CAAC,EAAE,WAAW,gBAAiB,aAAa,YAAY,YAAY;AAAA;AAG7E,MAAM,eAAe,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKb,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,uBACxD,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,qBAE3D,CAAC,UAAU,gDAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,MACxE,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGrC,MAAM,eAAe,wBAAO;AAAA,mBAChB,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA,WAErC,CAAC,UAAU,GAAG,MAAM,SAAS;AAAA;AAGjC,MAAM,YAAY,wBAAO;AAAA,WACrB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAG1C,MAAM,YAAY,wBAAO;AAAA,WACrB,CAAC,EAAE,UAAU,YAAY,MAAM,OAAO,QAAQ,WAAW,MAAM;AAAA;AAGnE,MAAM,qBAAqB,wBAAO;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -25,7 +25,7 @@ __export(prop_types_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(prop_types_exports);
27
27
  var React = __toESM(require("react"));
28
- var import_react_desc = require("react-desc");
28
+ var import_ds_utilities = require("@elliemae/ds-utilities");
29
29
  const defaultProps = {
30
30
  containerProps: {},
31
31
  disabled: false,
@@ -39,22 +39,21 @@ const defaultProps = {
39
39
  withTickMarks: false,
40
40
  withTickMarksValues: false,
41
41
  withTwoHandles: false,
42
- customTickMarksValues: [],
43
- zIndex: 0
42
+ customTickMarksValues: []
44
43
  };
45
44
  const sliderPropTypes = {
46
- containerProps: import_react_desc.PropTypes.shape({}).description("props to inject to slider wrapper"),
47
- disabled: import_react_desc.PropTypes.bool.description("disable slider"),
48
- label: import_react_desc.PropTypes.string.description("label for slider"),
49
- labelWithValue: import_react_desc.PropTypes.bool.description("if the label comes with value attached for slider or not"),
50
- minValue: import_react_desc.PropTypes.number.description("min value for slider"),
51
- maxValue: import_react_desc.PropTypes.number.description("max value for slider"),
52
- step: import_react_desc.PropTypes.number.description("steps of values from min to max"),
53
- onChange: import_react_desc.PropTypes.func.description("change handler"),
54
- withTickMarks: import_react_desc.PropTypes.bool.description("add tick marks between steps"),
55
- withTickMarksValues: import_react_desc.PropTypes.bool.description("add step value to tickmark"),
56
- withTwoHandles: import_react_desc.PropTypes.bool.description("add two handles"),
57
- customTickMarksValues: import_react_desc.PropTypes.arrayOf(import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.string, import_react_desc.PropTypes.number])).description("change manually tickmark values"),
58
- zIndex: import_react_desc.PropTypes.number.description("z index for thumb")
45
+ containerProps: import_ds_utilities.PropTypes.shape({}).description("props to inject to slider wrapper"),
46
+ disabled: import_ds_utilities.PropTypes.bool.description("disable slider"),
47
+ label: import_ds_utilities.PropTypes.string.description("label for slider"),
48
+ labelWithValue: import_ds_utilities.PropTypes.bool.description("if the label comes with value attached for slider or not"),
49
+ minValue: import_ds_utilities.PropTypes.number.description("min value for slider"),
50
+ maxValue: import_ds_utilities.PropTypes.number.description("max value for slider"),
51
+ step: import_ds_utilities.PropTypes.number.description("steps of values from min to max"),
52
+ onChange: import_ds_utilities.PropTypes.func.description("change handler"),
53
+ withTickMarks: import_ds_utilities.PropTypes.bool.description("add tick marks between steps"),
54
+ withTickMarksValues: import_ds_utilities.PropTypes.bool.description("add step value to tickmark"),
55
+ withTwoHandles: import_ds_utilities.PropTypes.bool.description("add two handles"),
56
+ customTickMarksValues: import_ds_utilities.PropTypes.arrayOf(import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.number])).description("change manually tickmark values"),
57
+ zIndex: import_ds_utilities.PropTypes.number.description("z index for thumb")
59
58
  };
60
59
  //# sourceMappingURL=prop-types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/prop-types.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { PropTypes } from 'react-desc';\n\nexport const defaultProps = {\n containerProps: {},\n disabled: false,\n label: '',\n labelWithValue: false,\n minValue: 0,\n maxValue: 100,\n step: 5,\n onChange: () => {},\n withTickMarks: false,\n withTickMarksValues: false,\n withTwoHandles: false,\n customTickMarksValues: [],\n zIndex: 0,\n};\n\nexport const sliderPropTypes = {\n /** props to inject to slider wrapper */\n containerProps: PropTypes.shape({}).description(\n 'props to inject to slider wrapper',\n ),\n /** disable slider */\n disabled: PropTypes.bool.description('disable slider'),\n /** label for slider */\n label: PropTypes.string.description('label for slider'),\n /** if the label comes with value attached for slider or not */\n labelWithValue: PropTypes.bool.description(\n 'if the label comes with value attached for slider or not',\n ),\n /** min value for slider */\n minValue: PropTypes.number.description('min value for slider'),\n /** max value for slider */\n maxValue: PropTypes.number.description('max value for slider'),\n /** steps of values from min to max */\n step: PropTypes.number.description('steps of values from min to max'),\n /** change handler */\n onChange: PropTypes.func.description('change handler'),\n /** add tick marks between steps */\n withTickMarks: PropTypes.bool.description('add tick marks between steps'),\n /** add step value to tickmark */\n withTickMarksValues: PropTypes.bool.description('add step value to tickmark'),\n /** add two handles */\n withTwoHandles: PropTypes.bool.description('add two handles'),\n /** change manually tickmark values */\n customTickMarksValues: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).description('change manually tickmark values'),\n /** z index for thumb */\n zIndex: PropTypes.number.description('z index for thumb'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAA0B;AAEnB,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB,CAAC;AAAA,EACxB,QAAQ;AACV;AAEO,MAAM,kBAAkB;AAAA,EAE7B,gBAAgB,4BAAU,MAAM,CAAC,CAAC,EAAE,YAClC,mCACF;AAAA,EAEA,UAAU,4BAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,OAAO,4BAAU,OAAO,YAAY,kBAAkB;AAAA,EAEtD,gBAAgB,4BAAU,KAAK,YAC7B,0DACF;AAAA,EAEA,UAAU,4BAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,UAAU,4BAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,MAAM,4BAAU,OAAO,YAAY,iCAAiC;AAAA,EAEpE,UAAU,4BAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,eAAe,4BAAU,KAAK,YAAY,8BAA8B;AAAA,EAExE,qBAAqB,4BAAU,KAAK,YAAY,4BAA4B;AAAA,EAE5E,gBAAgB,4BAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,uBAAuB,4BAAU,QAC/B,4BAAU,UAAU,CAAC,4BAAU,QAAQ,4BAAU,MAAM,CAAC,CAC1D,EAAE,YAAY,iCAAiC;AAAA,EAE/C,QAAQ,4BAAU,OAAO,YAAY,mBAAmB;AAC1D;",
4
+ "sourcesContent": ["import { PropTypes } from '@elliemae/ds-utilities';\n\nexport const defaultProps = {\n containerProps: {},\n disabled: false,\n label: '',\n labelWithValue: false,\n minValue: 0,\n maxValue: 100,\n step: 5,\n onChange: () => {},\n withTickMarks: false,\n withTickMarksValues: false,\n withTwoHandles: false,\n customTickMarksValues: [],\n};\n\nexport const sliderPropTypes = {\n /** props to inject to slider wrapper */\n containerProps: PropTypes.shape({}).description(\n 'props to inject to slider wrapper',\n ),\n /** disable slider */\n disabled: PropTypes.bool.description('disable slider'),\n /** label for slider */\n label: PropTypes.string.description('label for slider'),\n /** if the label comes with value attached for slider or not */\n labelWithValue: PropTypes.bool.description(\n 'if the label comes with value attached for slider or not',\n ),\n /** min value for slider */\n minValue: PropTypes.number.description('min value for slider'),\n /** max value for slider */\n maxValue: PropTypes.number.description('max value for slider'),\n /** steps of values from min to max */\n step: PropTypes.number.description('steps of values from min to max'),\n /** change handler */\n onChange: PropTypes.func.description('change handler'),\n /** add tick marks between steps */\n withTickMarks: PropTypes.bool.description('add tick marks between steps'),\n /** add step value to tickmark */\n withTickMarksValues: PropTypes.bool.description('add step value to tickmark'),\n /** add two handles */\n withTwoHandles: PropTypes.bool.description('add two handles'),\n /** change manually tickmark values */\n customTickMarksValues: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).description('change manually tickmark values'),\n /** z index for thumb */\n zIndex: PropTypes.number.description('z index for thumb'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA0B;AAEnB,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB,CAAC;AAC1B;AAEO,MAAM,kBAAkB;AAAA,EAE7B,gBAAgB,8BAAU,MAAM,CAAC,CAAC,EAAE,YAClC,mCACF;AAAA,EAEA,UAAU,8BAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,OAAO,8BAAU,OAAO,YAAY,kBAAkB;AAAA,EAEtD,gBAAgB,8BAAU,KAAK,YAC7B,0DACF;AAAA,EAEA,UAAU,8BAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,UAAU,8BAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,MAAM,8BAAU,OAAO,YAAY,iCAAiC;AAAA,EAEpE,UAAU,8BAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,eAAe,8BAAU,KAAK,YAAY,8BAA8B;AAAA,EAExE,qBAAqB,8BAAU,KAAK,YAAY,4BAA4B;AAAA,EAE5E,gBAAgB,8BAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,uBAAuB,8BAAU,QAC/B,8BAAU,UAAU,CAAC,8BAAU,QAAQ,8BAAU,MAAM,CAAC,CAC1D,EAAE,YAAY,iCAAiC;AAAA,EAE/C,QAAQ,8BAAU,OAAO,YAAY,mBAAmB;AAC1D;",
6
6
  "names": []
7
7
  }
@@ -16,7 +16,7 @@ var __spreadValues = (a, b) => {
16
16
  };
17
17
  import * as React from "react";
18
18
  import React2 from "react";
19
- import { describe } from "react-desc";
19
+ import { describe } from "@elliemae/ds-utilities";
20
20
  import SliderImp from "./components/SliderImp";
21
21
  import { defaultProps, sliderPropTypes } from "./prop-types";
22
22
  const DSSlider = (props) => /* @__PURE__ */ React2.createElement(SliderImp, __spreadValues({}, props));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSSlider.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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;\nDSSlider.displayName = 'DSSlider';\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport SliderImp from './components/SliderImp';\nimport { defaultProps, sliderPropTypes } from './prop-types';\n\nconst DSSlider = (props) => <SliderImp {...props} />;\n\nDSSlider.defaultProps = defaultProps;\nDSSlider.propTypes = sliderPropTypes;\nDSSlider.displayName = 'DSSlider';\nconst DSSliderWithSchema = describe(DSSlider);\nDSSliderWithSchema.propTypes = sliderPropTypes;\n\nexport { DSSlider, DSSliderWithSchema };\nexport default DSSlider;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,WAAW,CAAC,UAAU,qCAAC,8BAAc,MAAO;AAElD,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,MAAM,qBAAqB,SAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,20 +1,14 @@
1
1
  import * as React from "react";
2
- import React2, { useState, useEffect, useRef, useMemo } from "react";
2
+ import React2, { useState, useEffect, useRef, useMemo, useContext } from "react";
3
3
  import { v4 as uuidv4 } from "uuid";
4
4
  import { Range } from "react-range";
5
5
  import { usePrevious } from "@elliemae/ds-utilities";
6
- import DSTruncatedTooltipText, {
7
- TooltipTextProvider
8
- } from "@elliemae/ds-truncated-tooltip-text";
6
+ import DSTruncatedTooltipText, { TooltipTextProvider } from "@elliemae/ds-truncated-tooltip-text";
9
7
  import { Grid } from "@elliemae/ds-grid";
8
+ import { ThemeContext } from "@elliemae/ds-system";
10
9
  import Track from "./Track";
11
10
  import Thumb from "./Thumb";
12
- import {
13
- LabelWrapper,
14
- StyledRangeWrapper,
15
- LabelText,
16
- ValueText
17
- } from "./styled";
11
+ import { LabelWrapper, StyledRangeWrapper, LabelText, ValueText } from "./styled";
18
12
  import { conformedLabel } from "./utils";
19
13
  import { SliderContext } from "./context";
20
14
  const getSubArrayFromRange = (arr, [minVal, maxVal], isCustomTickMarksValues = false) => {
@@ -98,17 +92,11 @@ const SliderImp = (props) => {
98
92
  useEffect(() => {
99
93
  setWidth(ref.current?.clientWidth);
100
94
  }, [ref.current?.clientWidth]);
101
- const [finalLabelText, finalValueText] = useMemo(() => conformedLabel(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep), [
102
- rangeValues,
103
- label,
104
- labelWithValue,
105
- withTwoHandles,
106
- customTickMarksValues,
107
- parsedStep
108
- ]);
95
+ const [finalLabelText, finalValueText] = useMemo(() => conformedLabel(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep), [rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep]);
109
96
  const SliderLabel = /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(LabelText, null, finalLabelText), finalLabelText && " ", /* @__PURE__ */ React2.createElement(ValueText, {
110
97
  disabled
111
98
  }, finalValueText));
99
+ const theme = useContext(ThemeContext);
112
100
  return /* @__PURE__ */ React2.createElement(TooltipTextProvider, null, /* @__PURE__ */ React2.createElement("div", {
113
101
  ref
114
102
  }, /* @__PURE__ */ React2.createElement(Grid, {
@@ -133,7 +121,7 @@ const SliderImp = (props) => {
133
121
  customTickMarksValues,
134
122
  rangeValues,
135
123
  fullSelectedValues,
136
- zIndex
124
+ zIndex: zIndex ?? theme.zIndex.tooltip
137
125
  }
138
126
  }, finalLabelText && /* @__PURE__ */ React2.createElement(LabelWrapper, {
139
127
  width
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/SliderImp.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useRef, useMemo, useContext } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Range } from 'react-range';\nimport { usePrevious } from '@elliemae/ds-utilities';\nimport DSTruncatedTooltipText, { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport Track from './Track';\nimport Thumb from './Thumb';\nimport { LabelWrapper, StyledRangeWrapper, LabelText, ValueText } 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) 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(withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue]);\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(parsedValuesArray, rangeValues, !!customTickMarksValues?.length);\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 () => conformedLabel(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep),\n [rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep],\n );\n\n const SliderLabel = (\n <>\n <LabelText>{finalLabelText}</LabelText>\n {finalLabelText && ' '}\n <ValueText disabled={disabled}>{finalValueText}</ValueText>\n </>\n );\n\n const theme = useContext(ThemeContext);\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: zIndex ?? theme.zIndex.tooltip,\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 }) => <Track props={trackProps}>{children}</Track>}\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"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -20,20 +20,13 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import * as React from "react";
21
21
  import React2, { useContext, useState } from "react";
22
22
  import PropTypes from "prop-types";
23
- import { TooltipText } from "@elliemae/ds-tooltip";
23
+ import { DSTooltipV3 } from "@elliemae/ds-tooltip";
24
24
  import { SliderContext } from "./context";
25
25
  import { conformedThumbLabel } from "./utils";
26
- import { ThumbStyled, TooltipContainerStyled, TooltipArrow } from "./styled";
26
+ import { ThumbStyled } from "./styled";
27
27
  const Thumb = ({ index, props, isDragged }) => {
28
28
  const [isHovered, setIsHovered] = useState(false);
29
- const {
30
- disabled,
31
- rangeValues,
32
- zIndex,
33
- customTickMarksValues,
34
- step,
35
- minValue
36
- } = useContext(SliderContext);
29
+ const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = useContext(SliderContext);
37
30
  const cleanedProps = __spreadValues({}, props);
38
31
  return /* @__PURE__ */ React2.createElement(ThumbStyled, __spreadProps(__spreadValues({}, cleanedProps), {
39
32
  "data-testid": "slider-thumb",
@@ -42,10 +35,13 @@ const Thumb = ({ index, props, isDragged }) => {
42
35
  index,
43
36
  onMouseEnter: () => setIsHovered(true),
44
37
  onMouseLeave: () => setIsHovered(false)
45
- }), /* @__PURE__ */ React2.createElement(TooltipContainerStyled, {
46
- isDragged,
47
- isHovered
48
- }, /* @__PURE__ */ React2.createElement(TooltipText, null, conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue)), /* @__PURE__ */ React2.createElement(TooltipArrow, null)));
38
+ }), /* @__PURE__ */ React2.createElement(DSTooltipV3, {
39
+ key: conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue),
40
+ text: conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue),
41
+ showPopover: isDragged || isHovered,
42
+ customOffset: [0, 20],
43
+ withoutAnimation: true
44
+ }));
49
45
  };
50
46
  Thumb.propTypes = {
51
47
  index: PropTypes.number,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Thumb.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { TooltipText } from '@elliemae/ds-tooltip';\nimport { SliderContext } from './context';\nimport { conformedThumbLabel } from './utils';\nimport { ThumbStyled, TooltipContainerStyled, TooltipArrow } from './styled';\n\nconst Thumb = ({ index, props, isDragged }) => {\n const [isHovered, setIsHovered] = useState(false);\n const {\n disabled,\n rangeValues,\n zIndex,\n customTickMarksValues,\n step,\n minValue,\n } = useContext(SliderContext);\n\n const cleanedProps = { ...props };\n // delete cleanedProps.key;\n // delete cleanedProps.draggable;\n return (\n // ...props is needed because it's received from the library\n // ...props.style has it own style from the library but has a bug with the zIndex for two thumbs, so that's why it has to be overwrite\n <ThumbStyled\n {...cleanedProps}\n data-testid=\"slider-thumb\"\n disabled={disabled}\n // eslint-disable-next-line react/prop-types\n style={{ ...cleanedProps.style, zIndex }}\n index={index}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <TooltipContainerStyled isDragged={isDragged} isHovered={isHovered}>\n <TooltipText>\n {conformedThumbLabel(\n rangeValues,\n customTickMarksValues,\n index,\n step,\n minValue,\n )}\n </TooltipText>\n <TooltipArrow />\n </TooltipContainerStyled>\n </ThumbStyled>\n );\n};\n\nThumb.propTypes = {\n index: PropTypes.number,\n props: PropTypes.shape({\n style: PropTypes.shape({}).isRequired,\n }).isRequired,\n isDragged: PropTypes.bool,\n};\n\nexport default Thumb;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,gBAAgB;AAC7C,QAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;AAChD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,aAAa;AAE5B,QAAM,eAAe,mBAAK;AAG1B,SAGE,qCAAC,8CACK,eADL;AAAA,IAEC,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,iCAAK,aAAa,QAAlB,EAAyB,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC,qCAAC;AAAA,IAAuB;AAAA,IAAsB;AAAA,KAC5C,qCAAC,mBACE,oBACC,aACA,uBACA,OACA,MACA,QACF,CACF,GACA,qCAAC,kBAAa,CAChB,CACF;AAEJ;AAEA,MAAM,YAAY;AAAA,EAChB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU,MAAM;AAAA,IACrB,OAAO,UAAU,MAAM,CAAC,CAAC,EAAE;AAAA,EAC7B,CAAC,EAAE;AAAA,EACH,WAAW,UAAU;AACvB;AAEA,IAAO,gBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\nimport { SliderContext } from './context';\nimport { conformedThumbLabel } from './utils';\nimport { ThumbStyled, TooltipContainerStyled, TooltipArrow } from './styled';\n\nconst Thumb = ({ index, props, isDragged }) => {\n const [isHovered, setIsHovered] = useState(false);\n const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = useContext(SliderContext);\n\n const cleanedProps = { ...props };\n // delete cleanedProps.key;\n // delete cleanedProps.draggable;\n return (\n // ...props is needed because it's received from the library\n // ...props.style has it own style from the library but has a bug with the zIndex for two thumbs, so that's why it has to be overwrite\n <ThumbStyled\n {...cleanedProps}\n data-testid=\"slider-thumb\"\n disabled={disabled}\n // eslint-disable-next-line react/prop-types\n style={{ ...cleanedProps.style, zIndex }}\n index={index}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <DSTooltipV3\n key={conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue)}\n text={conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue)}\n showPopover={isDragged || isHovered}\n customOffset={[0, 20]}\n withoutAnimation\n ></DSTooltipV3>\n </ThumbStyled>\n );\n};\n\n/* {createPortal(\n <TooltipContainerStyled isDragged={isDragged} isHovered={isHovered}>\n <TooltipText>{</TooltipText>\n <TooltipArrow />\n </TooltipContainerStyled>,\n document.body,\n )} */\n\nThumb.propTypes = {\n index: PropTypes.number,\n props: PropTypes.shape({\n style: PropTypes.shape({}).isRequired,\n }).isRequired,\n isDragged: PropTypes.bool,\n};\n\nexport default Thumb;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAEA;AACA;AACA;AACA;AACA;AAEA,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,gBAAgB;AAC7C,QAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;AAChD,QAAM,EAAE,UAAU,aAAa,QAAQ,uBAAuB,MAAM,aAAa,WAAW,aAAa;AAEzG,QAAM,eAAe,mBAAK;AAG1B,SAGE,qCAAC,8CACK,eADL;AAAA,IAEC,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,iCAAK,aAAa,QAAlB,EAAyB,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC,qCAAC;AAAA,IACC,KAAK,oBAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,IAClF,MAAM,oBAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,IACnF,aAAa,aAAa;AAAA,IAC1B,cAAc,CAAC,GAAG,EAAE;AAAA,IACpB,kBAAgB;AAAA,GACjB,CACH;AAEJ;AAUA,MAAM,YAAY;AAAA,EAChB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU,MAAM;AAAA,IACrB,OAAO,UAAU,MAAM,CAAC,CAAC,EAAE;AAAA,EAC7B,CAAC,EAAE;AAAA,EACH,WAAW,UAAU;AACvB;AAEA,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import React2, { useContext } from "react";
3
- import styled from "styled-components";
3
+ import { styled } from "@elliemae/ds-system";
4
4
  import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
5
5
  import { SliderContext } from "./context";
6
6
  const TickMarks = () => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TickMarks.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport React, { useContext } from 'react';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const {\n minValue,\n maxValue,\n rangeValues,\n step,\n withTwoHandles,\n zIndex,\n } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles\n ? rangeValues[0] <= index && index < rangeValues[1]\n : rangeValues[0] > index;\n dots.push(<Dot data-testid=\"slider-dot\" isActive={isActive} key={index} />);\n }\n\n return (\n <DotsContainer data-testid=\"slider-tick-marks\" zIndex={zIndex}>\n {dots}\n </DotsContainer>\n );\n};\n\nconst Dot = styled.div`\n &:after {\n content: '';\n background: ${(props) =>\n props.isActive\n ? props.theme.colors.brand[300]\n : props.theme.colors.neutral[400]};\n border-radius: ${(props) =>\n __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n display: block;\n position: relative;\n width: 2px;\n height: 2px;\n }\n`;\n\nconst DotsContainer = styled.div`\n padding: 0\n calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 0.5);\n align-items: center;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${(props) => props.zIndex - 1};\n`;\n\nexport default TickMarks;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport React, { useContext } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const {\n minValue,\n maxValue,\n rangeValues,\n step,\n withTwoHandles,\n zIndex,\n } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles\n ? rangeValues[0] <= index && index < rangeValues[1]\n : rangeValues[0] > index;\n dots.push(<Dot data-testid=\"slider-dot\" isActive={isActive} key={index} />);\n }\n\n return (\n <DotsContainer data-testid=\"slider-tick-marks\" zIndex={zIndex}>\n {dots}\n </DotsContainer>\n );\n};\n\nconst Dot = styled.div`\n &:after {\n content: '';\n background: ${(props) =>\n props.isActive\n ? props.theme.colors.brand[300]\n : props.theme.colors.neutral[400]};\n border-radius: ${(props) =>\n __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n display: block;\n position: relative;\n width: 2px;\n height: 2px;\n }\n`;\n\nconst DotsContainer = styled.div`\n padding: 0\n calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 0.5);\n align-items: center;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${(props) => props.zIndex - 1};\n`;\n\nexport default TickMarks;\n"],
5
5
  "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,YAAY,MAAM;AACtB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,aAAa;AAC5B,QAAM,OAAO,CAAC;AAEd,WAAS,QAAQ,YAAY,GAAG,SAAS,UAAU,SAAS,MAAM;AAChE,UAAM,WAAW,iBACb,YAAY,MAAM,SAAS,QAAQ,YAAY,KAC/C,YAAY,KAAK;AACrB,SAAK,KAAK,qCAAC;AAAA,MAAI,eAAY;AAAA,MAAa;AAAA,MAAoB,KAAK;AAAA,KAAO,CAAE;AAAA,EAC5E;AAEA,SACE,qCAAC;AAAA,IAAc,eAAY;AAAA,IAAoB;AAAA,KAC5C,IACH;AAEJ;AAEA,MAAM,MAAM,OAAO;AAAA;AAAA;AAAA,kBAGD,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,MAAM,OACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,qBAChB,CAAC,UAChB,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQpD,MAAM,gBAAgB,OAAO;AAAA;AAAA,WAElB,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUvD,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import React2, { useContext, useMemo } from "react";
3
- import styled from "styled-components";
3
+ import { styled } from "@elliemae/ds-system";
4
4
  import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
5
5
  import { SliderContext } from "./context";
6
6
  const TickMarks = () => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TickMarksValues.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-plusplus */\nimport React, { useContext, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const { parsedValuesArray, fullSelectedValues, sliderUUID } = useContext(\n SliderContext,\n );\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected =\n fullSelectedValues.findIndex(\n (selectedVal) => selectedVal === value,\n ) >= 0;\n return (\n <TickMarkValue key={`${sliderUUID}-${value}`} isSelected={isSelected}>\n {value}\n </TickMarkValue>\n );\n }),\n\n [parsedValuesArray, sliderUUID, fullSelectedValues],\n );\n\n const PureTickMArksValues = useMemo(\n () => (\n <TickMarksContainer data-testid=\"slider-tick-marks-values\">\n {TickMarksLabels}\n </TickMarksContainer>\n ),\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n margin: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)} 0;\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) =>\n props.isSelected\n ? props.theme.colors.neutral[800]\n : props.theme.colors.neutral[500]};\n`;\n\nconst TickMarksContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport default TickMarks;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-plusplus */\nimport React, { useContext, useMemo } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { SliderContext } from './context';\n\nconst TickMarks = () => {\n const { parsedValuesArray, fullSelectedValues, sliderUUID } = useContext(\n SliderContext,\n );\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected =\n fullSelectedValues.findIndex(\n (selectedVal) => selectedVal === value,\n ) >= 0;\n return (\n <TickMarkValue key={`${sliderUUID}-${value}`} isSelected={isSelected}>\n {value}\n </TickMarkValue>\n );\n }),\n\n [parsedValuesArray, sliderUUID, fullSelectedValues],\n );\n\n const PureTickMArksValues = useMemo(\n () => (\n <TickMarksContainer data-testid=\"slider-tick-marks-values\">\n {TickMarksLabels}\n </TickMarksContainer>\n ),\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n margin: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)} 0;\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) =>\n props.isSelected\n ? props.theme.colors.neutral[800]\n : props.theme.colors.neutral[500]};\n`;\n\nconst TickMarksContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport default TickMarks;\n"],
5
5
  "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,eAAe,WAC5D,aACF;AAEA,QAAM,kBAAkB,QACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,UAAM,aACJ,mBAAmB,UACjB,CAAC,gBAAgB,gBAAgB,KACnC,KAAK;AACP,WACE,qCAAC;AAAA,MAAc,KAAK,GAAG,cAAc;AAAA,MAAS;AAAA,OAC3C,KACH;AAAA,EAEJ,CAAC,GAEH,CAAC,mBAAmB,YAAY,kBAAkB,CACpD;AAEA,QAAM,sBAAsB,QAC1B,MACE,qCAAC;AAAA,IAAmB,eAAY;AAAA,KAC7B,eACH,GAEF,CAAC,eAAe,CAClB;AAEA,SAAO;AACT;AAEA,MAAM,gBAAgB,OAAO;AAAA,YACjB,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,WAGxD,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,WACzD,CAAC,UACR,MAAM,aACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGnC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
6
6
  "names": []
7
7
  }
@@ -20,7 +20,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import * as React from "react";
21
21
  import React2, { useContext } from "react";
22
22
  import { getTrackBackground } from "react-range";
23
- import styled from "styled-components";
23
+ import { styled } from "@elliemae/ds-system";
24
24
  import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
25
25
  import TickMarks from "./TickMarks";
26
26
  import TickMarksValues from "./TickMarksValues";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Track.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { getTrackBackground } from 'react-range';\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\n\nimport TickMarks from './TickMarks';\nimport TickMarksValues from './TickMarksValues';\nimport { SliderContext } from './context';\n\nconst Track = ({ children, props }) => {\n const {\n disabled,\n minValue,\n maxValue,\n rangeValues,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n } = useContext(SliderContext);\n\n return (\n <>\n <TrackStyled\n {...props} // This is needed because it's received from the library\n disabled={disabled}\n minValue={minValue}\n maxValue={maxValue}\n rangeValues={rangeValues}\n withTwoHandles={withTwoHandles}\n >\n {children}\n {withTickMarks && !disabled && <TickMarks />}\n </TrackStyled>\n {withTickMarksValues && <TickMarksValues />}\n </>\n );\n};\n\nconst TrackStyled = styled.div`\n position: relative;\n height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n width: 100%;\n min-width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxl)};\n border-radius: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n background: ${(props) =>\n props.disabled\n ? props.theme.colors.neutral[100]\n : getTrackBackground({\n values: props.rangeValues,\n colors: props.withTwoHandles\n ? [\n props.theme.colors.neutral[100],\n props.theme.colors.brand[600],\n props.theme.colors.neutral[100],\n ]\n : [props.theme.colors.brand[600], props.theme.colors.neutral[100]],\n min: props.minValue,\n max: props.maxValue,\n })};\n`;\n\nexport default Track;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { getTrackBackground } from 'react-range';\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\n\nimport TickMarks from './TickMarks';\nimport TickMarksValues from './TickMarksValues';\nimport { SliderContext } from './context';\n\nconst Track = ({ children, props }) => {\n const {\n disabled,\n minValue,\n maxValue,\n rangeValues,\n withTickMarks,\n withTickMarksValues,\n withTwoHandles,\n } = useContext(SliderContext);\n\n return (\n <>\n <TrackStyled\n {...props} // This is needed because it's received from the library\n disabled={disabled}\n minValue={minValue}\n maxValue={maxValue}\n rangeValues={rangeValues}\n withTwoHandles={withTwoHandles}\n >\n {children}\n {withTickMarks && !disabled && <TickMarks />}\n </TrackStyled>\n {withTickMarksValues && <TickMarksValues />}\n </>\n );\n};\n\nconst TrackStyled = styled.div`\n position: relative;\n height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n width: 100%;\n min-width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxl)};\n border-radius: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n background: ${(props) =>\n props.disabled\n ? props.theme.colors.neutral[100]\n : getTrackBackground({\n values: props.rangeValues,\n colors: props.withTwoHandles\n ? [\n props.theme.colors.neutral[100],\n props.theme.colors.brand[600],\n props.theme.colors.neutral[100],\n ]\n : [props.theme.colors.brand[600], props.theme.colors.neutral[100]],\n min: props.minValue,\n max: props.maxValue,\n })};\n`;\n\nexport default Track;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA,MAAM,QAAQ,CAAC,EAAE,UAAU,YAAY;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,aAAa;AAE5B,SACE,4DACE,qCAAC,8CACK,QADL;AAAA,IAEC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEC,UACA,iBAAiB,CAAC,YAAY,qCAAC,eAAU,CAC5C,GACC,uBAAuB,qCAAC,qBAAgB,CAC3C;AAEJ;AAEA,MAAM,cAAc,OAAO;AAAA;AAAA,YAEf,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,eAEtD,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,mBACrD,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,gBAC5D,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,mBAAmB;AAAA,EACjB,QAAQ,MAAM;AAAA,EACd,QAAQ,MAAM,iBACV;AAAA,IACE,MAAM,MAAM,OAAO,QAAQ;AAAA,IAC3B,MAAM,MAAM,OAAO,MAAM;AAAA,IACzB,MAAM,MAAM,OAAO,QAAQ;AAAA,EAC7B,IACA,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,QAAQ,IAAI;AAAA,EACnE,KAAK,MAAM;AAAA,EACX,KAAK,MAAM;AACb,CAAC;AAAA;AAGT,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,11 @@
1
1
  import * as React from "react";
2
- import styled from "styled-components";
2
+ import { styled } from "@elliemae/ds-system";
3
3
  import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
4
4
  import { TooltipContainer } from "@elliemae/ds-tooltip";
5
5
  const ThumbStyled = styled.div`
6
6
  height: 20px;
7
7
  width: 20px;
8
+ top: 0;
8
9
  background-color: ${(props) => props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral["000"]};
9
10
  border-radius: 10px;
10
11
  border: 1px solid ${(props) => props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400]};
@@ -38,7 +39,7 @@ const TooltipArrow = styled.div`
38
39
  border-right: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;
39
40
 
40
41
  border-top: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid
41
- ${(props) => props.theme.colors.neutral[0]};
42
+ ${(props) => props.theme.colors.neutral["000"]};
42
43
  `;
43
44
  const LabelWrapper = styled.div`
44
45
  margin-bottom: ${(props) => props.theme.space.xxs};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/styled.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport styled from 'styled-components';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { TooltipContainer } from '@elliemae/ds-tooltip';\n\nexport const ThumbStyled = styled.div`\n height: 20px;\n width: 20px;\n background-color: ${(props) =>\n props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral['000']};\n border-radius: 10px;\n border: 1px solid ${(props) => (props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400])};\n\n :focus {\n border: 1px solid ${(props) => props.theme.colors.brand[600]};\n outline: unset;\n }\n\n :hover {\n background-color: ${({ disabled, theme }) => (disabled ? theme.colors.neutral[100] : theme.colors.brand[200])};\n }\n`;\n\nexport const TooltipContainerStyled = styled(TooltipContainer)`\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n top: -35px;\n width: max-content;\n left: 50%;\n transform: translateX(-50%);\n visibility: ${({ isDragged, isHovered }) => (isDragged || isHovered ? 'visible' : 'hidden')};\n`;\n// TODO: didn't work with DSTooltip, see how to improve\nexport const TooltipArrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n top: 20px;\n border-left: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n border-right: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n\n border-top: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid\n ${(props) => props.theme.colors.neutral[0]};\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: ${(props) => props.theme.space.xxs};\n max-width: 100%;\n width: ${(props) => `${props.width || 0}px`};\n`;\n\nexport const LabelText = styled.span`\n color: ${(props) => props.theme.colors.neutral[600]};\n`;\n\nexport const ValueText = styled.span`\n color: ${({ disabled, theme }) => theme.colors.neutral[disabled ? 500 : 800]};\n`;\n\nexport const StyledRangeWrapper = styled.div`\n min-height: 28px;\n margin: 0 10px;\n`;\n"],
5
- "mappings": "AAAA;ACCA;AACA;AACA;AAEO,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA,sBAGZ,CAAC,UACnB,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,sBAE5D,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,wBAGxF,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpC,CAAC,EAAE,UAAU,YAAa,WAAW,MAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAIrG,MAAM,yBAAyB,OAAO,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS7C,CAAC,EAAE,WAAW,gBAAiB,aAAa,YAAY,YAAY;AAAA;AAG7E,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKb,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,uBACxD,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,qBAE3D,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,MACxE,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGrC,MAAM,eAAe,OAAO;AAAA,mBAChB,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA,WAErC,CAAC,UAAU,GAAG,MAAM,SAAS;AAAA;AAGjC,MAAM,YAAY,OAAO;AAAA,WACrB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAG1C,MAAM,YAAY,OAAO;AAAA,WACrB,CAAC,EAAE,UAAU,YAAY,MAAM,OAAO,QAAQ,WAAW,MAAM;AAAA;AAGnE,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport { styled } from '@elliemae/ds-system';\nimport { __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { TooltipContainer } from '@elliemae/ds-tooltip';\n\nexport const ThumbStyled = styled.div`\n height: 20px;\n width: 20px;\n top: 0;\n background-color: ${(props) =>\n props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral['000']};\n border-radius: 10px;\n border: 1px solid ${(props) => (props.disabled ? props.theme.colors.neutral[100] : props.theme.colors.neutral[400])};\n\n :focus {\n border: 1px solid ${(props) => props.theme.colors.brand[600]};\n outline: unset;\n }\n\n :hover {\n background-color: ${({ disabled, theme }) => (disabled ? theme.colors.neutral[100] : theme.colors.brand[200])};\n }\n`;\n\nexport const TooltipContainerStyled = styled(TooltipContainer)`\n position: relative;\n display: flex;\n align-items: center;\n flex-direction: column;\n top: -35px;\n width: max-content;\n left: 50%;\n transform: translateX(-50%);\n visibility: ${({ isDragged, isHovered }) => (isDragged || isHovered ? 'visible' : 'hidden')};\n`;\n// TODO: didn't work with DSTooltip, see how to improve\nexport const TooltipArrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n top: 20px;\n border-left: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n border-right: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid transparent;\n\n border-top: calc(${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)} * 2.5) solid\n ${(props) => props.theme.colors.neutral['000']};\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: ${(props) => props.theme.space.xxs};\n max-width: 100%;\n width: ${(props) => `${props.width || 0}px`};\n`;\n\nexport const LabelText = styled.span`\n color: ${(props) => props.theme.colors.neutral[600]};\n`;\n\nexport const ValueText = styled.span`\n color: ${({ disabled, theme }) => theme.colors.neutral[disabled ? 500 : 800]};\n`;\n\nexport const StyledRangeWrapper = styled.div`\n min-height: 28px;\n margin: 0 10px;\n`;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AAEO,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA,sBAIZ,CAAC,UACnB,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,sBAE5D,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,wBAGxF,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKpC,CAAC,EAAE,UAAU,YAAa,WAAW,MAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAIrG,MAAM,yBAAyB,OAAO,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS7C,CAAC,EAAE,WAAW,gBAAiB,aAAa,YAAY,YAAY;AAAA;AAG7E,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKb,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,uBACxD,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,qBAE3D,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,MACxE,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGrC,MAAM,eAAe,OAAO;AAAA,mBAChB,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA,WAErC,CAAC,UAAU,GAAG,MAAM,SAAS;AAAA;AAGjC,MAAM,YAAY,OAAO;AAAA,WACrB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAG1C,MAAM,YAAY,OAAO;AAAA,WACrB,CAAC,EAAE,UAAU,YAAY,MAAM,OAAO,QAAQ,WAAW,MAAM;AAAA;AAGnE,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { PropTypes } from "react-desc";
2
+ import { PropTypes } from "@elliemae/ds-utilities";
3
3
  const defaultProps = {
4
4
  containerProps: {},
5
5
  disabled: false,
@@ -13,8 +13,7 @@ const defaultProps = {
13
13
  withTickMarks: false,
14
14
  withTickMarksValues: false,
15
15
  withTwoHandles: false,
16
- customTickMarksValues: [],
17
- zIndex: 0
16
+ customTickMarksValues: []
18
17
  };
19
18
  const sliderPropTypes = {
20
19
  containerProps: PropTypes.shape({}).description("props to inject to slider wrapper"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/prop-types.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from 'react-desc';\n\nexport const defaultProps = {\n containerProps: {},\n disabled: false,\n label: '',\n labelWithValue: false,\n minValue: 0,\n maxValue: 100,\n step: 5,\n onChange: () => {},\n withTickMarks: false,\n withTickMarksValues: false,\n withTwoHandles: false,\n customTickMarksValues: [],\n zIndex: 0,\n};\n\nexport const sliderPropTypes = {\n /** props to inject to slider wrapper */\n containerProps: PropTypes.shape({}).description(\n 'props to inject to slider wrapper',\n ),\n /** disable slider */\n disabled: PropTypes.bool.description('disable slider'),\n /** label for slider */\n label: PropTypes.string.description('label for slider'),\n /** if the label comes with value attached for slider or not */\n labelWithValue: PropTypes.bool.description(\n 'if the label comes with value attached for slider or not',\n ),\n /** min value for slider */\n minValue: PropTypes.number.description('min value for slider'),\n /** max value for slider */\n maxValue: PropTypes.number.description('max value for slider'),\n /** steps of values from min to max */\n step: PropTypes.number.description('steps of values from min to max'),\n /** change handler */\n onChange: PropTypes.func.description('change handler'),\n /** add tick marks between steps */\n withTickMarks: PropTypes.bool.description('add tick marks between steps'),\n /** add step value to tickmark */\n withTickMarksValues: PropTypes.bool.description('add step value to tickmark'),\n /** add two handles */\n withTwoHandles: PropTypes.bool.description('add two handles'),\n /** change manually tickmark values */\n customTickMarksValues: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).description('change manually tickmark values'),\n /** z index for thumb */\n zIndex: PropTypes.number.description('z index for thumb'),\n};\n"],
5
- "mappings": "AAAA;ACAA;AAEO,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB,CAAC;AAAA,EACxB,QAAQ;AACV;AAEO,MAAM,kBAAkB;AAAA,EAE7B,gBAAgB,UAAU,MAAM,CAAC,CAAC,EAAE,YAClC,mCACF;AAAA,EAEA,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,OAAO,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEtD,gBAAgB,UAAU,KAAK,YAC7B,0DACF;AAAA,EAEA,UAAU,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,UAAU,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,MAAM,UAAU,OAAO,YAAY,iCAAiC;AAAA,EAEpE,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,eAAe,UAAU,KAAK,YAAY,8BAA8B;AAAA,EAExE,qBAAqB,UAAU,KAAK,YAAY,4BAA4B;AAAA,EAE5E,gBAAgB,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,uBAAuB,UAAU,QAC/B,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,CAC1D,EAAE,YAAY,iCAAiC;AAAA,EAE/C,QAAQ,UAAU,OAAO,YAAY,mBAAmB;AAC1D;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-utilities';\n\nexport const defaultProps = {\n containerProps: {},\n disabled: false,\n label: '',\n labelWithValue: false,\n minValue: 0,\n maxValue: 100,\n step: 5,\n onChange: () => {},\n withTickMarks: false,\n withTickMarksValues: false,\n withTwoHandles: false,\n customTickMarksValues: [],\n};\n\nexport const sliderPropTypes = {\n /** props to inject to slider wrapper */\n containerProps: PropTypes.shape({}).description(\n 'props to inject to slider wrapper',\n ),\n /** disable slider */\n disabled: PropTypes.bool.description('disable slider'),\n /** label for slider */\n label: PropTypes.string.description('label for slider'),\n /** if the label comes with value attached for slider or not */\n labelWithValue: PropTypes.bool.description(\n 'if the label comes with value attached for slider or not',\n ),\n /** min value for slider */\n minValue: PropTypes.number.description('min value for slider'),\n /** max value for slider */\n maxValue: PropTypes.number.description('max value for slider'),\n /** steps of values from min to max */\n step: PropTypes.number.description('steps of values from min to max'),\n /** change handler */\n onChange: PropTypes.func.description('change handler'),\n /** add tick marks between steps */\n withTickMarks: PropTypes.bool.description('add tick marks between steps'),\n /** add step value to tickmark */\n withTickMarksValues: PropTypes.bool.description('add step value to tickmark'),\n /** add two handles */\n withTwoHandles: PropTypes.bool.description('add two handles'),\n /** change manually tickmark values */\n customTickMarksValues: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).description('change manually tickmark values'),\n /** z index for thumb */\n zIndex: PropTypes.number.description('z index for thumb'),\n};\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,eAAe;AAAA,EAC1B,gBAAgB,CAAC;AAAA,EACjB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB,CAAC;AAC1B;AAEO,MAAM,kBAAkB;AAAA,EAE7B,gBAAgB,UAAU,MAAM,CAAC,CAAC,EAAE,YAClC,mCACF;AAAA,EAEA,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,OAAO,UAAU,OAAO,YAAY,kBAAkB;AAAA,EAEtD,gBAAgB,UAAU,KAAK,YAC7B,0DACF;AAAA,EAEA,UAAU,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,UAAU,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAE7D,MAAM,UAAU,OAAO,YAAY,iCAAiC;AAAA,EAEpE,UAAU,UAAU,KAAK,YAAY,gBAAgB;AAAA,EAErD,eAAe,UAAU,KAAK,YAAY,8BAA8B;AAAA,EAExE,qBAAqB,UAAU,KAAK,YAAY,4BAA4B;AAAA,EAE5E,gBAAgB,UAAU,KAAK,YAAY,iBAAiB;AAAA,EAE5D,uBAAuB,UAAU,QAC/B,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,CAC1D,EAAE,YAAY,iCAAiC;AAAA,EAE/C,QAAQ,UAAU,OAAO,YAAY,mBAAmB;AAC1D;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-slider",
3
- "version": "3.0.4-rc.5",
3
+ "version": "3.1.0-next.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Slider",
6
6
  "files": [
@@ -75,13 +75,12 @@
75
75
  "indent": 4
76
76
  },
77
77
  "dependencies": {
78
- "@elliemae/ds-grid": "3.0.4-rc.5",
79
- "@elliemae/ds-system": "3.0.4-rc.5",
80
- "@elliemae/ds-tooltip": "3.0.4-rc.5",
81
- "@elliemae/ds-truncated-tooltip-text": "3.0.4-rc.5",
82
- "@elliemae/ds-utilities": "3.0.4-rc.5",
78
+ "@elliemae/ds-grid": "3.1.0-next.10",
79
+ "@elliemae/ds-system": "3.1.0-next.10",
80
+ "@elliemae/ds-tooltip": "3.1.0-next.10",
81
+ "@elliemae/ds-truncated-tooltip-text": "3.1.0-next.10",
82
+ "@elliemae/ds-utilities": "3.1.0-next.10",
83
83
  "prop-types": "~15.8.1",
84
- "react-desc": "~4.1.3",
85
84
  "react-range": "~1.8.12",
86
85
  "uuid": "~8.3.2"
87
86
  },
@@ -102,6 +101,7 @@
102
101
  "test": "node ../../scripts/testing/test.mjs",
103
102
  "lint": "node ../../scripts/lint.mjs",
104
103
  "dts": "node ../../scripts/dts.mjs",
105
- "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
104
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
105
+ "checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
106
106
  }
107
107
  }