@mirohq/design-system-slider 0.1.16 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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":"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"}
|
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": {
|