@mirohq/design-system-slider 0.1.17 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
- disabled,
39
- ariaDisabled
40
- }) => /* @__PURE__ */ jsxRuntime.jsx(
41
- SliderContext.Provider,
42
- {
43
- value: {
44
- disabled,
45
- ariaDisabled
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
- children
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
- StyledRange,
57
+ SliderContext.Provider,
56
58
  {
57
- ...props,
58
- disabled,
59
- ariaDisabled,
60
- ref: forwardRef
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 Track = React__default["default"].forwardRef((props, forwardRef) => {
71
+ const Range = React__default["default"].forwardRef((props, forwardRef) => {
86
72
  const { disabled, ariaDisabled } = useSliderContext();
87
73
  return /* @__PURE__ */ jsxRuntime.jsx(
88
- StyledTrack,
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
- border: "1px solid $border-primary-hover"
95
+ borderColor: "$border-primary-hover"
109
96
  },
110
- "&:active": {
97
+ "&:active, &[data-pressed]": {
111
98
  boxShadow: "$focus-controls",
112
- border: "1px solid $border-primary-active"
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
- StyledThumb,
225
+ StyledInput,
146
226
  {
147
- ...props,
148
- disabled,
149
- ariaDisabled,
150
- ref: forwardRef
227
+ ...elementProps,
228
+ type: "number",
229
+ ref: forwardRef,
230
+ value: inputValue,
231
+ disabled
151
232
  }
152
233
  );
153
234
  });
154
235
 
155
- const StyledSliderComponent = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
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
- flexDirection: "row",
158
- gap: "$100",
159
- alignItems: "center"
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 StyledSliderRoot = designSystemStitches.styled(reactSlider.Root, {
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 Slider = React__default["default"].forwardRef(
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
- var _a, _b;
185
- const [sliderValue, setSliderValue] = React.useState(
186
- (_b = (_a = value == null ? void 0 : value[0]) != null ? _a : min) != null ? _b : 0
187
- );
188
- const onSliderValueChange = React.useCallback(
189
- (value2) => {
190
- setSliderValue(value2[0]);
191
- if (onValueChange != null) {
192
- onValueChange(value2);
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
- SliderProvider,
286
+ StyledRoot,
199
287
  {
288
+ css,
289
+ className,
290
+ step,
200
291
  disabled,
201
- ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
202
- children: /* @__PURE__ */ jsxRuntime.jsxs(StyledSliderComponent, { children: [
203
- /* @__PURE__ */ jsxRuntime.jsx(
204
- StyledSliderRoot,
205
- {
206
- ...restProps,
207
- step,
208
- disabled,
209
- "aria-disabled": ariaDisabled,
210
- defaultValue: [sliderValue],
211
- ref: forwardRef,
212
- min,
213
- max,
214
- onValueCommit,
215
- onValueChange: onSliderValueChange,
216
- onPointerDown: (e) => {
217
- if (designSystemUtils.booleanify(ariaDisabled)) {
218
- e.preventDefault();
219
- }
220
- },
221
- children
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":";;;;;;;;;;;;;;;AAIa,MAAA,WAAA,GAAcA,4BAAOC,iBAAY,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,GAAgBC,mBAAkC,CAAA,EAAS,CAAA,CAAA;AAE1D,MAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AACF,CACE,qBAAAC,cAAA;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,MAC9BC,gBAAA,CAAW,aAAa,CAAA;;ACrBnB,MAAM,KAAQ,GAAAC,yBAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAAF,cAAA;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,GAAcH,4BAAOM,iBAAY,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,GAAAD,yBAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAAF,cAAA;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,GAAcH,4BAAOO,iBAAY,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,GAAAF,yBAAA,CAAM,UAGzB,CAAA,CAAC,OAAO,UAAe,KAAA;AACvB,EAAA,MAAM,EAAE,QAAA,EAAU,YAAa,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEpD,EACE,uBAAAF,cAAA;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,GAAwBH,2BAAO,CAAAQ,+BAAA,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,GAAmBR,4BAAOS,gBAAM,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,SAASJ,yBAAM,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,GAAAK,cAAA;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,GAAAC,iBAAA;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,uBAAAT,cAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,YAAA,EAAcU,6BAAW,YAAY,CAAA;AAAA,QAErC,0CAAC,qBACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAAV,cAAA;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,IAAAU,4BAAA,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":"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, jsxs } from 'react/jsx-runtime';
2
- import React, { createContext, useContext, useState, useCallback } from 'react';
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, Track as Track$1, Thumb as Thumb$1, Root } from '@radix-ui/react-slider';
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
- disabled,
31
- ariaDisabled
32
- }) => /* @__PURE__ */ jsx(
33
- SliderContext.Provider,
34
- {
35
- value: {
36
- disabled,
37
- ariaDisabled
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
- children
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
- StyledRange,
49
+ SliderContext.Provider,
48
50
  {
49
- ...props,
50
- disabled,
51
- ariaDisabled,
52
- ref: forwardRef
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 Track = React.forwardRef((props, forwardRef) => {
63
+ const Range = React.forwardRef((props, forwardRef) => {
78
64
  const { disabled, ariaDisabled } = useSliderContext();
79
65
  return /* @__PURE__ */ jsx(
80
- StyledTrack,
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
- border: "1px solid $border-primary-hover"
87
+ borderColor: "$border-primary-hover"
101
88
  },
102
- "&:active": {
89
+ "&:active, &[data-pressed]": {
103
90
  boxShadow: "$focus-controls",
104
- border: "1px solid $border-primary-active"
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
- StyledThumb,
217
+ StyledInput,
138
218
  {
139
- ...props,
140
- disabled,
141
- ariaDisabled,
142
- ref: forwardRef
219
+ ...elementProps,
220
+ type: "number",
221
+ ref: forwardRef,
222
+ value: inputValue,
223
+ disabled
143
224
  }
144
225
  );
145
226
  });
146
227
 
147
- const StyledSliderComponent = styled(Primitive.div, {
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
- flexDirection: "row",
150
- gap: "$100",
151
- alignItems: "center"
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 StyledSliderRoot = styled(Root, {
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 Slider = React.forwardRef(
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
- var _a, _b;
177
- const [sliderValue, setSliderValue] = useState(
178
- (_b = (_a = value == null ? void 0 : value[0]) != null ? _a : min) != null ? _b : 0
179
- );
180
- const onSliderValueChange = useCallback(
181
- (value2) => {
182
- setSliderValue(value2[0]);
183
- if (onValueChange != null) {
184
- onValueChange(value2);
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
- SliderProvider,
278
+ StyledRoot,
191
279
  {
280
+ css,
281
+ className,
282
+ step,
192
283
  disabled,
193
- ariaDisabled: booleanify(ariaDisabled),
194
- children: /* @__PURE__ */ jsxs(StyledSliderComponent, { children: [
195
- /* @__PURE__ */ jsx(
196
- StyledSliderRoot,
197
- {
198
- ...restProps,
199
- step,
200
- disabled,
201
- "aria-disabled": ariaDisabled,
202
- defaultValue: [sliderValue],
203
- ref: forwardRef,
204
- min,
205
- max,
206
- onValueCommit,
207
- onValueChange: onSliderValueChange,
208
- onPointerDown: (e) => {
209
- if (booleanify(ariaDisabled)) {
210
- e.preventDefault();
211
- }
212
- },
213
- children
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
@@ -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 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<{
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.SliderTrackProps & react.RefAttributes<HTMLSpanElement>>, {
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 StyledTrackProps = StrictComponentProps<typeof StyledTrack>;
30
+ declare type StyledThumbProps = StrictComponentProps<typeof StyledThumb>;
30
31
 
31
- interface TrackProps extends StyledTrackProps {
32
+ interface ThumbProps extends StyledThumbProps {
32
33
  }
33
- declare const Track: react__default.ForwardRefExoticComponent<Omit<TrackProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
34
+ declare const Thumb: react__default.ForwardRefExoticComponent<Omit<ThumbProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
34
35
 
35
- 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<{
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.SliderThumbProps & react.RefAttributes<HTMLSpanElement>>, {
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 StyledThumbProps = StrictComponentProps<typeof StyledThumb>;
60
+ declare type StyledTrackProps = StrictComponentProps<typeof StyledTrack>;
43
61
 
44
- interface ThumbProps extends StyledThumbProps {
62
+ interface TrackProps extends StyledTrackProps {
45
63
  }
46
- declare const Thumb: react__default.ForwardRefExoticComponent<Omit<ThumbProps, "ref"> & react__default.RefAttributes<HTMLSpanElement>>;
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: number;
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[]) => void;
97
+ onValueCommit?: (value: number) => void;
81
98
  /**
82
99
  * Event handler called when the value changes.
83
100
  */
84
- onValueChange?: (value: number[]) => void;
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.1.17",
3
+ "version": "0.2.0",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -27,10 +27,13 @@
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
32
  "@mirohq/design-system-stitches": "^2.6.29",
32
- "@mirohq/design-system-utils": "^0.15.4",
33
- "@mirohq/design-system-types": "^0.10.0"
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",
36
+ "@mirohq/design-system-utils": "^0.15.4"
34
37
  },
35
38
  "scripts": {
36
39
  "build": "rollup -c ../../../rollup.config.js",