@elliemae/ds-slider 2.3.0-next.3 → 3.0.0-alpha.0

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 (78) hide show
  1. package/dist/cjs/DSSlider.js +48 -0
  2. package/dist/cjs/DSSlider.js.map +7 -0
  3. package/dist/cjs/components/SliderImp.js +195 -0
  4. package/dist/cjs/components/SliderImp.js.map +7 -0
  5. package/dist/cjs/components/Thumb.js +72 -0
  6. package/dist/cjs/components/Thumb.js.map +7 -0
  7. package/dist/cjs/components/TickMarks.js +87 -0
  8. package/dist/cjs/components/TickMarks.js.map +7 -0
  9. package/dist/cjs/components/TickMarksValues.js +64 -0
  10. package/dist/cjs/components/TickMarksValues.js.map +7 -0
  11. package/dist/cjs/components/Track.js +78 -0
  12. package/dist/cjs/components/Track.js.map +7 -0
  13. package/dist/cjs/components/context.js +36 -0
  14. package/dist/cjs/components/context.js.map +7 -0
  15. package/dist/cjs/components/styled.js +96 -0
  16. package/dist/cjs/components/styled.js.map +7 -0
  17. package/dist/cjs/components/utils.js +59 -0
  18. package/dist/cjs/components/utils.js.map +7 -0
  19. package/dist/cjs/index.js +36 -0
  20. package/dist/cjs/index.js.map +7 -0
  21. package/dist/cjs/prop-types.js +67 -0
  22. package/dist/cjs/prop-types.js.map +7 -0
  23. package/dist/esm/DSSlider.js +19 -0
  24. package/dist/esm/DSSlider.js.map +7 -0
  25. package/dist/esm/components/SliderImp.js +173 -0
  26. package/dist/esm/components/SliderImp.js.map +7 -0
  27. package/dist/esm/components/Thumb.js +43 -0
  28. package/dist/esm/components/Thumb.js.map +7 -0
  29. package/dist/esm/components/TickMarks.js +58 -0
  30. package/dist/esm/components/TickMarks.js.map +7 -0
  31. package/dist/esm/components/TickMarksValues.js +35 -0
  32. package/dist/esm/components/TickMarksValues.js.map +7 -0
  33. package/dist/esm/components/Track.js +49 -0
  34. package/dist/esm/components/Track.js.map +7 -0
  35. package/dist/esm/components/context.js +7 -0
  36. package/dist/esm/components/context.js.map +7 -0
  37. package/dist/esm/components/styled.js +67 -0
  38. package/dist/esm/components/styled.js.map +7 -0
  39. package/dist/esm/components/utils.js +30 -0
  40. package/dist/esm/components/utils.js.map +7 -0
  41. package/dist/esm/index.js +7 -0
  42. package/dist/esm/index.js.map +7 -0
  43. package/dist/esm/prop-types.js +38 -0
  44. package/dist/esm/prop-types.js.map +7 -0
  45. package/{types → dist/types}/DSSlider.d.ts +0 -0
  46. package/{types → dist/types}/components/SliderImp.d.ts +0 -0
  47. package/{types → dist/types}/components/Thumb.d.ts +0 -0
  48. package/{types → dist/types}/components/TickMarks.d.ts +0 -0
  49. package/{types → dist/types}/components/TickMarksValues.d.ts +0 -0
  50. package/{types → dist/types}/components/Track.d.ts +0 -0
  51. package/{types → dist/types}/components/context.d.ts +0 -0
  52. package/{types → dist/types}/components/styled.d.ts +0 -0
  53. package/{types → dist/types}/components/utils.d.ts +0 -0
  54. package/{types → dist/types}/index.d.ts +0 -0
  55. package/{types → dist/types}/prop-types.d.ts +0 -0
  56. package/package.json +48 -40
  57. package/cjs/DSSlider.js +0 -33
  58. package/cjs/components/SliderImp.js +0 -199
  59. package/cjs/components/Thumb.js +0 -71
  60. package/cjs/components/TickMarks.js +0 -46
  61. package/cjs/components/TickMarksValues.js +0 -43
  62. package/cjs/components/Track.js +0 -67
  63. package/cjs/components/context.js +0 -13
  64. package/cjs/components/styled.js +0 -61
  65. package/cjs/components/utils.js +0 -49
  66. package/cjs/index.js +0 -11
  67. package/cjs/prop-types.js +0 -64
  68. package/esm/DSSlider.js +0 -23
  69. package/esm/components/SliderImp.js +0 -192
  70. package/esm/components/Thumb.js +0 -64
  71. package/esm/components/TickMarks.js +0 -39
  72. package/esm/components/TickMarksValues.js +0 -36
  73. package/esm/components/Track.js +0 -59
  74. package/esm/components/context.js +0 -5
  75. package/esm/components/styled.js +0 -47
  76. package/esm/components/utils.js +0 -44
  77. package/esm/index.js +0 -1
  78. package/esm/prop-types.js +0 -59
@@ -0,0 +1,48 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var DSSlider_exports = {};
29
+ __export(DSSlider_exports, {
30
+ DSSlider: () => DSSlider,
31
+ DSSliderWithSchema: () => DSSliderWithSchema,
32
+ default: () => DSSlider_default
33
+ });
34
+ var React = __toESM(require("react"));
35
+ var import_react = __toESM(require("react"));
36
+ var import_react_desc = require("react-desc");
37
+ var import_SliderImp = __toESM(require("./components/SliderImp"));
38
+ var import_prop_types = require("./prop-types");
39
+ const DSSlider = (props) => /* @__PURE__ */ import_react.default.createElement(import_SliderImp.default, {
40
+ ...props
41
+ });
42
+ DSSlider.defaultProps = import_prop_types.defaultProps;
43
+ DSSlider.propTypes = import_prop_types.sliderPropTypes;
44
+ const DSSliderWithSchema = (0, import_react_desc.describe)(DSSlider);
45
+ DSSliderWithSchema.propTypes = import_prop_types.sliderPropTypes;
46
+ var DSSlider_default = DSSlider;
47
+ module.exports = __toCommonJS(DSSlider_exports);
48
+ //# sourceMappingURL=DSSlider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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;\n\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;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,wBAAyB;AACzB,uBAAsB;AACtB,wBAA8C;AAE9C,MAAM,WAAW,CAAC,UAAU,mDAAC,0BAAD;AAAA,KAAe;AAAA;AAE3C,SAAS,eAAe;AACxB,SAAS,YAAY;AAErB,MAAM,qBAAqB,gCAAS;AACpC,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,195 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var SliderImp_exports = {};
29
+ __export(SliderImp_exports, {
30
+ default: () => SliderImp_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_uuid = require("uuid");
35
+ var import_react_range = require("react-range");
36
+ var import_ds_utilities = require("@elliemae/ds-utilities");
37
+ var import_ds_truncated_tooltip_text = __toESM(require("@elliemae/ds-truncated-tooltip-text"));
38
+ var import_ds_grid = require("@elliemae/ds-grid");
39
+ var import_Track = __toESM(require("./Track"));
40
+ var import_Thumb = __toESM(require("./Thumb"));
41
+ var import_styled = require("./styled");
42
+ var import_utils = require("./utils");
43
+ var import_context = require("./context");
44
+ const getSubArrayFromRange = (arr, [minVal, maxVal], isCustomTickMarksValues = false) => {
45
+ const trueMinVal = isCustomTickMarksValues ? arr[minVal] : minVal;
46
+ const minIndex = arr.findIndex((el) => el === trueMinVal);
47
+ if (maxVal !== void 0) {
48
+ const trueMaxVal = isCustomTickMarksValues ? arr[maxVal] : maxVal;
49
+ const maxIndex = arr.findIndex((el) => el === trueMaxVal);
50
+ if (minIndex >= 0 && maxIndex > minIndex)
51
+ return arr.slice(minIndex, maxIndex + 1);
52
+ return [];
53
+ }
54
+ return [trueMinVal];
55
+ };
56
+ const SliderImp = (props) => {
57
+ const {
58
+ containerProps,
59
+ disabled,
60
+ label,
61
+ labelWithValue,
62
+ minValue,
63
+ maxValue,
64
+ step,
65
+ onChange,
66
+ withTickMarks,
67
+ withTickMarksValues,
68
+ withTwoHandles,
69
+ customTickMarksValues,
70
+ zIndex
71
+ } = props;
72
+ const ref = (0, import_react.useRef)();
73
+ const [width, setWidth] = (0, import_react.useState)(0);
74
+ const sliderUUID = (0, import_react.useMemo)(() => (0, import_uuid.v4)(), []);
75
+ const parsedMinValue = (0, import_react.useMemo)(() => {
76
+ if (customTickMarksValues?.length)
77
+ return 0;
78
+ return minValue;
79
+ }, [customTickMarksValues?.length, minValue]);
80
+ const parsedMaxValue = (0, import_react.useMemo)(() => {
81
+ if (customTickMarksValues?.length)
82
+ return customTickMarksValues?.length - 1;
83
+ return maxValue;
84
+ }, [customTickMarksValues?.length, maxValue]);
85
+ const parsedStep = (0, import_react.useMemo)(() => {
86
+ if (customTickMarksValues?.length)
87
+ return 1;
88
+ return step;
89
+ }, [customTickMarksValues?.length, step]);
90
+ const parsedValuesArray = (0, import_react.useMemo)(() => {
91
+ if (customTickMarksValues?.length)
92
+ return customTickMarksValues;
93
+ const newLength = Math.ceil(maxValue / step);
94
+ const valuesArray = [];
95
+ for (let i = 0; i <= newLength; i += 1) {
96
+ valuesArray.push(step * i);
97
+ }
98
+ return valuesArray;
99
+ }, [customTickMarksValues?.length, minValue, maxValue, step]);
100
+ const [rangeValues, setRangeValues] = (0, import_react.useState)(withTwoHandles ? [parsedMinValue, parsedMaxValue] : [parsedMinValue]);
101
+ const [fullSelectedValues, setFullSelectedValues] = (0, import_react.useState)([]);
102
+ (0, import_react.useEffect)(() => {
103
+ const selectedRangeValues = getSubArrayFromRange(parsedValuesArray, rangeValues, !!customTickMarksValues?.length);
104
+ setFullSelectedValues(selectedRangeValues);
105
+ }, [parsedValuesArray, rangeValues, customTickMarksValues?.length]);
106
+ const prevWithTwoHandles = (0, import_ds_utilities.usePrevious)(withTwoHandles);
107
+ const resizeHandler = () => {
108
+ setWidth(0);
109
+ setWidth(ref.current?.clientWidth);
110
+ };
111
+ (0, import_react.useEffect)(() => {
112
+ window.addEventListener("resize", resizeHandler);
113
+ return () => window.removeEventListener("resize", resizeHandler);
114
+ });
115
+ (0, import_react.useEffect)(() => {
116
+ if (!prevWithTwoHandles && withTwoHandles) {
117
+ setRangeValues([parsedMinValue, parsedMaxValue]);
118
+ } else if (prevWithTwoHandles && !withTwoHandles) {
119
+ setRangeValues([parsedMinValue]);
120
+ }
121
+ }, [withTwoHandles]);
122
+ (0, import_react.useEffect)(() => {
123
+ setWidth(ref.current?.clientWidth);
124
+ }, [ref.current?.clientWidth]);
125
+ const [finalLabelText, finalValueText] = (0, import_react.useMemo)(() => (0, import_utils.conformedLabel)(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep), [
126
+ rangeValues,
127
+ label,
128
+ labelWithValue,
129
+ withTwoHandles,
130
+ customTickMarksValues,
131
+ parsedStep
132
+ ]);
133
+ 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, {
134
+ disabled
135
+ }, finalValueText));
136
+ return /* @__PURE__ */ import_react.default.createElement(import_ds_truncated_tooltip_text.TooltipTextProvider, null, /* @__PURE__ */ import_react.default.createElement("div", {
137
+ ref
138
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
139
+ width: "100%",
140
+ style: { maxWidth: "100%" },
141
+ containerProps,
142
+ "data-testid": "slider",
143
+ rows: ["auto", "auto"]
144
+ }, /* @__PURE__ */ import_react.default.createElement(import_context.SliderContext.Provider, {
145
+ value: {
146
+ disabled,
147
+ sliderUUID,
148
+ label,
149
+ labelWithValue,
150
+ minValue: parsedMinValue,
151
+ maxValue: parsedMaxValue,
152
+ step: parsedStep,
153
+ parsedValuesArray,
154
+ withTickMarks,
155
+ withTickMarksValues,
156
+ withTwoHandles,
157
+ customTickMarksValues,
158
+ rangeValues,
159
+ fullSelectedValues,
160
+ zIndex
161
+ }
162
+ }, finalLabelText && /* @__PURE__ */ import_react.default.createElement(import_styled.LabelWrapper, {
163
+ width
164
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_truncated_tooltip_text.default, {
165
+ value: SliderLabel
166
+ })), /* @__PURE__ */ import_react.default.createElement(import_styled.StyledRangeWrapper, null, /* @__PURE__ */ import_react.default.createElement(import_react_range.Range, {
167
+ step: parsedStep,
168
+ min: parsedMinValue,
169
+ max: parsedMaxValue,
170
+ values: rangeValues,
171
+ disabled,
172
+ onChange: (values) => {
173
+ if (withTwoHandles && values[0] === values[1])
174
+ return;
175
+ setRangeValues(values);
176
+ onChange(values);
177
+ },
178
+ renderTrack: ({ props: trackProps, children }) => /* @__PURE__ */ import_react.default.createElement(import_Track.default, {
179
+ props: trackProps
180
+ }, children),
181
+ renderThumb: (renderArgs) => {
182
+ const { index, props: thumbProps, isDragged } = renderArgs;
183
+ return /* @__PURE__ */ import_react.default.createElement(import_Thumb.default, {
184
+ key: `${sliderUUID}-${thumbProps.key}`,
185
+ props: thumbProps,
186
+ isDragged,
187
+ index
188
+ });
189
+ },
190
+ allowOverlap: false
191
+ }))))));
192
+ };
193
+ var SliderImp_default = SliderImp;
194
+ module.exports = __toCommonJS(SliderImp_exports);
195
+ //# sourceMappingURL=SliderImp.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,72 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var Thumb_exports = {};
29
+ __export(Thumb_exports, {
30
+ default: () => Thumb_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_prop_types = __toESM(require("prop-types"));
35
+ var import_ds_tooltip = require("@elliemae/ds-tooltip");
36
+ var import_context = require("./context");
37
+ var import_utils = require("./utils");
38
+ var import_styled = require("./styled");
39
+ const Thumb = ({ index, props, isDragged }) => {
40
+ const [isHovered, setIsHovered] = (0, import_react.useState)(false);
41
+ const {
42
+ disabled,
43
+ rangeValues,
44
+ zIndex,
45
+ customTickMarksValues,
46
+ step,
47
+ minValue
48
+ } = (0, import_react.useContext)(import_context.SliderContext);
49
+ const cleanedProps = { ...props };
50
+ return /* @__PURE__ */ import_react.default.createElement(import_styled.ThumbStyled, {
51
+ ...cleanedProps,
52
+ "data-testid": "slider-thumb",
53
+ disabled,
54
+ style: { ...cleanedProps.style, zIndex },
55
+ index,
56
+ onMouseEnter: () => setIsHovered(true),
57
+ onMouseLeave: () => setIsHovered(false)
58
+ }, /* @__PURE__ */ import_react.default.createElement(import_styled.TooltipContainerStyled, {
59
+ isDragged,
60
+ isHovered
61
+ }, /* @__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)));
62
+ };
63
+ Thumb.propTypes = {
64
+ index: import_prop_types.default.number,
65
+ props: import_prop_types.default.shape({
66
+ style: import_prop_types.default.shape({}).isRequired
67
+ }).isRequired,
68
+ isDragged: import_prop_types.default.bool
69
+ };
70
+ var Thumb_default = Thumb;
71
+ module.exports = __toCommonJS(Thumb_exports);
72
+ //# sourceMappingURL=Thumb.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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;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;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,eAAe,KAAK;AAG1B,SAGE,mDAAC,2BAAD;AAAA,OACM;AAAA,IACJ,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,KAAK,aAAa,OAAO;AAAA,IAChC;AAAA,IACA,cAAc,MAAM,aAAa;AAAA,IACjC,cAAc,MAAM,aAAa;AAAA,KAEjC,mDAAC,sCAAD;AAAA,IAAwB;AAAA,IAAsB;AAAA,KAC5C,mDAAC,+BAAD,MACG,sCACC,aACA,uBACA,OACA,MACA,YAGJ,mDAAC,4BAAD;AAAA;AAMR,MAAM,YAAY;AAAA,EAChB,OAAO,0BAAU;AAAA,EACjB,OAAO,0BAAU,MAAM;AAAA,IACrB,OAAO,0BAAU,MAAM,IAAI;AAAA,KAC1B;AAAA,EACH,WAAW,0BAAU;AAAA;AAGvB,IAAO,gBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,87 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var TickMarks_exports = {};
29
+ __export(TickMarks_exports, {
30
+ default: () => TickMarks_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_styled_components = __toESM(require("styled-components"));
35
+ var import_ds_system = require("@elliemae/ds-system");
36
+ var import_context = require("./context");
37
+ const TickMarks = () => {
38
+ const {
39
+ minValue,
40
+ maxValue,
41
+ rangeValues,
42
+ step,
43
+ withTwoHandles,
44
+ zIndex
45
+ } = (0, import_react.useContext)(import_context.SliderContext);
46
+ const dots = [];
47
+ for (let index = minValue || 0; index <= maxValue; index += step) {
48
+ const isActive = withTwoHandles ? rangeValues[0] <= index && index < rangeValues[1] : rangeValues[0] > index;
49
+ dots.push(/* @__PURE__ */ import_react.default.createElement(Dot, {
50
+ "data-testid": "slider-dot",
51
+ isActive,
52
+ key: index
53
+ }));
54
+ }
55
+ return /* @__PURE__ */ import_react.default.createElement(DotsContainer, {
56
+ "data-testid": "slider-tick-marks",
57
+ zIndex
58
+ }, dots);
59
+ };
60
+ const Dot = import_styled_components.default.div`
61
+ &:after {
62
+ content: '';
63
+ background: ${(props) => props.isActive ? props.theme.colors.brand[300] : props.theme.colors.neutral[400]};
64
+ border-radius: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
65
+ display: block;
66
+ position: relative;
67
+ width: 2px;
68
+ height: 2px;
69
+ }
70
+ `;
71
+ const DotsContainer = import_styled_components.default.div`
72
+ padding: 0
73
+ calc(${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)} * 0.5);
74
+ align-items: center;
75
+ display: flex;
76
+ justify-content: space-between;
77
+ pointer-events: none;
78
+ position: absolute;
79
+ top: 0;
80
+ left: 0;
81
+ right: 0;
82
+ bottom: 0;
83
+ z-index: ${(props) => props.zIndex - 1};
84
+ `;
85
+ var TickMarks_default = TickMarks;
86
+ module.exports = __toCommonJS(TickMarks_exports);
87
+ //# sourceMappingURL=TickMarks.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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;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;AACf,QAAM,OAAO;AAEb,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,KAAD;AAAA,MAAK,eAAY;AAAA,MAAa;AAAA,MAAoB,KAAK;AAAA;AAAA;AAGnE,SACE,mDAAC,eAAD;AAAA,IAAe,eAAY;AAAA,IAAoB;AAAA,KAC5C;AAAA;AAKP,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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjD,MAAM,gBAAgB,iCAAO;AAAA;AAAA,WAElB,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUpD,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,64 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var TickMarksValues_exports = {};
29
+ __export(TickMarksValues_exports, {
30
+ default: () => TickMarksValues_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_styled_components = __toESM(require("styled-components"));
35
+ var import_ds_system = require("@elliemae/ds-system");
36
+ var import_context = require("./context");
37
+ const TickMarks = () => {
38
+ const { parsedValuesArray, fullSelectedValues, sliderUUID } = (0, import_react.useContext)(import_context.SliderContext);
39
+ const TickMarksLabels = (0, import_react.useMemo)(() => parsedValuesArray.map((value) => {
40
+ const isSelected = fullSelectedValues.findIndex((selectedVal) => selectedVal === value) >= 0;
41
+ return /* @__PURE__ */ import_react.default.createElement(TickMarkValue, {
42
+ key: `${sliderUUID}-${value}`,
43
+ isSelected
44
+ }, value);
45
+ }), [parsedValuesArray, sliderUUID, fullSelectedValues]);
46
+ const PureTickMArksValues = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(TickMarksContainer, {
47
+ "data-testid": "slider-tick-marks-values"
48
+ }, TickMarksLabels), [TickMarksLabels]);
49
+ return PureTickMArksValues;
50
+ };
51
+ const TickMarkValue = import_styled_components.default.div`
52
+ margin: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.s)} 0;
53
+ overflow: visible;
54
+ transform: translateX(-100%);
55
+ width: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
56
+ color: ${(props) => props.isSelected ? props.theme.colors.neutral[800] : props.theme.colors.neutral[500]};
57
+ `;
58
+ const TickMarksContainer = import_styled_components.default.div`
59
+ display: flex;
60
+ justify-content: space-between;
61
+ `;
62
+ var TickMarksValues_default = TickMarks;
63
+ module.exports = __toCommonJS(TickMarksValues_exports);
64
+ //# sourceMappingURL=TickMarksValues.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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;ACAA,YAAuB;ADCvB,mBAA2C;AAC3C,+BAAmB;AACnB,uBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,eAAe,6BAC5D;AAGF,QAAM,kBAAkB,0BACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,UAAM,aACJ,mBAAmB,UACjB,CAAC,gBAAgB,gBAAgB,UAC9B;AACP,WACE,mDAAC,eAAD;AAAA,MAAe,KAAK,GAAG,cAAc;AAAA,MAAS;AAAA,OAC3C;AAAA,MAKT,CAAC,mBAAmB,YAAY;AAGlC,QAAM,sBAAsB,0BAC1B,MACE,mDAAC,oBAAD;AAAA,IAAoB,eAAY;AAAA,KAC7B,kBAGL,CAAC;AAGH,SAAO;AAAA;AAGT,MAAM,gBAAgB,iCAAO;AAAA,YACjB,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA,WAGvD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA,WACtD,CAAC,UACR,MAAM,aACF,MAAM,MAAM,OAAO,QAAQ,OAC3B,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGnC,MAAM,qBAAqB,iCAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,78 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var Track_exports = {};
29
+ __export(Track_exports, {
30
+ default: () => Track_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_react_range = require("react-range");
35
+ var import_styled_components = __toESM(require("styled-components"));
36
+ var import_ds_system = require("@elliemae/ds-system");
37
+ var import_TickMarks = __toESM(require("./TickMarks"));
38
+ var import_TickMarksValues = __toESM(require("./TickMarksValues"));
39
+ var import_context = require("./context");
40
+ const Track = ({ children, props }) => {
41
+ const {
42
+ disabled,
43
+ minValue,
44
+ maxValue,
45
+ rangeValues,
46
+ withTickMarks,
47
+ withTickMarksValues,
48
+ withTwoHandles
49
+ } = (0, import_react.useContext)(import_context.SliderContext);
50
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(TrackStyled, {
51
+ ...props,
52
+ disabled,
53
+ minValue,
54
+ maxValue,
55
+ rangeValues,
56
+ withTwoHandles
57
+ }, children, withTickMarks && !disabled && /* @__PURE__ */ import_react.default.createElement(import_TickMarks.default, null)), withTickMarksValues && /* @__PURE__ */ import_react.default.createElement(import_TickMarksValues.default, null));
58
+ };
59
+ const TrackStyled = import_styled_components.default.div`
60
+ position: relative;
61
+ height: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
62
+ width: 100%;
63
+ min-width: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxl)};
64
+ border-radius: ${(props) => (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(props.theme.space.xxs)};
65
+ background: ${(props) => props.disabled ? props.theme.colors.neutral[100] : (0, import_react_range.getTrackBackground)({
66
+ values: props.rangeValues,
67
+ colors: props.withTwoHandles ? [
68
+ props.theme.colors.neutral[100],
69
+ props.theme.colors.brand[600],
70
+ props.theme.colors.neutral[100]
71
+ ] : [props.theme.colors.brand[600], props.theme.colors.neutral[100]],
72
+ min: props.minValue,
73
+ max: props.maxValue
74
+ })};
75
+ `;
76
+ var Track_default = Track;
77
+ module.exports = __toCommonJS(Track_exports);
78
+ //# sourceMappingURL=Track.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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;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;AAEf,SACE,wFACE,mDAAC,aAAD;AAAA,OACM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,KAEC,UACA,iBAAiB,CAAC,YAAY,mDAAC,0BAAD,QAEhC,uBAAuB,mDAAC,gCAAD;AAAA;AAK9B,MAAM,cAAc,iCAAO;AAAA;AAAA,YAEf,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA;AAAA,eAEnD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA,mBAClD,CAAC,UAAU,+CAAyB,MAAM,MAAM,MAAM;AAAA,gBACzD,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,MAE7B,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,QAAQ;AAAA,EAC/D,KAAK,MAAM;AAAA,EACX,KAAK,MAAM;AAAA;AAAA;AAIrB,IAAO,gBAAQ;",
6
+ "names": []
7
+ }