pelatform-ui 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/styles/style-lyra.css +16 -7
- package/css/styles/style-maia.css +15 -10
- package/css/styles/style-mira.css +16 -7
- package/css/styles/style-nova.css +11 -6
- package/css/styles/style-vega.css +11 -6
- package/css/theme.css +5 -0
- package/dist/animation.js +102 -287
- package/dist/badge-CnQznr5B.d.ts +16 -0
- package/dist/base.d.ts +111 -24
- package/dist/base.js +2176 -1254
- package/dist/button-Bc3N6jWT.d.ts +22 -0
- package/dist/chunk-4Z3DBWB6.js +193 -0
- package/dist/chunk-V3ET2B55.js +53 -0
- package/dist/chunk-Z4CHIWTI.js +863 -0
- package/dist/components.d.ts +1014 -2
- package/dist/components.js +930 -1
- package/dist/hooks.js +14 -59
- package/dist/index.d.ts +48 -1
- package/dist/radix.d.ts +125 -50
- package/dist/radix.js +2822 -2635
- package/package.json +12 -10
package/dist/hooks.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
useMetaColor
|
|
4
|
+
} from "./chunk-V3ET2B55.js";
|
|
2
5
|
import {
|
|
3
6
|
useIsMobile
|
|
4
7
|
} from "./chunk-NW6KWHKZ.js";
|
|
@@ -626,66 +629,18 @@ var useMenu = (pathname) => {
|
|
|
626
629
|
};
|
|
627
630
|
};
|
|
628
631
|
|
|
629
|
-
// src/hooks/use-meta-color.ts
|
|
630
|
-
import * as React3 from "react";
|
|
631
|
-
import { useTheme } from "next-themes";
|
|
632
|
-
import { META_THEME_COLORS, THEME_MODES } from "@pelatform/utils";
|
|
633
|
-
function useMetaColor(defaultColors) {
|
|
634
|
-
const { resolvedTheme } = useTheme();
|
|
635
|
-
const isSystemDarkMode = React3.useCallback(() => {
|
|
636
|
-
if (typeof window === "undefined") return false;
|
|
637
|
-
return window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
638
|
-
}, []);
|
|
639
|
-
const getEffectiveTheme = React3.useCallback(
|
|
640
|
-
(theme) => {
|
|
641
|
-
if (theme === THEME_MODES.SYSTEM) {
|
|
642
|
-
return isSystemDarkMode() ? THEME_MODES.DARK : THEME_MODES.LIGHT;
|
|
643
|
-
}
|
|
644
|
-
return theme;
|
|
645
|
-
},
|
|
646
|
-
[isSystemDarkMode]
|
|
647
|
-
);
|
|
648
|
-
const metaColor = React3.useMemo(() => {
|
|
649
|
-
const colorsToUse = defaultColors ?? META_THEME_COLORS;
|
|
650
|
-
const effectiveTheme = getEffectiveTheme(resolvedTheme);
|
|
651
|
-
if (effectiveTheme === THEME_MODES.DARK) {
|
|
652
|
-
return colorsToUse[THEME_MODES.DARK];
|
|
653
|
-
} else if (effectiveTheme === THEME_MODES.LIGHT) {
|
|
654
|
-
return colorsToUse[THEME_MODES.LIGHT];
|
|
655
|
-
}
|
|
656
|
-
return colorsToUse[THEME_MODES.LIGHT];
|
|
657
|
-
}, [resolvedTheme, defaultColors, getEffectiveTheme]);
|
|
658
|
-
const setMetaColor = React3.useCallback((color) => {
|
|
659
|
-
const metaTag = document.querySelector('meta[name="theme-color"]');
|
|
660
|
-
if (metaTag) {
|
|
661
|
-
metaTag.setAttribute("content", color);
|
|
662
|
-
} else {
|
|
663
|
-
const newMetaTag = document.createElement("meta");
|
|
664
|
-
newMetaTag.name = "theme-color";
|
|
665
|
-
newMetaTag.content = color;
|
|
666
|
-
document.head.appendChild(newMetaTag);
|
|
667
|
-
}
|
|
668
|
-
}, []);
|
|
669
|
-
return {
|
|
670
|
-
/** Current meta theme color based on resolved theme */
|
|
671
|
-
metaColor,
|
|
672
|
-
/** Function to manually set meta theme color */
|
|
673
|
-
setMetaColor
|
|
674
|
-
};
|
|
675
|
-
}
|
|
676
|
-
|
|
677
632
|
// src/hooks/use-mounted.ts
|
|
678
|
-
import * as
|
|
633
|
+
import * as React3 from "react";
|
|
679
634
|
function useMounted() {
|
|
680
|
-
const [mounted, setMounted] =
|
|
681
|
-
|
|
635
|
+
const [mounted, setMounted] = React3.useState(false);
|
|
636
|
+
React3.useEffect(() => {
|
|
682
637
|
setMounted(true);
|
|
683
638
|
}, []);
|
|
684
639
|
return mounted;
|
|
685
640
|
}
|
|
686
641
|
|
|
687
642
|
// src/hooks/use-mutation-observer.ts
|
|
688
|
-
import * as
|
|
643
|
+
import * as React4 from "react";
|
|
689
644
|
var DEFAULT_OPTIONS = {
|
|
690
645
|
/** Watch for attribute changes */
|
|
691
646
|
attributes: true,
|
|
@@ -697,7 +652,7 @@ var DEFAULT_OPTIONS = {
|
|
|
697
652
|
subtree: true
|
|
698
653
|
};
|
|
699
654
|
var useMutationObserver = (ref, callback, options = DEFAULT_OPTIONS) => {
|
|
700
|
-
|
|
655
|
+
React4.useEffect(() => {
|
|
701
656
|
if (ref.current) {
|
|
702
657
|
const observer = new MutationObserver(callback);
|
|
703
658
|
observer.observe(ref.current, options);
|
|
@@ -709,7 +664,7 @@ var useMutationObserver = (ref, callback, options = DEFAULT_OPTIONS) => {
|
|
|
709
664
|
};
|
|
710
665
|
|
|
711
666
|
// src/hooks/use-recaptcha-v2.ts
|
|
712
|
-
import { useCallback as
|
|
667
|
+
import { useCallback as useCallback4, useEffect as useEffect7, useRef as useRef3 } from "react";
|
|
713
668
|
var RECAPTCHA_SCRIPT_ID = "recaptcha-v2-script";
|
|
714
669
|
var scriptLoadPromise = null;
|
|
715
670
|
function loadRecaptchaScript() {
|
|
@@ -740,7 +695,7 @@ function useRecaptchaV2(siteKey) {
|
|
|
740
695
|
const containerRef = useRef3(null);
|
|
741
696
|
const isRendered = useRef3(false);
|
|
742
697
|
const isInitializing = useRef3(false);
|
|
743
|
-
const initializeRecaptcha =
|
|
698
|
+
const initializeRecaptcha = useCallback4(async () => {
|
|
744
699
|
if (isInitializing.current) return;
|
|
745
700
|
if (!containerRef.current || !siteKey) return;
|
|
746
701
|
isInitializing.current = true;
|
|
@@ -868,15 +823,15 @@ var useScrollPosition = ({ targetRef } = {}) => {
|
|
|
868
823
|
};
|
|
869
824
|
|
|
870
825
|
// src/hooks/use-slider-input.ts
|
|
871
|
-
import { useCallback as
|
|
826
|
+
import { useCallback as useCallback5, useState as useState8 } from "react";
|
|
872
827
|
function useSliderInput({ minValue, maxValue, initialValue }) {
|
|
873
828
|
const [sliderValues, setSliderValues] = useState8(initialValue);
|
|
874
829
|
const [inputValues, setInputValues] = useState8(initialValue);
|
|
875
|
-
const handleSliderChange =
|
|
830
|
+
const handleSliderChange = useCallback5((values) => {
|
|
876
831
|
setSliderValues(values);
|
|
877
832
|
setInputValues(values);
|
|
878
833
|
}, []);
|
|
879
|
-
const handleInputChange =
|
|
834
|
+
const handleInputChange = useCallback5(
|
|
880
835
|
(e, index) => {
|
|
881
836
|
const newValue = parseFloat(e.target.value);
|
|
882
837
|
if (!Number.isNaN(newValue)) {
|
|
@@ -887,7 +842,7 @@ function useSliderInput({ minValue, maxValue, initialValue }) {
|
|
|
887
842
|
},
|
|
888
843
|
[inputValues]
|
|
889
844
|
);
|
|
890
|
-
const validateAndUpdateValue =
|
|
845
|
+
const validateAndUpdateValue = useCallback5(
|
|
891
846
|
(value, index) => {
|
|
892
847
|
const updatedSlider = [...sliderValues];
|
|
893
848
|
if (index === 0) {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,49 @@
|
|
|
1
|
+
import { ComponentType, SVGProps, ComponentProps } from 'react';
|
|
2
|
+
import { B as Badge } from './badge-CnQznr5B.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
1
6
|
|
|
2
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Menu item interface
|
|
9
|
+
*/
|
|
10
|
+
interface MenuItem {
|
|
11
|
+
/** Heading text */
|
|
12
|
+
heading?: string;
|
|
13
|
+
/** Menu item title */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Navigation path */
|
|
16
|
+
path?: string;
|
|
17
|
+
/** Menu item icon component */
|
|
18
|
+
icon?: ComponentType<SVGProps<SVGSVGElement>>;
|
|
19
|
+
/** Whether to show separator */
|
|
20
|
+
separator?: boolean;
|
|
21
|
+
/** Root path for active state matching */
|
|
22
|
+
rootPath?: string;
|
|
23
|
+
/** Child menu items */
|
|
24
|
+
children?: MenuConfig;
|
|
25
|
+
/** Children index for nested items */
|
|
26
|
+
childrenIndex?: number;
|
|
27
|
+
/** Whether the item is external */
|
|
28
|
+
external?: boolean;
|
|
29
|
+
/** Whether the item is disabled */
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
/** Disable text */
|
|
32
|
+
disabledText?: string;
|
|
33
|
+
/** Badge text */
|
|
34
|
+
badge?: string;
|
|
35
|
+
/** Badge variant */
|
|
36
|
+
badgeVariant?: ComponentProps<typeof Badge>["variant"];
|
|
37
|
+
/** Collapse configuration */
|
|
38
|
+
collapse?: boolean;
|
|
39
|
+
/** Title when collapsed */
|
|
40
|
+
collapseTitle?: string;
|
|
41
|
+
/** Title when expanded */
|
|
42
|
+
expandTitle?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Type aliases for backward compatibility
|
|
46
|
+
*/
|
|
47
|
+
type MenuConfig = MenuItem[];
|
|
48
|
+
|
|
49
|
+
export type { MenuConfig, MenuItem };
|
package/dist/radix.d.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { HTMLAttributes, ReactNode, ReactElement,
|
|
4
|
-
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Avatar as Avatar$1, Separator as Separator$1, Checkbox as Checkbox$1, Collapsible as Collapsible$1, Dialog as Dialog$1, ContextMenu as ContextMenu$1, Direction, DropdownMenu as DropdownMenu$1, Label as Label$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1,
|
|
3
|
+
import React__default, { HTMLAttributes, ReactNode, ReactElement, ComponentProps, CSSProperties, RefObject, ButtonHTMLAttributes } from 'react';
|
|
4
|
+
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Avatar as Avatar$1, Separator as Separator$1, Checkbox as Checkbox$1, Collapsible as Collapsible$1, Dialog as Dialog$1, ContextMenu as ContextMenu$1, ScrollArea as ScrollArea$1, Direction, DropdownMenu as DropdownMenu$1, Label as Label$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Tooltip as Tooltip$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
|
|
5
|
+
import { B as Button } from './button-Bc3N6jWT.js';
|
|
6
|
+
export { A as Alert, a as AlertAction, b as AlertDescription, c as AlertTitle, d as buttonVariants } from './button-Bc3N6jWT.js';
|
|
5
7
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
|
-
import { VariantProps } from 'class-variance-authority';
|
|
7
8
|
import { Autocomplete as Autocomplete$1 } from '@base-ui/react/autocomplete';
|
|
9
|
+
import { VariantProps } from 'class-variance-authority';
|
|
10
|
+
export { B as Badge, a as BadgeProps, b as badgeVariants } from './badge-CnQznr5B.js';
|
|
8
11
|
import { DayPicker, DayButton, Locale } from 'react-day-picker';
|
|
9
12
|
import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
|
|
10
13
|
import * as RechartsPrimitive from 'recharts';
|
|
14
|
+
import { ValueType, NameType } from 'recharts/types/component/DefaultTooltipContent';
|
|
11
15
|
import { Combobox as Combobox$1 } from '@base-ui/react';
|
|
12
16
|
import { Command as Command$1 } from 'cmdk';
|
|
13
17
|
import { Column, Table as Table$1, Row, Cell, HeaderGroup, Header, RowData, SortingState, ColumnFiltersState } from '@tanstack/react-table';
|
|
14
18
|
import { DragEndEvent, UniqueIdentifier, Modifiers, DragOverlay, DragStartEvent } from '@dnd-kit/core';
|
|
19
|
+
import { VirtualizerOptions } from '@tanstack/react-virtual';
|
|
15
20
|
import { Drawer as Drawer$1 } from 'vaul';
|
|
16
21
|
import { OTPInput } from 'input-otp';
|
|
17
22
|
import { NumberField as NumberField$1 } from '@base-ui/react/number-field';
|
|
@@ -25,14 +30,6 @@ declare function AccordionItem({ className, ...props }: React.ComponentProps<typ
|
|
|
25
30
|
declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof Accordion$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
26
31
|
declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof Accordion$1.Content>): react_jsx_runtime.JSX.Element;
|
|
27
32
|
|
|
28
|
-
declare const buttonVariants: (props?: ({
|
|
29
|
-
variant?: "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
|
|
30
|
-
size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
31
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
32
|
-
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
33
|
-
asChild?: boolean;
|
|
34
|
-
}): react_jsx_runtime.JSX.Element;
|
|
35
|
-
|
|
36
33
|
declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialog$1.Root>): react_jsx_runtime.JSX.Element;
|
|
37
34
|
declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialog$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
38
35
|
declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialog$1.Portal>): react_jsx_runtime.JSX.Element;
|
|
@@ -48,14 +45,6 @@ declare function AlertDialogDescription({ className, ...props }: React.Component
|
|
|
48
45
|
declare function AlertDialogAction({ className, variant, size, ...props }: React.ComponentProps<typeof AlertDialog$1.Action> & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
|
|
49
46
|
declare function AlertDialogCancel({ className, variant, size, ...props }: React.ComponentProps<typeof AlertDialog$1.Cancel> & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
|
|
50
47
|
|
|
51
|
-
declare const alertVariants: (props?: ({
|
|
52
|
-
variant?: "default" | "destructive" | "info" | "success" | "warning" | "invert" | null | undefined;
|
|
53
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
54
|
-
declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
|
|
55
|
-
declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
56
|
-
declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
57
|
-
declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
58
|
-
|
|
59
48
|
declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatio$1.Root>): react_jsx_runtime.JSX.Element;
|
|
60
49
|
|
|
61
50
|
declare const inputVariants: (props?: ({
|
|
@@ -105,15 +94,6 @@ declare function AvatarBadge({ className, ...props }: React.ComponentProps<"span
|
|
|
105
94
|
declare function AvatarGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
106
95
|
declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
107
96
|
|
|
108
|
-
declare const badgeVariants: (props?: ({
|
|
109
|
-
variant?: "default" | "outline" | "secondary" | "destructive" | "info" | "success" | "warning" | "invert" | "focus" | "primary-light" | "warning-light" | "success-light" | "info-light" | "destructive-light" | "invert-light" | "focus-light" | "primary-outline" | "warning-outline" | "success-outline" | "info-outline" | "destructive-outline" | "invert-outline" | "focus-outline" | null | undefined;
|
|
110
|
-
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
111
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
112
|
-
interface BadgeProps extends React.ComponentProps<"span">, VariantProps<typeof badgeVariants> {
|
|
113
|
-
asChild?: boolean;
|
|
114
|
-
}
|
|
115
|
-
declare function Badge({ className, variant, size, asChild, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
116
|
-
|
|
117
97
|
declare function Breadcrumb({ className, ...props }: React.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
|
|
118
98
|
declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
|
|
119
99
|
declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
|
|
@@ -181,21 +161,23 @@ declare const THEMES: {
|
|
|
181
161
|
readonly light: "";
|
|
182
162
|
readonly dark: ".dark";
|
|
183
163
|
};
|
|
184
|
-
type ChartConfig = {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
};
|
|
196
|
-
declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
|
|
164
|
+
type ChartConfig = Record<string, {
|
|
165
|
+
label?: React.ReactNode;
|
|
166
|
+
icon?: React.ComponentType;
|
|
167
|
+
} & ({
|
|
168
|
+
color?: string;
|
|
169
|
+
theme?: never;
|
|
170
|
+
} | {
|
|
171
|
+
color?: never;
|
|
172
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
173
|
+
})>;
|
|
174
|
+
declare function ChartContainer({ id, className, children, config, initialDimension, ...props }: React.ComponentProps<"div"> & {
|
|
197
175
|
config: ChartConfig;
|
|
198
176
|
children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
|
|
177
|
+
initialDimension?: {
|
|
178
|
+
width: number;
|
|
179
|
+
height: number;
|
|
180
|
+
};
|
|
199
181
|
}): react_jsx_runtime.JSX.Element;
|
|
200
182
|
declare const ChartStyle: ({ id, config }: {
|
|
201
183
|
id: string;
|
|
@@ -208,12 +190,12 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
|
|
|
208
190
|
indicator?: "line" | "dot" | "dashed";
|
|
209
191
|
nameKey?: string;
|
|
210
192
|
labelKey?: string;
|
|
211
|
-
}): react_jsx_runtime.JSX.Element | null;
|
|
193
|
+
} & Omit<RechartsPrimitive.DefaultTooltipContentProps<ValueType, NameType>, "accessibilityLayer">): react_jsx_runtime.JSX.Element | null;
|
|
212
194
|
declare const ChartLegend: typeof RechartsPrimitive.Legend;
|
|
213
|
-
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> &
|
|
195
|
+
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & {
|
|
214
196
|
hideIcon?: boolean;
|
|
215
197
|
nameKey?: string;
|
|
216
|
-
}): react_jsx_runtime.JSX.Element | null;
|
|
198
|
+
} & RechartsPrimitive.DefaultLegendContentProps): react_jsx_runtime.JSX.Element | null;
|
|
217
199
|
|
|
218
200
|
declare function Checkbox({ className, ...props }: React.ComponentProps<typeof Checkbox$1.Root>): react_jsx_runtime.JSX.Element;
|
|
219
201
|
|
|
@@ -317,6 +299,7 @@ declare function DataGridColumnFilter<TData, TValue>({ column, title, options, }
|
|
|
317
299
|
|
|
318
300
|
interface DataGridColumnHeaderProps<TData, TValue> extends HTMLAttributes<HTMLDivElement> {
|
|
319
301
|
column: Column<TData, TValue>;
|
|
302
|
+
/** When omitted, uses `column.columnDef.meta.headerTitle`, then a string `columnDef.header`, then `column.id`. */
|
|
320
303
|
title?: string;
|
|
321
304
|
icon?: ReactNode;
|
|
322
305
|
pinnable?: boolean;
|
|
@@ -349,21 +332,69 @@ interface DataGridPaginationProps {
|
|
|
349
332
|
}
|
|
350
333
|
declare function DataGridPagination(props: DataGridPaginationProps): React__default.JSX.Element;
|
|
351
334
|
|
|
335
|
+
type DataGridScrollAreaOrientation = "horizontal" | "vertical" | "both";
|
|
336
|
+
type DataGridScrollAreaProps = Omit<ComponentProps<typeof ScrollArea$1.Root>, "children"> & {
|
|
337
|
+
children: ReactNode;
|
|
338
|
+
orientation?: DataGridScrollAreaOrientation;
|
|
339
|
+
};
|
|
340
|
+
declare function DataGridScrollArea({ children, className, orientation, ...props }: DataGridScrollAreaProps): react_jsx_runtime.JSX.Element;
|
|
341
|
+
|
|
352
342
|
declare function DataGridTableDndRowHandle({ className }: {
|
|
353
343
|
className?: string;
|
|
354
344
|
}): react_jsx_runtime.JSX.Element;
|
|
355
|
-
declare function DataGridTableDndRows<TData>({ handleDragEnd, dataIds, }: {
|
|
345
|
+
declare function DataGridTableDndRows<TData>({ handleDragEnd, dataIds, footerContent, }: {
|
|
356
346
|
handleDragEnd: (event: DragEndEvent) => void;
|
|
357
347
|
dataIds: UniqueIdentifier[];
|
|
348
|
+
footerContent?: ReactNode;
|
|
358
349
|
}): react_jsx_runtime.JSX.Element;
|
|
359
350
|
|
|
360
|
-
declare function DataGridTableDnd<TData>({ handleDragEnd, }: {
|
|
351
|
+
declare function DataGridTableDnd<TData>({ handleDragEnd, footerContent, }: {
|
|
361
352
|
handleDragEnd: (event: DragEndEvent) => void;
|
|
353
|
+
footerContent?: ReactNode;
|
|
362
354
|
}): react_jsx_runtime.JSX.Element;
|
|
363
355
|
|
|
356
|
+
type DataGridTableVirtualScrollElements = {
|
|
357
|
+
containerElement: HTMLDivElement | null;
|
|
358
|
+
scrollElement: HTMLElement | null;
|
|
359
|
+
};
|
|
360
|
+
type DataGridTableVirtualizerOptions<TData> = Omit<VirtualizerOptions<HTMLElement, HTMLTableRowElement>, "count" | "estimateSize" | "getItemKey" | "getScrollElement"> & {
|
|
361
|
+
estimateSize?: (index: number, row: Row<TData>) => number;
|
|
362
|
+
getItemKey?: (index: number, row: Row<TData>) => string | number;
|
|
363
|
+
getScrollElement?: (elements: DataGridTableVirtualScrollElements) => HTMLElement | null;
|
|
364
|
+
};
|
|
365
|
+
interface DataGridTableVirtualProps<TData> {
|
|
366
|
+
height?: number | string;
|
|
367
|
+
estimateSize?: number;
|
|
368
|
+
overscan?: number;
|
|
369
|
+
footerContent?: ReactNode;
|
|
370
|
+
renderHeader?: boolean;
|
|
371
|
+
onFetchMore?: () => void;
|
|
372
|
+
isFetchingMore?: boolean;
|
|
373
|
+
hasMore?: boolean;
|
|
374
|
+
fetchMoreOffset?: number;
|
|
375
|
+
virtualizerOptions?: DataGridTableVirtualizerOptions<TData>;
|
|
376
|
+
}
|
|
377
|
+
declare function DataGridTableVirtual<TData>({ height, estimateSize, overscan, footerContent, renderHeader, onFetchMore, isFetchingMore, hasMore, fetchMoreOffset, virtualizerOptions, }: DataGridTableVirtualProps<TData>): react_jsx_runtime.JSX.Element;
|
|
378
|
+
|
|
379
|
+
type DataGridTablePinnedBoundary = "top" | "bottom";
|
|
380
|
+
declare function getDataGridTableRowSections<TData>(table: Table$1<TData>, rowsPinnable?: boolean): {
|
|
381
|
+
topRows: Row<TData>[];
|
|
382
|
+
centerRows: Row<TData>[];
|
|
383
|
+
bottomRows: Row<TData>[];
|
|
384
|
+
};
|
|
385
|
+
declare function getDataGridTableResolvedRows<TData>(table: Table$1<TData>, rowsPinnable?: boolean): {
|
|
386
|
+
row: Row<TData>;
|
|
387
|
+
pinnedBoundary?: DataGridTablePinnedBoundary;
|
|
388
|
+
}[];
|
|
364
389
|
declare function DataGridTableBase({ children }: {
|
|
365
390
|
children: ReactNode;
|
|
366
391
|
}): react_jsx_runtime.JSX.Element;
|
|
392
|
+
declare function DataGridTableViewport({ children, className, viewportRef, style, }: {
|
|
393
|
+
children: ReactNode;
|
|
394
|
+
className?: string;
|
|
395
|
+
viewportRef?: React.Ref<HTMLDivElement>;
|
|
396
|
+
style?: CSSProperties;
|
|
397
|
+
}): react_jsx_runtime.JSX.Element;
|
|
367
398
|
declare function DataGridTableHead({ children }: {
|
|
368
399
|
children: ReactNode;
|
|
369
400
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -384,6 +415,17 @@ declare function DataGridTableRowSpacer(): react_jsx_runtime.JSX.Element;
|
|
|
384
415
|
declare function DataGridTableBody({ children }: {
|
|
385
416
|
children: ReactNode;
|
|
386
417
|
}): react_jsx_runtime.JSX.Element;
|
|
418
|
+
declare function DataGridTableFoot({ children }: {
|
|
419
|
+
children: ReactNode;
|
|
420
|
+
}): react_jsx_runtime.JSX.Element;
|
|
421
|
+
declare function DataGridTableFootRow({ children }: {
|
|
422
|
+
children: ReactNode;
|
|
423
|
+
}): react_jsx_runtime.JSX.Element;
|
|
424
|
+
declare function DataGridTableFootRowCell({ children, colSpan, className, }: {
|
|
425
|
+
children?: ReactNode;
|
|
426
|
+
colSpan?: number;
|
|
427
|
+
className?: string;
|
|
428
|
+
}): react_jsx_runtime.JSX.Element;
|
|
387
429
|
declare function DataGridTableBodyRowSkeleton({ children }: {
|
|
388
430
|
children: ReactNode;
|
|
389
431
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -391,9 +433,11 @@ declare function DataGridTableBodyRowSkeletonCell<TData>({ children, column, }:
|
|
|
391
433
|
children: ReactNode;
|
|
392
434
|
column: Column<TData>;
|
|
393
435
|
}): react_jsx_runtime.JSX.Element;
|
|
394
|
-
declare function DataGridTableBodyRow<TData>({ children, row, dndRef, dndStyle, }: {
|
|
436
|
+
declare function DataGridTableBodyRow<TData>({ children, row, pinnedBoundary, rowRef, dndRef, dndStyle, }: {
|
|
395
437
|
children: ReactNode;
|
|
396
438
|
row: Row<TData>;
|
|
439
|
+
pinnedBoundary?: DataGridTablePinnedBoundary;
|
|
440
|
+
rowRef?: React.Ref<HTMLTableRowElement>;
|
|
397
441
|
dndRef?: React.Ref<HTMLTableRowElement>;
|
|
398
442
|
dndStyle?: CSSProperties;
|
|
399
443
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -406,13 +450,25 @@ declare function DataGridTableBodyRowCell<TData>({ children, cell, dndRef, dndSt
|
|
|
406
450
|
dndRef?: React.Ref<HTMLTableCellElement>;
|
|
407
451
|
dndStyle?: CSSProperties;
|
|
408
452
|
}): react_jsx_runtime.JSX.Element;
|
|
453
|
+
declare function DataGridTableRenderedRow<TData>({ row, pinnedBoundary, rowRef, }: {
|
|
454
|
+
row: Row<TData>;
|
|
455
|
+
pinnedBoundary?: DataGridTablePinnedBoundary;
|
|
456
|
+
rowRef?: React.Ref<HTMLTableRowElement>;
|
|
457
|
+
}): react_jsx_runtime.JSX.Element;
|
|
409
458
|
declare function DataGridTableEmpty(): react_jsx_runtime.JSX.Element;
|
|
410
459
|
declare function DataGridTableLoader(): react_jsx_runtime.JSX.Element;
|
|
460
|
+
declare function DataGridTableRowPin<TData>({ row }: {
|
|
461
|
+
row: Row<TData>;
|
|
462
|
+
}): react_jsx_runtime.JSX.Element;
|
|
411
463
|
declare function DataGridTableRowSelect<TData>({ row }: {
|
|
412
464
|
row: Row<TData>;
|
|
413
465
|
}): react_jsx_runtime.JSX.Element;
|
|
414
466
|
declare function DataGridTableRowSelectAll(): react_jsx_runtime.JSX.Element;
|
|
415
|
-
declare function
|
|
467
|
+
declare function DataGridTableHeader<TData>(): react_jsx_runtime.JSX.Element;
|
|
468
|
+
declare function DataGridTable<TData>({ footerContent, renderHeader, }: {
|
|
469
|
+
footerContent?: ReactNode;
|
|
470
|
+
renderHeader?: boolean;
|
|
471
|
+
}): react_jsx_runtime.JSX.Element;
|
|
416
472
|
|
|
417
473
|
declare module "@tanstack/react-table" {
|
|
418
474
|
interface ColumnMeta<TData extends RowData, TValue> {
|
|
@@ -424,6 +480,8 @@ declare module "@tanstack/react-table" {
|
|
|
424
480
|
expandedContent?: (row: TData) => ReactNode;
|
|
425
481
|
}
|
|
426
482
|
}
|
|
483
|
+
/** Label for headers / column visibility: `meta.headerTitle`, string `columnDef.header`, or `column.id`. */
|
|
484
|
+
declare function getColumnHeaderLabel<TData, TValue>(column: Column<TData, TValue>): string;
|
|
427
485
|
type DataGridApiFetchParams = {
|
|
428
486
|
pageIndex: number;
|
|
429
487
|
pageSize: number;
|
|
@@ -460,6 +518,8 @@ interface DataGridProps<TData extends object> {
|
|
|
460
518
|
isLoading?: boolean;
|
|
461
519
|
loadingMode?: "skeleton" | "spinner";
|
|
462
520
|
loadingMessage?: ReactNode | string;
|
|
521
|
+
fetchingMoreMessage?: ReactNode | string;
|
|
522
|
+
allRowsLoadedMessage?: ReactNode | string;
|
|
463
523
|
emptyMessage?: ReactNode | string;
|
|
464
524
|
tableLayout?: {
|
|
465
525
|
dense?: boolean;
|
|
@@ -477,6 +537,7 @@ interface DataGridProps<TData extends object> {
|
|
|
477
537
|
columnsMovable?: boolean;
|
|
478
538
|
columnsDraggable?: boolean;
|
|
479
539
|
rowsDraggable?: boolean;
|
|
540
|
+
rowsPinnable?: boolean;
|
|
480
541
|
};
|
|
481
542
|
tableClassNames?: {
|
|
482
543
|
base?: string;
|
|
@@ -868,6 +929,18 @@ declare function Filters<T = unknown>({ filters, fields, onChange, className, va
|
|
|
868
929
|
declare const createFilter: <T = unknown>(field: string, operator?: string, values?: T[]) => Filter<T>;
|
|
869
930
|
declare const createFilterGroup: <T = unknown>(id: string, label: string, fields: FilterFieldConfig<T>[], initialFilters?: Filter<T>[]) => FilterGroup<T>;
|
|
870
931
|
|
|
932
|
+
/**
|
|
933
|
+
* CSS variable architecture for FramePanel theming:
|
|
934
|
+
*
|
|
935
|
+
* The Frame parent sets --frame-panel-bg and --frame-panel-border-color.
|
|
936
|
+
* FramePanel consumes them directly via bg-(--frame-panel-bg) and
|
|
937
|
+
* border-(--frame-panel-border-color). This means:
|
|
938
|
+
*
|
|
939
|
+
* - variant="inverse" overrides those vars on Frame → all panels pick it up
|
|
940
|
+
* - <FramePanel className="bg-blue-50"> adds a direct utility on the element
|
|
941
|
+
* which wins over bg-(--frame-panel-bg) by Tailwind source order — no
|
|
942
|
+
* :not() or !important needed
|
|
943
|
+
*/
|
|
871
944
|
declare const frameVariants: (props?: ({
|
|
872
945
|
variant?: "default" | "ghost" | "inverse" | null | undefined;
|
|
873
946
|
spacing?: "default" | "xs" | "sm" | "lg" | null | undefined;
|
|
@@ -875,7 +948,9 @@ declare const frameVariants: (props?: ({
|
|
|
875
948
|
dense?: boolean | null | undefined;
|
|
876
949
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
877
950
|
declare function Frame({ className, variant, spacing, stacked, dense, ...props }: React.ComponentProps<"div"> & VariantProps<typeof frameVariants>): react_jsx_runtime.JSX.Element;
|
|
878
|
-
declare function FramePanel({ className, ...props }: React.ComponentProps<"div">
|
|
951
|
+
declare function FramePanel({ className, fit, ...props }: React.ComponentProps<"div"> & {
|
|
952
|
+
fit?: boolean;
|
|
953
|
+
}): react_jsx_runtime.JSX.Element;
|
|
879
954
|
declare function FrameHeader({ className, ...props }: React.ComponentProps<"header">): react_jsx_runtime.JSX.Element;
|
|
880
955
|
declare function FrameTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
881
956
|
declare function FrameDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
@@ -1459,4 +1534,4 @@ interface TreeItemLabelProps<T = any> extends HTMLAttributes<HTMLSpanElement> {
|
|
|
1459
1534
|
declare function TreeItemLabel<T = any>({ item: propItem, children, className, asChild, ...props }: TreeItemLabelProps<T>): react_jsx_runtime.JSX.Element | null;
|
|
1460
1535
|
declare function TreeDragLine({ className, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element | null;
|
|
1461
1536
|
|
|
1462
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger,
|
|
1537
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ApplePayLogo, AspectRatio, Autocomplete, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteContent, type AutocompleteContentProps, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInput, AutocompleteItem, AutocompleteList, AutocompletePortal, AutocompletePositioner, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BtcchinaLogo, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, ClusterhqLogo, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type CustomRendererProps, DEFAULT_DATE_SELECTOR_I18N, DEFAULT_I18N, DEFAULT_OPERATORS, DataGrid, type DataGridApiFetchParams, type DataGridApiResponse, DataGridColumnFilter, type DataGridColumnFilterProps, DataGridColumnHeader, type DataGridColumnHeaderProps, DataGridColumnVisibility, DataGridContainer, type DataGridContextProps, DataGridPagination, type DataGridPaginationProps, type DataGridProps, DataGridProvider, type DataGridRequestParams, DataGridScrollArea, type DataGridScrollAreaOrientation, type DataGridScrollAreaProps, DataGridTable, DataGridTableBase, DataGridTableBody, DataGridTableBodyRow, DataGridTableBodyRowCell, DataGridTableBodyRowExpandded, DataGridTableBodyRowSkeleton, DataGridTableBodyRowSkeletonCell, DataGridTableDnd, DataGridTableDndRowHandle, DataGridTableDndRows, DataGridTableEmpty, DataGridTableFoot, DataGridTableFootRow, DataGridTableFootRowCell, DataGridTableHead, DataGridTableHeadRow, DataGridTableHeadRowCell, DataGridTableHeadRowCellResize, DataGridTableHeader, DataGridTableLoader, type DataGridTablePinnedBoundary, DataGridTableRenderedRow, DataGridTableRowPin, DataGridTableRowSelect, DataGridTableRowSelectAll, DataGridTableRowSpacer, DataGridTableViewport, DataGridTableVirtual, type DataGridTableVirtualProps, type DataGridTableVirtualScrollElements, type DataGridTableVirtualizerOptions, DateSelector, type DateSelectorContextValue, type DateSelectorFilterType, type DateSelectorI18nConfig, type DateSelectorPeriodType, type DateSelectorProps, type DateSelectorValue, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, type Filter, type FilterFieldConfig, type FilterFieldGroup, type FilterFieldsConfig, type FilterGroup, type FilterI18nConfig, type FilterOperator, type FilterOption, Filters, FiltersContent, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GooglePlayLogo, GoogleWebdevLogo, HoverCard, HoverCardContent, HoverCardTrigger, IdealLogo, InfernoLogo, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, JiraLogo, Kanban, KanbanBoard, type KanbanBoardProps, KanbanColumn, KanbanColumnContent, type KanbanColumnContentProps, KanbanColumnHandle, type KanbanColumnHandleProps, type KanbanColumnProps, KanbanItem, KanbanItemHandle, type KanbanItemHandleProps, type KanbanItemProps, type KanbanMoveEvent, KanbanOverlay, type KanbanOverlayProps, type KanbanRootProps, Kbd, KbdGroup, Label, MastercardLogo, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldScrubArea, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PatientoryLogo, PayPalLogo, PhoneInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, Rating, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Scrollspy, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Sortable, SortableItem, SortableItemHandle, type SortableItemHandleProps, type SortableItemProps, SortableOverlay, type SortableOverlayProps, type SortableRootProps, Spinner, Stepper, StepperContent, type StepperContentProps, StepperDescription, StepperIndicator, StepperItem, type StepperItemProps, StepperNav, StepperPanel, type StepperProps, StepperSeparator, StepperTitle, StepperTrigger, type StepperTriggerProps, StripeLogo, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Timeline, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tree, TreeDragLine, TreeItem, TreeItemLabel, buttonGroupVariants, createFilter, createFilterGroup, formatDateValue, frameVariants, getColumnHeaderLabel, getDataGridTableResolvedRows, getDataGridTableRowSections, navigationMenuTriggerStyle, tabsListVariants, toggleVariants, useCarousel, useComboboxAnchor, useDataGrid, useDateSelector, useDateSelectorContext, useDirection, useSidebar, useStepItem, useStepper };
|