@mirohq/design-system-slider 0.1.16 → 0.2.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/main.js +222 -104
- package/dist/main.js.map +1 -1
- package/dist/module.js +225 -107
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +37 -18
- package/package.json +5 -2
package/dist/main.js
CHANGED
|
@@ -7,7 +7,10 @@ var React = require('react');
|
|
|
7
7
|
var designSystemUtils = require('@mirohq/design-system-utils');
|
|
8
8
|
var reactSlider = require('@radix-ui/react-slider');
|
|
9
9
|
var designSystemStitches = require('@mirohq/design-system-stitches');
|
|
10
|
+
var designSystemUseAriaDisabled = require('@mirohq/design-system-use-aria-disabled');
|
|
11
|
+
var designSystemStyles = require('@mirohq/design-system-styles');
|
|
10
12
|
var designSystemPrimitive = require('@mirohq/design-system-primitive');
|
|
13
|
+
var designSystemBaseTextField = require('@mirohq/design-system-base-text-field');
|
|
11
14
|
|
|
12
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
16
|
|
|
@@ -35,57 +38,40 @@ const StyledRange = designSystemStitches.styled(reactSlider.Range, {
|
|
|
35
38
|
const SliderContext = React.createContext({});
|
|
36
39
|
const SliderProvider = ({
|
|
37
40
|
children,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
min,
|
|
42
|
+
value: valueProp,
|
|
43
|
+
onValueChange: onValueChangeProp,
|
|
44
|
+
...restProps
|
|
45
|
+
}) => {
|
|
46
|
+
const [value, setSliderValue] = React.useState(valueProp != null ? valueProp : min);
|
|
47
|
+
const onValueChange = React.useCallback(
|
|
48
|
+
(value2) => {
|
|
49
|
+
setSliderValue(value2);
|
|
50
|
+
if (onValueChangeProp != null) {
|
|
51
|
+
onValueChangeProp(value2);
|
|
52
|
+
}
|
|
46
53
|
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
);
|
|
50
|
-
const useSliderContext = () => React.useContext(SliderContext);
|
|
51
|
-
|
|
52
|
-
const Range = React__default["default"].forwardRef((props, forwardRef) => {
|
|
53
|
-
const { disabled, ariaDisabled } = useSliderContext();
|
|
54
|
+
[onValueChangeProp]
|
|
55
|
+
);
|
|
54
56
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
55
|
-
|
|
57
|
+
SliderContext.Provider,
|
|
56
58
|
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
value: {
|
|
60
|
+
...restProps,
|
|
61
|
+
min,
|
|
62
|
+
value,
|
|
63
|
+
onValueChange
|
|
64
|
+
},
|
|
65
|
+
children
|
|
61
66
|
}
|
|
62
67
|
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const StyledTrack = designSystemStitches.styled(reactSlider.Track, {
|
|
66
|
-
backgroundColor: "$background-neutrals-scrollbar",
|
|
67
|
-
position: "relative",
|
|
68
|
-
flexGrow: 1,
|
|
69
|
-
borderRadius: "$round",
|
|
70
|
-
height: "6px",
|
|
71
|
-
variants: {
|
|
72
|
-
disabled: {
|
|
73
|
-
true: {
|
|
74
|
-
backgroundColor: "$background-neutrals-disabled"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
ariaDisabled: {
|
|
78
|
-
true: {
|
|
79
|
-
backgroundColor: "$background-neutrals-disabled"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
68
|
+
};
|
|
69
|
+
const useSliderContext = () => React.useContext(SliderContext);
|
|
84
70
|
|
|
85
|
-
const
|
|
71
|
+
const Range = React__default["default"].forwardRef((props, forwardRef) => {
|
|
86
72
|
const { disabled, ariaDisabled } = useSliderContext();
|
|
87
73
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
-
|
|
74
|
+
StyledRange,
|
|
89
75
|
{
|
|
90
76
|
...props,
|
|
91
77
|
disabled,
|
|
@@ -103,14 +89,19 @@ const StyledThumb = designSystemStitches.styled(reactSlider.Thumb, {
|
|
|
103
89
|
borderRadius: "$round",
|
|
104
90
|
border: "1px solid $border-neutrals-controls",
|
|
105
91
|
cursor: "pointer",
|
|
92
|
+
outline: "none",
|
|
106
93
|
_hover: {
|
|
107
94
|
boxShadow: "$focus-controls",
|
|
108
|
-
|
|
95
|
+
borderColor: "$border-primary-hover"
|
|
109
96
|
},
|
|
110
|
-
"&:active": {
|
|
97
|
+
"&:active, &[data-pressed]": {
|
|
111
98
|
boxShadow: "$focus-controls",
|
|
112
|
-
|
|
99
|
+
borderColor: "$border-primary-active"
|
|
113
100
|
},
|
|
101
|
+
...designSystemStyles.focus.css({
|
|
102
|
+
boxShadow: "$focus-controls",
|
|
103
|
+
borderColor: "$border-primary-selected"
|
|
104
|
+
}),
|
|
114
105
|
variants: {
|
|
115
106
|
disabled: {
|
|
116
107
|
true: {
|
|
@@ -141,24 +132,129 @@ const StyledThumb = designSystemStitches.styled(reactSlider.Thumb, {
|
|
|
141
132
|
|
|
142
133
|
const Thumb = React__default["default"].forwardRef((props, forwardRef) => {
|
|
143
134
|
const { disabled, ariaDisabled } = useSliderContext();
|
|
135
|
+
const elementProps = designSystemUseAriaDisabled.useAriaDisabled({
|
|
136
|
+
...props,
|
|
137
|
+
ariaDisabled
|
|
138
|
+
});
|
|
139
|
+
return /* @__PURE__ */ jsxRuntime.jsx(StyledThumb, { ...elementProps, disabled, ref: forwardRef });
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
const StyledSlider = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
|
|
143
|
+
display: "flex",
|
|
144
|
+
flexDirection: "row",
|
|
145
|
+
gap: "$100",
|
|
146
|
+
alignItems: "center"
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
const StyledValue = designSystemStitches.styled("span", {});
|
|
150
|
+
|
|
151
|
+
const Value = React__default["default"].forwardRef((props, forwardRef) => {
|
|
152
|
+
const { value } = useSliderContext();
|
|
153
|
+
return /* @__PURE__ */ jsxRuntime.jsx(StyledValue, { ...props, ref: forwardRef, children: value });
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
const disabledAndReadonlySelectors = ':read-only, :disabled, [aria-disabled="true"]';
|
|
157
|
+
const StyledInput = designSystemStitches.styled("input", {
|
|
158
|
+
all: "unset",
|
|
159
|
+
display: "block",
|
|
160
|
+
maxWidth: "$11",
|
|
161
|
+
height: "$8",
|
|
162
|
+
padding: "0 $50",
|
|
163
|
+
textAlign: "center",
|
|
164
|
+
...designSystemBaseTextField.textFieldStyles.variants.idle,
|
|
165
|
+
...designSystemBaseTextField.textFieldStyles.v1.idle,
|
|
166
|
+
"&:read-only": designSystemBaseTextField.textFieldStyles.v1.readOnly,
|
|
167
|
+
'&:disabled, &[aria-disabled="true"]': {
|
|
168
|
+
...designSystemBaseTextField.textFieldStyles.variants.disabled,
|
|
169
|
+
...designSystemBaseTextField.textFieldStyles.base.disabled
|
|
170
|
+
},
|
|
171
|
+
["&:not(".concat(disabledAndReadonlySelectors, ")")]: {
|
|
172
|
+
_hover: designSystemBaseTextField.textFieldStyles.variants.hovered
|
|
173
|
+
},
|
|
174
|
+
["&:not(".concat(disabledAndReadonlySelectors, ")::placeholder")]: designSystemBaseTextField.textFieldStyles.base.placeholder.v1,
|
|
175
|
+
...designSystemStyles.focus.css({
|
|
176
|
+
...designSystemBaseTextField.textFieldStyles.v1.focused
|
|
177
|
+
}),
|
|
178
|
+
"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button": {
|
|
179
|
+
"-webkit-appearance": "none",
|
|
180
|
+
margin: 0
|
|
181
|
+
},
|
|
182
|
+
"&[type=number]": {
|
|
183
|
+
"-moz-appearance": "textfield"
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
const Input = React__default["default"].forwardRef((props, forwardRef) => {
|
|
188
|
+
const {
|
|
189
|
+
value,
|
|
190
|
+
onValueChange,
|
|
191
|
+
onValueCommit,
|
|
192
|
+
min,
|
|
193
|
+
max,
|
|
194
|
+
step,
|
|
195
|
+
disabled,
|
|
196
|
+
ariaDisabled
|
|
197
|
+
} = useSliderContext();
|
|
198
|
+
const [inputValue, setInputValue] = React.useState(value.toString());
|
|
199
|
+
React.useEffect(() => {
|
|
200
|
+
setInputValue(value.toString());
|
|
201
|
+
}, [value]);
|
|
202
|
+
const elementProps = designSystemUseAriaDisabled.useAriaDisabled({
|
|
203
|
+
...props,
|
|
204
|
+
ariaDisabled,
|
|
205
|
+
onKeyUp: (e) => {
|
|
206
|
+
if (e.key === "Enter") {
|
|
207
|
+
let valueToSet = Number(inputValue);
|
|
208
|
+
if (max !== void 0 && valueToSet > max) {
|
|
209
|
+
valueToSet = max;
|
|
210
|
+
} else if (min !== void 0 && valueToSet < min) {
|
|
211
|
+
valueToSet = min;
|
|
212
|
+
} else if (step !== void 0 && valueToSet % step !== 0) {
|
|
213
|
+
valueToSet = Math.round(valueToSet / step) * step;
|
|
214
|
+
}
|
|
215
|
+
setInputValue(valueToSet.toString());
|
|
216
|
+
onValueChange(valueToSet);
|
|
217
|
+
onValueCommit == null ? void 0 : onValueCommit(valueToSet);
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
onChange: (e) => {
|
|
221
|
+
setInputValue(e.target.value);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
144
224
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
-
|
|
225
|
+
StyledInput,
|
|
146
226
|
{
|
|
147
|
-
...
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
227
|
+
...elementProps,
|
|
228
|
+
type: "number",
|
|
229
|
+
ref: forwardRef,
|
|
230
|
+
value: inputValue,
|
|
231
|
+
disabled
|
|
151
232
|
}
|
|
152
233
|
);
|
|
153
234
|
});
|
|
154
235
|
|
|
155
|
-
const
|
|
236
|
+
const StyledTrack = designSystemStitches.styled(reactSlider.Track, {
|
|
237
|
+
backgroundColor: "$background-neutrals-scrollbar",
|
|
238
|
+
position: "relative",
|
|
239
|
+
flexGrow: 1,
|
|
240
|
+
borderRadius: "$round",
|
|
241
|
+
height: "6px",
|
|
156
242
|
display: "flex",
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
243
|
+
alignItems: "center",
|
|
244
|
+
variants: {
|
|
245
|
+
disabled: {
|
|
246
|
+
true: {
|
|
247
|
+
backgroundColor: "$background-neutrals-disabled"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
ariaDisabled: {
|
|
251
|
+
true: {
|
|
252
|
+
backgroundColor: "$background-neutrals-disabled"
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
160
256
|
});
|
|
161
|
-
const
|
|
257
|
+
const StyledRoot = designSystemStitches.styled(reactSlider.Root, {
|
|
162
258
|
position: "relative",
|
|
163
259
|
display: "flex",
|
|
164
260
|
alignItems: "center",
|
|
@@ -168,68 +264,90 @@ const StyledSliderRoot = designSystemStitches.styled(reactSlider.Root, {
|
|
|
168
264
|
height: "20px"
|
|
169
265
|
});
|
|
170
266
|
|
|
171
|
-
const
|
|
267
|
+
const Track = React__default["default"].forwardRef(
|
|
172
268
|
({
|
|
173
|
-
step = 1,
|
|
174
|
-
disabled = false,
|
|
175
|
-
"aria-disabled": ariaDisabled = false,
|
|
176
|
-
min,
|
|
177
|
-
max,
|
|
178
|
-
value,
|
|
179
|
-
onValueCommit,
|
|
180
|
-
onValueChange,
|
|
181
269
|
children,
|
|
270
|
+
css,
|
|
271
|
+
// @ts-expect-error className required when extending the component with styled()
|
|
272
|
+
className,
|
|
182
273
|
...restProps
|
|
183
274
|
}, forwardRef) => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
},
|
|
195
|
-
[onValueChange]
|
|
196
|
-
);
|
|
275
|
+
const {
|
|
276
|
+
value,
|
|
277
|
+
min,
|
|
278
|
+
max,
|
|
279
|
+
step,
|
|
280
|
+
onValueCommit,
|
|
281
|
+
onValueChange,
|
|
282
|
+
disabled,
|
|
283
|
+
ariaDisabled
|
|
284
|
+
} = useSliderContext();
|
|
197
285
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
198
|
-
|
|
286
|
+
StyledRoot,
|
|
199
287
|
{
|
|
288
|
+
css,
|
|
289
|
+
className,
|
|
290
|
+
step,
|
|
200
291
|
disabled,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
),
|
|
224
|
-
sliderValue
|
|
225
|
-
] })
|
|
292
|
+
"aria-disabled": ariaDisabled,
|
|
293
|
+
value: [value],
|
|
294
|
+
ref: forwardRef,
|
|
295
|
+
min,
|
|
296
|
+
max,
|
|
297
|
+
onValueCommit: (value2) => onValueCommit == null ? void 0 : onValueCommit(value2[0]),
|
|
298
|
+
onValueChange: (value2) => onValueChange(value2[0]),
|
|
299
|
+
onPointerDown: (e) => {
|
|
300
|
+
if (designSystemUtils.booleanify(ariaDisabled)) {
|
|
301
|
+
e.preventDefault();
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
305
|
+
StyledTrack,
|
|
306
|
+
{
|
|
307
|
+
...restProps,
|
|
308
|
+
disabled,
|
|
309
|
+
ariaDisabled,
|
|
310
|
+
ref: forwardRef,
|
|
311
|
+
children
|
|
312
|
+
}
|
|
313
|
+
)
|
|
226
314
|
}
|
|
227
315
|
);
|
|
228
316
|
}
|
|
229
317
|
);
|
|
318
|
+
|
|
319
|
+
const Slider = React__default["default"].forwardRef(
|
|
320
|
+
({
|
|
321
|
+
step = 1,
|
|
322
|
+
disabled = false,
|
|
323
|
+
"aria-disabled": ariaDisabled = false,
|
|
324
|
+
min = 0,
|
|
325
|
+
max = 100,
|
|
326
|
+
value,
|
|
327
|
+
onValueCommit,
|
|
328
|
+
onValueChange,
|
|
329
|
+
children,
|
|
330
|
+
...restProps
|
|
331
|
+
}, forwardRef) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
332
|
+
SliderProvider,
|
|
333
|
+
{
|
|
334
|
+
value,
|
|
335
|
+
onValueCommit,
|
|
336
|
+
onValueChange,
|
|
337
|
+
step,
|
|
338
|
+
min,
|
|
339
|
+
max,
|
|
340
|
+
disabled,
|
|
341
|
+
ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
|
|
342
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(StyledSlider, { ...restProps, ref: forwardRef, children })
|
|
343
|
+
}
|
|
344
|
+
)
|
|
345
|
+
);
|
|
230
346
|
Slider.Track = Track;
|
|
231
347
|
Slider.Range = Range;
|
|
232
348
|
Slider.Thumb = Thumb;
|
|
349
|
+
Slider.Value = Value;
|
|
350
|
+
Slider.Input = Input;
|
|
233
351
|
|
|
234
352
|
exports.Slider = Slider;
|
|
235
353
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../src/partials/range.styled.tsx","../src/use-slider-context.tsx","../src/partials/range.tsx","../src/partials/track.styled.tsx","../src/partials/track.tsx","../src/partials/thumb.styled.tsx","../src/partials/thumb.tsx","../src/slider.styled.tsx","../src/slider.tsx"],"sourcesContent":["import { Range as RadixRange } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledRange = styled(RadixRange, {\n position: 'absolute',\n backgroundColor: '$background-primary-prominent',\n borderRadius: '$round',\n height: '100%',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledRangeProps = StrictComponentProps<typeof StyledRange>\n","import React, { createContext, useContext } from 'react'\n\ninterface SliderContextProps {\n disabled: boolean\n ariaDisabled: boolean\n}\n\nexport interface SliderProviderProps {\n disabled: boolean\n ariaDisabled: boolean\n}\n\nconst SliderContext = createContext<SliderContextProps>({} as any)\n\nexport const SliderProvider = ({\n children,\n disabled,\n ariaDisabled,\n}: React.PropsWithChildren<SliderProviderProps>): JSX.Element => (\n <SliderContext.Provider\n value={{\n disabled,\n ariaDisabled,\n }}\n >\n {children}\n </SliderContext.Provider>\n)\n\nexport const useSliderContext = (): SliderContextProps =>\n useContext(SliderContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledRangeProps } from './range.styled'\nimport { StyledRange } from './range.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface RangeProps extends StyledRangeProps {}\n\nexport const Range = React.forwardRef<\n ElementRef<typeof StyledRange>,\n RangeProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledRange\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Track as RadixTrack } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledTrack = styled(RadixTrack, {\n backgroundColor: '$background-neutrals-scrollbar',\n position: 'relative',\n flexGrow: 1,\n borderRadius: '$round',\n height: '6px',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledTrackProps = StrictComponentProps<typeof StyledTrack>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledTrackProps } from './track.styled'\nimport { StyledTrack } from './track.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface TrackProps extends StyledTrackProps {}\n\nexport const Track = React.forwardRef<\n ElementRef<typeof StyledTrack>,\n TrackProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledTrack\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Thumb as RadixThumb } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledThumb = styled(RadixThumb, {\n display: 'block',\n width: '20px',\n height: '20px',\n backgroundColor: '$background-neutrals',\n borderRadius: '$round',\n border: '1px solid $border-neutrals-controls',\n cursor: 'pointer',\n\n _hover: {\n boxShadow: '$focus-controls',\n border: '1px solid $border-primary-hover',\n },\n\n '&:active': {\n boxShadow: '$focus-controls',\n border: '1px solid $border-primary-active',\n },\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n\n _hover: {\n boxShadow: 'none',\n border: 'none',\n },\n\n '&:active': {\n boxShadow: 'none',\n border: 'none',\n },\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n },\n },\n },\n})\nexport type StyledThumbProps = StrictComponentProps<typeof StyledThumb>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledThumbProps } from './thumb.styled'\nimport { StyledThumb } from './thumb.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface ThumbProps extends StyledThumbProps {}\n\nexport const Thumb = React.forwardRef<\n ElementRef<typeof StyledThumb>,\n ThumbProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledThumb\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root } from '@radix-ui/react-slider'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSliderComponent = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'row',\n gap: '$100',\n alignItems: 'center',\n})\n\nexport const StyledSliderRoot = styled(Root, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n userSelect: 'none',\n touchAction: 'none',\n flex: 1,\n height: '20px',\n})\n\nexport type StyledSliderProps = StrictComponentProps<typeof StyledSliderRoot>\n","import type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport React, { useCallback, useState } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Range } from './partials/range'\nimport { Track } from './partials/track'\nimport { Thumb } from './partials/thumb'\nimport type { StyledSliderProps } from './slider.styled'\nimport { StyledSliderComponent, StyledSliderRoot } from './slider.styled'\nimport { SliderProvider } from './use-slider-context'\n\nexport interface SliderProps extends StyledSliderProps {\n /**\n * The maximum value for the range.\n */\n max: number\n\n /**\n * The children components of the slider.\n */\n children: React.ReactNode\n\n /**\n * The controlled value of the slider. Must be used in conjunction with onValueChange.\n */\n value?: number[]\n\n /**\n * The minimum value for the range.\n */\n min?: number\n\n /**\n * The stepping interval.\n */\n step?: number\n\n /**\n * When true, prevents the user from interacting with the slider.\n */\n disabled?: boolean\n\n /**\n * Event handler called when the value changes at the end of an interaction.\n * Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number[]) => void\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number[]) => void\n\n /**\n * When true, prevents the user from interacting with the slider but focus\n * is still possible.\n */\n 'aria-disabled'?: Booleanish\n}\n\nexport const Slider = React.forwardRef<\n ElementRef<typeof StyledSliderRoot>,\n SliderProps\n>(\n (\n {\n step = 1,\n disabled = false,\n 'aria-disabled': ariaDisabled = false,\n min,\n max,\n value,\n onValueCommit,\n onValueChange,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [sliderValue, setSliderValue] = useState<number>(\n value?.[0] ?? min ?? 0\n )\n const onSliderValueChange = useCallback(\n (value: number[]): void => {\n setSliderValue(value[0])\n if (onValueChange != null) {\n onValueChange(value)\n }\n },\n [onValueChange]\n )\n\n return (\n <SliderProvider\n disabled={disabled}\n ariaDisabled={booleanify(ariaDisabled)}\n >\n <StyledSliderComponent>\n <StyledSliderRoot\n {...restProps}\n step={step}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n defaultValue={[sliderValue]}\n ref={forwardRef}\n min={min}\n max={max}\n onValueCommit={onValueCommit}\n onValueChange={onSliderValueChange}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n }\n }}\n >\n {children}\n </StyledSliderRoot>\n {sliderValue}\n </StyledSliderComponent>\n </SliderProvider>\n )\n }\n) as ForwardRefExoticComponent<SliderProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\n\nexport interface Partials {\n Track: typeof Track\n Range: typeof Range\n Thumb: typeof Thumb\n}\n\nSlider.Track = Track\nSlider.Range = Range\nSlider.Thumb = Thumb\n"],"names":["styled","RadixRange","createContext","jsx","useContext","React","RadixTrack","RadixThumb","Primitive","Root","useState","useCallback","value","booleanify"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../src/partials/range.styled.tsx","../src/use-slider-context.tsx","../src/partials/range.tsx","../src/partials/thumb.styled.tsx","../src/partials/thumb.tsx","../src/slider.styled.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/partials/track.styled.tsx","../src/partials/track.tsx","../src/slider.tsx"],"sourcesContent":["import { Range as RadixRange } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledRange = styled(RadixRange, {\n position: 'absolute',\n backgroundColor: '$background-primary-prominent',\n borderRadius: '$round',\n height: '100%',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledRangeProps = StrictComponentProps<typeof StyledRange>\n","import React, { createContext, useCallback, useContext, useState } from 'react'\n\ninterface SharedProps {\n disabled: boolean\n ariaDisabled: boolean\n min: number\n max: number\n step?: number\n onValueCommit?: (value: number) => void\n}\n\ninterface SliderContextProps extends SharedProps {\n value: number\n onValueChange: (value: number) => void\n}\n\nexport interface SliderProviderProps extends SharedProps {\n value?: number\n onValueChange?: (value: number) => void\n}\n\nconst SliderContext = createContext<SliderContextProps>({} as any)\n\nexport const SliderProvider = ({\n children,\n min,\n value: valueProp,\n onValueChange: onValueChangeProp,\n ...restProps\n}: React.PropsWithChildren<SliderProviderProps>): JSX.Element => {\n const [value, setSliderValue] = useState<number>(valueProp ?? min)\n const onValueChange = useCallback(\n (value: number): void => {\n setSliderValue(value)\n if (onValueChangeProp != null) {\n onValueChangeProp(value)\n }\n },\n [onValueChangeProp]\n )\n\n return (\n <SliderContext.Provider\n value={{\n ...restProps,\n min,\n value,\n onValueChange,\n }}\n >\n {children}\n </SliderContext.Provider>\n )\n}\n\nexport const useSliderContext = (): SliderContextProps =>\n useContext(SliderContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledRangeProps } from './range.styled'\nimport { StyledRange } from './range.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface RangeProps extends StyledRangeProps {}\n\nexport const Range = React.forwardRef<\n ElementRef<typeof StyledRange>,\n RangeProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledRange\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Thumb as RadixThumb } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledThumb = styled(RadixThumb, {\n display: 'block',\n width: '20px',\n height: '20px',\n backgroundColor: '$background-neutrals',\n borderRadius: '$round',\n border: '1px solid $border-neutrals-controls',\n cursor: 'pointer',\n outline: 'none',\n\n _hover: {\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-pressed]': {\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-selected',\n }),\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n\n _hover: {\n boxShadow: 'none',\n border: 'none',\n },\n\n '&:active': {\n boxShadow: 'none',\n border: 'none',\n },\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n },\n },\n },\n})\nexport type StyledThumbProps = StrictComponentProps<typeof StyledThumb>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport type { StyledThumbProps } from './thumb.styled'\nimport { StyledThumb } from './thumb.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface ThumbProps extends StyledThumbProps {}\n\nexport const Thumb = React.forwardRef<\n ElementRef<typeof StyledThumb>,\n ThumbProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n const elementProps = useAriaDisabled({\n ...props,\n ariaDisabled,\n })\n\n return <StyledThumb {...elementProps} disabled={disabled} ref={forwardRef} />\n})\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSlider = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'row',\n gap: '$100',\n alignItems: 'center',\n})\n\nexport type StyledSliderProps = StrictComponentProps<typeof StyledSlider>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled('span', {})\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { useSliderContext } from '../use-slider-context'\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\n\nexport interface ValueProps extends StyledValueProps {}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => {\n const { value } = useSliderContext()\n\n return (\n <StyledValue {...props} ref={forwardRef}>\n {value}\n </StyledValue>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"]'\n\nexport const StyledInput = styled('input', {\n all: 'unset',\n display: 'block',\n maxWidth: '$11',\n height: '$8',\n padding: '0 $50',\n textAlign: 'center',\n\n ...textFieldStyles.variants.idle,\n ...textFieldStyles.v1.idle,\n\n '&:read-only': textFieldStyles.v1.readOnly,\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n ...textFieldStyles.base.disabled,\n },\n\n [`&:not(${disabledAndReadonlySelectors})`]: {\n _hover: textFieldStyles.variants.hovered,\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder.v1,\n\n ...focus.css({\n ...textFieldStyles.v1.focused,\n }),\n\n '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '&[type=number]': {\n '-moz-appearance': 'textfield',\n },\n})\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect, useState } from 'react'\nimport type { ElementRef } from 'react'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { useSliderContext } from '../use-slider-context'\nimport type { StyledInputProps } from './input.styled'\nimport { StyledInput } from './input.styled'\n\nexport interface ValueProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n ValueProps\n>((props, forwardRef) => {\n const {\n value,\n onValueChange,\n onValueCommit,\n min,\n max,\n step,\n disabled,\n ariaDisabled,\n } = useSliderContext()\n const [inputValue, setInputValue] = useState(value.toString())\n\n useEffect(() => {\n setInputValue(value.toString())\n }, [value])\n\n const elementProps = useAriaDisabled({\n ...props,\n ariaDisabled,\n onKeyUp: e => {\n if (e.key === 'Enter') {\n let valueToSet = Number(inputValue)\n if (max !== undefined && valueToSet > max) {\n valueToSet = max\n } else if (min !== undefined && valueToSet < min) {\n valueToSet = min\n } else if (step !== undefined && valueToSet % step !== 0) {\n valueToSet = Math.round(valueToSet / step) * step\n }\n\n setInputValue(valueToSet.toString())\n onValueChange(valueToSet)\n onValueCommit?.(valueToSet)\n }\n },\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n },\n })\n\n return (\n <StyledInput\n {...elementProps}\n type='number'\n ref={forwardRef}\n value={inputValue}\n disabled={disabled}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { Root, Track as RadixTrack } from '@radix-ui/react-slider'\n\nexport const StyledTrack = styled(RadixTrack, {\n backgroundColor: '$background-neutrals-scrollbar',\n position: 'relative',\n flexGrow: 1,\n borderRadius: '$round',\n height: '6px',\n display: 'flex',\n alignItems: 'center',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\n\nexport const StyledRoot = styled(Root, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n userSelect: 'none',\n touchAction: 'none',\n flex: 1,\n height: '20px',\n})\n\nexport type StyledTrackProps = StrictComponentProps<typeof StyledTrack>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { useSliderContext } from '../use-slider-context'\nimport { StyledRoot, StyledTrack } from './track.styled'\nimport type { StyledTrackProps } from './track.styled'\n\nexport interface TrackProps extends StyledTrackProps {}\n\nexport const Track = React.forwardRef<\n ElementRef<typeof StyledRoot>,\n TrackProps\n>(\n (\n {\n children,\n css,\n // @ts-expect-error className required when extending the component with styled()\n className,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n value,\n min,\n max,\n step,\n onValueCommit,\n onValueChange,\n disabled,\n ariaDisabled,\n } = useSliderContext()\n\n return (\n <StyledRoot\n css={css}\n // @ts-expect-error className required when extending the component with styled()\n className={className}\n step={step}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n value={[value]}\n ref={forwardRef}\n min={min}\n max={max}\n onValueCommit={value => onValueCommit?.(value[0])}\n onValueChange={value => onValueChange(value[0])}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n }\n }}\n >\n <StyledTrack\n {...restProps}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n >\n {children}\n </StyledTrack>\n </StyledRoot>\n )\n }\n)\n","import type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport React from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Range } from './partials/range'\nimport { Thumb } from './partials/thumb'\nimport type { StyledSliderProps } from './slider.styled'\nimport { StyledSlider } from './slider.styled'\nimport { SliderProvider } from './use-slider-context'\nimport { Value } from './partials/value'\nimport { Input } from './partials/input'\nimport { Track } from './partials/track'\n\nexport interface SliderProps extends StyledSliderProps {\n /**\n * The maximum value for the range.\n * @default 100\n */\n max?: number\n\n /**\n * The children components of the slider.\n */\n children: React.ReactNode\n\n /**\n * The controlled value of the slider. Must be used in conjunction with onValueChange.\n */\n value?: number\n\n /**\n * The minimum value for the range.\n * @default 0\n */\n min?: number\n\n /**\n * The stepping interval.\n */\n step?: number\n\n /**\n * When true, prevents the user from interacting with the slider.\n */\n disabled?: boolean\n\n /**\n * Event handler called when the value changes at the end of an interaction.\n * Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number) => void\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number) => void\n\n /**\n * When true, prevents the user from interacting with the slider but focus\n * is still possible.\n */\n 'aria-disabled'?: Booleanish\n}\n\nexport const Slider = React.forwardRef<\n ElementRef<typeof StyledSlider>,\n SliderProps\n>(\n (\n {\n step = 1,\n disabled = false,\n 'aria-disabled': ariaDisabled = false,\n min = 0,\n max = 100,\n value,\n onValueCommit,\n onValueChange,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <SliderProvider\n value={value}\n onValueCommit={onValueCommit}\n onValueChange={onValueChange}\n step={step}\n min={min}\n max={max}\n disabled={disabled}\n ariaDisabled={booleanify(ariaDisabled)}\n >\n <StyledSlider {...restProps} ref={forwardRef}>\n {children}\n </StyledSlider>\n </SliderProvider>\n )\n) as ForwardRefExoticComponent<SliderProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\n\nexport interface Partials {\n Track: typeof Track\n Range: typeof Range\n Thumb: typeof Thumb\n Value: typeof Value\n Input: typeof Input\n}\n\nSlider.Track = Track\nSlider.Range = Range\nSlider.Thumb = Thumb\nSlider.Value = Value\nSlider.Input = Input\n"],"names":["styled","RadixRange","createContext","useState","useCallback","value","jsx","useContext","React","RadixThumb","focus","useAriaDisabled","Primitive","textFieldStyles","useEffect","RadixTrack","Root","booleanify"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import React, { createContext,
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React, { createContext, useState, useCallback, useContext, useEffect } from 'react';
|
|
3
3
|
import { booleanify } from '@mirohq/design-system-utils';
|
|
4
|
-
import { Range as Range$1,
|
|
4
|
+
import { Range as Range$1, Thumb as Thumb$1, Track as Track$1, Root } from '@radix-ui/react-slider';
|
|
5
5
|
import { styled } from '@mirohq/design-system-stitches';
|
|
6
|
+
import { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled';
|
|
7
|
+
import { focus } from '@mirohq/design-system-styles';
|
|
6
8
|
import { Primitive } from '@mirohq/design-system-primitive';
|
|
9
|
+
import { textFieldStyles } from '@mirohq/design-system-base-text-field';
|
|
7
10
|
|
|
8
11
|
const StyledRange = styled(Range$1, {
|
|
9
12
|
position: "absolute",
|
|
@@ -27,57 +30,40 @@ const StyledRange = styled(Range$1, {
|
|
|
27
30
|
const SliderContext = createContext({});
|
|
28
31
|
const SliderProvider = ({
|
|
29
32
|
children,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
min,
|
|
34
|
+
value: valueProp,
|
|
35
|
+
onValueChange: onValueChangeProp,
|
|
36
|
+
...restProps
|
|
37
|
+
}) => {
|
|
38
|
+
const [value, setSliderValue] = useState(valueProp != null ? valueProp : min);
|
|
39
|
+
const onValueChange = useCallback(
|
|
40
|
+
(value2) => {
|
|
41
|
+
setSliderValue(value2);
|
|
42
|
+
if (onValueChangeProp != null) {
|
|
43
|
+
onValueChangeProp(value2);
|
|
44
|
+
}
|
|
38
45
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
);
|
|
42
|
-
const useSliderContext = () => useContext(SliderContext);
|
|
43
|
-
|
|
44
|
-
const Range = React.forwardRef((props, forwardRef) => {
|
|
45
|
-
const { disabled, ariaDisabled } = useSliderContext();
|
|
46
|
+
[onValueChangeProp]
|
|
47
|
+
);
|
|
46
48
|
return /* @__PURE__ */ jsx(
|
|
47
|
-
|
|
49
|
+
SliderContext.Provider,
|
|
48
50
|
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
value: {
|
|
52
|
+
...restProps,
|
|
53
|
+
min,
|
|
54
|
+
value,
|
|
55
|
+
onValueChange
|
|
56
|
+
},
|
|
57
|
+
children
|
|
53
58
|
}
|
|
54
59
|
);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const StyledTrack = styled(Track$1, {
|
|
58
|
-
backgroundColor: "$background-neutrals-scrollbar",
|
|
59
|
-
position: "relative",
|
|
60
|
-
flexGrow: 1,
|
|
61
|
-
borderRadius: "$round",
|
|
62
|
-
height: "6px",
|
|
63
|
-
variants: {
|
|
64
|
-
disabled: {
|
|
65
|
-
true: {
|
|
66
|
-
backgroundColor: "$background-neutrals-disabled"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
ariaDisabled: {
|
|
70
|
-
true: {
|
|
71
|
-
backgroundColor: "$background-neutrals-disabled"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
60
|
+
};
|
|
61
|
+
const useSliderContext = () => useContext(SliderContext);
|
|
76
62
|
|
|
77
|
-
const
|
|
63
|
+
const Range = React.forwardRef((props, forwardRef) => {
|
|
78
64
|
const { disabled, ariaDisabled } = useSliderContext();
|
|
79
65
|
return /* @__PURE__ */ jsx(
|
|
80
|
-
|
|
66
|
+
StyledRange,
|
|
81
67
|
{
|
|
82
68
|
...props,
|
|
83
69
|
disabled,
|
|
@@ -95,14 +81,19 @@ const StyledThumb = styled(Thumb$1, {
|
|
|
95
81
|
borderRadius: "$round",
|
|
96
82
|
border: "1px solid $border-neutrals-controls",
|
|
97
83
|
cursor: "pointer",
|
|
84
|
+
outline: "none",
|
|
98
85
|
_hover: {
|
|
99
86
|
boxShadow: "$focus-controls",
|
|
100
|
-
|
|
87
|
+
borderColor: "$border-primary-hover"
|
|
101
88
|
},
|
|
102
|
-
"&:active": {
|
|
89
|
+
"&:active, &[data-pressed]": {
|
|
103
90
|
boxShadow: "$focus-controls",
|
|
104
|
-
|
|
91
|
+
borderColor: "$border-primary-active"
|
|
105
92
|
},
|
|
93
|
+
...focus.css({
|
|
94
|
+
boxShadow: "$focus-controls",
|
|
95
|
+
borderColor: "$border-primary-selected"
|
|
96
|
+
}),
|
|
106
97
|
variants: {
|
|
107
98
|
disabled: {
|
|
108
99
|
true: {
|
|
@@ -133,24 +124,129 @@ const StyledThumb = styled(Thumb$1, {
|
|
|
133
124
|
|
|
134
125
|
const Thumb = React.forwardRef((props, forwardRef) => {
|
|
135
126
|
const { disabled, ariaDisabled } = useSliderContext();
|
|
127
|
+
const elementProps = useAriaDisabled({
|
|
128
|
+
...props,
|
|
129
|
+
ariaDisabled
|
|
130
|
+
});
|
|
131
|
+
return /* @__PURE__ */ jsx(StyledThumb, { ...elementProps, disabled, ref: forwardRef });
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
const StyledSlider = styled(Primitive.div, {
|
|
135
|
+
display: "flex",
|
|
136
|
+
flexDirection: "row",
|
|
137
|
+
gap: "$100",
|
|
138
|
+
alignItems: "center"
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
const StyledValue = styled("span", {});
|
|
142
|
+
|
|
143
|
+
const Value = React.forwardRef((props, forwardRef) => {
|
|
144
|
+
const { value } = useSliderContext();
|
|
145
|
+
return /* @__PURE__ */ jsx(StyledValue, { ...props, ref: forwardRef, children: value });
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
const disabledAndReadonlySelectors = ':read-only, :disabled, [aria-disabled="true"]';
|
|
149
|
+
const StyledInput = styled("input", {
|
|
150
|
+
all: "unset",
|
|
151
|
+
display: "block",
|
|
152
|
+
maxWidth: "$11",
|
|
153
|
+
height: "$8",
|
|
154
|
+
padding: "0 $50",
|
|
155
|
+
textAlign: "center",
|
|
156
|
+
...textFieldStyles.variants.idle,
|
|
157
|
+
...textFieldStyles.v1.idle,
|
|
158
|
+
"&:read-only": textFieldStyles.v1.readOnly,
|
|
159
|
+
'&:disabled, &[aria-disabled="true"]': {
|
|
160
|
+
...textFieldStyles.variants.disabled,
|
|
161
|
+
...textFieldStyles.base.disabled
|
|
162
|
+
},
|
|
163
|
+
["&:not(".concat(disabledAndReadonlySelectors, ")")]: {
|
|
164
|
+
_hover: textFieldStyles.variants.hovered
|
|
165
|
+
},
|
|
166
|
+
["&:not(".concat(disabledAndReadonlySelectors, ")::placeholder")]: textFieldStyles.base.placeholder.v1,
|
|
167
|
+
...focus.css({
|
|
168
|
+
...textFieldStyles.v1.focused
|
|
169
|
+
}),
|
|
170
|
+
"&::-webkit-outer-spin-button, &::-webkit-inner-spin-button": {
|
|
171
|
+
"-webkit-appearance": "none",
|
|
172
|
+
margin: 0
|
|
173
|
+
},
|
|
174
|
+
"&[type=number]": {
|
|
175
|
+
"-moz-appearance": "textfield"
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
const Input = React.forwardRef((props, forwardRef) => {
|
|
180
|
+
const {
|
|
181
|
+
value,
|
|
182
|
+
onValueChange,
|
|
183
|
+
onValueCommit,
|
|
184
|
+
min,
|
|
185
|
+
max,
|
|
186
|
+
step,
|
|
187
|
+
disabled,
|
|
188
|
+
ariaDisabled
|
|
189
|
+
} = useSliderContext();
|
|
190
|
+
const [inputValue, setInputValue] = useState(value.toString());
|
|
191
|
+
useEffect(() => {
|
|
192
|
+
setInputValue(value.toString());
|
|
193
|
+
}, [value]);
|
|
194
|
+
const elementProps = useAriaDisabled({
|
|
195
|
+
...props,
|
|
196
|
+
ariaDisabled,
|
|
197
|
+
onKeyUp: (e) => {
|
|
198
|
+
if (e.key === "Enter") {
|
|
199
|
+
let valueToSet = Number(inputValue);
|
|
200
|
+
if (max !== void 0 && valueToSet > max) {
|
|
201
|
+
valueToSet = max;
|
|
202
|
+
} else if (min !== void 0 && valueToSet < min) {
|
|
203
|
+
valueToSet = min;
|
|
204
|
+
} else if (step !== void 0 && valueToSet % step !== 0) {
|
|
205
|
+
valueToSet = Math.round(valueToSet / step) * step;
|
|
206
|
+
}
|
|
207
|
+
setInputValue(valueToSet.toString());
|
|
208
|
+
onValueChange(valueToSet);
|
|
209
|
+
onValueCommit == null ? void 0 : onValueCommit(valueToSet);
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
onChange: (e) => {
|
|
213
|
+
setInputValue(e.target.value);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
136
216
|
return /* @__PURE__ */ jsx(
|
|
137
|
-
|
|
217
|
+
StyledInput,
|
|
138
218
|
{
|
|
139
|
-
...
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
219
|
+
...elementProps,
|
|
220
|
+
type: "number",
|
|
221
|
+
ref: forwardRef,
|
|
222
|
+
value: inputValue,
|
|
223
|
+
disabled
|
|
143
224
|
}
|
|
144
225
|
);
|
|
145
226
|
});
|
|
146
227
|
|
|
147
|
-
const
|
|
228
|
+
const StyledTrack = styled(Track$1, {
|
|
229
|
+
backgroundColor: "$background-neutrals-scrollbar",
|
|
230
|
+
position: "relative",
|
|
231
|
+
flexGrow: 1,
|
|
232
|
+
borderRadius: "$round",
|
|
233
|
+
height: "6px",
|
|
148
234
|
display: "flex",
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
235
|
+
alignItems: "center",
|
|
236
|
+
variants: {
|
|
237
|
+
disabled: {
|
|
238
|
+
true: {
|
|
239
|
+
backgroundColor: "$background-neutrals-disabled"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
ariaDisabled: {
|
|
243
|
+
true: {
|
|
244
|
+
backgroundColor: "$background-neutrals-disabled"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
152
248
|
});
|
|
153
|
-
const
|
|
249
|
+
const StyledRoot = styled(Root, {
|
|
154
250
|
position: "relative",
|
|
155
251
|
display: "flex",
|
|
156
252
|
alignItems: "center",
|
|
@@ -160,68 +256,90 @@ const StyledSliderRoot = styled(Root, {
|
|
|
160
256
|
height: "20px"
|
|
161
257
|
});
|
|
162
258
|
|
|
163
|
-
const
|
|
259
|
+
const Track = React.forwardRef(
|
|
164
260
|
({
|
|
165
|
-
step = 1,
|
|
166
|
-
disabled = false,
|
|
167
|
-
"aria-disabled": ariaDisabled = false,
|
|
168
|
-
min,
|
|
169
|
-
max,
|
|
170
|
-
value,
|
|
171
|
-
onValueCommit,
|
|
172
|
-
onValueChange,
|
|
173
261
|
children,
|
|
262
|
+
css,
|
|
263
|
+
// @ts-expect-error className required when extending the component with styled()
|
|
264
|
+
className,
|
|
174
265
|
...restProps
|
|
175
266
|
}, forwardRef) => {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
},
|
|
187
|
-
[onValueChange]
|
|
188
|
-
);
|
|
267
|
+
const {
|
|
268
|
+
value,
|
|
269
|
+
min,
|
|
270
|
+
max,
|
|
271
|
+
step,
|
|
272
|
+
onValueCommit,
|
|
273
|
+
onValueChange,
|
|
274
|
+
disabled,
|
|
275
|
+
ariaDisabled
|
|
276
|
+
} = useSliderContext();
|
|
189
277
|
return /* @__PURE__ */ jsx(
|
|
190
|
-
|
|
278
|
+
StyledRoot,
|
|
191
279
|
{
|
|
280
|
+
css,
|
|
281
|
+
className,
|
|
282
|
+
step,
|
|
192
283
|
disabled,
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
),
|
|
216
|
-
sliderValue
|
|
217
|
-
] })
|
|
284
|
+
"aria-disabled": ariaDisabled,
|
|
285
|
+
value: [value],
|
|
286
|
+
ref: forwardRef,
|
|
287
|
+
min,
|
|
288
|
+
max,
|
|
289
|
+
onValueCommit: (value2) => onValueCommit == null ? void 0 : onValueCommit(value2[0]),
|
|
290
|
+
onValueChange: (value2) => onValueChange(value2[0]),
|
|
291
|
+
onPointerDown: (e) => {
|
|
292
|
+
if (booleanify(ariaDisabled)) {
|
|
293
|
+
e.preventDefault();
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
children: /* @__PURE__ */ jsx(
|
|
297
|
+
StyledTrack,
|
|
298
|
+
{
|
|
299
|
+
...restProps,
|
|
300
|
+
disabled,
|
|
301
|
+
ariaDisabled,
|
|
302
|
+
ref: forwardRef,
|
|
303
|
+
children
|
|
304
|
+
}
|
|
305
|
+
)
|
|
218
306
|
}
|
|
219
307
|
);
|
|
220
308
|
}
|
|
221
309
|
);
|
|
310
|
+
|
|
311
|
+
const Slider = React.forwardRef(
|
|
312
|
+
({
|
|
313
|
+
step = 1,
|
|
314
|
+
disabled = false,
|
|
315
|
+
"aria-disabled": ariaDisabled = false,
|
|
316
|
+
min = 0,
|
|
317
|
+
max = 100,
|
|
318
|
+
value,
|
|
319
|
+
onValueCommit,
|
|
320
|
+
onValueChange,
|
|
321
|
+
children,
|
|
322
|
+
...restProps
|
|
323
|
+
}, forwardRef) => /* @__PURE__ */ jsx(
|
|
324
|
+
SliderProvider,
|
|
325
|
+
{
|
|
326
|
+
value,
|
|
327
|
+
onValueCommit,
|
|
328
|
+
onValueChange,
|
|
329
|
+
step,
|
|
330
|
+
min,
|
|
331
|
+
max,
|
|
332
|
+
disabled,
|
|
333
|
+
ariaDisabled: booleanify(ariaDisabled),
|
|
334
|
+
children: /* @__PURE__ */ jsx(StyledSlider, { ...restProps, ref: forwardRef, children })
|
|
335
|
+
}
|
|
336
|
+
)
|
|
337
|
+
);
|
|
222
338
|
Slider.Track = Track;
|
|
223
339
|
Slider.Range = Range;
|
|
224
340
|
Slider.Thumb = Thumb;
|
|
341
|
+
Slider.Value = Value;
|
|
342
|
+
Slider.Input = Input;
|
|
225
343
|
|
|
226
344
|
export { Slider };
|
|
227
345
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/partials/range.styled.tsx","../src/use-slider-context.tsx","../src/partials/range.tsx","../src/partials/track.styled.tsx","../src/partials/track.tsx","../src/partials/thumb.styled.tsx","../src/partials/thumb.tsx","../src/slider.styled.tsx","../src/slider.tsx"],"sourcesContent":["import { Range as RadixRange } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledRange = styled(RadixRange, {\n position: 'absolute',\n backgroundColor: '$background-primary-prominent',\n borderRadius: '$round',\n height: '100%',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledRangeProps = StrictComponentProps<typeof StyledRange>\n","import React, { createContext, useContext } from 'react'\n\ninterface SliderContextProps {\n disabled: boolean\n ariaDisabled: boolean\n}\n\nexport interface SliderProviderProps {\n disabled: boolean\n ariaDisabled: boolean\n}\n\nconst SliderContext = createContext<SliderContextProps>({} as any)\n\nexport const SliderProvider = ({\n children,\n disabled,\n ariaDisabled,\n}: React.PropsWithChildren<SliderProviderProps>): JSX.Element => (\n <SliderContext.Provider\n value={{\n disabled,\n ariaDisabled,\n }}\n >\n {children}\n </SliderContext.Provider>\n)\n\nexport const useSliderContext = (): SliderContextProps =>\n useContext(SliderContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledRangeProps } from './range.styled'\nimport { StyledRange } from './range.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface RangeProps extends StyledRangeProps {}\n\nexport const Range = React.forwardRef<\n ElementRef<typeof StyledRange>,\n RangeProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledRange\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Track as RadixTrack } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledTrack = styled(RadixTrack, {\n backgroundColor: '$background-neutrals-scrollbar',\n position: 'relative',\n flexGrow: 1,\n borderRadius: '$round',\n height: '6px',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledTrackProps = StrictComponentProps<typeof StyledTrack>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledTrackProps } from './track.styled'\nimport { StyledTrack } from './track.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface TrackProps extends StyledTrackProps {}\n\nexport const Track = React.forwardRef<\n ElementRef<typeof StyledTrack>,\n TrackProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledTrack\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Thumb as RadixThumb } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledThumb = styled(RadixThumb, {\n display: 'block',\n width: '20px',\n height: '20px',\n backgroundColor: '$background-neutrals',\n borderRadius: '$round',\n border: '1px solid $border-neutrals-controls',\n cursor: 'pointer',\n\n _hover: {\n boxShadow: '$focus-controls',\n border: '1px solid $border-primary-hover',\n },\n\n '&:active': {\n boxShadow: '$focus-controls',\n border: '1px solid $border-primary-active',\n },\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n\n _hover: {\n boxShadow: 'none',\n border: 'none',\n },\n\n '&:active': {\n boxShadow: 'none',\n border: 'none',\n },\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n },\n },\n },\n})\nexport type StyledThumbProps = StrictComponentProps<typeof StyledThumb>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledThumbProps } from './thumb.styled'\nimport { StyledThumb } from './thumb.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface ThumbProps extends StyledThumbProps {}\n\nexport const Thumb = React.forwardRef<\n ElementRef<typeof StyledThumb>,\n ThumbProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledThumb\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root } from '@radix-ui/react-slider'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSliderComponent = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'row',\n gap: '$100',\n alignItems: 'center',\n})\n\nexport const StyledSliderRoot = styled(Root, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n userSelect: 'none',\n touchAction: 'none',\n flex: 1,\n height: '20px',\n})\n\nexport type StyledSliderProps = StrictComponentProps<typeof StyledSliderRoot>\n","import type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport React, { useCallback, useState } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Range } from './partials/range'\nimport { Track } from './partials/track'\nimport { Thumb } from './partials/thumb'\nimport type { StyledSliderProps } from './slider.styled'\nimport { StyledSliderComponent, StyledSliderRoot } from './slider.styled'\nimport { SliderProvider } from './use-slider-context'\n\nexport interface SliderProps extends StyledSliderProps {\n /**\n * The maximum value for the range.\n */\n max: number\n\n /**\n * The children components of the slider.\n */\n children: React.ReactNode\n\n /**\n * The controlled value of the slider. Must be used in conjunction with onValueChange.\n */\n value?: number[]\n\n /**\n * The minimum value for the range.\n */\n min?: number\n\n /**\n * The stepping interval.\n */\n step?: number\n\n /**\n * When true, prevents the user from interacting with the slider.\n */\n disabled?: boolean\n\n /**\n * Event handler called when the value changes at the end of an interaction.\n * Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number[]) => void\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number[]) => void\n\n /**\n * When true, prevents the user from interacting with the slider but focus\n * is still possible.\n */\n 'aria-disabled'?: Booleanish\n}\n\nexport const Slider = React.forwardRef<\n ElementRef<typeof StyledSliderRoot>,\n SliderProps\n>(\n (\n {\n step = 1,\n disabled = false,\n 'aria-disabled': ariaDisabled = false,\n min,\n max,\n value,\n onValueCommit,\n onValueChange,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const [sliderValue, setSliderValue] = useState<number>(\n value?.[0] ?? min ?? 0\n )\n const onSliderValueChange = useCallback(\n (value: number[]): void => {\n setSliderValue(value[0])\n if (onValueChange != null) {\n onValueChange(value)\n }\n },\n [onValueChange]\n )\n\n return (\n <SliderProvider\n disabled={disabled}\n ariaDisabled={booleanify(ariaDisabled)}\n >\n <StyledSliderComponent>\n <StyledSliderRoot\n {...restProps}\n step={step}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n defaultValue={[sliderValue]}\n ref={forwardRef}\n min={min}\n max={max}\n onValueCommit={onValueCommit}\n onValueChange={onSliderValueChange}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n }\n }}\n >\n {children}\n </StyledSliderRoot>\n {sliderValue}\n </StyledSliderComponent>\n </SliderProvider>\n )\n }\n) as ForwardRefExoticComponent<SliderProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\n\nexport interface Partials {\n Track: typeof Track\n Range: typeof Range\n Thumb: typeof Thumb\n}\n\nSlider.Track = Track\nSlider.Range = Range\nSlider.Thumb = Thumb\n"],"names":["RadixRange","RadixTrack","RadixThumb","value"],"mappings":";;;;;;;AAIa,MAAA,WAAA,GAAc,OAAOA,OAAY,EAAA;AAAA,EAC5C,QAAU,EAAA,UAAA;AAAA,EACV,eAAiB,EAAA,+BAAA;AAAA,EACjB,YAAc,EAAA,QAAA;AAAA,EACd,MAAQ,EAAA,MAAA;AAAA,EAER,QAAU,EAAA;AAAA,IACR,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACVD,MAAM,aAAA,GAAgB,aAAkC,CAAA,EAAS,CAAA,CAAA;AAE1D,MAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AACF,CACE,qBAAA,GAAA;AAAA,EAAC,aAAc,CAAA,QAAA;AAAA,EAAd;AAAA,IACC,KAAO,EAAA;AAAA,MACL,QAAA;AAAA,MACA,YAAA;AAAA,KACF;AAAA,IAEC,QAAA;AAAA,GAAA;AACH,CAAA,CAAA;AAGW,MAAA,gBAAA,GAAmB,MAC9B,UAAA,CAAW,aAAa,CAAA;;ACrBnB,MAAM,KAAQ,GAAA,KAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,QAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAK,EAAA,UAAA;AAAA,KAAA;AAAA,GACP,CAAA;AAEJ,CAAC,CAAA;;ACnBY,MAAA,WAAA,GAAc,OAAOC,OAAY,EAAA;AAAA,EAC5C,eAAiB,EAAA,gCAAA;AAAA,EACjB,QAAU,EAAA,UAAA;AAAA,EACV,QAAU,EAAA,CAAA;AAAA,EACV,YAAc,EAAA,QAAA;AAAA,EACd,MAAQ,EAAA,KAAA;AAAA,EAER,QAAU,EAAA;AAAA,IACR,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACdM,MAAM,KAAQ,GAAA,KAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,QAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAK,EAAA,UAAA;AAAA,KAAA;AAAA,GACP,CAAA;AAEJ,CAAC,CAAA;;ACnBY,MAAA,WAAA,GAAc,OAAOC,OAAY,EAAA;AAAA,EAC5C,OAAS,EAAA,OAAA;AAAA,EACT,KAAO,EAAA,MAAA;AAAA,EACP,MAAQ,EAAA,MAAA;AAAA,EACR,eAAiB,EAAA,sBAAA;AAAA,EACjB,YAAc,EAAA,QAAA;AAAA,EACd,MAAQ,EAAA,qCAAA;AAAA,EACR,MAAQ,EAAA,SAAA;AAAA,EAER,MAAQ,EAAA;AAAA,IACN,SAAW,EAAA,iBAAA;AAAA,IACX,MAAQ,EAAA,iCAAA;AAAA,GACV;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,SAAW,EAAA,iBAAA;AAAA,IACX,MAAQ,EAAA,kCAAA;AAAA,GACV;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,QACjB,MAAQ,EAAA,MAAA;AAAA,QACR,SAAW,EAAA,MAAA;AAAA,QACX,MAAQ,EAAA,SAAA;AAAA,QAER,MAAQ,EAAA;AAAA,UACN,SAAW,EAAA,MAAA;AAAA,UACX,MAAQ,EAAA,MAAA;AAAA,SACV;AAAA,QAEA,UAAY,EAAA;AAAA,UACV,SAAW,EAAA,MAAA;AAAA,UACX,MAAQ,EAAA,MAAA;AAAA,SACV;AAAA,OACF;AAAA,KACF;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA;AAAA,QACJ,eAAiB,EAAA,+BAAA;AAAA,QACjB,MAAQ,EAAA,MAAA;AAAA,QACR,SAAW,EAAA,MAAA;AAAA,QACX,MAAQ,EAAA,SAAA;AAAA,OACV;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;AC1CM,MAAM,KAAQ,GAAA,KAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,QAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAK,EAAA,UAAA;AAAA,KAAA;AAAA,GACP,CAAA;AAEJ,CAAC,CAAA;;AClBY,MAAA,qBAAA,GAAwB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACzD,OAAS,EAAA,MAAA;AAAA,EACT,aAAe,EAAA,KAAA;AAAA,EACf,GAAK,EAAA,MAAA;AAAA,EACL,UAAY,EAAA,QAAA;AACd,CAAC,CAAA,CAAA;AAEY,MAAA,gBAAA,GAAmB,OAAO,IAAM,EAAA;AAAA,EAC3C,QAAU,EAAA,UAAA;AAAA,EACV,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,UAAY,EAAA,MAAA;AAAA,EACZ,WAAa,EAAA,MAAA;AAAA,EACb,IAAM,EAAA,CAAA;AAAA,EACN,MAAQ,EAAA,MAAA;AACV,CAAC,CAAA;;ACyCM,MAAM,SAAS,KAAM,CAAA,UAAA;AAAA,EAI1B,CACE;AAAA,IACE,IAAO,GAAA,CAAA;AAAA,IACP,QAAW,GAAA,KAAA;AAAA,IACX,iBAAiB,YAAe,GAAA,KAAA;AAAA,IAChC,GAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AA/EP,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAgFI,IAAM,MAAA,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA;AAAA,MAAA,CACpC,EAAQ,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,CAAA,CAAA,KAAR,IAAc,GAAA,EAAA,GAAA,GAAA,KAAd,IAAqB,GAAA,EAAA,GAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,MAAM,mBAAsB,GAAA,WAAA;AAAA,MAC1B,CAACC,MAA0B,KAAA;AACzB,QAAeA,cAAAA,CAAAA,MAAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACvB,QAAA,IAAI,iBAAiB,IAAM,EAAA;AACzB,UAAA,aAAA,CAAcA,MAAK,CAAA,CAAA;AAAA,SACrB;AAAA,OACF;AAAA,MACA,CAAC,aAAa,CAAA;AAAA,KAChB,CAAA;AAEA,IACE,uBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,YAAA,EAAc,WAAW,YAAY,CAAA;AAAA,QAErC,+BAAC,qBACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACE,GAAG,SAAA;AAAA,cACJ,IAAA;AAAA,cACA,QAAA;AAAA,cACA,eAAe,EAAA,YAAA;AAAA,cACf,YAAA,EAAc,CAAC,WAAW,CAAA;AAAA,cAC1B,GAAK,EAAA,UAAA;AAAA,cACL,GAAA;AAAA,cACA,GAAA;AAAA,cACA,aAAA;AAAA,cACA,aAAe,EAAA,mBAAA;AAAA,cACf,eAAe,CAAK,CAAA,KAAA;AAClB,gBAAI,IAAA,UAAA,CAAW,YAAY,CAAG,EAAA;AAC5B,kBAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AAAA,iBACnB;AAAA,eACF;AAAA,cAEC,QAAA;AAAA,aAAA;AAAA,WACH;AAAA,UACC,WAAA;AAAA,SACH,EAAA,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,EAAA;AAWA,MAAA,CAAO,KAAQ,GAAA,KAAA,CAAA;AACf,MAAA,CAAO,KAAQ,GAAA,KAAA,CAAA;AACf,MAAA,CAAO,KAAQ,GAAA,KAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/partials/range.styled.tsx","../src/use-slider-context.tsx","../src/partials/range.tsx","../src/partials/thumb.styled.tsx","../src/partials/thumb.tsx","../src/slider.styled.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/partials/track.styled.tsx","../src/partials/track.tsx","../src/slider.tsx"],"sourcesContent":["import { Range as RadixRange } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledRange = styled(RadixRange, {\n position: 'absolute',\n backgroundColor: '$background-primary-prominent',\n borderRadius: '$round',\n height: '100%',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\nexport type StyledRangeProps = StrictComponentProps<typeof StyledRange>\n","import React, { createContext, useCallback, useContext, useState } from 'react'\n\ninterface SharedProps {\n disabled: boolean\n ariaDisabled: boolean\n min: number\n max: number\n step?: number\n onValueCommit?: (value: number) => void\n}\n\ninterface SliderContextProps extends SharedProps {\n value: number\n onValueChange: (value: number) => void\n}\n\nexport interface SliderProviderProps extends SharedProps {\n value?: number\n onValueChange?: (value: number) => void\n}\n\nconst SliderContext = createContext<SliderContextProps>({} as any)\n\nexport const SliderProvider = ({\n children,\n min,\n value: valueProp,\n onValueChange: onValueChangeProp,\n ...restProps\n}: React.PropsWithChildren<SliderProviderProps>): JSX.Element => {\n const [value, setSliderValue] = useState<number>(valueProp ?? min)\n const onValueChange = useCallback(\n (value: number): void => {\n setSliderValue(value)\n if (onValueChangeProp != null) {\n onValueChangeProp(value)\n }\n },\n [onValueChangeProp]\n )\n\n return (\n <SliderContext.Provider\n value={{\n ...restProps,\n min,\n value,\n onValueChange,\n }}\n >\n {children}\n </SliderContext.Provider>\n )\n}\n\nexport const useSliderContext = (): SliderContextProps =>\n useContext(SliderContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport type { StyledRangeProps } from './range.styled'\nimport { StyledRange } from './range.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface RangeProps extends StyledRangeProps {}\n\nexport const Range = React.forwardRef<\n ElementRef<typeof StyledRange>,\n RangeProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n return (\n <StyledRange\n {...props}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n />\n )\n})\n","import { Thumb as RadixThumb } from '@radix-ui/react-slider'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledThumb = styled(RadixThumb, {\n display: 'block',\n width: '20px',\n height: '20px',\n backgroundColor: '$background-neutrals',\n borderRadius: '$round',\n border: '1px solid $border-neutrals-controls',\n cursor: 'pointer',\n outline: 'none',\n\n _hover: {\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-pressed]': {\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n borderColor: '$border-primary-selected',\n }),\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n\n _hover: {\n boxShadow: 'none',\n border: 'none',\n },\n\n '&:active': {\n boxShadow: 'none',\n border: 'none',\n },\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n border: 'none',\n boxShadow: 'none',\n cursor: 'default',\n },\n },\n },\n})\nexport type StyledThumbProps = StrictComponentProps<typeof StyledThumb>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport type { StyledThumbProps } from './thumb.styled'\nimport { StyledThumb } from './thumb.styled'\nimport { useSliderContext } from '../use-slider-context'\n\nexport interface ThumbProps extends StyledThumbProps {}\n\nexport const Thumb = React.forwardRef<\n ElementRef<typeof StyledThumb>,\n ThumbProps\n>((props, forwardRef) => {\n const { disabled, ariaDisabled } = useSliderContext()\n\n const elementProps = useAriaDisabled({\n ...props,\n ariaDisabled,\n })\n\n return <StyledThumb {...elementProps} disabled={disabled} ref={forwardRef} />\n})\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSlider = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'row',\n gap: '$100',\n alignItems: 'center',\n})\n\nexport type StyledSliderProps = StrictComponentProps<typeof StyledSlider>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledValue = styled('span', {})\nexport type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { useSliderContext } from '../use-slider-context'\nimport type { StyledValueProps } from './value.styled'\nimport { StyledValue } from './value.styled'\n\nexport interface ValueProps extends StyledValueProps {}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => {\n const { value } = useSliderContext()\n\n return (\n <StyledValue {...props} ref={forwardRef}>\n {value}\n </StyledValue>\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"]'\n\nexport const StyledInput = styled('input', {\n all: 'unset',\n display: 'block',\n maxWidth: '$11',\n height: '$8',\n padding: '0 $50',\n textAlign: 'center',\n\n ...textFieldStyles.variants.idle,\n ...textFieldStyles.v1.idle,\n\n '&:read-only': textFieldStyles.v1.readOnly,\n\n '&:disabled, &[aria-disabled=\"true\"]': {\n ...textFieldStyles.variants.disabled,\n ...textFieldStyles.base.disabled,\n },\n\n [`&:not(${disabledAndReadonlySelectors})`]: {\n _hover: textFieldStyles.variants.hovered,\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder.v1,\n\n ...focus.css({\n ...textFieldStyles.v1.focused,\n }),\n\n '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '&[type=number]': {\n '-moz-appearance': 'textfield',\n },\n})\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect, useState } from 'react'\nimport type { ElementRef } from 'react'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { useSliderContext } from '../use-slider-context'\nimport type { StyledInputProps } from './input.styled'\nimport { StyledInput } from './input.styled'\n\nexport interface ValueProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n ValueProps\n>((props, forwardRef) => {\n const {\n value,\n onValueChange,\n onValueCommit,\n min,\n max,\n step,\n disabled,\n ariaDisabled,\n } = useSliderContext()\n const [inputValue, setInputValue] = useState(value.toString())\n\n useEffect(() => {\n setInputValue(value.toString())\n }, [value])\n\n const elementProps = useAriaDisabled({\n ...props,\n ariaDisabled,\n onKeyUp: e => {\n if (e.key === 'Enter') {\n let valueToSet = Number(inputValue)\n if (max !== undefined && valueToSet > max) {\n valueToSet = max\n } else if (min !== undefined && valueToSet < min) {\n valueToSet = min\n } else if (step !== undefined && valueToSet % step !== 0) {\n valueToSet = Math.round(valueToSet / step) * step\n }\n\n setInputValue(valueToSet.toString())\n onValueChange(valueToSet)\n onValueCommit?.(valueToSet)\n }\n },\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n },\n })\n\n return (\n <StyledInput\n {...elementProps}\n type='number'\n ref={forwardRef}\n value={inputValue}\n disabled={disabled}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { Root, Track as RadixTrack } from '@radix-ui/react-slider'\n\nexport const StyledTrack = styled(RadixTrack, {\n backgroundColor: '$background-neutrals-scrollbar',\n position: 'relative',\n flexGrow: 1,\n borderRadius: '$round',\n height: '6px',\n display: 'flex',\n alignItems: 'center',\n\n variants: {\n disabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n ariaDisabled: {\n true: {\n backgroundColor: '$background-neutrals-disabled',\n },\n },\n },\n})\n\nexport const StyledRoot = styled(Root, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n userSelect: 'none',\n touchAction: 'none',\n flex: 1,\n height: '20px',\n})\n\nexport type StyledTrackProps = StrictComponentProps<typeof StyledTrack>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { useSliderContext } from '../use-slider-context'\nimport { StyledRoot, StyledTrack } from './track.styled'\nimport type { StyledTrackProps } from './track.styled'\n\nexport interface TrackProps extends StyledTrackProps {}\n\nexport const Track = React.forwardRef<\n ElementRef<typeof StyledRoot>,\n TrackProps\n>(\n (\n {\n children,\n css,\n // @ts-expect-error className required when extending the component with styled()\n className,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n value,\n min,\n max,\n step,\n onValueCommit,\n onValueChange,\n disabled,\n ariaDisabled,\n } = useSliderContext()\n\n return (\n <StyledRoot\n css={css}\n // @ts-expect-error className required when extending the component with styled()\n className={className}\n step={step}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n value={[value]}\n ref={forwardRef}\n min={min}\n max={max}\n onValueCommit={value => onValueCommit?.(value[0])}\n onValueChange={value => onValueChange(value[0])}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n }\n }}\n >\n <StyledTrack\n {...restProps}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n ref={forwardRef}\n >\n {children}\n </StyledTrack>\n </StyledRoot>\n )\n }\n)\n","import type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport React from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Range } from './partials/range'\nimport { Thumb } from './partials/thumb'\nimport type { StyledSliderProps } from './slider.styled'\nimport { StyledSlider } from './slider.styled'\nimport { SliderProvider } from './use-slider-context'\nimport { Value } from './partials/value'\nimport { Input } from './partials/input'\nimport { Track } from './partials/track'\n\nexport interface SliderProps extends StyledSliderProps {\n /**\n * The maximum value for the range.\n * @default 100\n */\n max?: number\n\n /**\n * The children components of the slider.\n */\n children: React.ReactNode\n\n /**\n * The controlled value of the slider. Must be used in conjunction with onValueChange.\n */\n value?: number\n\n /**\n * The minimum value for the range.\n * @default 0\n */\n min?: number\n\n /**\n * The stepping interval.\n */\n step?: number\n\n /**\n * When true, prevents the user from interacting with the slider.\n */\n disabled?: boolean\n\n /**\n * Event handler called when the value changes at the end of an interaction.\n * Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number) => void\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number) => void\n\n /**\n * When true, prevents the user from interacting with the slider but focus\n * is still possible.\n */\n 'aria-disabled'?: Booleanish\n}\n\nexport const Slider = React.forwardRef<\n ElementRef<typeof StyledSlider>,\n SliderProps\n>(\n (\n {\n step = 1,\n disabled = false,\n 'aria-disabled': ariaDisabled = false,\n min = 0,\n max = 100,\n value,\n onValueCommit,\n onValueChange,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <SliderProvider\n value={value}\n onValueCommit={onValueCommit}\n onValueChange={onValueChange}\n step={step}\n min={min}\n max={max}\n disabled={disabled}\n ariaDisabled={booleanify(ariaDisabled)}\n >\n <StyledSlider {...restProps} ref={forwardRef}>\n {children}\n </StyledSlider>\n </SliderProvider>\n )\n) as ForwardRefExoticComponent<SliderProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\n\nexport interface Partials {\n Track: typeof Track\n Range: typeof Range\n Thumb: typeof Thumb\n Value: typeof Value\n Input: typeof Input\n}\n\nSlider.Track = Track\nSlider.Range = Range\nSlider.Thumb = Thumb\nSlider.Value = Value\nSlider.Input = Input\n"],"names":["RadixRange","value","RadixThumb","RadixTrack"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import react__default, { ForwardRefExoticComponent } from 'react';
|
|
2
|
+
import react__default, { ComponentPropsWithRef, ForwardRefExoticComponent } from 'react';
|
|
3
3
|
import { Booleanish } from '@mirohq/design-system-types';
|
|
4
4
|
import * as _stitches_react_types_styled_component from '@stitches/react/types/styled-component';
|
|
5
5
|
import * as _mirohq_design_system_stitches from '@mirohq/design-system-stitches';
|
|
6
6
|
import { StrictComponentProps } from '@mirohq/design-system-stitches';
|
|
7
7
|
import * as _radix_ui_react_slider from '@radix-ui/react-slider';
|
|
8
|
+
import * as _mirohq_design_system_primitive from '@mirohq/design-system-primitive';
|
|
8
9
|
|
|
9
10
|
declare const StyledRange: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderRangeProps & react.RefAttributes<HTMLSpanElement>>>, "disabled" | "ariaDisabled"> & _stitches_react_types_styled_component.TransformProps<{
|
|
10
11
|
disabled?: boolean | "true" | undefined;
|
|
@@ -19,40 +20,55 @@ interface RangeProps extends StyledRangeProps {
|
|
|
19
20
|
}
|
|
20
21
|
declare const Range: react__default.ForwardRefExoticComponent<Omit<RangeProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
|
|
21
22
|
|
|
22
|
-
declare const
|
|
23
|
+
declare const StyledThumb: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderThumbProps & react.RefAttributes<HTMLSpanElement>>>, "disabled" | "ariaDisabled"> & _stitches_react_types_styled_component.TransformProps<{
|
|
23
24
|
disabled?: boolean | "true" | undefined;
|
|
24
25
|
ariaDisabled?: boolean | "true" | undefined;
|
|
25
|
-
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_slider.
|
|
26
|
+
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderThumbProps & react.RefAttributes<HTMLSpanElement>>, {
|
|
26
27
|
disabled?: boolean | "true" | undefined;
|
|
27
28
|
ariaDisabled?: boolean | "true" | undefined;
|
|
28
29
|
}, {}>;
|
|
29
|
-
declare type
|
|
30
|
+
declare type StyledThumbProps = StrictComponentProps<typeof StyledThumb>;
|
|
30
31
|
|
|
31
|
-
interface
|
|
32
|
+
interface ThumbProps extends StyledThumbProps {
|
|
32
33
|
}
|
|
33
|
-
declare const
|
|
34
|
+
declare const Thumb: react__default.ForwardRefExoticComponent<Omit<ThumbProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
|
|
34
35
|
|
|
35
|
-
declare const
|
|
36
|
+
declare const StyledSlider: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>, {}, {}>;
|
|
37
|
+
declare type StyledSliderProps = StrictComponentProps<typeof StyledSlider>;
|
|
38
|
+
|
|
39
|
+
declare const StyledValue: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<"span">, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<"span", {}, {}>;
|
|
40
|
+
declare type StyledValueProps = ComponentPropsWithRef<typeof StyledValue>;
|
|
41
|
+
|
|
42
|
+
interface ValueProps$1 extends StyledValueProps {
|
|
43
|
+
}
|
|
44
|
+
declare const Value: react__default.ForwardRefExoticComponent<Omit<ValueProps$1, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
|
|
45
|
+
|
|
46
|
+
declare const StyledInput: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<"input">, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLInputElement>> & _mirohq_design_system_stitches.StitchesInternals<"input", {}, {}>;
|
|
47
|
+
declare type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>;
|
|
48
|
+
|
|
49
|
+
interface ValueProps extends StyledInputProps {
|
|
50
|
+
}
|
|
51
|
+
declare const Input: react__default.ForwardRefExoticComponent<Omit<ValueProps, "ref"> & react__default.RefAttributes<HTMLInputElement>>;
|
|
52
|
+
|
|
53
|
+
declare const StyledTrack: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderTrackProps & react.RefAttributes<HTMLSpanElement>>>, "disabled" | "ariaDisabled"> & _stitches_react_types_styled_component.TransformProps<{
|
|
36
54
|
disabled?: boolean | "true" | undefined;
|
|
37
55
|
ariaDisabled?: boolean | "true" | undefined;
|
|
38
|
-
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_slider.
|
|
56
|
+
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderTrackProps & react.RefAttributes<HTMLSpanElement>>, {
|
|
39
57
|
disabled?: boolean | "true" | undefined;
|
|
40
58
|
ariaDisabled?: boolean | "true" | undefined;
|
|
41
59
|
}, {}>;
|
|
42
|
-
declare type
|
|
60
|
+
declare type StyledTrackProps = StrictComponentProps<typeof StyledTrack>;
|
|
43
61
|
|
|
44
|
-
interface
|
|
62
|
+
interface TrackProps extends StyledTrackProps {
|
|
45
63
|
}
|
|
46
|
-
declare const
|
|
47
|
-
|
|
48
|
-
declare const StyledSliderRoot: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderProps & react.RefAttributes<HTMLSpanElement>>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLSpanElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_radix_ui_react_slider.SliderProps & react.RefAttributes<HTMLSpanElement>>, {}, {}>;
|
|
49
|
-
declare type StyledSliderProps = StrictComponentProps<typeof StyledSliderRoot>;
|
|
64
|
+
declare const Track: react__default.ForwardRefExoticComponent<Omit<TrackProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
|
|
50
65
|
|
|
51
66
|
interface SliderProps extends StyledSliderProps {
|
|
52
67
|
/**
|
|
53
68
|
* The maximum value for the range.
|
|
69
|
+
* @default 100
|
|
54
70
|
*/
|
|
55
|
-
max
|
|
71
|
+
max?: number;
|
|
56
72
|
/**
|
|
57
73
|
* The children components of the slider.
|
|
58
74
|
*/
|
|
@@ -60,9 +76,10 @@ interface SliderProps extends StyledSliderProps {
|
|
|
60
76
|
/**
|
|
61
77
|
* The controlled value of the slider. Must be used in conjunction with onValueChange.
|
|
62
78
|
*/
|
|
63
|
-
value?: number
|
|
79
|
+
value?: number;
|
|
64
80
|
/**
|
|
65
81
|
* The minimum value for the range.
|
|
82
|
+
* @default 0
|
|
66
83
|
*/
|
|
67
84
|
min?: number;
|
|
68
85
|
/**
|
|
@@ -77,11 +94,11 @@ interface SliderProps extends StyledSliderProps {
|
|
|
77
94
|
* Event handler called when the value changes at the end of an interaction.
|
|
78
95
|
* Useful when you only need to capture a final value e.g. to update a backend service.
|
|
79
96
|
*/
|
|
80
|
-
onValueCommit?: (value: number
|
|
97
|
+
onValueCommit?: (value: number) => void;
|
|
81
98
|
/**
|
|
82
99
|
* Event handler called when the value changes.
|
|
83
100
|
*/
|
|
84
|
-
onValueChange?: (value: number
|
|
101
|
+
onValueChange?: (value: number) => void;
|
|
85
102
|
/**
|
|
86
103
|
* When true, prevents the user from interacting with the slider but focus
|
|
87
104
|
* is still possible.
|
|
@@ -93,6 +110,8 @@ interface Partials {
|
|
|
93
110
|
Track: typeof Track;
|
|
94
111
|
Range: typeof Range;
|
|
95
112
|
Thumb: typeof Thumb;
|
|
113
|
+
Value: typeof Value;
|
|
114
|
+
Input: typeof Input;
|
|
96
115
|
}
|
|
97
116
|
|
|
98
117
|
export { Slider, SliderProps, RangeProps as SliderRangeProps, ThumbProps as SliderThumbProps, TrackProps as SliderTrackProps };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-slider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -27,9 +27,12 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@radix-ui/react-slider": "^1.2.0",
|
|
30
|
+
"@mirohq/design-system-base-text-field": "^0.2.2",
|
|
30
31
|
"@mirohq/design-system-primitive": "^1.1.2",
|
|
31
|
-
"@mirohq/design-system-stitches": "^2.6.
|
|
32
|
+
"@mirohq/design-system-stitches": "^2.6.29",
|
|
32
33
|
"@mirohq/design-system-types": "^0.10.0",
|
|
34
|
+
"@mirohq/design-system-styles": "^1.2.29",
|
|
35
|
+
"@mirohq/design-system-use-aria-disabled": "^0.2.0",
|
|
33
36
|
"@mirohq/design-system-utils": "^0.15.4"
|
|
34
37
|
},
|
|
35
38
|
"scripts": {
|