@accelint/design-system 0.5.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,6 +60,9 @@ export { SearchFieldClassNames, SearchFieldMapping, SearchFieldProps, SearchFiel
60
60
  export { Select, SelectContext } from './select/select.js';
61
61
  export { selectClassNames, selectColorVars, selectContainer, selectSpaceVars, selectStateVars } from './select/select.css.js';
62
62
  export { SelectClassNames, SelectMapping, SelectProps, SelectRenderProps, SelectState } from './select/types.js';
63
+ export { Slider, SliderContext, SliderThumb, SliderTrack } from './slider/slider.js';
64
+ export { sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars } from './slider/slider.css.js';
65
+ export { SliderClassNames, SliderLayout, SliderProps, SliderRenderProps, SliderState, SliderThumbProps, SliderThumbState } from './slider/types.js';
63
66
  export { Switch, SwitchContext } from './switch/switch.js';
64
67
  export { switchClassNames, switchColorVars, switchContainer, switchSpaceVars, switchStateVars } from './switch/switch.css.js';
65
68
  export { SwitchAlignment, SwitchClassNames, SwitchProps, SwitchRenderProps, SwitchState } from './switch/types.js';
@@ -21,6 +21,7 @@ export { QueryBuilder, QueryBuilderContext, pressToMouseEvent, queryBuilderClass
21
21
  export { Radio, RadioContext, RadioGroup, RadioGroupContext, radioClassNames, radioColorVars, radioGroupStateVars, radioSpaceVars, radioStateVars } from './radio/index.js';
22
22
  export { SearchField, SearchFieldContext, searchFieldClassNames, searchFieldContainer, searchFieldSpaceVars, searchFieldStateVars } from './search-field/index.js';
23
23
  export { Select, SelectContext, selectClassNames, selectColorVars, selectContainer, selectSpaceVars, selectStateVars } from './select/index.js';
24
+ export { Slider, SliderContext, SliderThumb, SliderTrack, sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars } from './slider/index.js';
24
25
  export { Switch, SwitchContext, switchClassNames, switchColorVars, switchContainer, switchSpaceVars, switchStateVars } from './switch/index.js';
25
26
  export { Tab, TabContext, TabList, TabListContext, TabPanel, TabPanelContext, TabPanels, TabPanelsContext, Tabs, TabsContext, tabColorVars, tabListStateVars, tabPanelStateVars, tabPanelsStateVars, tabSpaceVars, tabStateVars, tabsClassNames, tabsContainers } from './tabs/index.js';
26
27
  export { TextArea, TextAreaContext, textAreaClassNames, textAreaColorVars, textAreaContainer, textAreaSpaceVars, textAreaStateVars } from './textarea/index.js';
@@ -0,0 +1,15 @@
1
+ export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext } from './slider.js';
2
+ export { sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars } from './slider.css.js';
3
+ export { SliderClassNames, SliderLayout, SliderProps, SliderRenderProps, SliderState, SliderThumbProps, SliderThumbState } from './types.js';
4
+ import 'react';
5
+ import 'react-aria-components';
6
+ import '../../types/react-aria.js';
7
+ import 'type-fest';
8
+ import '../../types/generic.js';
9
+ import '../group/types.js';
10
+ import '@react-types/shared';
11
+ import '../number-field/types.js';
12
+ import '../button/types.js';
13
+ import '../../types/props.js';
14
+ import '../icon/types.js';
15
+ import '../input/types.js';
@@ -0,0 +1,6 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+ export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext } from './slider.js';
3
+ export { sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars } from './slider.css.js';
4
+ import './types.js';
5
+ //# sourceMappingURL=index.js.map
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,66 @@
1
+ import { SliderClassNames } from './types.js';
2
+ import 'react-aria-components';
3
+ import 'type-fest';
4
+ import '../../types/generic.js';
5
+ import '../../types/react-aria.js';
6
+ import 'react';
7
+ import '../group/types.js';
8
+ import '@react-types/shared';
9
+ import '../number-field/types.js';
10
+ import '../button/types.js';
11
+ import '../../types/props.js';
12
+ import '../icon/types.js';
13
+ import '../input/types.js';
14
+
15
+ declare const sliderColorVars: {
16
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
+ boxShadow: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
+ thumb: {
20
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
+ };
22
+ track: {
23
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ };
25
+ bar: {
26
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ };
28
+ };
29
+ declare const sliderSpaceVars: {
30
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ margin: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ track: {
33
+ minDimension: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
+ thickness: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ };
36
+ thumb: {
37
+ height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
+ width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ };
41
+ bar: {
42
+ height: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
43
+ width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
44
+ };
45
+ };
46
+ declare const sliderStateVars: {
47
+ layout: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
48
+ orientation: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
49
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
50
+ };
51
+ declare const sliderThumbStateVars: {
52
+ layout: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
53
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
54
+ isDragging: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
55
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
56
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
57
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
58
+ };
59
+ declare const sliderTrackStateVars: {
60
+ layout: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
61
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
62
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
63
+ };
64
+ declare const sliderClassNames: SliderClassNames;
65
+
66
+ export { sliderClassNames, sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars };
@@ -0,0 +1,13 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+
3
+ // src/components/slider/slider.css.ts
4
+ var sliderClassNames = { slider: { container: "slider_sliderClassNames_slider_container__1bot8cnr", slider: "slider_sliderClassNames_slider_slider__1bot8cns", label: "slider_sliderClassNames_slider_label__1bot8cnt", tick: "slider_sliderClassNames_slider_tick__1bot8cnu", min: "slider_sliderClassNames_slider_min__1bot8cnv", max: "slider_sliderClassNames_slider_max__1bot8cnw" }, track: { container: "slider_sliderClassNames_track_container__1bot8cnx", track: "slider_sliderClassNames_track_track__1bot8cny", bar: "slider_sliderClassNames_track_bar__1bot8cnz" }, thumb: { container: "slider_sliderClassNames_thumb_container__1bot8cn10", thumb: "slider_sliderClassNames_thumb_thumb__1bot8cn11" }, numberField: { container: "slider_sliderClassNames_numberField_container__1bot8cn12" }, group: { group: "slider_sliderClassNames_group_group__1bot8cn13" }, output: { container: "slider_sliderClassNames_output_container__1bot8cn14", output: "slider_sliderClassNames_output_output__1bot8cn15" } };
5
+ var sliderColorVars = { color: "var(--color__1bot8cn0)", background: "var(--background__1bot8cn1)", boxShadow: "var(--boxShadow__1bot8cn2)", thumb: { color: "var(--thumb-color__1bot8cn3)" }, track: { color: "var(--track-color__1bot8cn4)" }, bar: { color: "var(--bar-color__1bot8cn5)" } };
6
+ var sliderSpaceVars = { gap: "var(--gap__1bot8cn6)", margin: "var(--margin__1bot8cn7)", track: { minDimension: "var(--track-minDimension__1bot8cn8)", thickness: "var(--track-thickness__1bot8cn9)" }, thumb: { height: "var(--thumb-height__1bot8cna)", width: "var(--thumb-width__1bot8cnb)", borderRadius: "var(--thumb-borderRadius__1bot8cnc)" }, bar: { height: "var(--bar-height__1bot8cnd)", width: "var(--bar-width__1bot8cne)" } };
7
+ var sliderStateVars = { layout: "var(--layout__1bot8cnf)", orientation: "var(--orientation__1bot8cng)", isDisabled: "var(--isDisabled__1bot8cnh)" };
8
+ var sliderThumbStateVars = { layout: "var(--layout__1bot8cni)", isDisabled: "var(--isDisabled__1bot8cnj)", isDragging: "var(--isDragging__1bot8cnk)", isFocused: "var(--isFocused__1bot8cnl)", isFocusVisible: "var(--isFocusVisible__1bot8cnm)", isHovered: "var(--isHovered__1bot8cnn)" };
9
+ var sliderTrackStateVars = { layout: "var(--layout__1bot8cno)", isDisabled: "var(--isDisabled__1bot8cnp)", isHovered: "var(--isHovered__1bot8cnq)" };
10
+
11
+ export { sliderClassNames, sliderColorVars, sliderSpaceVars, sliderStateVars, sliderThumbStateVars, sliderTrackStateVars };
12
+ //# sourceMappingURL=slider.css.js.map
13
+ //# sourceMappingURL=slider.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/slider/slider.css.ts"],"names":[],"mappings":";;;AAAW,IAAA,gBAAA,GAAmB,EAAC,MAAO,EAAA,EAAC,WAAU,oDAAqD,EAAA,MAAA,EAAO,iDAAkD,EAAA,KAAA,EAAM,gDAAiD,EAAA,IAAA,EAAK,iDAAgD,GAAI,EAAA,8CAAA,EAA+C,KAAI,8CAA8C,EAAA,EAAE,OAAM,EAAC,SAAA,EAAU,mDAAoD,EAAA,KAAA,EAAM,+CAAgD,EAAA,GAAA,EAAI,+CAA+C,EAAA,KAAA,EAAM,EAAC,SAAU,EAAA,oDAAA,EAAqD,OAAM,gDAAgD,EAAA,EAAE,WAAY,EAAA,EAAC,SAAU,EAAA,0DAAA,IAA4D,KAAM,EAAA,EAAC,KAAM,EAAA,gDAAA,EAAkD,EAAA,MAAA,EAAO,EAAC,SAAU,EAAA,qDAAA,EAAsD,MAAO,EAAA,kDAAA,EAAmD;AACv6B,IAAA,eAAA,GAAkB,EAAC,KAAM,EAAA,wBAAA,EAAyB,YAAW,6BAA8B,EAAA,SAAA,EAAU,4BAA6B,EAAA,KAAA,EAAM,EAAC,KAAA,EAAM,gCAAgC,EAAA,KAAA,EAAM,EAAC,KAAM,EAAA,8BAAA,IAAgC,GAAI,EAAA,EAAC,KAAM,EAAA,4BAAA,EAA6B;AACxQ,IAAI,eAAkB,GAAA,EAAC,GAAI,EAAA,sBAAA,EAAuB,MAAO,EAAA,yBAAA,EAA0B,KAAM,EAAA,EAAC,YAAa,EAAA,qCAAA,EAAsC,SAAU,EAAA,kCAAA,EAAoC,EAAA,KAAA,EAAM,EAAC,MAAA,EAAO,+BAAgC,EAAA,KAAA,EAAM,8BAA+B,EAAA,YAAA,EAAa,qCAAqC,EAAA,EAAE,GAAI,EAAA,EAAC,MAAO,EAAA,6BAAA,EAA8B,KAAM,EAAA,4BAAA,EAA6B;AAC/Y,IAAI,kBAAkB,EAAC,MAAA,EAAO,2BAA0B,WAAY,EAAA,8BAAA,EAA+B,YAAW,6BAA6B;AAC3I,IAAI,oBAAuB,GAAA,EAAC,MAAO,EAAA,yBAAA,EAA0B,UAAW,EAAA,6BAAA,EAA8B,UAAW,EAAA,6BAAA,EAA8B,SAAU,EAAA,4BAAA,EAA6B,cAAe,EAAA,iCAAA,EAAkC,WAAU,4BAA4B;AAC7Q,IAAI,uBAAuB,EAAC,MAAA,EAAO,2BAA0B,UAAW,EAAA,6BAAA,EAA8B,WAAU,4BAA4B","file":"slider.css.js","sourcesContent":["export var sliderClassNames = {slider:{container:'slider_sliderClassNames_slider_container__1bot8cnr',slider:'slider_sliderClassNames_slider_slider__1bot8cns',label:'slider_sliderClassNames_slider_label__1bot8cnt',tick:'slider_sliderClassNames_slider_tick__1bot8cnu',min:'slider_sliderClassNames_slider_min__1bot8cnv',max:'slider_sliderClassNames_slider_max__1bot8cnw'},track:{container:'slider_sliderClassNames_track_container__1bot8cnx',track:'slider_sliderClassNames_track_track__1bot8cny',bar:'slider_sliderClassNames_track_bar__1bot8cnz'},thumb:{container:'slider_sliderClassNames_thumb_container__1bot8cn10',thumb:'slider_sliderClassNames_thumb_thumb__1bot8cn11'},numberField:{container:'slider_sliderClassNames_numberField_container__1bot8cn12'},group:{group:'slider_sliderClassNames_group_group__1bot8cn13'},output:{container:'slider_sliderClassNames_output_container__1bot8cn14',output:'slider_sliderClassNames_output_output__1bot8cn15'}};\nexport var sliderColorVars = {color:'var(--color__1bot8cn0)',background:'var(--background__1bot8cn1)',boxShadow:'var(--boxShadow__1bot8cn2)',thumb:{color:'var(--thumb-color__1bot8cn3)'},track:{color:'var(--track-color__1bot8cn4)'},bar:{color:'var(--bar-color__1bot8cn5)'}};\nexport var sliderSpaceVars = {gap:'var(--gap__1bot8cn6)',margin:'var(--margin__1bot8cn7)',track:{minDimension:'var(--track-minDimension__1bot8cn8)',thickness:'var(--track-thickness__1bot8cn9)'},thumb:{height:'var(--thumb-height__1bot8cna)',width:'var(--thumb-width__1bot8cnb)',borderRadius:'var(--thumb-borderRadius__1bot8cnc)'},bar:{height:'var(--bar-height__1bot8cnd)',width:'var(--bar-width__1bot8cne)'}};\nexport var sliderStateVars = {layout:'var(--layout__1bot8cnf)',orientation:'var(--orientation__1bot8cng)',isDisabled:'var(--isDisabled__1bot8cnh)'};\nexport var sliderThumbStateVars = {layout:'var(--layout__1bot8cni)',isDisabled:'var(--isDisabled__1bot8cnj)',isDragging:'var(--isDragging__1bot8cnk)',isFocused:'var(--isFocused__1bot8cnl)',isFocusVisible:'var(--isFocusVisible__1bot8cnm)',isHovered:'var(--isHovered__1bot8cnn)'};\nexport var sliderTrackStateVars = {layout:'var(--layout__1bot8cno)',isDisabled:'var(--isDisabled__1bot8cnp)',isHovered:'var(--isHovered__1bot8cnq)'};"]}
@@ -0,0 +1,49 @@
1
+ import * as react from 'react';
2
+ import * as react_aria_components from 'react-aria-components';
3
+ import { ContextValue } from 'react-aria-components';
4
+ import { RenderPropsChildren } from '../../types/react-aria.js';
5
+ import { SliderRenderProps, SliderClassNames, SliderLayout, SliderProps, SliderBarProps, SliderOutputProps, SliderThumbProps, SliderTrackProps } from './types.js';
6
+ import 'type-fest';
7
+ import '../../types/generic.js';
8
+ import '../group/types.js';
9
+ import '@react-types/shared';
10
+ import '../number-field/types.js';
11
+ import '../button/types.js';
12
+ import '../../types/props.js';
13
+ import '../icon/types.js';
14
+ import '../input/types.js';
15
+
16
+ declare const SliderBarContext: react.Context<ContextValue<SliderBarProps, HTMLDivElement>>;
17
+ /**
18
+ * SliderBar is optional, but must be used as a child of SliderTrack
19
+ */
20
+ declare const SliderBar: (props: SliderBarProps & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
21
+ declare const SliderOutputContext: react.Context<ContextValue<SliderOutputProps, HTMLOutputElement>>;
22
+ declare const SliderOutput: (props: Omit<react_aria_components.SliderOutputProps, "className" | "style"> & {
23
+ classNames?: SliderClassNames;
24
+ } & react.RefAttributes<HTMLOutputElement>) => react.ReactElement | null;
25
+ declare const SliderTrackContext: react.Context<ContextValue<SliderTrackProps, HTMLDivElement>>;
26
+ /**
27
+ * SliderTrack must be used as a child of Slider, a parent of SliderThumb,
28
+ * and if used, a parent of SliderBar
29
+ */
30
+ declare const SliderTrack: (props: Omit<react_aria_components.SliderTrackProps, "className" | "style"> & {
31
+ classNames?: SliderClassNames;
32
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
33
+ declare const SliderThumbContext: react.Context<ContextValue<SliderThumbProps, HTMLDivElement>>;
34
+ /**
35
+ * SliderThumb must be used as a child of SliderTrack
36
+ */
37
+ declare const SliderThumb: (props: Omit<react_aria_components.SliderThumbProps, "className" | "style"> & {
38
+ classNames?: SliderClassNames;
39
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
40
+ declare const SliderContext: react.Context<ContextValue<SliderProps, HTMLDivElement>>;
41
+ declare const Slider: (props: Omit<react_aria_components.SliderProps<number | number[]>, "children" | "style" | "classname"> & {
42
+ children?: RenderPropsChildren<SliderRenderProps>;
43
+ classNames?: SliderClassNames;
44
+ layout?: SliderLayout;
45
+ minValue?: number;
46
+ maxValue?: number;
47
+ } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
48
+
49
+ export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext };
@@ -0,0 +1,230 @@
1
+ import '../../chunk-PZ5AY32C.js';
2
+ import { clsx } from 'clsx';
3
+ import { createContext, forwardRef, useMemo, useContext, useCallback } from 'react';
4
+ import { SliderStateContext, SliderOutput as SliderOutput$1, Provider, SliderTrack as SliderTrack$1, SliderThumb as SliderThumb$1, LabelContext, DEFAULT_SLOT, Slider as Slider$1 } from 'react-aria-components';
5
+ import { AriaTextContext, NumberFieldContext, GroupContext } from '../../components/index.js';
6
+ import { useContextProps, useDefaultProps, useTheme } from '../../hooks/index.js';
7
+ import { mergeClassNames, inlineVars, callRenderProps } from '../../utils/index.js';
8
+ import { sliderClassNames, sliderStateVars, sliderTrackStateVars, sliderThumbStateVars } from './slider.css.js';
9
+ import { jsx } from 'react/jsx-runtime';
10
+
11
+ var SliderBarContext = createContext(null);
12
+ var SliderBar = forwardRef(function SliderBar2(props, ref) {
13
+ [props, ref] = useContextProps(props, ref, SliderBarContext);
14
+ props = useDefaultProps(props, "SliderBar");
15
+ const { classNames: classNamesProp, ...rest } = props;
16
+ const theme = useTheme();
17
+ const classNames = useMemo(
18
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
19
+ [theme.Slider, classNamesProp]
20
+ );
21
+ const state = useContext(SliderStateContext);
22
+ const min = state.getThumbPercent(0);
23
+ const max = state.getThumbPercent(1);
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ ...rest,
28
+ ref,
29
+ className: classNames?.track?.bar,
30
+ style: {
31
+ position: "absolute",
32
+ ...state.orientation === "horizontal" && {
33
+ left: max ? `${min * 100}%` : 0,
34
+ width: max ? `${(max * 100 || 0) - (min * 100 || 0)}%` : `${min * 100}%`
35
+ },
36
+ ...state.orientation === "vertical" && {
37
+ bottom: max ? `${min * 100}%` : 0,
38
+ height: max ? `${(max * 100 || 0) - (min * 100 || 0)}%` : `${min * 100}%`
39
+ }
40
+ }
41
+ }
42
+ );
43
+ });
44
+ var SliderOutputContext = createContext(null);
45
+ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
46
+ [props, ref] = useContextProps(props, ref, SliderOutputContext);
47
+ props = useDefaultProps(props, "SliderOutput");
48
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
49
+ const theme = useTheme();
50
+ const classNames = useMemo(
51
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
52
+ [theme.Slider, classNamesProp]
53
+ );
54
+ const style = useCallback(
55
+ (renderProps) => inlineVars(sliderStateVars, renderProps),
56
+ []
57
+ );
58
+ const children = useCallback(
59
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.output?.output, children: callRenderProps(childrenProp, {
60
+ ...renderProps,
61
+ defaultChildren: null
62
+ }) }),
63
+ [childrenProp, classNames?.output?.output]
64
+ );
65
+ return /* @__PURE__ */ jsx(
66
+ SliderOutput$1,
67
+ {
68
+ ...rest,
69
+ ref,
70
+ className: classNames?.output?.container,
71
+ style,
72
+ children
73
+ }
74
+ );
75
+ });
76
+ var SliderTrackContext = createContext(null);
77
+ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
78
+ [props, ref] = useContextProps(props, ref, SliderTrackContext);
79
+ props = useDefaultProps(props, "SliderTrack");
80
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
81
+ const theme = useTheme();
82
+ const classNames = useMemo(
83
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
84
+ [theme.Slider, classNamesProp]
85
+ );
86
+ const style = useCallback(
87
+ (renderProps) => inlineVars(sliderTrackStateVars, renderProps),
88
+ []
89
+ );
90
+ const values = useMemo(
91
+ () => [
92
+ [SliderThumbContext, { classNames }],
93
+ [SliderBarContext, { classNames }]
94
+ ],
95
+ [classNames]
96
+ );
97
+ const children = useCallback(
98
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.track?.track, children: callRenderProps(childrenProp, {
99
+ ...renderProps,
100
+ defaultChildren: null
101
+ }) }) }),
102
+ [childrenProp, values, classNames?.track?.track]
103
+ );
104
+ return /* @__PURE__ */ jsx(
105
+ SliderTrack$1,
106
+ {
107
+ ...rest,
108
+ ref,
109
+ className: classNames?.track?.container,
110
+ style,
111
+ children
112
+ }
113
+ );
114
+ });
115
+ var SliderThumbContext = createContext(null);
116
+ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
117
+ [props, ref] = useContextProps(props, ref, SliderThumbContext);
118
+ props = useDefaultProps(props, "SliderThumb");
119
+ const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
120
+ const theme = useTheme();
121
+ const classNames = useMemo(
122
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
123
+ [theme.Slider, classNamesProp]
124
+ );
125
+ const style = useCallback(
126
+ (renderProps) => inlineVars(sliderThumbStateVars, renderProps),
127
+ []
128
+ );
129
+ const children = useCallback(
130
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.thumb?.thumb, children: callRenderProps(childrenProp, {
131
+ ...renderProps,
132
+ defaultChildren: null
133
+ }) }),
134
+ [childrenProp, classNames?.thumb?.thumb]
135
+ );
136
+ return /* @__PURE__ */ jsx(
137
+ SliderThumb$1,
138
+ {
139
+ ...rest,
140
+ ref,
141
+ className: classNames?.thumb?.container,
142
+ style,
143
+ children
144
+ }
145
+ );
146
+ });
147
+ var SliderContext = createContext(null);
148
+ var Slider = forwardRef(function Slider2(props, ref) {
149
+ [props, ref] = useContextProps(props, ref, SliderContext);
150
+ props = useDefaultProps(props, "Slider");
151
+ const {
152
+ children: childrenProp,
153
+ classNames: classNamesProp,
154
+ layout = "stacked",
155
+ orientation = "horizontal",
156
+ isDisabled,
157
+ ...rest
158
+ } = props;
159
+ const theme = useTheme();
160
+ const classNames = useMemo(
161
+ () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
162
+ [theme.Slider, classNamesProp]
163
+ );
164
+ const style = useCallback(
165
+ ({ ...renderProps }) => inlineVars(sliderStateVars, {
166
+ ...renderProps,
167
+ layout
168
+ }),
169
+ [layout]
170
+ );
171
+ const values = useMemo(
172
+ () => [
173
+ [LabelContext, { className: classNames?.slider?.label }],
174
+ [
175
+ AriaTextContext,
176
+ {
177
+ slots: {
178
+ [DEFAULT_SLOT]: {},
179
+ min: {
180
+ className: clsx(
181
+ classNames?.slider?.tick,
182
+ classNames?.slider?.min
183
+ )
184
+ },
185
+ max: {
186
+ className: clsx(
187
+ classNames?.slider?.tick,
188
+ classNames?.slider?.max
189
+ )
190
+ }
191
+ }
192
+ }
193
+ ],
194
+ [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],
195
+ [SliderOutputContext, { classNames }],
196
+ [SliderTrackContext, { classNames }],
197
+ [
198
+ GroupContext,
199
+ {
200
+ classNames: classNames?.group,
201
+ context: NumberFieldContext,
202
+ orientation,
203
+ reverse: orientation === "vertical",
204
+ values: { classNames: classNames?.group?.numberField }
205
+ }
206
+ ]
207
+ ],
208
+ [classNames, orientation, isDisabled]
209
+ );
210
+ const children = useCallback(
211
+ (renderProps) => /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx("div", { className: classNames?.slider?.slider, children: callRenderProps(childrenProp, renderProps) }) }),
212
+ [childrenProp, classNames?.slider, values]
213
+ );
214
+ return /* @__PURE__ */ jsx(
215
+ Slider$1,
216
+ {
217
+ ...rest,
218
+ ref,
219
+ className: classNames?.slider?.container,
220
+ orientation,
221
+ style,
222
+ isDisabled,
223
+ children
224
+ }
225
+ );
226
+ });
227
+
228
+ export { Slider, SliderBar, SliderBarContext, SliderContext, SliderOutput, SliderOutputContext, SliderThumb, SliderThumbContext, SliderTrack, SliderTrackContext };
229
+ //# sourceMappingURL=slider.js.map
230
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/slider/slider.tsx"],"names":["SliderBar","SliderOutput","RACSliderOutput","SliderTrack","RACSliderTrack","SliderThumb","RACSliderThumb","Slider","RACSlider"],"mappings":"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","file":"slider.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { clsx } from 'clsx';\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DEFAULT_SLOT,\n LabelContext,\n type LabelProps,\n Provider,\n Slider as RACSlider,\n SliderOutput as RACSliderOutput,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n SliderStateContext,\n type TextProps,\n} from 'react-aria-components';\nimport {\n type AriaLabelContext,\n AriaTextContext,\n GroupContext,\n type GroupProps,\n NumberFieldContext,\n type NumberFieldProps,\n} from '../../components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n sliderClassNames,\n sliderStateVars,\n sliderThumbStateVars,\n sliderTrackStateVars,\n} from './slider.css';\nimport type {\n SliderBarProps,\n SliderOutputProps,\n SliderProps,\n SliderRenderProps,\n SliderThumbProps,\n SliderThumbRenderProps,\n SliderTrackProps,\n SliderTrackRenderProps,\n} from './types';\n\nexport const SliderBarContext =\n createContext<ContextValue<SliderBarProps, HTMLDivElement>>(null);\n\n/**\n * SliderBar is optional, but must be used as a child of SliderTrack\n */\nexport const SliderBar = forwardRef(function SliderBar(\n props: SliderBarProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderBarContext);\n\n props = useDefaultProps(props, 'SliderBar');\n\n const { classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const state = useContext(SliderStateContext);\n\n const min = state.getThumbPercent(0);\n const max = state.getThumbPercent(1);\n\n return (\n <div\n {...rest}\n ref={ref}\n className={classNames?.track?.bar}\n style={{\n position: 'absolute',\n ...(state.orientation === 'horizontal' && {\n left: max ? `${min * 100}%` : 0,\n width: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n ...(state.orientation === 'vertical' && {\n bottom: max ? `${min * 100}%` : 0,\n height: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n }}\n />\n );\n});\n\nexport const SliderOutputContext =\n createContext<ContextValue<SliderOutputProps, HTMLOutputElement>>(null);\n\nexport const SliderOutput = forwardRef(function SliderOutput(\n props: SliderOutputProps,\n ref: ForwardedRef<HTMLOutputElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderOutputContext);\n\n props = useDefaultProps(props, 'SliderOutput');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderRenderProps) =>\n inlineVars(sliderStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <div className={classNames?.output?.output}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.output?.output],\n );\n\n return (\n <RACSliderOutput\n {...rest}\n ref={ref}\n className={classNames?.output?.container}\n style={style}\n >\n {children}\n </RACSliderOutput>\n );\n});\n\nexport const SliderTrackContext =\n createContext<ContextValue<SliderTrackProps, HTMLDivElement>>(null);\n\n/**\n * SliderTrack must be used as a child of Slider, a parent of SliderThumb,\n * and if used, a parent of SliderBar\n */\nexport const SliderTrack = forwardRef(function SliderTrack(\n props: SliderTrackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderTrackContext);\n\n props = useDefaultProps(props, 'SliderTrack');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderTrackRenderProps) =>\n inlineVars(sliderTrackStateVars, renderProps),\n [],\n );\n\n const values = useMemo<\n [\n [\n typeof SliderThumbContext,\n ContextValue<SliderThumbProps, HTMLDivElement>,\n ],\n [typeof SliderBarContext, ContextValue<SliderBarProps, HTMLDivElement>],\n ]\n >(\n () => [\n [SliderThumbContext, { classNames }],\n [SliderBarContext, { classNames }],\n ],\n [classNames],\n );\n\n const children = useCallback(\n (renderProps: SliderTrackRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.track?.track}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, values, classNames?.track?.track],\n );\n\n return (\n <RACSliderTrack\n {...rest}\n ref={ref}\n className={classNames?.track?.container}\n style={style}\n >\n {children}\n </RACSliderTrack>\n );\n});\n\nexport const SliderThumbContext =\n createContext<ContextValue<SliderThumbProps, HTMLDivElement>>(null);\n\n/**\n * SliderThumb must be used as a child of SliderTrack\n */\nexport const SliderThumb = forwardRef(function SliderThumb(\n props: SliderThumbProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderThumbContext);\n\n props = useDefaultProps(props, 'SliderThumb');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderThumbRenderProps) =>\n inlineVars(sliderThumbStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderThumbRenderProps) => (\n <div className={classNames?.thumb?.thumb}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.thumb?.thumb],\n );\n\n return (\n <RACSliderThumb\n {...rest}\n ref={ref}\n className={classNames?.thumb?.container}\n style={style}\n >\n {children}\n </RACSliderThumb>\n );\n});\n\nexport const SliderContext =\n createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\n\nexport const Slider = forwardRef(function Slider(\n props: SliderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderContext);\n\n props = useDefaultProps(props, 'Slider');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n layout = 'stacked',\n orientation = 'horizontal',\n isDisabled,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n ({ ...renderProps }: SliderRenderProps) =>\n inlineVars(sliderStateVars, {\n ...renderProps,\n layout,\n }),\n [layout],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof NumberFieldContext,\n ContextValue<NumberFieldProps, HTMLDivElement>,\n ],\n [\n typeof SliderOutputContext,\n ContextValue<SliderOutputProps, HTMLOutputElement>,\n ],\n [\n typeof SliderTrackContext,\n ContextValue<SliderTrackProps, HTMLDivElement>,\n ],\n [\n typeof GroupContext,\n ContextValue<\n GroupProps<NumberFieldProps, HTMLDivElement>,\n HTMLDivElement\n >,\n ],\n ]\n >(\n () => [\n [LabelContext, { className: classNames?.slider?.label }],\n [\n AriaTextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n min: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.min,\n ),\n },\n max: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.max,\n ),\n },\n },\n },\n ],\n [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],\n [SliderOutputContext, { classNames }],\n [SliderTrackContext, { classNames }],\n [\n GroupContext,\n {\n classNames: classNames?.group,\n context: NumberFieldContext,\n orientation,\n reverse: orientation === 'vertical',\n values: { classNames: classNames?.group?.numberField },\n },\n ],\n ],\n [classNames, orientation, isDisabled],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.slider?.slider}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.slider, values],\n );\n\n return (\n <RACSlider\n {...rest}\n ref={ref}\n className={classNames?.slider?.container}\n orientation={orientation}\n style={style}\n isDisabled={isDisabled}\n >\n {children}\n </RACSlider>\n );\n});\n"]}
@@ -0,0 +1,71 @@
1
+ import { SliderRenderProps as SliderRenderProps$1, SliderProps as SliderProps$1, SliderThumbProps as SliderThumbProps$1, SliderThumbRenderProps as SliderThumbRenderProps$1, NumberFieldProps, SliderOutputProps as SliderOutputProps$1, SliderTrackProps as SliderTrackProps$1, SliderTrackRenderProps as SliderTrackRenderProps$1 } from 'react-aria-components';
2
+ import { PartialDeep } from 'type-fest';
3
+ import { AsType } from '../../types/generic.js';
4
+ import { RenderPropsChildren } from '../../types/react-aria.js';
5
+ import { GroupClassNames } from '../group/types.js';
6
+ import { NumberFieldClassNames } from '../number-field/types.js';
7
+ import 'react';
8
+ import '@react-types/shared';
9
+ import '../button/types.js';
10
+ import '../../types/props.js';
11
+ import '../icon/types.js';
12
+ import '../input/types.js';
13
+
14
+ type SliderClassNames = PartialDeep<{
15
+ slider: {
16
+ container: string;
17
+ slider: string;
18
+ label: string;
19
+ tick: string;
20
+ min: string;
21
+ max: string;
22
+ };
23
+ track: {
24
+ container: string;
25
+ track: string;
26
+ bar: string;
27
+ };
28
+ thumb: {
29
+ container: string;
30
+ thumb: string;
31
+ };
32
+ numberField: NumberFieldClassNames;
33
+ output: {
34
+ container: string;
35
+ output: string;
36
+ };
37
+ group: GroupClassNames & {
38
+ numberField: NumberFieldClassNames;
39
+ };
40
+ }>;
41
+ type SliderLayout = 'stacked' | 'inline';
42
+ type SliderRenderProps = AsType<SliderRenderProps$1>;
43
+ type SliderThumbRenderProps = AsType<SliderThumbRenderProps$1>;
44
+ type SliderTrackRenderProps = AsType<SliderTrackRenderProps$1>;
45
+ type BaseSliderProps = {
46
+ children?: RenderPropsChildren<SliderRenderProps>;
47
+ classNames?: SliderClassNames;
48
+ layout?: SliderLayout;
49
+ minValue?: number;
50
+ maxValue?: number;
51
+ };
52
+ type SliderState = Omit<SliderRenderProps$1, 'state'> & Required<Pick<BaseSliderProps, 'layout'>>;
53
+ type SliderProps = Omit<SliderProps$1, 'children' | 'classname' | 'style'> & BaseSliderProps;
54
+ type SliderThumbProps = Omit<SliderThumbProps$1, 'className' | 'style'> & {
55
+ classNames?: SliderClassNames;
56
+ };
57
+ type SliderThumbState = Omit<SliderThumbRenderProps$1, 'state'>;
58
+ type SliderTrackProps = Omit<SliderTrackProps$1, 'className' | 'style'> & {
59
+ classNames?: SliderClassNames;
60
+ };
61
+ type SliderInputProps = Omit<NumberFieldProps, 'className' | 'style'> & {
62
+ classNames?: SliderClassNames;
63
+ };
64
+ type SliderOutputProps = Omit<SliderOutputProps$1, 'className' | 'style'> & {
65
+ classNames?: SliderClassNames;
66
+ };
67
+ type SliderBarProps = {
68
+ classNames?: SliderClassNames;
69
+ };
70
+
71
+ export type { SliderBarProps, SliderClassNames, SliderInputProps, SliderLayout, SliderOutputProps, SliderProps, SliderRenderProps, SliderState, SliderThumbProps, SliderThumbRenderProps, SliderThumbState, SliderTrackProps, SliderTrackRenderProps };
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -12,25 +12,26 @@ import '@react-types/shared';
12
12
  import 'react';
13
13
  import 'react-aria-components';
14
14
  import 'react/jsx-runtime';
15
+ import '../components/slider/types.js';
16
+ import 'type-fest';
17
+ import '../types/generic.js';
18
+ import '../types/react-aria.js';
19
+ import '../components/group/types.js';
20
+ import '../components/number-field/types.js';
15
21
  import '../components/button/types.js';
16
22
  import '../types/props.js';
17
- import '../types/react-aria.js';
18
23
  import '../components/icon/types.js';
24
+ import '../components/input/types.js';
19
25
  import '../components/checkbox/types.js';
20
- import 'type-fest';
21
26
  import '../components/chip/types.js';
22
- import '../types/generic.js';
23
27
  import '../components/combo-box/types.js';
24
- import '../components/input/types.js';
25
28
  import '../components/options/types.js';
26
29
  import '../components/dialog/types.js';
27
- import '../components/group/types.js';
28
30
  import '../components/drawer/types.js';
29
31
  import '@react-aria/overlays';
30
32
  import '@react-stately/overlays';
31
33
  import '../components/tabs/types.js';
32
34
  import '../components/menu/types.js';
33
- import '../components/number-field/types.js';
34
35
  import '../components/picker/types.js';
35
36
  import '../components/popover/types.js';
36
37
  import '../components/radio/types.js';
@@ -1,28 +1,29 @@
1
1
  export { DefaultsProvider, useDefaultProps, useDefaults } from './use-defaults.js';
2
2
  export { DefaultsContext, DefaultsProviderProps } from './types.js';
3
3
  import 'react/jsx-runtime';
4
- import '../../components/button/types.js';
4
+ import '../../components/slider/types.js';
5
5
  import 'react-aria-components';
6
- import '../../types/props.js';
6
+ import 'type-fest';
7
+ import '../../types/generic.js';
7
8
  import '../../types/react-aria.js';
8
9
  import 'react';
10
+ import '../../components/group/types.js';
11
+ import '@react-types/shared';
12
+ import '../../components/number-field/types.js';
13
+ import '../../components/button/types.js';
14
+ import '../../types/props.js';
9
15
  import '../../components/icon/types.js';
16
+ import '../../components/input/types.js';
10
17
  import '../../components/checkbox/types.js';
11
- import '@react-types/shared';
12
- import 'type-fest';
13
18
  import '../../components/chip/types.js';
14
- import '../../types/generic.js';
15
19
  import '../../components/combo-box/types.js';
16
- import '../../components/input/types.js';
17
20
  import '../../components/options/types.js';
18
21
  import '../../components/dialog/types.js';
19
- import '../../components/group/types.js';
20
22
  import '../../components/drawer/types.js';
21
23
  import '@react-aria/overlays';
22
24
  import '@react-stately/overlays';
23
25
  import '../../components/tabs/types.js';
24
26
  import '../../components/menu/types.js';
25
- import '../../components/number-field/types.js';
26
27
  import '../../components/picker/types.js';
27
28
  import '../../components/popover/types.js';
28
29
  import '../../components/radio/types.js';
@@ -15,6 +15,7 @@ import { PopoverProps } from '../../components/popover/types.js';
15
15
  import { RadioProps, RadioGroupProps } from '../../components/radio/types.js';
16
16
  import { SearchFieldProps } from '../../components/search-field/types.js';
17
17
  import { SelectProps } from '../../components/select/types.js';
18
+ import { SliderProps, SliderBarProps, SliderInputProps, SliderOutputProps, SliderThumbProps, SliderTrackProps } from '../../components/slider/types.js';
18
19
  import { SwitchProps } from '../../components/switch/types.js';
19
20
  import { TabProps, TabListProps, TabPanelProps, TabPanelsProps, TabsProps } from '../../components/tabs/types.js';
20
21
  import { TextFieldProps } from '../../components/text-field/types.js';
@@ -63,6 +64,12 @@ type DefaultsContext = DefaultsOf<{
63
64
  RadioGroup: RadioGroupProps;
64
65
  SearchField: SearchFieldProps;
65
66
  Select: SelectProps<object>;
67
+ Slider: SliderProps;
68
+ SliderBar: SliderBarProps;
69
+ SliderInput: SliderInputProps;
70
+ SliderOutput: SliderOutputProps;
71
+ SliderThumb: SliderThumbProps;
72
+ SliderTrack: SliderTrackProps;
66
73
  Switch: SwitchProps;
67
74
  Tab: TabProps;
68
75
  TabList: TabListProps<unknown>;