@overdoser/react-toolkit 0.0.16 → 0.5.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.
Files changed (57) hide show
  1. package/AGENTS.md +53 -0
  2. package/CHANGELOG.md +226 -0
  3. package/README.md +102 -3
  4. package/components/Alert/Alert.d.ts +34 -0
  5. package/components/Alert/index.d.ts +2 -0
  6. package/components/Avatar/Avatar.d.ts +36 -0
  7. package/components/Avatar/index.d.ts +2 -0
  8. package/components/Badge/Badge.d.ts +25 -0
  9. package/components/Badge/index.d.ts +2 -0
  10. package/components/Breadcrumbs/Breadcrumbs.d.ts +44 -0
  11. package/components/Breadcrumbs/index.d.ts +2 -0
  12. package/components/Divider/Divider.d.ts +28 -0
  13. package/components/Divider/index.d.ts +2 -0
  14. package/components/Draggable/Draggable.d.ts +50 -0
  15. package/components/Draggable/index.d.ts +2 -0
  16. package/components/Drawer/Drawer.d.ts +65 -0
  17. package/components/Drawer/index.d.ts +2 -0
  18. package/components/Dropzone/Dropzone.d.ts +50 -0
  19. package/components/Dropzone/index.d.ts +2 -0
  20. package/components/Form/Form.d.ts +16 -1
  21. package/components/Form/FormField.d.ts +17 -2
  22. package/components/Form/formFieldDefaults.d.ts +9 -0
  23. package/components/Link/Link.d.ts +10 -0
  24. package/components/Pagination/Pagination.d.ts +48 -0
  25. package/components/Pagination/index.d.ts +4 -0
  26. package/components/Pagination/paginationRange.d.ts +8 -0
  27. package/components/Popover/Popover.d.ts +7 -0
  28. package/components/Skeleton/Skeleton.d.ts +28 -0
  29. package/components/Skeleton/index.d.ts +2 -0
  30. package/components/Spinner/Spinner.d.ts +29 -0
  31. package/components/Spinner/index.d.ts +2 -0
  32. package/components/Tabs/Tabs.d.ts +66 -0
  33. package/components/Tabs/index.d.ts +2 -0
  34. package/components/Timer/Timer.d.ts +103 -0
  35. package/components/Timer/index.d.ts +2 -0
  36. package/components/Toast/Toast.d.ts +82 -0
  37. package/components/Toast/index.d.ts +2 -0
  38. package/components/Toast/toastStore.d.ts +28 -0
  39. package/components/Tooltip/Tooltip.d.ts +38 -0
  40. package/components/Tooltip/index.d.ts +2 -0
  41. package/components/inputs/Checkbox/Checkbox.d.ts +11 -1
  42. package/components/inputs/Checkbox/CheckboxGroup.d.ts +83 -0
  43. package/components/inputs/Checkbox/index.d.ts +2 -0
  44. package/components/inputs/DatePicker/DatePicker.d.ts +58 -0
  45. package/components/inputs/DatePicker/dateUtils.d.ts +16 -0
  46. package/components/inputs/DatePicker/index.d.ts +2 -0
  47. package/components/inputs/NumberInput/NumberInput.d.ts +41 -0
  48. package/components/inputs/NumberInput/index.d.ts +2 -0
  49. package/components/inputs/Slider/Slider.d.ts +44 -0
  50. package/components/inputs/Slider/index.d.ts +2 -0
  51. package/index.css +1 -1
  52. package/index.d.ts +38 -2
  53. package/index.js +5047 -2698
  54. package/index.layered.css +5 -0
  55. package/llms.txt +331 -5
  56. package/manifest.json +2057 -289
  57. package/package.json +3 -2
@@ -0,0 +1,82 @@
1
+ import { ReactNode } from 'react';
2
+ export type ToastVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
3
+ export type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
4
+ export interface ToastClasses {
5
+ viewport: string;
6
+ toast: string;
7
+ icon: string;
8
+ content: string;
9
+ title: string;
10
+ description: string;
11
+ close: string;
12
+ }
13
+ export interface ToastOptions {
14
+ /** Bold heading line. */
15
+ title?: ReactNode;
16
+ /** Secondary line beneath the title. */
17
+ description?: ReactNode;
18
+ /** Color/semantics. @default 'neutral' */
19
+ variant?: ToastVariant;
20
+ /** Auto-dismiss delay in ms. `0` or `Infinity` keeps it until dismissed. Defaults to the provider's `duration`. */
21
+ duration?: number;
22
+ }
23
+ /** Callable toast trigger with `.dismiss` / `.dismissAll` helpers attached. */
24
+ export interface ToastFn {
25
+ /** Show a toast; returns its id. */
26
+ (options: ToastOptions): string;
27
+ /** Dismiss a specific toast by id. */
28
+ dismiss: (id: string) => void;
29
+ /** Dismiss every visible toast. */
30
+ dismissAll: () => void;
31
+ }
32
+ export interface ToastApi {
33
+ /** Show a toast; returns its id. */
34
+ toast: ToastFn;
35
+ /** Dismiss a specific toast by id. */
36
+ dismiss: (id: string) => void;
37
+ /** Dismiss every visible toast. */
38
+ dismissAll: () => void;
39
+ }
40
+ /**
41
+ * Show a toast from anywhere — no hook or context required, as long as a
42
+ * `<ToastProvider>` is mounted somewhere to render the queue. Returns the new
43
+ * toast's id. Also callable as `toast.dismiss(id)` and `toast.dismissAll()`.
44
+ *
45
+ * @example
46
+ * import { toast } from '@overdoser/react-toolkit';
47
+ * toast({ variant: 'success', title: 'Saved' });
48
+ * const id = toast({ title: 'Uploading…', duration: 0 });
49
+ * toast.dismiss(id);
50
+ */
51
+ export declare const toast: ToastFn;
52
+ /**
53
+ * Returns the same imperative API as the standalone {@link toast}, for callers
54
+ * who prefer a hook. Works anywhere — a `<ToastProvider>` only needs to be
55
+ * mounted somewhere to render the toasts.
56
+ *
57
+ * @example
58
+ * const { toast } = useToast();
59
+ * toast({ variant: 'success', title: 'Saved', description: 'All set.' });
60
+ */
61
+ export declare function useToast(): ToastApi;
62
+ export interface ToastProviderProps {
63
+ children: ReactNode;
64
+ /** Where toasts stack on screen. @default 'top-right' */
65
+ position?: ToastPosition;
66
+ /** Default auto-dismiss delay in ms. @default 5000 */
67
+ duration?: number;
68
+ /** Maximum simultaneously-visible toasts; older ones are dropped. @default 5 */
69
+ max?: number;
70
+ /** Override class names on internal elements. */
71
+ classes?: Partial<ToastClasses>;
72
+ }
73
+ /**
74
+ * Provides the toast queue and renders the viewport (portaled to `document.body`).
75
+ * Wrap your app once, then call {@link useToast} anywhere beneath it.
76
+ *
77
+ * @example
78
+ * <ToastProvider position="bottom-right">
79
+ * <App />
80
+ * </ToastProvider>
81
+ */
82
+ export declare function ToastProvider({ children, position, duration, max, classes, }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ToastProvider, useToast, toast } from './Toast';
2
+ export type { ToastProviderProps, ToastOptions, ToastApi, ToastFn, ToastClasses, ToastVariant, ToastPosition, } from './Toast';
@@ -0,0 +1,28 @@
1
+ import { ReactNode } from 'react';
2
+ import { ToastOptions, ToastVariant } from './Toast';
3
+ /** A live toast in the store. Resolved (`duration`) and renderable. */
4
+ export interface ToastRecord {
5
+ id: string;
6
+ variant: ToastVariant;
7
+ title?: ReactNode;
8
+ description?: ReactNode;
9
+ duration: number;
10
+ exiting: boolean;
11
+ }
12
+ declare let config: {
13
+ duration: number;
14
+ max: number;
15
+ };
16
+ export declare function subscribeToasts(listener: () => void): () => void;
17
+ export declare function getToasts(): ToastRecord[];
18
+ export declare function getServerToasts(): ToastRecord[];
19
+ /** A mounted provider sets the active defaults (duration/max). */
20
+ export declare function configureToasts(next: Partial<typeof config>): void;
21
+ /** Track provider lifecycle so we can warn when toasts fire with nothing rendering them. */
22
+ export declare function registerProvider(): () => void;
23
+ export declare function addToast(options: ToastOptions): string;
24
+ export declare function dismissToast(id: string): void;
25
+ export declare function dismissAllToasts(): void;
26
+ /** Test-only: wipe state and pending timers back to defaults. */
27
+ export declare function resetToastStore(): void;
28
+ export {};
@@ -0,0 +1,38 @@
1
+ import { ReactNode } from 'react';
2
+ export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
3
+ export interface TooltipClasses {
4
+ wrapper: string;
5
+ tooltip: string;
6
+ arrow: string;
7
+ }
8
+ export interface TooltipProps {
9
+ /** The tooltip text/content. If empty/nullish, the tooltip never shows. */
10
+ content: ReactNode;
11
+ /** The trigger element(s). Wrapped in an inline span that owns hover/focus. */
12
+ children: ReactNode;
13
+ /** Preferred side. Flips to the opposite side if it would overflow. @default 'top' */
14
+ placement?: TooltipPlacement;
15
+ /** Delay before showing, in ms. @default 300 */
16
+ delay?: number;
17
+ /** Delay before hiding, in ms. @default 0 */
18
+ closeDelay?: number;
19
+ /** Disable the tooltip entirely. @default false */
20
+ disabled?: boolean;
21
+ /** Hide the little arrow. @default false */
22
+ hideArrow?: boolean;
23
+ /** Override class names on internal elements. */
24
+ classes?: Partial<TooltipClasses>;
25
+ }
26
+ /**
27
+ * Lightweight text tooltip shown on hover/focus after a short delay. For rich,
28
+ * interactive, click-triggered content use `Popover` instead.
29
+ *
30
+ * @example
31
+ * <Tooltip content="Copy to clipboard">
32
+ * <button aria-label="Copy">⧉</button>
33
+ * </Tooltip>
34
+ */
35
+ export declare function Tooltip({ content, children, placement, delay, closeDelay, disabled, hideArrow, classes, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare namespace Tooltip {
37
+ var displayName: string;
38
+ }
@@ -0,0 +1,2 @@
1
+ export { Tooltip } from './Tooltip';
2
+ export type { TooltipProps, TooltipClasses, TooltipPlacement } from './Tooltip';
@@ -7,7 +7,13 @@ export interface CheckboxClasses {
7
7
  export interface CheckboxProps extends ComponentPropsWithRef<'input'> {
8
8
  /** Visible label rendered next to the box. */
9
9
  label?: ReactNode;
10
- /** Sets the DOM `indeterminate` property; visually distinct from checked/unchecked. @default false */
10
+ /**
11
+ * Visual style of the control. `'switch'` renders a sliding toggle instead of
12
+ * a box; the underlying `<input type="checkbox">` (and its a11y/form behavior)
13
+ * is identical. `indeterminate` only applies to `'checkbox'`. @default 'checkbox'
14
+ */
15
+ variant?: 'checkbox' | 'switch';
16
+ /** Sets the DOM `indeterminate` property; visually distinct from checked/unchecked. Ignored when `variant="switch"`. @default false */
11
17
  indeterminate?: boolean;
12
18
  /** Override class names on internal elements. */
13
19
  classes?: Partial<CheckboxClasses>;
@@ -22,5 +28,9 @@ export interface CheckboxProps extends ComponentPropsWithRef<'input'> {
22
28
  * checked={remember}
23
29
  * onChange={(e) => setRemember(e.target.checked)}
24
30
  * />
31
+ *
32
+ * @example
33
+ * // Toggle-switch style
34
+ * <Checkbox variant="switch" label="Notifications" defaultChecked />
25
35
  */
26
36
  export declare const Checkbox: import('react').ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,83 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export interface CheckboxGroupOption {
3
+ /** Value added to / removed from the selected array. */
4
+ value: string;
5
+ /** Visible label (checkbox row label, or chip body). */
6
+ label: ReactNode;
7
+ /** Non-interactive when true. */
8
+ disabled?: boolean;
9
+ }
10
+ export interface CheckboxGroupClasses {
11
+ group: string;
12
+ /** Each rendered option (a `Checkbox` row, or a chip button). */
13
+ option: string;
14
+ /** The chip button (only in `variant="chips"`). */
15
+ chip: string;
16
+ /** Applied to a chip when its value is selected. */
17
+ chipSelected: string;
18
+ }
19
+ export interface CheckboxGroupProps {
20
+ /** Selectable options. */
21
+ options: CheckboxGroupOption[];
22
+ /** Controlled array of selected values. @default [] */
23
+ value?: string[];
24
+ /** Fires with the next selected array whenever an option is toggled. */
25
+ onChange?: (values: string[]) => void;
26
+ /**
27
+ * Rendering style:
28
+ * - `'checkbox'` (default): a list of themed checkboxes.
29
+ * - `'chips'`: toggleable chips laid out one after another.
30
+ * @default 'checkbox'
31
+ */
32
+ variant?: 'checkbox' | 'chips';
33
+ /**
34
+ * Chip corner style (`variant="chips"` only):
35
+ * - `'pill'`: fully rounded (default).
36
+ * - `'rounded'`: medium radius.
37
+ * - `'square'`: small radius — more rectangular.
38
+ * @default 'pill'
39
+ */
40
+ chipShape?: 'pill' | 'rounded' | 'square';
41
+ /**
42
+ * Show a leading checkmark on selected chips (`variant="chips"` only). The
43
+ * chip's total width stays constant: when checked, the horizontal padding
44
+ * shrinks on both sides by exactly half the mark+gap width, so the freed
45
+ * space fits the mark and the centered content does not jump. @default true
46
+ */
47
+ chipCheckmark?: boolean;
48
+ /**
49
+ * Layout direction. `'horizontal'` wraps options onto multiple lines.
50
+ * Defaults to `'vertical'` for `checkbox` and `'horizontal'` for `chips`.
51
+ */
52
+ orientation?: 'vertical' | 'horizontal';
53
+ /** Disables every option. */
54
+ disabled?: boolean;
55
+ /** Apply error styling (e.g. when a required group is empty). @default false */
56
+ error?: boolean;
57
+ /** Shared `name` for the underlying checkboxes (checkbox variant). */
58
+ name?: string;
59
+ /** Override class names on internal elements. */
60
+ classes?: Partial<CheckboxGroupClasses>;
61
+ className?: string;
62
+ style?: CSSProperties;
63
+ id?: string;
64
+ /** Accessible label. Use this OR `aria-labelledby`. */
65
+ 'aria-label'?: string;
66
+ 'aria-labelledby'?: string;
67
+ 'aria-describedby'?: string;
68
+ 'aria-invalid'?: boolean | 'true' | 'false';
69
+ /** Marks the group as required (`aria-required`). */
70
+ required?: boolean;
71
+ }
72
+ /**
73
+ * Multi-value selection from a fixed set of options. Renders either a list of
74
+ * checkboxes (default) or a row of toggleable chips. Works standalone or inside
75
+ * a `<FormField>` (its `value: string[]` / `onChange(values)` bridge directly).
76
+ *
77
+ * @example Checkboxes:
78
+ * <CheckboxGroup options={topics} value={picked} onChange={setPicked} aria-label="Topics" />
79
+ *
80
+ * @example Chips:
81
+ * <CheckboxGroup variant="chips" options={tags} value={picked} onChange={setPicked} aria-label="Tags" />
82
+ */
83
+ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<CheckboxGroupProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,2 +1,4 @@
1
1
  export { Checkbox } from './Checkbox';
2
2
  export type { CheckboxProps, CheckboxClasses } from './Checkbox';
3
+ export { CheckboxGroup } from './CheckboxGroup';
4
+ export type { CheckboxGroupProps, CheckboxGroupClasses, CheckboxGroupOption, } from './CheckboxGroup';
@@ -0,0 +1,58 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface DatePickerClasses {
3
+ root: string;
4
+ input: string;
5
+ icon: string;
6
+ popover: string;
7
+ header: string;
8
+ nav: string;
9
+ grid: string;
10
+ day: string;
11
+ daySelected: string;
12
+ dayToday: string;
13
+ dayOutside: string;
14
+ }
15
+ export interface DatePickerProps {
16
+ /** Controlled selected date (`null` for empty). */
17
+ value?: Date | null;
18
+ /** Uncontrolled initial date. */
19
+ defaultValue?: Date | null;
20
+ /** Called with the newly selected date. */
21
+ onChange?: (date: Date | null) => void;
22
+ /** Earliest selectable date (inclusive). */
23
+ min?: Date;
24
+ /** Latest selectable date (inclusive). */
25
+ max?: Date;
26
+ /** Predicate to disable arbitrary days. */
27
+ disabledDate?: (date: Date) => boolean;
28
+ /** First day of the week (0 = Sunday). @default 0 */
29
+ weekStartsOn?: number;
30
+ /** BCP-47 locale for month/weekday names and default formatting. */
31
+ locale?: string;
32
+ /** Format the selected date for the input. Defaults to a localized medium date. */
33
+ format?: (date: Date) => string;
34
+ /** Placeholder when no date is selected. @default 'Select date' */
35
+ placeholder?: string;
36
+ /** Toolkit size scale. @default 'md' */
37
+ inputSize?: 'sm' | 'md' | 'lg';
38
+ /** Apply error styling. @default false */
39
+ error?: boolean;
40
+ /** Disable the field. @default false */
41
+ disabled?: boolean;
42
+ /** Render the calendar in a portal at `document.body` (escapes overflow). @default true */
43
+ portal?: boolean;
44
+ /** Override class names on internal elements. */
45
+ classes?: Partial<DatePickerClasses>;
46
+ className?: string;
47
+ style?: CSSProperties;
48
+ 'aria-label'?: string;
49
+ }
50
+ /**
51
+ * Date input with a pop-up calendar. Single date selection with full keyboard
52
+ * support (arrows move days, PageUp/Down change month, Enter selects, Esc
53
+ * closes). Binds inside `FormField` (`value: Date | null` / `onChange`).
54
+ *
55
+ * @example
56
+ * <DatePicker value={date} onChange={setDate} min={new Date()} />
57
+ */
58
+ export declare const DatePicker: import('react').ForwardRefExoticComponent<DatePickerProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,16 @@
1
+ /** Date helpers for the calendar. All operate on local time, day granularity. */
2
+ export declare function startOfDay(d: Date): Date;
3
+ export declare function isSameDay(a: Date | null | undefined, b: Date | null | undefined): boolean;
4
+ export declare function isSameMonth(a: Date, b: Date): boolean;
5
+ export declare function addDays(d: Date, n: number): Date;
6
+ export declare function addMonths(d: Date, n: number): Date;
7
+ export declare function startOfMonth(d: Date): Date;
8
+ /** ISO `YYYY-MM-DD` of the local date — stable key/identifier for a day. */
9
+ export declare function toISODate(d: Date): string;
10
+ /**
11
+ * The 6×7 grid of days covering the month of `viewDate`, starting each week on
12
+ * `weekStartsOn` (0 = Sunday). Always 42 cells so the calendar height is stable.
13
+ */
14
+ export declare function buildCalendarDays(viewDate: Date, weekStartsOn: number): Date[];
15
+ /** Short weekday labels ordered from `weekStartsOn`, localized. */
16
+ export declare function weekdayLabels(locale: string | undefined, weekStartsOn: number): string[];
@@ -0,0 +1,2 @@
1
+ export { DatePicker } from './DatePicker';
2
+ export type { DatePickerProps, DatePickerClasses } from './DatePicker';
@@ -0,0 +1,41 @@
1
+ import { ComponentPropsWithRef } from 'react';
2
+ export interface NumberInputClasses {
3
+ root: string;
4
+ input: string;
5
+ controls: string;
6
+ increment: string;
7
+ decrement: string;
8
+ }
9
+ export interface NumberInputProps extends Omit<ComponentPropsWithRef<'input'>, 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step' | 'prefix'> {
10
+ /** Controlled numeric value (`null` when empty). */
11
+ value?: number | null;
12
+ /** Uncontrolled initial value. */
13
+ defaultValue?: number | null;
14
+ /** Called with the parsed value (`null` when the field is empty). */
15
+ onChange?: (value: number | null) => void;
16
+ /** Minimum allowed value. */
17
+ min?: number;
18
+ /** Maximum allowed value. */
19
+ max?: number;
20
+ /** Increment/decrement step. @default 1 */
21
+ step?: number;
22
+ /** Decimal places to round to on commit. */
23
+ precision?: number;
24
+ /** Toolkit size scale. @default 'md' */
25
+ inputSize?: 'sm' | 'md' | 'lg';
26
+ /** Apply error styling. @default false */
27
+ error?: boolean;
28
+ /** Hide the stepper buttons. @default false */
29
+ hideControls?: boolean;
30
+ /** Override class names on internal elements. */
31
+ classes?: Partial<NumberInputClasses>;
32
+ }
33
+ /**
34
+ * Numeric input with stepper buttons, min/max clamping, and keyboard
35
+ * arrow-key stepping. Emits `onChange(value: number | null)`, so it binds
36
+ * directly inside `FormField`.
37
+ *
38
+ * @example
39
+ * <NumberInput value={qty} onChange={setQty} min={0} max={99} />
40
+ */
41
+ export declare const NumberInput: import('react').ForwardRefExoticComponent<Omit<NumberInputProps, "ref"> & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { NumberInput } from './NumberInput';
2
+ export type { NumberInputProps, NumberInputClasses } from './NumberInput';
@@ -0,0 +1,44 @@
1
+ import { CSSProperties } from 'react';
2
+ export type SliderValue = number | [number, number];
3
+ export interface SliderClasses {
4
+ root: string;
5
+ track: string;
6
+ range: string;
7
+ thumb: string;
8
+ }
9
+ export interface SliderProps {
10
+ /** Controlled value. A two-element tuple makes it a range slider. */
11
+ value?: SliderValue;
12
+ /** Uncontrolled initial value. @default 0 (or `[min, max]` shape if a tuple). */
13
+ defaultValue?: SliderValue;
14
+ /** Called with the new value during interaction. */
15
+ onChange?: (value: SliderValue) => void;
16
+ /** Called once when a drag/keyboard interaction settles (pointer up / key up). */
17
+ onChangeEnd?: (value: SliderValue) => void;
18
+ /** Minimum. @default 0 */
19
+ min?: number;
20
+ /** Maximum. @default 100 */
21
+ max?: number;
22
+ /** Step increment. @default 1 */
23
+ step?: number;
24
+ /** Disable interaction. @default false */
25
+ disabled?: boolean;
26
+ /** Accessible label for the thumb(s). */
27
+ 'aria-label'?: string;
28
+ 'aria-labelledby'?: string;
29
+ /** Format the value for `aria-valuetext`. */
30
+ formatValue?: (value: number) => string;
31
+ /** Override class names on internal elements. */
32
+ classes?: Partial<SliderClasses>;
33
+ className?: string;
34
+ style?: CSSProperties;
35
+ }
36
+ /**
37
+ * Range input slider — single thumb (number value) or dual thumb (tuple value).
38
+ * Supports pointer drag and keyboard (arrows, Home/End).
39
+ *
40
+ * @example
41
+ * <Slider value={vol} onChange={(v) => setVol(v as number)} aria-label="Volume" />
42
+ * <Slider value={range} onChange={(v) => setRange(v as [number, number])} aria-label="Price" />
43
+ */
44
+ export declare const Slider: import('react').ForwardRefExoticComponent<SliderProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Slider } from './Slider';
2
+ export type { SliderProps, SliderClasses, SliderValue } from './Slider';