@elliemae/ds-slider 3.5.0-rc.9 → 3.6.0-next.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.
- package/dist/cjs/DSSlider.js +2 -2
- package/dist/cjs/DSSlider.js.map +2 -2
- package/dist/cjs/components/SliderImp.js +82 -61
- package/dist/cjs/components/SliderImp.js.map +2 -2
- package/dist/cjs/components/Thumb.js +11 -10
- package/dist/cjs/components/Thumb.js.map +2 -2
- package/dist/cjs/components/TickMarks.js +9 -8
- package/dist/cjs/components/TickMarks.js.map +2 -2
- package/dist/cjs/components/TickMarksValues.js +10 -8
- package/dist/cjs/components/TickMarksValues.js.map +2 -2
- package/dist/cjs/components/Track.js +19 -9
- package/dist/cjs/components/Track.js.map +2 -2
- package/dist/esm/DSSlider.js +2 -2
- package/dist/esm/DSSlider.js.map +2 -2
- package/dist/esm/components/SliderImp.js +82 -61
- package/dist/esm/components/SliderImp.js.map +2 -2
- package/dist/esm/components/Thumb.js +11 -10
- package/dist/esm/components/Thumb.js.map +2 -2
- package/dist/esm/components/TickMarks.js +9 -8
- package/dist/esm/components/TickMarks.js.map +2 -2
- package/dist/esm/components/TickMarksValues.js +10 -8
- package/dist/esm/components/TickMarksValues.js.map +2 -2
- package/dist/esm/components/Track.js +19 -9
- package/dist/esm/components/Track.js.map +2 -2
- package/package.json +6 -6
package/dist/cjs/DSSlider.js
CHANGED
|
@@ -30,11 +30,11 @@ __export(DSSlider_exports, {
|
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(DSSlider_exports);
|
|
32
32
|
var React = __toESM(require("react"));
|
|
33
|
-
var
|
|
33
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
34
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
35
35
|
var import_SliderImp = __toESM(require("./components/SliderImp"));
|
|
36
36
|
var import_prop_types = require("./prop-types");
|
|
37
|
-
const DSSlider = (props) => /* @__PURE__ */
|
|
37
|
+
const DSSlider = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SliderImp.default, {
|
|
38
38
|
...props
|
|
39
39
|
});
|
|
40
40
|
DSSlider.defaultProps = import_prop_types.defaultProps;
|
package/dist/cjs/DSSlider.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSSlider.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,0BAAyB;AACzB,uBAAsB;AACtB,wBAA8C;AAE9C,MAAM,WAAW,CAAC,UAAU,4CAAC,iBAAAA,SAAA;AAAA,EAAW,GAAG;AAAA,CAAO;AAElD,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,MAAM,yBAAqB,8BAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
|
|
6
|
+
"names": ["SliderImp"]
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(SliderImp_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(SliderImp_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_uuid = require("uuid");
|
|
33
34
|
var import_react_range = require("react-range");
|
|
34
35
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
@@ -125,67 +126,87 @@ const SliderImp = (props) => {
|
|
|
125
126
|
() => (0, import_utils.conformedLabel)(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep),
|
|
126
127
|
[rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep]
|
|
127
128
|
);
|
|
128
|
-
const SliderLabel = /* @__PURE__ */
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
const SliderLabel = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.LabelText, {
|
|
132
|
+
children: finalLabelText
|
|
133
|
+
}),
|
|
134
|
+
finalLabelText && " ",
|
|
135
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.ValueText, {
|
|
136
|
+
disabled,
|
|
137
|
+
children: finalValueText
|
|
138
|
+
})
|
|
139
|
+
]
|
|
140
|
+
});
|
|
131
141
|
const theme = (0, import_react.useContext)(import_ds_system.ThemeContext);
|
|
132
|
-
return /* @__PURE__ */
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_truncated_tooltip_text.TooltipTextProvider, {
|
|
143
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
144
|
+
ref,
|
|
145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
|
|
146
|
+
width: "100%",
|
|
147
|
+
style: { maxWidth: "100%" },
|
|
148
|
+
containerProps,
|
|
149
|
+
"data-testid": "slider",
|
|
150
|
+
alignItems: "center",
|
|
151
|
+
rows: ["auto", "auto"],
|
|
152
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_context.SliderContext.Provider, {
|
|
153
|
+
value: {
|
|
154
|
+
disabled,
|
|
155
|
+
sliderUUID,
|
|
156
|
+
label,
|
|
157
|
+
labelWithValue,
|
|
158
|
+
minValue: parsedMinValue,
|
|
159
|
+
maxValue: parsedMaxValue,
|
|
160
|
+
step: parsedStep,
|
|
161
|
+
parsedValuesArray,
|
|
162
|
+
withTickMarks,
|
|
163
|
+
withTickMarksValues,
|
|
164
|
+
withTwoHandles,
|
|
165
|
+
customTickMarksValues,
|
|
166
|
+
rangeValues,
|
|
167
|
+
fullSelectedValues,
|
|
168
|
+
zIndex: zIndex ?? theme.zIndex.tooltip
|
|
169
|
+
},
|
|
170
|
+
children: [
|
|
171
|
+
finalLabelText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.LabelWrapper, {
|
|
172
|
+
width,
|
|
173
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_truncated_tooltip_text.default, {
|
|
174
|
+
value: SliderLabel
|
|
175
|
+
})
|
|
176
|
+
}),
|
|
177
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledRangeWrapper, {
|
|
178
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_range.Range, {
|
|
179
|
+
step: parsedStep,
|
|
180
|
+
min: parsedMinValue,
|
|
181
|
+
max: parsedMaxValue,
|
|
182
|
+
values: rangeValues,
|
|
183
|
+
disabled,
|
|
184
|
+
onChange: (values) => {
|
|
185
|
+
if (withTwoHandles && values[0] === values[1])
|
|
186
|
+
return;
|
|
187
|
+
setRangeValues(values);
|
|
188
|
+
onChange(values);
|
|
189
|
+
},
|
|
190
|
+
renderTrack: ({ props: trackProps, children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Track.default, {
|
|
191
|
+
props: trackProps,
|
|
192
|
+
children
|
|
193
|
+
}),
|
|
194
|
+
renderThumb: (renderArgs) => {
|
|
195
|
+
const { index, props: thumbProps, isDragged } = renderArgs;
|
|
196
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Thumb.default, {
|
|
197
|
+
props: thumbProps,
|
|
198
|
+
isDragged,
|
|
199
|
+
index
|
|
200
|
+
}, `${sliderUUID}-${thumbProps.key}`);
|
|
201
|
+
},
|
|
202
|
+
allowOverlap: false
|
|
203
|
+
})
|
|
204
|
+
})
|
|
205
|
+
]
|
|
206
|
+
})
|
|
207
|
+
})
|
|
208
|
+
})
|
|
209
|
+
});
|
|
189
210
|
};
|
|
190
211
|
var SliderImp_default = SliderImp;
|
|
191
212
|
//# sourceMappingURL=SliderImp.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/SliderImp.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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 alignItems=\"center\"\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": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": ["uuidv4", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["uuidv4", "DSTruncatedTooltipText", "Track", "Thumb"]
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(Thumb_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(Thumb_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_prop_types = __toESM(require("prop-types"));
|
|
33
34
|
var import_ds_tooltip = require("@elliemae/ds-tooltip");
|
|
34
35
|
var import_context = require("./context");
|
|
@@ -38,21 +39,21 @@ const Thumb = ({ index, props, isDragged }) => {
|
|
|
38
39
|
const [isHovered, setIsHovered] = (0, import_react.useState)(false);
|
|
39
40
|
const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = (0, import_react.useContext)(import_context.SliderContext);
|
|
40
41
|
const cleanedProps = { ...props };
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.ThumbStyled, {
|
|
42
43
|
...cleanedProps,
|
|
43
44
|
"data-testid": "slider-thumb",
|
|
44
45
|
disabled,
|
|
45
46
|
style: { ...cleanedProps.style, zIndex },
|
|
46
47
|
index,
|
|
47
48
|
onMouseEnter: () => setIsHovered(true),
|
|
48
|
-
onMouseLeave: () => setIsHovered(false)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
})
|
|
49
|
+
onMouseLeave: () => setIsHovered(false),
|
|
50
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip.DSTooltipV3, {
|
|
51
|
+
text: (0, import_utils.conformedThumbLabel)(rangeValues, customTickMarksValues, index, step, minValue),
|
|
52
|
+
showPopover: isDragged || isHovered,
|
|
53
|
+
customOffset: [0, 20],
|
|
54
|
+
withoutAnimation: true
|
|
55
|
+
}, (0, import_utils.conformedThumbLabel)(rangeValues, customTickMarksValues, index, step, minValue))
|
|
56
|
+
});
|
|
56
57
|
};
|
|
57
58
|
Thumb.propTypes = {
|
|
58
59
|
index: import_prop_types.default.number,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Thumb.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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,UAAU,MAAM;AAC7C,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,EAAE,UAAU,aAAa,QAAQ,uBAAuB,MAAM,SAAS,QAAI,yBAAW,4BAAa;AAEzG,QAAM,eAAe,EAAE,GAAG,MAAM;AAGhC,SAGE,
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA4C;AAE5C,wBAAsB;AACtB,wBAA4B;AAC5B,qBAA8B;AAC9B,mBAAoC;AACpC,oBAAkE;AAElE,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,UAAU,MAAM;AAC7C,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,EAAE,UAAU,aAAa,QAAQ,uBAAuB,MAAM,SAAS,QAAI,yBAAW,4BAAa;AAEzG,QAAM,eAAe,EAAE,GAAG,MAAM;AAGhC,SAGE,4CAAC;AAAA,IACE,GAAG;AAAA,IACJ,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,EAAE,GAAG,aAAa,OAAO,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,IAEtC,sDAAC;AAAA,MAEC,UAAM,kCAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,MACnF,aAAa,aAAa;AAAA,MAC1B,cAAc,CAAC,GAAG,EAAE;AAAA,MACpB,kBAAgB;AAAA,WAJX,kCAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ,CAKnF;AAAA,GACH;AAEJ;AAUA,MAAM,YAAY;AAAA,EAChB,OAAO,kBAAAA,QAAU;AAAA,EACjB,OAAO,kBAAAA,QAAU,MAAM;AAAA,IACrB,OAAO,kBAAAA,QAAU,MAAM,CAAC,CAAC,EAAE;AAAA,EAC7B,CAAC,EAAE;AAAA,EACH,WAAW,kBAAAA,QAAU;AACvB;AAEA,IAAO,gBAAQ;",
|
|
6
|
+
"names": ["PropTypes"]
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(TickMarks_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(TickMarks_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_system = require("@elliemae/ds-system");
|
|
33
34
|
var import_ds_system2 = require("@elliemae/ds-system");
|
|
34
35
|
var import_context = require("./context");
|
|
@@ -37,16 +38,16 @@ const TickMarks = () => {
|
|
|
37
38
|
const dots = [];
|
|
38
39
|
for (let index = minValue || 0; index <= maxValue; index += step) {
|
|
39
40
|
const isActive = withTwoHandles ? rangeValues[0] <= index && index < rangeValues[1] : rangeValues[0] > index;
|
|
40
|
-
dots.push(/* @__PURE__ */
|
|
41
|
+
dots.push(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Dot, {
|
|
41
42
|
"data-testid": "slider-dot",
|
|
42
|
-
isActive
|
|
43
|
-
|
|
44
|
-
}));
|
|
43
|
+
isActive
|
|
44
|
+
}, index));
|
|
45
45
|
}
|
|
46
|
-
return /* @__PURE__ */
|
|
46
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DotsContainer, {
|
|
47
47
|
"data-testid": "slider-tick-marks",
|
|
48
|
-
zIndex
|
|
49
|
-
|
|
48
|
+
zIndex,
|
|
49
|
+
children: dots
|
|
50
|
+
});
|
|
50
51
|
};
|
|
51
52
|
const Dot = import_ds_system.styled.div`
|
|
52
53
|
&:after {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/TickMarks.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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 { minValue, maxValue, rangeValues, step, withTwoHandles, zIndex } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles ? rangeValues[0] <= index && index < rangeValues[1] : 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) => (props.isActive ? props.theme.colors.brand[300] : props.theme.colors.neutral[400])};\n border-radius: ${(props) => __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 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;
|
|
6
|
-
"names": ["import_ds_system"
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,mBAAkC;AAClC,uBAAuB;AACvB,IAAAA,oBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,UAAU,UAAU,aAAa,MAAM,gBAAgB,OAAO,QAAI,yBAAW,4BAAa;AAClG,QAAM,OAAO,CAAC;AAEd,WAAS,QAAQ,YAAY,GAAG,SAAS,UAAU,SAAS,MAAM;AAChE,UAAM,WAAW,iBAAiB,YAAY,MAAM,SAAS,QAAQ,YAAY,KAAK,YAAY,KAAK;AACvG,SAAK,KAAK,4CAAC;AAAA,MAAI,eAAY;AAAA,MAAa;AAAA,OAAyB,KAAO,CAAE;AAAA,EAC5E;AAEA,SACE,4CAAC;AAAA,IAAc,eAAY;AAAA,IAAoB;AAAA,IAC5C;AAAA,GACH;AAEJ;AAEA,MAAM,MAAM,wBAAO;AAAA;AAAA;AAAA,kBAGD,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA,qBACrF,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ9E,MAAM,gBAAgB,wBAAO;AAAA,oBACT,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUhE,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
|
|
6
|
+
"names": ["import_ds_system"]
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(TickMarksValues_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(TickMarksValues_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_system = require("@elliemae/ds-system");
|
|
33
34
|
var import_ds_system2 = require("@elliemae/ds-system");
|
|
34
35
|
var import_context = require("./context");
|
|
@@ -37,17 +38,18 @@ const TickMarks = () => {
|
|
|
37
38
|
const TickMarksLabels = (0, import_react.useMemo)(
|
|
38
39
|
() => parsedValuesArray.map((value) => {
|
|
39
40
|
const isSelected = fullSelectedValues.findIndex((selectedVal) => selectedVal === value) >= 0;
|
|
40
|
-
return /* @__PURE__ */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, value);
|
|
41
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TickMarkValue, {
|
|
42
|
+
isSelected,
|
|
43
|
+
children: value
|
|
44
|
+
}, `${sliderUUID}-${value}`);
|
|
44
45
|
}),
|
|
45
46
|
[parsedValuesArray, sliderUUID, fullSelectedValues]
|
|
46
47
|
);
|
|
47
48
|
const PureTickMArksValues = (0, import_react.useMemo)(
|
|
48
|
-
() => /* @__PURE__ */
|
|
49
|
-
"data-testid": "slider-tick-marks-values"
|
|
50
|
-
|
|
49
|
+
() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TickMarksContainer, {
|
|
50
|
+
"data-testid": "slider-tick-marks-values",
|
|
51
|
+
children: TickMarksLabels
|
|
52
|
+
}),
|
|
51
53
|
[TickMarksLabels]
|
|
52
54
|
);
|
|
53
55
|
return PureTickMArksValues;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/TickMarksValues.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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(SliderContext);\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected = fullSelectedValues.findIndex((selectedVal) => selectedVal === value) >= 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 () => <TickMarksContainer data-testid=\"slider-tick-marks-values\">{TickMarksLabels}</TickMarksContainer>,\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n min-height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)};\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) => (props.isSelected ? props.theme.colors.neutral[800] : 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;
|
|
6
|
-
"names": ["import_ds_system"
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,mBAA2C;AAC3C,uBAAuB;AACvB,IAAAA,oBAAyC;AACzC,qBAA8B;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,WAAW,QAAI,yBAAW,4BAAa;AAEtF,QAAM,sBAAkB;AAAA,IACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,YAAM,aAAa,mBAAmB,UAAU,CAAC,gBAAgB,gBAAgB,KAAK,KAAK;AAC3F,aACE,4CAAC;AAAA,QAA6C;AAAA,QAC3C;AAAA,SADiB,GAAG,cAAc,OAErC;AAAA,IAEJ,CAAC;AAAA,IAEH,CAAC,mBAAmB,YAAY,kBAAkB;AAAA,EACpD;AAEA,QAAM,0BAAsB;AAAA,IAC1B,MAAM,4CAAC;AAAA,MAAmB,eAAY;AAAA,MAA4B;AAAA,KAAgB;AAAA,IAClF,CAAC,eAAe;AAAA,EAClB;AAEA,SAAO;AACT;AAEA,MAAM,gBAAgB,wBAAO;AAAA,gBACb,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,WAG5D,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,WACzD,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGvG,MAAM,qBAAqB,wBAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
|
|
6
|
+
"names": ["import_ds_system"]
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(Track_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(Track_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_react_range = require("react-range");
|
|
33
34
|
var import_ds_system = require("@elliemae/ds-system");
|
|
34
35
|
var import_ds_system2 = require("@elliemae/ds-system");
|
|
@@ -45,14 +46,23 @@ const Track = ({ children, props }) => {
|
|
|
45
46
|
withTickMarksValues,
|
|
46
47
|
withTwoHandles
|
|
47
48
|
} = (0, import_react.useContext)(import_context.SliderContext);
|
|
48
|
-
return /* @__PURE__ */
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TrackStyled, {
|
|
52
|
+
...props,
|
|
53
|
+
disabled,
|
|
54
|
+
minValue,
|
|
55
|
+
maxValue,
|
|
56
|
+
rangeValues,
|
|
57
|
+
withTwoHandles,
|
|
58
|
+
children: [
|
|
59
|
+
children,
|
|
60
|
+
withTickMarks && !disabled && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TickMarks.default, {})
|
|
61
|
+
]
|
|
62
|
+
}),
|
|
63
|
+
withTickMarksValues && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TickMarksValues.default, {})
|
|
64
|
+
]
|
|
65
|
+
});
|
|
56
66
|
};
|
|
57
67
|
const TrackStyled = import_ds_system.styled.div`
|
|
58
68
|
position: relative;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Track.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
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;
|
|
6
|
-
"names": ["import_ds_system", "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEA,mBAAkC;AAClC,yBAAmC;AACnC,uBAAuB;AACvB,IAAAA,oBAAyC;AAEzC,uBAAsB;AACtB,6BAA4B;AAC5B,qBAA8B;AAE9B,MAAM,QAAQ,CAAC,EAAE,UAAU,MAAM,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,4BAAa;AAE5B,SACE;AAAA,IACE;AAAA,mDAAC;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,UACA,iBAAiB,CAAC,YAAY,4CAAC,iBAAAC,SAAA,EAAU;AAAA;AAAA,OAC5C;AAAA,MACC,uBAAuB,4CAAC,uBAAAC,SAAA,EAAgB;AAAA;AAAA,GAC3C;AAEJ;AAEA,MAAM,cAAc,wBAAO;AAAA;AAAA,YAEf,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA,eAEtD,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,mBACrD,CAAC,cAAU,4CAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,gBAC5D,CAAC,UACb,MAAM,WACF,MAAM,MAAM,OAAO,QAAQ,WAC3B,uCAAmB;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
|
+
"names": ["import_ds_system", "TickMarks", "TickMarksValues"]
|
|
7
7
|
}
|
package/dist/esm/DSSlider.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { describe } from "@elliemae/ds-utilities";
|
|
4
4
|
import SliderImp from "./components/SliderImp";
|
|
5
5
|
import { defaultProps, sliderPropTypes } from "./prop-types";
|
|
6
|
-
const DSSlider = (props) => /* @__PURE__ */
|
|
6
|
+
const DSSlider = (props) => /* @__PURE__ */ jsx(SliderImp, {
|
|
7
7
|
...props
|
|
8
8
|
});
|
|
9
9
|
DSSlider.defaultProps = defaultProps;
|
package/dist/esm/DSSlider.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSSlider.tsx"],
|
|
4
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
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,gBAAgB;AACzB,OAAO,eAAe;AACtB,SAAS,cAAc,uBAAuB;AAE9C,MAAM,WAAW,CAAC,UAAU,oBAAC;AAAA,EAAW,GAAG;AAAA,CAAO;AAElD,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,MAAM,qBAAqB,SAAS,QAAQ;AAC5C,mBAAmB,YAAY;AAG/B,IAAO,mBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useRef, useMemo, useContext } from "react";
|
|
3
4
|
import { v4 as uuidv4 } from "uuid";
|
|
4
5
|
import { Range } from "react-range";
|
|
5
6
|
import { usePrevious } from "@elliemae/ds-utilities";
|
|
@@ -96,67 +97,87 @@ const SliderImp = (props) => {
|
|
|
96
97
|
() => conformedLabel(rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep),
|
|
97
98
|
[rangeValues, label, labelWithValue, withTwoHandles, customTickMarksValues, parsedStep]
|
|
98
99
|
);
|
|
99
|
-
const SliderLabel = /* @__PURE__ */
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
const SliderLabel = /* @__PURE__ */ jsxs(Fragment, {
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ jsx(LabelText, {
|
|
103
|
+
children: finalLabelText
|
|
104
|
+
}),
|
|
105
|
+
finalLabelText && " ",
|
|
106
|
+
/* @__PURE__ */ jsx(ValueText, {
|
|
107
|
+
disabled,
|
|
108
|
+
children: finalValueText
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
});
|
|
102
112
|
const theme = useContext(ThemeContext);
|
|
103
|
-
return /* @__PURE__ */
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
113
|
+
return /* @__PURE__ */ jsx(TooltipTextProvider, {
|
|
114
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
115
|
+
ref,
|
|
116
|
+
children: /* @__PURE__ */ jsx(Grid, {
|
|
117
|
+
width: "100%",
|
|
118
|
+
style: { maxWidth: "100%" },
|
|
119
|
+
containerProps,
|
|
120
|
+
"data-testid": "slider",
|
|
121
|
+
alignItems: "center",
|
|
122
|
+
rows: ["auto", "auto"],
|
|
123
|
+
children: /* @__PURE__ */ jsxs(SliderContext.Provider, {
|
|
124
|
+
value: {
|
|
125
|
+
disabled,
|
|
126
|
+
sliderUUID,
|
|
127
|
+
label,
|
|
128
|
+
labelWithValue,
|
|
129
|
+
minValue: parsedMinValue,
|
|
130
|
+
maxValue: parsedMaxValue,
|
|
131
|
+
step: parsedStep,
|
|
132
|
+
parsedValuesArray,
|
|
133
|
+
withTickMarks,
|
|
134
|
+
withTickMarksValues,
|
|
135
|
+
withTwoHandles,
|
|
136
|
+
customTickMarksValues,
|
|
137
|
+
rangeValues,
|
|
138
|
+
fullSelectedValues,
|
|
139
|
+
zIndex: zIndex ?? theme.zIndex.tooltip
|
|
140
|
+
},
|
|
141
|
+
children: [
|
|
142
|
+
finalLabelText && /* @__PURE__ */ jsx(LabelWrapper, {
|
|
143
|
+
width,
|
|
144
|
+
children: /* @__PURE__ */ jsx(DSTruncatedTooltipText, {
|
|
145
|
+
value: SliderLabel
|
|
146
|
+
})
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ jsx(StyledRangeWrapper, {
|
|
149
|
+
children: /* @__PURE__ */ jsx(Range, {
|
|
150
|
+
step: parsedStep,
|
|
151
|
+
min: parsedMinValue,
|
|
152
|
+
max: parsedMaxValue,
|
|
153
|
+
values: rangeValues,
|
|
154
|
+
disabled,
|
|
155
|
+
onChange: (values) => {
|
|
156
|
+
if (withTwoHandles && values[0] === values[1])
|
|
157
|
+
return;
|
|
158
|
+
setRangeValues(values);
|
|
159
|
+
onChange(values);
|
|
160
|
+
},
|
|
161
|
+
renderTrack: ({ props: trackProps, children }) => /* @__PURE__ */ jsx(Track, {
|
|
162
|
+
props: trackProps,
|
|
163
|
+
children
|
|
164
|
+
}),
|
|
165
|
+
renderThumb: (renderArgs) => {
|
|
166
|
+
const { index, props: thumbProps, isDragged } = renderArgs;
|
|
167
|
+
return /* @__PURE__ */ jsx(Thumb, {
|
|
168
|
+
props: thumbProps,
|
|
169
|
+
isDragged,
|
|
170
|
+
index
|
|
171
|
+
}, `${sliderUUID}-${thumbProps.key}`);
|
|
172
|
+
},
|
|
173
|
+
allowOverlap: false
|
|
174
|
+
})
|
|
175
|
+
})
|
|
176
|
+
]
|
|
177
|
+
})
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
});
|
|
160
181
|
};
|
|
161
182
|
var SliderImp_default = SliderImp;
|
|
162
183
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/SliderImp.tsx"],
|
|
4
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 alignItems=\"center\"\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": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useState } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import { DSTooltipV3 } from "@elliemae/ds-tooltip";
|
|
5
6
|
import { SliderContext } from "./context";
|
|
@@ -9,21 +10,21 @@ const Thumb = ({ index, props, isDragged }) => {
|
|
|
9
10
|
const [isHovered, setIsHovered] = useState(false);
|
|
10
11
|
const { disabled, rangeValues, zIndex, customTickMarksValues, step, minValue } = useContext(SliderContext);
|
|
11
12
|
const cleanedProps = { ...props };
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ jsx(ThumbStyled, {
|
|
13
14
|
...cleanedProps,
|
|
14
15
|
"data-testid": "slider-thumb",
|
|
15
16
|
disabled,
|
|
16
17
|
style: { ...cleanedProps.style, zIndex },
|
|
17
18
|
index,
|
|
18
19
|
onMouseEnter: () => setIsHovered(true),
|
|
19
|
-
onMouseLeave: () => setIsHovered(false)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
20
|
+
onMouseLeave: () => setIsHovered(false),
|
|
21
|
+
children: /* @__PURE__ */ jsx(DSTooltipV3, {
|
|
22
|
+
text: conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue),
|
|
23
|
+
showPopover: isDragged || isHovered,
|
|
24
|
+
customOffset: [0, 20],
|
|
25
|
+
withoutAnimation: true
|
|
26
|
+
}, conformedThumbLabel(rangeValues, customTickMarksValues, index, step, minValue))
|
|
27
|
+
});
|
|
27
28
|
};
|
|
28
29
|
Thumb.propTypes = {
|
|
29
30
|
index: PropTypes.number,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Thumb.tsx"],
|
|
4
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,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,gBAAgB;AAE5C,OAAO,eAAe;AACtB,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,mBAAyD;AAElE,MAAM,QAAQ,CAAC,EAAE,OAAO,OAAO,UAAU,MAAM;AAC7C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,EAAE,UAAU,aAAa,QAAQ,uBAAuB,MAAM,SAAS,IAAI,WAAW,aAAa;AAEzG,QAAM,eAAe,EAAE,GAAG,MAAM;AAGhC,SAGE,oBAAC;AAAA,IACE,GAAG;AAAA,IACJ,eAAY;AAAA,IACZ;AAAA,IAEA,OAAO,EAAE,GAAG,aAAa,OAAO,OAAO;AAAA,IACvC;AAAA,IACA,cAAc,MAAM,aAAa,IAAI;AAAA,IACrC,cAAc,MAAM,aAAa,KAAK;AAAA,IAEtC,8BAAC;AAAA,MAEC,MAAM,oBAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ;AAAA,MACnF,aAAa,aAAa;AAAA,MAC1B,cAAc,CAAC,GAAG,EAAE;AAAA,MACpB,kBAAgB;AAAA,OAJX,oBAAoB,aAAa,uBAAuB,OAAO,MAAM,QAAQ,CAKnF;AAAA,GACH;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
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { styled } from "@elliemae/ds-system";
|
|
4
5
|
import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
|
|
5
6
|
import { SliderContext } from "./context";
|
|
@@ -8,16 +9,16 @@ const TickMarks = () => {
|
|
|
8
9
|
const dots = [];
|
|
9
10
|
for (let index = minValue || 0; index <= maxValue; index += step) {
|
|
10
11
|
const isActive = withTwoHandles ? rangeValues[0] <= index && index < rangeValues[1] : rangeValues[0] > index;
|
|
11
|
-
dots.push(/* @__PURE__ */
|
|
12
|
+
dots.push(/* @__PURE__ */ jsx(Dot, {
|
|
12
13
|
"data-testid": "slider-dot",
|
|
13
|
-
isActive
|
|
14
|
-
|
|
15
|
-
}));
|
|
14
|
+
isActive
|
|
15
|
+
}, index));
|
|
16
16
|
}
|
|
17
|
-
return /* @__PURE__ */
|
|
17
|
+
return /* @__PURE__ */ jsx(DotsContainer, {
|
|
18
18
|
"data-testid": "slider-tick-marks",
|
|
19
|
-
zIndex
|
|
20
|
-
|
|
19
|
+
zIndex,
|
|
20
|
+
children: dots
|
|
21
|
+
});
|
|
21
22
|
};
|
|
22
23
|
const Dot = styled.div`
|
|
23
24
|
&:after {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TickMarks.tsx"],
|
|
4
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 { minValue, maxValue, rangeValues, step, withTwoHandles, zIndex } = useContext(SliderContext);\n const dots = [];\n\n for (let index = minValue || 0; index <= maxValue; index += step) {\n const isActive = withTwoHandles ? rangeValues[0] <= index && index < rangeValues[1] : 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) => (props.isActive ? props.theme.colors.brand[300] : props.theme.colors.neutral[400])};\n border-radius: ${(props) => __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 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
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAClC,SAAS,cAAc;AACvB,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,UAAU,UAAU,aAAa,MAAM,gBAAgB,OAAO,IAAI,WAAW,aAAa;AAClG,QAAM,OAAO,CAAC;AAEd,WAAS,QAAQ,YAAY,GAAG,SAAS,UAAU,SAAS,MAAM;AAChE,UAAM,WAAW,iBAAiB,YAAY,MAAM,SAAS,QAAQ,YAAY,KAAK,YAAY,KAAK;AACvG,SAAK,KAAK,oBAAC;AAAA,MAAI,eAAY;AAAA,MAAa;AAAA,OAAyB,KAAO,CAAE;AAAA,EAC5E;AAEA,SACE,oBAAC;AAAA,IAAc,eAAY;AAAA,IAAoB;AAAA,IAC5C;AAAA,GACH;AAEJ;AAEA,MAAM,MAAM,OAAO;AAAA;AAAA;AAAA,kBAGD,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA,qBACrF,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ9E,MAAM,gBAAgB,OAAO;AAAA,oBACT,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAUhE,CAAC,UAAU,MAAM,SAAS;AAAA;AAGvC,IAAO,oBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useMemo } from "react";
|
|
3
4
|
import { styled } from "@elliemae/ds-system";
|
|
4
5
|
import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
|
|
5
6
|
import { SliderContext } from "./context";
|
|
@@ -8,17 +9,18 @@ const TickMarks = () => {
|
|
|
8
9
|
const TickMarksLabels = useMemo(
|
|
9
10
|
() => parsedValuesArray.map((value) => {
|
|
10
11
|
const isSelected = fullSelectedValues.findIndex((selectedVal) => selectedVal === value) >= 0;
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}, value);
|
|
12
|
+
return /* @__PURE__ */ jsx(TickMarkValue, {
|
|
13
|
+
isSelected,
|
|
14
|
+
children: value
|
|
15
|
+
}, `${sliderUUID}-${value}`);
|
|
15
16
|
}),
|
|
16
17
|
[parsedValuesArray, sliderUUID, fullSelectedValues]
|
|
17
18
|
);
|
|
18
19
|
const PureTickMArksValues = useMemo(
|
|
19
|
-
() => /* @__PURE__ */
|
|
20
|
-
"data-testid": "slider-tick-marks-values"
|
|
21
|
-
|
|
20
|
+
() => /* @__PURE__ */ jsx(TickMarksContainer, {
|
|
21
|
+
"data-testid": "slider-tick-marks-values",
|
|
22
|
+
children: TickMarksLabels
|
|
23
|
+
}),
|
|
22
24
|
[TickMarksLabels]
|
|
23
25
|
);
|
|
24
26
|
return PureTickMArksValues;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/TickMarksValues.tsx"],
|
|
4
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(SliderContext);\n\n const TickMarksLabels = useMemo(\n () =>\n parsedValuesArray.map((value) => {\n const isSelected = fullSelectedValues.findIndex((selectedVal) => selectedVal === value) >= 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 () => <TickMarksContainer data-testid=\"slider-tick-marks-values\">{TickMarksLabels}</TickMarksContainer>,\n [TickMarksLabels],\n );\n\n return PureTickMArksValues;\n};\n\nconst TickMarkValue = styled.div`\n min-height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)};\n overflow: visible;\n transform: translateX(-100%);\n width: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n color: ${(props) => (props.isSelected ? props.theme.colors.neutral[800] : 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
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,eAAe;AAC3C,SAAS,cAAc;AACvB,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAE9B,MAAM,YAAY,MAAM;AACtB,QAAM,EAAE,mBAAmB,oBAAoB,WAAW,IAAI,WAAW,aAAa;AAEtF,QAAM,kBAAkB;AAAA,IACtB,MACE,kBAAkB,IAAI,CAAC,UAAU;AAC/B,YAAM,aAAa,mBAAmB,UAAU,CAAC,gBAAgB,gBAAgB,KAAK,KAAK;AAC3F,aACE,oBAAC;AAAA,QAA6C;AAAA,QAC3C;AAAA,SADiB,GAAG,cAAc,OAErC;AAAA,IAEJ,CAAC;AAAA,IAEH,CAAC,mBAAmB,YAAY,kBAAkB;AAAA,EACpD;AAEA,QAAM,sBAAsB;AAAA,IAC1B,MAAM,oBAAC;AAAA,MAAmB,eAAY;AAAA,MAA4B;AAAA,KAAgB;AAAA,IAClF,CAAC,eAAe;AAAA,EAClB;AAEA,SAAO;AACT;AAEA,MAAM,gBAAgB,OAAO;AAAA,gBACb,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,WAG5D,CAAC,UAAU,yBAAyB,MAAM,MAAM,MAAM,GAAG;AAAA,WACzD,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGvG,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAKlC,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { getTrackBackground } from "react-range";
|
|
4
5
|
import { styled } from "@elliemae/ds-system";
|
|
5
6
|
import { __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
|
|
@@ -16,14 +17,23 @@ const Track = ({ children, props }) => {
|
|
|
16
17
|
withTickMarksValues,
|
|
17
18
|
withTwoHandles
|
|
18
19
|
} = useContext(SliderContext);
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsxs(TrackStyled, {
|
|
23
|
+
...props,
|
|
24
|
+
disabled,
|
|
25
|
+
minValue,
|
|
26
|
+
maxValue,
|
|
27
|
+
rangeValues,
|
|
28
|
+
withTwoHandles,
|
|
29
|
+
children: [
|
|
30
|
+
children,
|
|
31
|
+
withTickMarks && !disabled && /* @__PURE__ */ jsx(TickMarks, {})
|
|
32
|
+
]
|
|
33
|
+
}),
|
|
34
|
+
withTickMarksValues && /* @__PURE__ */ jsx(TickMarksValues, {})
|
|
35
|
+
]
|
|
36
|
+
});
|
|
27
37
|
};
|
|
28
38
|
const TrackStyled = styled.div`
|
|
29
39
|
position: relative;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/Track.tsx"],
|
|
4
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
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,kBAAkB;AAClC,SAAS,0BAA0B;AACnC,SAAS,cAAc;AACvB,SAAS,gCAAgC;AAEzC,OAAO,eAAe;AACtB,OAAO,qBAAqB;AAC5B,SAAS,qBAAqB;AAE9B,MAAM,QAAQ,CAAC,EAAE,UAAU,MAAM,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,aAAa;AAE5B,SACE;AAAA,IACE;AAAA,2BAAC;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,UACA,iBAAiB,CAAC,YAAY,oBAAC,aAAU;AAAA;AAAA,OAC5C;AAAA,MACC,uBAAuB,oBAAC,mBAAgB;AAAA;AAAA,GAC3C;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
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-slider",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Slider",
|
|
6
6
|
"files": [
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
"indent": 4
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@elliemae/ds-grid": "3.
|
|
79
|
-
"@elliemae/ds-system": "3.
|
|
80
|
-
"@elliemae/ds-tooltip": "3.
|
|
81
|
-
"@elliemae/ds-truncated-tooltip-text": "3.
|
|
82
|
-
"@elliemae/ds-utilities": "3.
|
|
78
|
+
"@elliemae/ds-grid": "3.6.0-next.0",
|
|
79
|
+
"@elliemae/ds-system": "3.6.0-next.0",
|
|
80
|
+
"@elliemae/ds-tooltip": "3.6.0-next.0",
|
|
81
|
+
"@elliemae/ds-truncated-tooltip-text": "3.6.0-next.0",
|
|
82
|
+
"@elliemae/ds-utilities": "3.6.0-next.0",
|
|
83
83
|
"prop-types": "~15.8.1",
|
|
84
84
|
"react-range": "~1.8.12",
|
|
85
85
|
"uuid": "~8.3.2"
|