jaci-ui 0.4.0 → 0.6.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/CHANGELOG.md +14 -0
- package/README.md +68 -0
- package/dist/components/command/command.cjs +55 -34
- package/dist/components/command/command.cjs.map +1 -1
- package/dist/components/command/command.d.cts +1 -0
- package/dist/components/command/command.d.ts +1 -0
- package/dist/components/command/command.js +55 -34
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-toolbar/data-toolbar.cjs +141 -0
- package/dist/components/data-toolbar/data-toolbar.cjs.map +1 -0
- package/dist/components/data-toolbar/data-toolbar.d.cts +50 -0
- package/dist/components/data-toolbar/data-toolbar.d.ts +50 -0
- package/dist/components/data-toolbar/data-toolbar.js +132 -0
- package/dist/components/data-toolbar/data-toolbar.js.map +1 -0
- package/dist/components/data-toolbar/index.d.cts +2 -0
- package/dist/components/data-toolbar/index.d.ts +2 -0
- package/dist/components/data-view/data-view.cjs +33 -1
- package/dist/components/data-view/data-view.cjs.map +1 -1
- package/dist/components/data-view/data-view.d.cts +12 -1
- package/dist/components/data-view/data-view.d.ts +12 -1
- package/dist/components/data-view/data-view.js +31 -2
- package/dist/components/data-view/data-view.js.map +1 -1
- package/dist/components/data-view/index.d.cts +2 -2
- package/dist/components/data-view/index.d.ts +2 -2
- package/dist/components/list/list.cjs +3 -1
- package/dist/components/list/list.cjs.map +1 -1
- package/dist/components/list/list.d.cts +3 -1
- package/dist/components/list/list.d.ts +3 -1
- package/dist/components/list/list.js +3 -1
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.cjs +3 -3
- package/dist/components/navigation-menu/navigation-menu.cjs.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +3 -3
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
- package/dist/components/pagination/index.d.cts +2 -2
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/pagination.cjs +122 -21
- package/dist/components/pagination/pagination.cjs.map +1 -1
- package/dist/components/pagination/pagination.d.cts +25 -13
- package/dist/components/pagination/pagination.d.ts +25 -13
- package/dist/components/pagination/pagination.js +122 -23
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/sidebar/sidebar.cjs +59 -11
- package/dist/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/sidebar/sidebar.d.cts +13 -0
- package/dist/components/sidebar/sidebar.d.ts +13 -0
- package/dist/components/sidebar/sidebar.js +59 -13
- package/dist/components/sidebar/sidebar.js.map +1 -1
- package/dist/components/stepper/index.d.cts +2 -0
- package/dist/components/stepper/index.d.ts +2 -0
- package/dist/components/stepper/stepper.cjs +341 -0
- package/dist/components/stepper/stepper.cjs.map +1 -0
- package/dist/components/stepper/stepper.d.cts +52 -0
- package/dist/components/stepper/stepper.d.ts +52 -0
- package/dist/components/stepper/stepper.js +330 -0
- package/dist/components/stepper/stepper.js.map +1 -0
- package/dist/components/table/index.d.cts +2 -2
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/table.cjs +265 -46
- package/dist/components/table/table.cjs.map +1 -1
- package/dist/components/table/table.d.cts +41 -8
- package/dist/components/table/table.d.ts +41 -8
- package/dist/components/table/table.js +264 -48
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/toast/toast.cjs +3 -1
- package/dist/components/toast/toast.cjs.map +1 -1
- package/dist/components/toast/toast.js +3 -1
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/tree-view/index.d.cts +2 -2
- package/dist/components/tree-view/index.d.ts +2 -2
- package/dist/components/tree-view/tree-view.cjs +60 -3
- package/dist/components/tree-view/tree-view.cjs.map +1 -1
- package/dist/components/tree-view/tree-view.d.cts +12 -1
- package/dist/components/tree-view/tree-view.d.ts +12 -1
- package/dist/components/tree-view/tree-view.js +58 -4
- package/dist/components/tree-view/tree-view.js.map +1 -1
- package/dist/index.cjs +35 -0
- package/dist/index.d.cts +9 -5
- package/dist/index.d.ts +9 -5
- package/dist/index.js +7 -5
- package/dist/styled-system/recipes/data-toolbar.cjs +40 -0
- package/dist/styled-system/recipes/data-toolbar.cjs.map +1 -0
- package/dist/styled-system/recipes/data-toolbar.js +40 -0
- package/dist/styled-system/recipes/data-toolbar.js.map +1 -0
- package/dist/styled-system/recipes/data-view.cjs +3 -0
- package/dist/styled-system/recipes/data-view.cjs.map +1 -1
- package/dist/styled-system/recipes/data-view.js +3 -0
- package/dist/styled-system/recipes/data-view.js.map +1 -1
- package/dist/styled-system/recipes/list.cjs +7 -1
- package/dist/styled-system/recipes/list.cjs.map +1 -1
- package/dist/styled-system/recipes/list.js +7 -1
- package/dist/styled-system/recipes/list.js.map +1 -1
- package/dist/styled-system/recipes/pagination.cjs +9 -1
- package/dist/styled-system/recipes/pagination.cjs.map +1 -1
- package/dist/styled-system/recipes/pagination.js +9 -1
- package/dist/styled-system/recipes/pagination.js.map +1 -1
- package/dist/styled-system/recipes/sidebar.cjs +3 -0
- package/dist/styled-system/recipes/sidebar.cjs.map +1 -1
- package/dist/styled-system/recipes/sidebar.js +3 -0
- package/dist/styled-system/recipes/sidebar.js.map +1 -1
- package/dist/styled-system/recipes/stepper.cjs +53 -0
- package/dist/styled-system/recipes/stepper.cjs.map +1 -0
- package/dist/styled-system/recipes/stepper.js +53 -0
- package/dist/styled-system/recipes/stepper.js.map +1 -0
- package/dist/styled-system/recipes/table.cjs +15 -2
- package/dist/styled-system/recipes/table.cjs.map +1 -1
- package/dist/styled-system/recipes/table.js +15 -2
- package/dist/styled-system/recipes/table.js.map +1 -1
- package/dist/styled-system/recipes/tree-view.cjs +4 -1
- package/dist/styled-system/recipes/tree-view.cjs.map +1 -1
- package/dist/styled-system/recipes/tree-view.js +4 -1
- package/dist/styled-system/recipes/tree-view.js.map +1 -1
- package/dist/styles.css +602 -18
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
//#region src/components/stepper/stepper.d.ts
|
|
3
|
+
type StepperOrientation = "horizontal" | "vertical";
|
|
4
|
+
type StepperStatus = "current" | "complete" | "upcoming" | "disabled";
|
|
5
|
+
interface StepperRootProps extends Omit<ComponentPropsWithoutRef<"nav">, "children"> {
|
|
6
|
+
value?: string;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
onValueChange?: (value: string) => void;
|
|
9
|
+
orientation?: StepperOrientation;
|
|
10
|
+
linear?: boolean;
|
|
11
|
+
allowStepSelect?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
name?: string;
|
|
14
|
+
form?: string;
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
declare const StepperRoot: import("react").ForwardRefExoticComponent<StepperRootProps & import("react").RefAttributes<HTMLElement>>;
|
|
18
|
+
declare const StepperList: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & import("react").RefAttributes<HTMLOListElement>>;
|
|
19
|
+
interface StepperItemProps extends ComponentPropsWithoutRef<"li"> {
|
|
20
|
+
value: string;
|
|
21
|
+
status?: StepperStatus;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const StepperItem: import("react").ForwardRefExoticComponent<StepperItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
25
|
+
type StepperTriggerProps = ComponentPropsWithoutRef<"button">;
|
|
26
|
+
declare const StepperTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
27
|
+
declare const StepperIndicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
28
|
+
declare const StepperTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
29
|
+
declare const StepperDescription: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
30
|
+
declare const StepperContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
declare const StepperSeparator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
32
|
+
interface StepperNavigationButtonProps extends ComponentPropsWithoutRef<"button"> {
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
}
|
|
35
|
+
declare const StepperPrevious: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
36
|
+
declare const StepperNext: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
37
|
+
declare const Stepper: {
|
|
38
|
+
Root: import("react").ForwardRefExoticComponent<StepperRootProps & import("react").RefAttributes<HTMLElement>>;
|
|
39
|
+
List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & import("react").RefAttributes<HTMLOListElement>>;
|
|
40
|
+
Item: import("react").ForwardRefExoticComponent<StepperItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
41
|
+
Trigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
42
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
43
|
+
Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
44
|
+
Description: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
45
|
+
Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
46
|
+
Separator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
47
|
+
Previous: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
48
|
+
Next: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Stepper, StepperContent, StepperDescription, StepperIndicator, StepperItem, StepperItemProps, StepperList, StepperNavigationButtonProps, StepperNext, StepperOrientation, StepperPrevious, StepperRoot, StepperRootProps, StepperSeparator, StepperStatus, StepperTitle, StepperTrigger, StepperTriggerProps };
|
|
52
|
+
//# sourceMappingURL=stepper.d.cts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
//#region src/components/stepper/stepper.d.ts
|
|
3
|
+
type StepperOrientation = "horizontal" | "vertical";
|
|
4
|
+
type StepperStatus = "current" | "complete" | "upcoming" | "disabled";
|
|
5
|
+
interface StepperRootProps extends Omit<ComponentPropsWithoutRef<"nav">, "children"> {
|
|
6
|
+
value?: string;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
onValueChange?: (value: string) => void;
|
|
9
|
+
orientation?: StepperOrientation;
|
|
10
|
+
linear?: boolean;
|
|
11
|
+
allowStepSelect?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
name?: string;
|
|
14
|
+
form?: string;
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
declare const StepperRoot: import("react").ForwardRefExoticComponent<StepperRootProps & import("react").RefAttributes<HTMLElement>>;
|
|
18
|
+
declare const StepperList: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & import("react").RefAttributes<HTMLOListElement>>;
|
|
19
|
+
interface StepperItemProps extends ComponentPropsWithoutRef<"li"> {
|
|
20
|
+
value: string;
|
|
21
|
+
status?: StepperStatus;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const StepperItem: import("react").ForwardRefExoticComponent<StepperItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
25
|
+
type StepperTriggerProps = ComponentPropsWithoutRef<"button">;
|
|
26
|
+
declare const StepperTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
27
|
+
declare const StepperIndicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
28
|
+
declare const StepperTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
29
|
+
declare const StepperDescription: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
30
|
+
declare const StepperContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
declare const StepperSeparator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
32
|
+
interface StepperNavigationButtonProps extends ComponentPropsWithoutRef<"button"> {
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
}
|
|
35
|
+
declare const StepperPrevious: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
36
|
+
declare const StepperNext: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
37
|
+
declare const Stepper: {
|
|
38
|
+
Root: import("react").ForwardRefExoticComponent<StepperRootProps & import("react").RefAttributes<HTMLElement>>;
|
|
39
|
+
List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & import("react").RefAttributes<HTMLOListElement>>;
|
|
40
|
+
Item: import("react").ForwardRefExoticComponent<StepperItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
41
|
+
Trigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
42
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
43
|
+
Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
44
|
+
Description: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
45
|
+
Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
46
|
+
Separator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
47
|
+
Previous: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
48
|
+
Next: import("react").ForwardRefExoticComponent<StepperNavigationButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
49
|
+
};
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Stepper, StepperContent, StepperDescription, StepperIndicator, StepperItem, StepperItemProps, StepperList, StepperNavigationButtonProps, StepperNext, StepperOrientation, StepperPrevious, StepperRoot, StepperRootProps, StepperSeparator, StepperStatus, StepperTitle, StepperTrigger, StepperTriggerProps };
|
|
52
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx } from "../../styled-system/css/cx.js";
|
|
3
|
+
import { stepper } from "../../styled-system/recipes/stepper.js";
|
|
4
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/stepper/stepper.tsx
|
|
7
|
+
const StepperContext = createContext(null);
|
|
8
|
+
const StepperItemContext = createContext(null);
|
|
9
|
+
function useStepperContext() {
|
|
10
|
+
const context = useContext(StepperContext);
|
|
11
|
+
if (!context) throw new Error("Stepper parts must be rendered inside Stepper.Root.");
|
|
12
|
+
return context;
|
|
13
|
+
}
|
|
14
|
+
function useStepperItemContext() {
|
|
15
|
+
const context = useContext(StepperItemContext);
|
|
16
|
+
if (!context) throw new Error("This Stepper part must be rendered inside Stepper.Item.");
|
|
17
|
+
return context;
|
|
18
|
+
}
|
|
19
|
+
const StepperRoot = forwardRef(function StepperRoot({ allowStepSelect = true, "aria-label": ariaLabel, children, className, defaultValue, disabled = false, form, linear = false, name, onValueChange, orientation = "horizontal", value: controlledValue, ...props }, ref) {
|
|
20
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
|
|
21
|
+
const [records, setRecords] = useState([]);
|
|
22
|
+
const activeValue = controlledValue ?? uncontrolledValue ?? records[0]?.value;
|
|
23
|
+
const register = useCallback((record) => {
|
|
24
|
+
setRecords((current) => {
|
|
25
|
+
const index = current.findIndex((item) => item.value === record.value);
|
|
26
|
+
if (index === -1) return [...current, record];
|
|
27
|
+
const currentRecord = current[index];
|
|
28
|
+
if (!currentRecord) return current;
|
|
29
|
+
if (currentRecord.disabled === record.disabled && currentRecord.status === record.status) return current;
|
|
30
|
+
const next = current.slice();
|
|
31
|
+
next[index] = record;
|
|
32
|
+
return next;
|
|
33
|
+
});
|
|
34
|
+
}, []);
|
|
35
|
+
const unregister = useCallback((valueToRemove) => {
|
|
36
|
+
setRecords((current) => current.filter((item) => item.value !== valueToRemove));
|
|
37
|
+
}, []);
|
|
38
|
+
const goTo = useCallback((nextValue, options) => {
|
|
39
|
+
if (disabled) return;
|
|
40
|
+
const targetIndex = records.findIndex((item) => item.value === nextValue);
|
|
41
|
+
const activeIndex = records.findIndex((item) => item.value === activeValue);
|
|
42
|
+
const target = records[targetIndex];
|
|
43
|
+
if (!target || target.disabled) return;
|
|
44
|
+
if (nextValue === activeValue) return;
|
|
45
|
+
if (!allowStepSelect && !options?.fromNavigation && nextValue !== activeValue) return;
|
|
46
|
+
if (linear && activeIndex >= 0 && targetIndex > activeIndex + 1) return;
|
|
47
|
+
if (controlledValue === void 0) setUncontrolledValue(nextValue);
|
|
48
|
+
onValueChange?.(nextValue);
|
|
49
|
+
}, [
|
|
50
|
+
activeValue,
|
|
51
|
+
allowStepSelect,
|
|
52
|
+
controlledValue,
|
|
53
|
+
disabled,
|
|
54
|
+
linear,
|
|
55
|
+
onValueChange,
|
|
56
|
+
records
|
|
57
|
+
]);
|
|
58
|
+
const move = useCallback((direction) => {
|
|
59
|
+
let index = records.findIndex((item) => item.value === activeValue) + direction;
|
|
60
|
+
while (index >= 0 && index < records.length && records[index]?.disabled) index += direction;
|
|
61
|
+
const target = records[index];
|
|
62
|
+
if (target) goTo(target.value, { fromNavigation: true });
|
|
63
|
+
}, [
|
|
64
|
+
activeValue,
|
|
65
|
+
goTo,
|
|
66
|
+
records
|
|
67
|
+
]);
|
|
68
|
+
const moveToBoundary = useCallback((direction) => {
|
|
69
|
+
const target = (direction === -1 ? records : records.slice().reverse()).find((record) => !record.disabled);
|
|
70
|
+
if (target) goTo(target.value, { fromNavigation: true });
|
|
71
|
+
}, [goTo, records]);
|
|
72
|
+
const getStatus = useCallback((itemValue, explicitStatus, itemDisabled = false) => {
|
|
73
|
+
if (itemDisabled || disabled) return "disabled";
|
|
74
|
+
if (explicitStatus) return explicitStatus;
|
|
75
|
+
const itemIndex = records.findIndex((item) => item.value === itemValue);
|
|
76
|
+
const activeIndex = records.findIndex((item) => item.value === activeValue);
|
|
77
|
+
if (itemValue === activeValue || activeIndex < 0 && itemIndex === 0) return "current";
|
|
78
|
+
if (itemIndex >= 0 && activeIndex >= 0 && itemIndex < activeIndex) return "complete";
|
|
79
|
+
return "upcoming";
|
|
80
|
+
}, [
|
|
81
|
+
activeValue,
|
|
82
|
+
disabled,
|
|
83
|
+
records
|
|
84
|
+
]);
|
|
85
|
+
const context = useMemo(() => ({
|
|
86
|
+
activeValue,
|
|
87
|
+
allowStepSelect,
|
|
88
|
+
disabled,
|
|
89
|
+
getStatus,
|
|
90
|
+
goTo,
|
|
91
|
+
linear,
|
|
92
|
+
move,
|
|
93
|
+
moveToBoundary,
|
|
94
|
+
orientation,
|
|
95
|
+
register,
|
|
96
|
+
unregister
|
|
97
|
+
}), [
|
|
98
|
+
activeValue,
|
|
99
|
+
allowStepSelect,
|
|
100
|
+
disabled,
|
|
101
|
+
getStatus,
|
|
102
|
+
goTo,
|
|
103
|
+
linear,
|
|
104
|
+
move,
|
|
105
|
+
moveToBoundary,
|
|
106
|
+
orientation,
|
|
107
|
+
register,
|
|
108
|
+
unregister
|
|
109
|
+
]);
|
|
110
|
+
return /* @__PURE__ */ jsx(StepperContext.Provider, {
|
|
111
|
+
value: context,
|
|
112
|
+
children: /* @__PURE__ */ jsxs("nav", {
|
|
113
|
+
...props,
|
|
114
|
+
"aria-label": ariaLabel ?? "Progress",
|
|
115
|
+
className: cx(stepper({ orientation }).root, className),
|
|
116
|
+
"data-jaci-component": "stepper",
|
|
117
|
+
"data-orientation": orientation,
|
|
118
|
+
"data-slot": "stepper",
|
|
119
|
+
"data-state": disabled ? "disabled" : "active",
|
|
120
|
+
ref,
|
|
121
|
+
children: [children, name ? /* @__PURE__ */ jsx("input", {
|
|
122
|
+
"aria-hidden": "true",
|
|
123
|
+
name,
|
|
124
|
+
type: "hidden",
|
|
125
|
+
value: activeValue ?? "",
|
|
126
|
+
form
|
|
127
|
+
}) : null]
|
|
128
|
+
})
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const StepperList = forwardRef(function StepperList({ className, ...props }, ref) {
|
|
132
|
+
const { orientation } = useStepperContext();
|
|
133
|
+
return /* @__PURE__ */ jsx("ol", {
|
|
134
|
+
...props,
|
|
135
|
+
className: cx(stepper({ orientation }).list, className),
|
|
136
|
+
"data-slot": "stepper-list",
|
|
137
|
+
ref
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
const StepperItem = forwardRef(function StepperItem({ children, className, disabled = false, status, value, ...props }, ref) {
|
|
141
|
+
const context = useStepperContext();
|
|
142
|
+
const resolvedStatus = context.getStatus(value, status, disabled);
|
|
143
|
+
useEffect(() => {
|
|
144
|
+
const record = {
|
|
145
|
+
disabled: disabled || status === "disabled",
|
|
146
|
+
value
|
|
147
|
+
};
|
|
148
|
+
if (status !== void 0) record.status = status;
|
|
149
|
+
context.register(record);
|
|
150
|
+
return () => context.unregister(value);
|
|
151
|
+
}, [
|
|
152
|
+
context.register,
|
|
153
|
+
context.unregister,
|
|
154
|
+
disabled,
|
|
155
|
+
status,
|
|
156
|
+
value
|
|
157
|
+
]);
|
|
158
|
+
const itemContext = useMemo(() => ({
|
|
159
|
+
disabled: disabled || context.disabled || resolvedStatus === "disabled",
|
|
160
|
+
status: resolvedStatus,
|
|
161
|
+
value
|
|
162
|
+
}), [
|
|
163
|
+
context.disabled,
|
|
164
|
+
disabled,
|
|
165
|
+
resolvedStatus,
|
|
166
|
+
value
|
|
167
|
+
]);
|
|
168
|
+
const styles = stepper({
|
|
169
|
+
orientation: context.orientation,
|
|
170
|
+
status: resolvedStatus
|
|
171
|
+
});
|
|
172
|
+
return /* @__PURE__ */ jsx(StepperItemContext.Provider, {
|
|
173
|
+
value: itemContext,
|
|
174
|
+
children: /* @__PURE__ */ jsx("li", {
|
|
175
|
+
...props,
|
|
176
|
+
"aria-disabled": itemContext.disabled || void 0,
|
|
177
|
+
className: cx(styles.item, className),
|
|
178
|
+
"data-disabled": itemContext.disabled || void 0,
|
|
179
|
+
"data-jaci-component": "stepper-item",
|
|
180
|
+
"data-slot": "stepper-item",
|
|
181
|
+
"data-status": resolvedStatus,
|
|
182
|
+
"data-value": value,
|
|
183
|
+
ref,
|
|
184
|
+
children
|
|
185
|
+
})
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
const StepperTrigger = forwardRef(function StepperTrigger({ className, onClick, onKeyDown, type = "button", ...props }, ref) {
|
|
189
|
+
const context = useStepperContext();
|
|
190
|
+
const item = useStepperItemContext();
|
|
191
|
+
const styles = stepper({
|
|
192
|
+
orientation: context.orientation,
|
|
193
|
+
status: item.status
|
|
194
|
+
});
|
|
195
|
+
return /* @__PURE__ */ jsx("button", {
|
|
196
|
+
...props,
|
|
197
|
+
"aria-current": item.status === "current" ? "step" : void 0,
|
|
198
|
+
"aria-disabled": item.disabled || !context.allowStepSelect && item.status !== "current" || void 0,
|
|
199
|
+
className: cx(styles.trigger, className),
|
|
200
|
+
"data-disabled": item.disabled || void 0,
|
|
201
|
+
"data-slot": "stepper-trigger",
|
|
202
|
+
"data-status": item.status,
|
|
203
|
+
disabled: context.disabled || item.disabled,
|
|
204
|
+
onClick: (event) => {
|
|
205
|
+
if (!event.defaultPrevented) context.goTo(item.value);
|
|
206
|
+
onClick?.(event);
|
|
207
|
+
},
|
|
208
|
+
onKeyDown: (event) => {
|
|
209
|
+
const isForwardKey = context.orientation === "horizontal" && event.key === "ArrowRight" || context.orientation === "vertical" && event.key === "ArrowDown";
|
|
210
|
+
const isBackwardKey = context.orientation === "horizontal" && event.key === "ArrowLeft" || context.orientation === "vertical" && event.key === "ArrowUp";
|
|
211
|
+
if (isForwardKey) {
|
|
212
|
+
event.preventDefault();
|
|
213
|
+
context.move(1);
|
|
214
|
+
} else if (isBackwardKey) {
|
|
215
|
+
event.preventDefault();
|
|
216
|
+
context.move(-1);
|
|
217
|
+
} else if (event.key === "Home") {
|
|
218
|
+
event.preventDefault();
|
|
219
|
+
context.moveToBoundary(-1);
|
|
220
|
+
} else if (event.key === "End") {
|
|
221
|
+
event.preventDefault();
|
|
222
|
+
context.moveToBoundary(1);
|
|
223
|
+
}
|
|
224
|
+
onKeyDown?.(event);
|
|
225
|
+
},
|
|
226
|
+
ref,
|
|
227
|
+
type
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
const StepperIndicator = forwardRef(function StepperIndicator({ children, className, ...props }, ref) {
|
|
231
|
+
const { orientation } = useStepperContext();
|
|
232
|
+
const item = useStepperItemContext();
|
|
233
|
+
const styles = stepper({
|
|
234
|
+
orientation,
|
|
235
|
+
status: item.status
|
|
236
|
+
});
|
|
237
|
+
return /* @__PURE__ */ jsx("span", {
|
|
238
|
+
...props,
|
|
239
|
+
"aria-hidden": props["aria-hidden"] ?? true,
|
|
240
|
+
className: cx(styles.indicator, className),
|
|
241
|
+
"data-slot": "stepper-indicator",
|
|
242
|
+
"data-status": item.status,
|
|
243
|
+
ref,
|
|
244
|
+
children: children ?? (item.status === "complete" ? "✓" : "")
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
function createSpanSlot(slot) {
|
|
248
|
+
return forwardRef(function StepperSlot({ className, ...props }, ref) {
|
|
249
|
+
const { orientation } = useStepperContext();
|
|
250
|
+
const styles = stepper({
|
|
251
|
+
orientation,
|
|
252
|
+
status: useStepperItemContext().status
|
|
253
|
+
});
|
|
254
|
+
return /* @__PURE__ */ jsx("span", {
|
|
255
|
+
...props,
|
|
256
|
+
className: cx(styles[slot], className),
|
|
257
|
+
"data-slot": `stepper-${slot}`,
|
|
258
|
+
ref
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
const StepperTitle = createSpanSlot("title");
|
|
263
|
+
const StepperDescription = createSpanSlot("description");
|
|
264
|
+
const StepperContent = forwardRef(function StepperContent({ className, hidden, ...props }, ref) {
|
|
265
|
+
const item = useStepperItemContext();
|
|
266
|
+
const { orientation } = useStepperContext();
|
|
267
|
+
const styles = stepper({
|
|
268
|
+
orientation,
|
|
269
|
+
status: item.status
|
|
270
|
+
});
|
|
271
|
+
return /* @__PURE__ */ jsx("div", {
|
|
272
|
+
...props,
|
|
273
|
+
className: cx(styles.content, className),
|
|
274
|
+
"data-slot": "stepper-content",
|
|
275
|
+
hidden: hidden ?? item.status !== "current",
|
|
276
|
+
ref
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
const StepperSeparator = createSpanSlot("separator");
|
|
280
|
+
const StepperPrevious = forwardRef(function StepperPrevious({ children = "Previous", className, disabled: disabledProp, ...props }, ref) {
|
|
281
|
+
const context = useStepperContext();
|
|
282
|
+
const styles = stepper({ orientation: context.orientation });
|
|
283
|
+
return /* @__PURE__ */ jsx("button", {
|
|
284
|
+
...props,
|
|
285
|
+
className: cx(styles.previous, className),
|
|
286
|
+
"data-slot": "stepper-previous",
|
|
287
|
+
disabled: disabledProp || context.disabled,
|
|
288
|
+
onClick: (event) => {
|
|
289
|
+
context.move(-1);
|
|
290
|
+
props.onClick?.(event);
|
|
291
|
+
},
|
|
292
|
+
ref,
|
|
293
|
+
type: props.type ?? "button",
|
|
294
|
+
children
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
const StepperNext = forwardRef(function StepperNext({ children = "Next", className, disabled: disabledProp, ...props }, ref) {
|
|
298
|
+
const context = useStepperContext();
|
|
299
|
+
const styles = stepper({ orientation: context.orientation });
|
|
300
|
+
return /* @__PURE__ */ jsx("button", {
|
|
301
|
+
...props,
|
|
302
|
+
className: cx(styles.next, className),
|
|
303
|
+
"data-slot": "stepper-next",
|
|
304
|
+
disabled: disabledProp || context.disabled,
|
|
305
|
+
onClick: (event) => {
|
|
306
|
+
context.move(1);
|
|
307
|
+
props.onClick?.(event);
|
|
308
|
+
},
|
|
309
|
+
ref,
|
|
310
|
+
type: props.type ?? "button",
|
|
311
|
+
children
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
const Stepper = {
|
|
315
|
+
Root: StepperRoot,
|
|
316
|
+
List: StepperList,
|
|
317
|
+
Item: StepperItem,
|
|
318
|
+
Trigger: StepperTrigger,
|
|
319
|
+
Indicator: StepperIndicator,
|
|
320
|
+
Title: StepperTitle,
|
|
321
|
+
Description: StepperDescription,
|
|
322
|
+
Content: StepperContent,
|
|
323
|
+
Separator: StepperSeparator,
|
|
324
|
+
Previous: StepperPrevious,
|
|
325
|
+
Next: StepperNext
|
|
326
|
+
};
|
|
327
|
+
//#endregion
|
|
328
|
+
export { Stepper, StepperContent, StepperDescription, StepperIndicator, StepperItem, StepperList, StepperNext, StepperPrevious, StepperRoot, StepperSeparator, StepperTitle, StepperTrigger };
|
|
329
|
+
|
|
330
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.js","names":[],"sources":["../../../src/components/stepper/stepper.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { stepper } from \"../../styled-system/recipes\";\n\nexport type StepperOrientation = \"horizontal\" | \"vertical\";\nexport type StepperStatus = \"current\" | \"complete\" | \"upcoming\" | \"disabled\";\n\ninterface StepRecord {\n value: string;\n disabled: boolean;\n status?: StepperStatus;\n}\n\ninterface StepperContextValue {\n activeValue: string | undefined;\n allowStepSelect: boolean;\n disabled: boolean;\n getStatus: (value: string, status?: StepperStatus, disabled?: boolean) => StepperStatus;\n goTo: (value: string, options?: { fromNavigation?: boolean }) => void;\n linear: boolean;\n orientation: StepperOrientation;\n register: (record: StepRecord) => void;\n unregister: (value: string) => void;\n move: (direction: -1 | 1) => void;\n moveToBoundary: (direction: -1 | 1) => void;\n}\n\ninterface StepperItemContextValue {\n disabled: boolean;\n status: StepperStatus;\n value: string;\n}\n\nconst StepperContext = createContext<StepperContextValue | null>(null);\nconst StepperItemContext = createContext<StepperItemContextValue | null>(null);\n\nfunction useStepperContext() {\n const context = useContext(StepperContext);\n if (!context) throw new Error(\"Stepper parts must be rendered inside Stepper.Root.\");\n return context;\n}\n\nfunction useStepperItemContext() {\n const context = useContext(StepperItemContext);\n if (!context) throw new Error(\"This Stepper part must be rendered inside Stepper.Item.\");\n return context;\n}\n\nexport interface StepperRootProps extends Omit<ComponentPropsWithoutRef<\"nav\">, \"children\"> {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n orientation?: StepperOrientation;\n linear?: boolean;\n allowStepSelect?: boolean;\n disabled?: boolean;\n name?: string;\n form?: string;\n children?: ReactNode;\n}\n\nexport const StepperRoot = forwardRef<HTMLElement, StepperRootProps>(function StepperRoot(\n {\n allowStepSelect = true,\n \"aria-label\": ariaLabel,\n children,\n className,\n defaultValue,\n disabled = false,\n form,\n linear = false,\n name,\n onValueChange,\n orientation = \"horizontal\",\n value: controlledValue,\n ...props\n },\n ref,\n) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const [records, setRecords] = useState<StepRecord[]>([]);\n const activeValue = controlledValue ?? uncontrolledValue ?? records[0]?.value;\n\n const register = useCallback((record: StepRecord) => {\n setRecords((current) => {\n const index = current.findIndex((item) => item.value === record.value);\n if (index === -1) return [...current, record];\n const currentRecord = current[index];\n if (!currentRecord) return current;\n if (currentRecord.disabled === record.disabled && currentRecord.status === record.status) {\n return current;\n }\n const next = current.slice();\n next[index] = record;\n return next;\n });\n }, []);\n\n const unregister = useCallback((valueToRemove: string) => {\n setRecords((current) => current.filter((item) => item.value !== valueToRemove));\n }, []);\n\n const goTo = useCallback(\n (nextValue: string, options?: { fromNavigation?: boolean }) => {\n if (disabled) return;\n const targetIndex = records.findIndex((item) => item.value === nextValue);\n const activeIndex = records.findIndex((item) => item.value === activeValue);\n const target = records[targetIndex];\n if (!target || target.disabled) return;\n if (nextValue === activeValue) return;\n if (!allowStepSelect && !options?.fromNavigation && nextValue !== activeValue) return;\n if (linear && activeIndex >= 0 && targetIndex > activeIndex + 1) return;\n if (controlledValue === undefined) setUncontrolledValue(nextValue);\n onValueChange?.(nextValue);\n },\n [activeValue, allowStepSelect, controlledValue, disabled, linear, onValueChange, records],\n );\n\n const move = useCallback(\n (direction: -1 | 1) => {\n const activeIndex = records.findIndex((item) => item.value === activeValue);\n let index = activeIndex + direction;\n while (index >= 0 && index < records.length && records[index]?.disabled) index += direction;\n const target = records[index];\n if (target) goTo(target.value, { fromNavigation: true });\n },\n [activeValue, goTo, records],\n );\n\n const moveToBoundary = useCallback(\n (direction: -1 | 1) => {\n const candidates = direction === -1 ? records : records.slice().reverse();\n const target = candidates.find((record) => !record.disabled);\n if (target) goTo(target.value, { fromNavigation: true });\n },\n [goTo, records],\n );\n\n const getStatus = useCallback(\n (itemValue: string, explicitStatus?: StepperStatus, itemDisabled = false) => {\n if (itemDisabled || disabled) return \"disabled\";\n if (explicitStatus) return explicitStatus;\n const itemIndex = records.findIndex((item) => item.value === itemValue);\n const activeIndex = records.findIndex((item) => item.value === activeValue);\n if (itemValue === activeValue || (activeIndex < 0 && itemIndex === 0)) return \"current\";\n if (itemIndex >= 0 && activeIndex >= 0 && itemIndex < activeIndex) return \"complete\";\n return \"upcoming\";\n },\n [activeValue, disabled, records],\n );\n\n const context = useMemo(\n () => ({\n activeValue,\n allowStepSelect,\n disabled,\n getStatus,\n goTo,\n linear,\n move,\n moveToBoundary,\n orientation,\n register,\n unregister,\n }),\n [\n activeValue,\n allowStepSelect,\n disabled,\n getStatus,\n goTo,\n linear,\n move,\n moveToBoundary,\n orientation,\n register,\n unregister,\n ],\n );\n\n return (\n <StepperContext.Provider value={context}>\n <nav\n {...props}\n aria-label={ariaLabel ?? \"Progress\"}\n className={cx(stepper({ orientation }).root, className)}\n data-jaci-component=\"stepper\"\n data-orientation={orientation}\n data-slot=\"stepper\"\n data-state={disabled ? \"disabled\" : \"active\"}\n ref={ref}\n >\n {children}\n {name ? (\n <input\n aria-hidden=\"true\"\n name={name}\n type=\"hidden\"\n value={activeValue ?? \"\"}\n form={form}\n />\n ) : null}\n </nav>\n </StepperContext.Provider>\n );\n});\n\nexport type StepperListProps = ComponentPropsWithoutRef<\"ol\">;\nexport const StepperList = forwardRef<HTMLOListElement, StepperListProps>(function StepperList(\n { className, ...props },\n ref,\n) {\n const { orientation } = useStepperContext();\n return (\n <ol\n {...props}\n className={cx(stepper({ orientation }).list, className)}\n data-slot=\"stepper-list\"\n ref={ref}\n />\n );\n});\n\nexport interface StepperItemProps extends ComponentPropsWithoutRef<\"li\"> {\n value: string;\n status?: StepperStatus;\n disabled?: boolean;\n}\n\nexport const StepperItem = forwardRef<HTMLLIElement, StepperItemProps>(function StepperItem(\n { children, className, disabled = false, status, value, ...props },\n ref,\n) {\n const context = useStepperContext();\n const resolvedStatus = context.getStatus(value, status, disabled);\n useEffect(() => {\n const record: StepRecord = { disabled: disabled || status === \"disabled\", value };\n if (status !== undefined) record.status = status;\n context.register(record);\n return () => context.unregister(value);\n }, [context.register, context.unregister, disabled, status, value]);\n const itemContext = useMemo<StepperItemContextValue>(\n () => ({\n disabled: disabled || context.disabled || resolvedStatus === \"disabled\",\n status: resolvedStatus,\n value,\n }),\n [context.disabled, disabled, resolvedStatus, value],\n );\n const styles = stepper({ orientation: context.orientation, status: resolvedStatus });\n\n return (\n <StepperItemContext.Provider value={itemContext}>\n <li\n {...props}\n aria-disabled={itemContext.disabled || undefined}\n className={cx(styles.item, className)}\n data-disabled={itemContext.disabled || undefined}\n data-jaci-component=\"stepper-item\"\n data-slot=\"stepper-item\"\n data-status={resolvedStatus}\n data-value={value}\n ref={ref}\n >\n {children}\n </li>\n </StepperItemContext.Provider>\n );\n});\n\nexport type StepperTriggerProps = ComponentPropsWithoutRef<\"button\">;\nexport const StepperTrigger = forwardRef<HTMLButtonElement, StepperTriggerProps>(\n function StepperTrigger({ className, onClick, onKeyDown, type = \"button\", ...props }, ref) {\n const context = useStepperContext();\n const item = useStepperItemContext();\n const styles = stepper({ orientation: context.orientation, status: item.status });\n return (\n <button\n {...props}\n aria-current={item.status === \"current\" ? \"step\" : undefined}\n aria-disabled={\n item.disabled || (!context.allowStepSelect && item.status !== \"current\") || undefined\n }\n className={cx(styles.trigger, className)}\n data-disabled={item.disabled || undefined}\n data-slot=\"stepper-trigger\"\n data-status={item.status}\n disabled={context.disabled || item.disabled}\n onClick={(event) => {\n if (!event.defaultPrevented) context.goTo(item.value);\n onClick?.(event);\n }}\n onKeyDown={(event) => {\n const isForwardKey =\n (context.orientation === \"horizontal\" && event.key === \"ArrowRight\") ||\n (context.orientation === \"vertical\" && event.key === \"ArrowDown\");\n const isBackwardKey =\n (context.orientation === \"horizontal\" && event.key === \"ArrowLeft\") ||\n (context.orientation === \"vertical\" && event.key === \"ArrowUp\");\n if (isForwardKey) {\n event.preventDefault();\n context.move(1);\n } else if (isBackwardKey) {\n event.preventDefault();\n context.move(-1);\n } else if (event.key === \"Home\") {\n event.preventDefault();\n context.moveToBoundary(-1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n context.moveToBoundary(1);\n }\n onKeyDown?.(event);\n }}\n ref={ref}\n type={type}\n />\n );\n },\n);\n\nexport type StepperIndicatorProps = ComponentPropsWithoutRef<\"span\">;\nexport const StepperIndicator = forwardRef<HTMLSpanElement, StepperIndicatorProps>(\n function StepperIndicator({ children, className, ...props }, ref) {\n const { orientation } = useStepperContext();\n const item = useStepperItemContext();\n const styles = stepper({ orientation, status: item.status });\n return (\n <span\n {...props}\n aria-hidden={props[\"aria-hidden\"] ?? true}\n className={cx(styles.indicator, className)}\n data-slot=\"stepper-indicator\"\n data-status={item.status}\n ref={ref}\n >\n {children ?? (item.status === \"complete\" ? \"✓\" : \"\")}\n </span>\n );\n },\n);\n\nfunction createSpanSlot(slot: \"title\" | \"description\" | \"separator\") {\n return forwardRef<HTMLSpanElement, ComponentPropsWithoutRef<\"span\">>(function StepperSlot(\n { className, ...props },\n ref,\n ) {\n const { orientation } = useStepperContext();\n const item = useStepperItemContext();\n const styles = stepper({ orientation, status: item.status });\n return (\n <span\n {...props}\n className={cx(styles[slot], className)}\n data-slot={`stepper-${slot}`}\n ref={ref}\n />\n );\n });\n}\n\nexport const StepperTitle = createSpanSlot(\"title\");\nexport const StepperDescription = createSpanSlot(\"description\");\n\nexport const StepperContent = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function StepperContent({ className, hidden, ...props }, ref) {\n const item = useStepperItemContext();\n const { orientation } = useStepperContext();\n const styles = stepper({ orientation, status: item.status });\n return (\n <div\n {...props}\n className={cx(styles.content, className)}\n data-slot=\"stepper-content\"\n hidden={hidden ?? item.status !== \"current\"}\n ref={ref}\n />\n );\n },\n);\n\nexport const StepperSeparator = createSpanSlot(\"separator\");\n\nexport interface StepperNavigationButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n children?: ReactNode;\n}\n\nexport const StepperPrevious = forwardRef<HTMLButtonElement, StepperNavigationButtonProps>(\n function StepperPrevious(\n { children = \"Previous\", className, disabled: disabledProp, ...props },\n ref,\n ) {\n const context = useStepperContext();\n const styles = stepper({ orientation: context.orientation });\n return (\n <button\n {...props}\n className={cx(styles.previous, className)}\n data-slot=\"stepper-previous\"\n disabled={disabledProp || context.disabled}\n onClick={(event) => {\n context.move(-1);\n props.onClick?.(event);\n }}\n ref={ref}\n type={props.type ?? \"button\"}\n >\n {children}\n </button>\n );\n },\n);\n\nexport const StepperNext = forwardRef<HTMLButtonElement, StepperNavigationButtonProps>(\n function StepperNext({ children = \"Next\", className, disabled: disabledProp, ...props }, ref) {\n const context = useStepperContext();\n const styles = stepper({ orientation: context.orientation });\n return (\n <button\n {...props}\n className={cx(styles.next, className)}\n data-slot=\"stepper-next\"\n disabled={disabledProp || context.disabled}\n onClick={(event) => {\n context.move(1);\n props.onClick?.(event);\n }}\n ref={ref}\n type={props.type ?? \"button\"}\n >\n {children}\n </button>\n );\n },\n);\n\nexport const Stepper = {\n Root: StepperRoot,\n List: StepperList,\n Item: StepperItem,\n Trigger: StepperTrigger,\n Indicator: StepperIndicator,\n Title: StepperTitle,\n Description: StepperDescription,\n Content: StepperContent,\n Separator: StepperSeparator,\n Previous: StepperPrevious,\n Next: StepperNext,\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableDensity, TableEmpty, TableEmptyProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableRoot, TableRootProps, TableRow, TableRowProps, TableSelectionCell, TableSelectionCellProps, TableSelectionHeader, TableSelectionHeaderProps, TableSortDirection } from "./table.cjs";
|
|
2
|
-
export { Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableDensity, TableEmpty, type TableEmptyProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableSelectionCell, type TableSelectionCellProps, TableSelectionHeader, type TableSelectionHeaderProps, type TableSortDirection };
|
|
1
|
+
import { Table, TableAlignment, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableDensity, TableDescription, TableDescriptionProps, TableEmpty, TableEmptyProps, TableError, TableErrorProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableHideBelow, TableLoading, TableLoadingProps, TableRoot, TableRootProps, TableRow, TableRowProps, TableSelectionCell, TableSelectionCellProps, TableSelectionHeader, TableSelectionHeaderProps, TableSelectionMode, TableSortDirection, TableSortState, TableStatus } from "./table.cjs";
|
|
2
|
+
export { Table, type TableAlignment, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableDensity, TableDescription, type TableDescriptionProps, TableEmpty, type TableEmptyProps, TableError, type TableErrorProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableHideBelow, TableLoading, type TableLoadingProps, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableSelectionCell, type TableSelectionCellProps, TableSelectionHeader, type TableSelectionHeaderProps, type TableSelectionMode, type TableSortDirection, type TableSortState, type TableStatus };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableDensity, TableEmpty, TableEmptyProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableRoot, TableRootProps, TableRow, TableRowProps, TableSelectionCell, TableSelectionCellProps, TableSelectionHeader, TableSelectionHeaderProps, TableSortDirection } from "./table.js";
|
|
2
|
-
export { Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableDensity, TableEmpty, type TableEmptyProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableSelectionCell, type TableSelectionCellProps, TableSelectionHeader, type TableSelectionHeaderProps, type TableSortDirection };
|
|
1
|
+
import { Table, TableAlignment, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableDensity, TableDescription, TableDescriptionProps, TableEmpty, TableEmptyProps, TableError, TableErrorProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableHideBelow, TableLoading, TableLoadingProps, TableRoot, TableRootProps, TableRow, TableRowProps, TableSelectionCell, TableSelectionCellProps, TableSelectionHeader, TableSelectionHeaderProps, TableSelectionMode, TableSortDirection, TableSortState, TableStatus } from "./table.js";
|
|
2
|
+
export { Table, type TableAlignment, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableDensity, TableDescription, type TableDescriptionProps, TableEmpty, type TableEmptyProps, TableError, type TableErrorProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableHideBelow, TableLoading, type TableLoadingProps, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableSelectionCell, type TableSelectionCellProps, TableSelectionHeader, type TableSelectionHeaderProps, type TableSelectionMode, type TableSortDirection, type TableSortState, type TableStatus };
|