@camped-ui/breadcrumb 2.0.6 → 2.0.7
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +204 -0
- package/dist/index.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { buttonVariants } from "@camped-ui/button";
|
3
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
4
|
+
import { VariantProps } from "class-variance-authority";
|
5
|
+
interface BreadCrumbProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof buttonVariants> {
|
6
|
+
orientation?: "horizontal" | "vertical";
|
7
|
+
}
|
8
|
+
declare const Breadcrumb: {
|
9
|
+
({ className, orientation, variant, dir, size, children, ...props }: BreadCrumbProps): import("react/jsx-runtime").JSX.Element;
|
10
|
+
displayName: string;
|
11
|
+
};
|
12
|
+
declare const BreadcrumbItem: import("react").ForwardRefExoticComponent<(import("react").HTMLAttributes<HTMLDivElement> & ({
|
13
|
+
index: number;
|
14
|
+
} & ({
|
15
|
+
isActive: boolean;
|
16
|
+
activeVariant?: VariantProps<typeof buttonVariants>;
|
17
|
+
} | {
|
18
|
+
isActive?: undefined;
|
19
|
+
activeVariant?: undefined;
|
20
|
+
}))) & import("react").RefAttributes<HTMLDivElement>>;
|
21
|
+
declare const BreadcrumbLink: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
|
22
|
+
asChild?: boolean;
|
23
|
+
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
24
|
+
declare const BreadcrumbSeparator: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLSpanElement> & import("react").RefAttributes<HTMLSpanElement>>;
|
25
|
+
declare const BreadcrumbList: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & import("react").RefAttributes<HTMLOListElement>>;
|
26
|
+
declare const BreadcrumbPage: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
|
27
|
+
declare const BreadcrumbEllipsis: import("react").ForwardRefExoticComponent<{
|
28
|
+
index: number;
|
29
|
+
} & import("react").HTMLAttributes<HTMLSpanElement> & import("react").RefAttributes<HTMLSpanElement>>;
|
30
|
+
declare const BreadcrumbPopover: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<PopoverPrimitive.PopoverProps>>;
|
31
|
+
declare const BreadcrumbTrigger: import("react").ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
32
|
+
declare const BreadcrumbContent: import("react").ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
33
|
+
export { Breadcrumb, BreadcrumbLink, BreadcrumbEllipsis, BreadcrumbSeparator, BreadcrumbList, BreadcrumbPage, BreadcrumbItem, BreadcrumbPopover, BreadcrumbTrigger, BreadcrumbContent, };
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAaxD,UAAU,eACR,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAwBD,QAAA,MAAM,UAAU;yEAQb,eAAe;;CA8GjB,CAAC;AAkBF,QAAA,MAAM,cAAc;WAZP,MAAM;;cAGC,OAAO;oBACD,aAAa,qBAAqB,CAAC;;eAGxC,SAAS;oBACJ,SAAS;qDAsDjC,CAAC;AAIH,QAAA,MAAM,cAAc;cAGN,OAAO;qDAYnB,CAAC;AAGH,QAAA,MAAM,mBAAmB,6IAoCvB,CAAC;AAIH,QAAA,MAAM,cAAc,mNAYlB,CAAC;AAGH,QAAA,MAAM,cAAc,8MAYlB,CAAC;AAEH,QAAA,MAAM,kBAAkB;WAEb,MAAM;qGA4Cf,CAAC;AAIH,QAAA,MAAM,iBAAiB,0JAUrB,CAAC;AAIH,QAAA,MAAM,iBAAiB,oIAAiB,CAAC;AAIzC,QAAA,MAAM,iBAAiB,8LAerB,CAAC;AAIH,OAAO,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,CAAC"}
|
package/dist/index.js
ADDED
@@ -0,0 +1,204 @@
|
|
1
|
+
"use client";
|
2
|
+
"use strict";
|
3
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
4
|
+
var t = {};
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
6
|
+
t[p] = s[p];
|
7
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
8
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
9
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
10
|
+
t[p[i]] = s[p[i]];
|
11
|
+
}
|
12
|
+
return t;
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.BreadcrumbContent = exports.BreadcrumbTrigger = exports.BreadcrumbPopover = exports.BreadcrumbItem = exports.BreadcrumbPage = exports.BreadcrumbList = exports.BreadcrumbSeparator = exports.BreadcrumbEllipsis = exports.BreadcrumbLink = exports.Breadcrumb = void 0;
|
16
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
17
|
+
const button_1 = require("@camped-ui/button");
|
18
|
+
const lib_1 = require("@camped-ui/lib");
|
19
|
+
const popover_1 = require("@camped-ui/popover");
|
20
|
+
const react_slot_1 = require("@radix-ui/react-slot");
|
21
|
+
const react_1 = require("react");
|
22
|
+
const BreadCrumbContext = (0, react_1.createContext)(null);
|
23
|
+
const useBreadcrumb = () => {
|
24
|
+
const context = (0, react_1.useContext)(BreadCrumbContext);
|
25
|
+
if (!context) {
|
26
|
+
throw new Error("useBreadcrumb must be used within a BreadCrumb");
|
27
|
+
}
|
28
|
+
return context;
|
29
|
+
};
|
30
|
+
const Breadcrumb = (_a) => {
|
31
|
+
var { className, orientation = "horizontal", variant = "ghost", dir, size, children } = _a, props = __rest(_a, ["className", "orientation", "variant", "dir", "size", "children"]);
|
32
|
+
const [value, setValue] = (0, react_1.useState)([]);
|
33
|
+
const [prevValue, setPrevValue] = (0, react_1.useState)([]);
|
34
|
+
const [activeIndex, setActiveIndex] = (0, react_1.useState)(-1);
|
35
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
36
|
+
const [target, setTarget] = (0, react_1.useState)(0);
|
37
|
+
const handleKeyDown = (0, react_1.useCallback)((e) => {
|
38
|
+
e.preventDefault();
|
39
|
+
const length = value.length - 1;
|
40
|
+
const moveNext = () => {
|
41
|
+
const nextIndex = activeIndex + 1 > length ? 0 : activeIndex + 1;
|
42
|
+
setActiveIndex(value[nextIndex]);
|
43
|
+
};
|
44
|
+
const movePrev = () => {
|
45
|
+
const currentIndex = value.indexOf(activeIndex) - 1;
|
46
|
+
const prevIndex = currentIndex < 0 ? length : currentIndex;
|
47
|
+
setActiveIndex(value[prevIndex]);
|
48
|
+
};
|
49
|
+
switch (e.key) {
|
50
|
+
case "ArrowDown":
|
51
|
+
if (orientation === "vertical") {
|
52
|
+
moveNext();
|
53
|
+
}
|
54
|
+
break;
|
55
|
+
case "ArrowUp":
|
56
|
+
if (orientation === "vertical") {
|
57
|
+
movePrev();
|
58
|
+
}
|
59
|
+
break;
|
60
|
+
case "ArrowRight":
|
61
|
+
if (orientation === "horizontal") {
|
62
|
+
if (dir === "rtl") {
|
63
|
+
movePrev();
|
64
|
+
return;
|
65
|
+
}
|
66
|
+
moveNext();
|
67
|
+
}
|
68
|
+
break;
|
69
|
+
case "ArrowLeft":
|
70
|
+
if (orientation === "horizontal") {
|
71
|
+
if (dir === "rtl") {
|
72
|
+
moveNext();
|
73
|
+
return;
|
74
|
+
}
|
75
|
+
movePrev();
|
76
|
+
}
|
77
|
+
break;
|
78
|
+
}
|
79
|
+
if (e.key === "Escape") {
|
80
|
+
if (activeIndex !== -1) {
|
81
|
+
if (prevValue.length > 0)
|
82
|
+
setValue(prevValue);
|
83
|
+
setOpen(false);
|
84
|
+
if (value.includes(activeIndex) &&
|
85
|
+
!prevValue.includes(activeIndex) &&
|
86
|
+
prevValue.length > 0) {
|
87
|
+
setActiveIndex(target);
|
88
|
+
return;
|
89
|
+
}
|
90
|
+
setActiveIndex(-1);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
else if (e.key === "Enter" && activeIndex === target) {
|
94
|
+
if (prevValue.length > 0)
|
95
|
+
setValue(prevValue);
|
96
|
+
setOpen(!open);
|
97
|
+
}
|
98
|
+
}, [activeIndex, value, prevValue]);
|
99
|
+
return ((0, jsx_runtime_1.jsx)(BreadCrumbContext.Provider, { value: {
|
100
|
+
variant,
|
101
|
+
size,
|
102
|
+
orientation,
|
103
|
+
activeIndex,
|
104
|
+
value,
|
105
|
+
onValueChange: setValue,
|
106
|
+
onPrevValueChange: setPrevValue,
|
107
|
+
setActiveIndex,
|
108
|
+
open,
|
109
|
+
onOpenChange: setOpen,
|
110
|
+
setTarget,
|
111
|
+
}, children: (0, jsx_runtime_1.jsx)("div", Object.assign({ tabIndex: 0, onKeyDownCapture: handleKeyDown, className: (0, lib_1.cn)("flex items-center justify-center flex-wrap gap-2", {
|
112
|
+
"flex-row": orientation === "horizontal",
|
113
|
+
"flex-col": orientation === "vertical",
|
114
|
+
}, className), dir: dir }, props, { children: children })) }));
|
115
|
+
};
|
116
|
+
exports.Breadcrumb = Breadcrumb;
|
117
|
+
Breadcrumb.displayName = "Breadcrumb";
|
118
|
+
const BreadcrumbItem = (0, react_1.forwardRef)((_a, ref) => {
|
119
|
+
var { className, isActive, activeVariant, index, children } = _a, props = __rest(_a, ["className", "isActive", "activeVariant", "index", "children"]);
|
120
|
+
const { variant, size, activeIndex, value, onValueChange, setActiveIndex, onPrevValueChange, } = useBreadcrumb();
|
121
|
+
const variants = {
|
122
|
+
variant,
|
123
|
+
size,
|
124
|
+
};
|
125
|
+
const activeVariants = activeVariant !== null && activeVariant !== void 0 ? activeVariant : variants;
|
126
|
+
const Variants = isActive ? activeVariants : variants;
|
127
|
+
const isSelected = activeIndex === index;
|
128
|
+
(0, react_1.useEffect)(() => {
|
129
|
+
onValueChange((prev) => {
|
130
|
+
if (prev.includes(index)) {
|
131
|
+
return prev;
|
132
|
+
}
|
133
|
+
const arr = [...prev, index];
|
134
|
+
return arr.sort((a, b) => Number(a) - Number(b));
|
135
|
+
});
|
136
|
+
return () => {
|
137
|
+
onPrevValueChange(value);
|
138
|
+
};
|
139
|
+
}, [index, onValueChange]);
|
140
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: ref, className: (0, lib_1.cn)((0, button_1.buttonVariants)(Variants), className, isSelected ? "bg-muted focus-visible:ring-0 ring-0" : ""), onClick: () => setActiveIndex(index) }, props, { children: children })));
|
141
|
+
});
|
142
|
+
exports.BreadcrumbItem = BreadcrumbItem;
|
143
|
+
BreadcrumbItem.displayName = "BreadcrumbItem";
|
144
|
+
const BreadcrumbLink = (0, react_1.forwardRef)((_a, ref) => {
|
145
|
+
var { asChild, className } = _a, props = __rest(_a, ["asChild", "className"]);
|
146
|
+
const Comp = asChild ? react_slot_1.Slot : "a";
|
147
|
+
return ((0, jsx_runtime_1.jsx)(Comp, Object.assign({ ref: ref, className: (0, lib_1.cn)("transition-colors hover:text-foreground", className) }, props)));
|
148
|
+
});
|
149
|
+
exports.BreadcrumbLink = BreadcrumbLink;
|
150
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
151
|
+
const BreadcrumbSeparator = (0, react_1.forwardRef)((_a, ref) => {
|
152
|
+
var { className, children } = _a, props = __rest(_a, ["className", "children"]);
|
153
|
+
const { orientation, dir } = useBreadcrumb();
|
154
|
+
return ((0, jsx_runtime_1.jsxs)("span", Object.assign({ ref: ref }, props, { dir: dir, "data-orientation": orientation, className: (0, lib_1.cn)("flex items-center justify-center size-4 data-[orientation='horizontal']:rotate-0 rtl:data-[orientation='horizontal']:rotate-180 data-[orientation='vertical']:rotate-90 "), children: [children ? (children) : ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", className: (0, lib_1.cn)("h-4 w-4 ", className), children: (0, jsx_runtime_1.jsx)("path", { d: "m9 18 6-6-6-6" }) })), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "next page" })] })));
|
155
|
+
});
|
156
|
+
exports.BreadcrumbSeparator = BreadcrumbSeparator;
|
157
|
+
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
158
|
+
const BreadcrumbList = (0, react_1.forwardRef)((_a, ref) => {
|
159
|
+
var { className } = _a, props = __rest(_a, ["className"]);
|
160
|
+
return ((0, jsx_runtime_1.jsx)("ol", Object.assign({ ref: ref, className: (0, lib_1.cn)("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", className) }, props)));
|
161
|
+
});
|
162
|
+
exports.BreadcrumbList = BreadcrumbList;
|
163
|
+
BreadcrumbList.displayName = "BreadcrumbList";
|
164
|
+
const BreadcrumbPage = (0, react_1.forwardRef)((_a, ref) => {
|
165
|
+
var { className } = _a, props = __rest(_a, ["className"]);
|
166
|
+
return ((0, jsx_runtime_1.jsx)("span", Object.assign({ ref: ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: (0, lib_1.cn)("font-normal text-foreground", className) }, props)));
|
167
|
+
});
|
168
|
+
exports.BreadcrumbPage = BreadcrumbPage;
|
169
|
+
BreadcrumbPage.displayName = "BreadcrumbPage";
|
170
|
+
const BreadcrumbEllipsis = (0, react_1.forwardRef)((_a, ref) => {
|
171
|
+
var { className, index } = _a, props = __rest(_a, ["className", "index"]);
|
172
|
+
const { activeIndex, onValueChange, setTarget } = useBreadcrumb();
|
173
|
+
const isSelected = activeIndex === index;
|
174
|
+
(0, react_1.useEffect)(() => {
|
175
|
+
setTarget(index);
|
176
|
+
onValueChange((prev) => {
|
177
|
+
if (prev.includes(index)) {
|
178
|
+
return prev;
|
179
|
+
}
|
180
|
+
const arr = [...prev, index];
|
181
|
+
return arr.sort((a, b) => Number(a) - Number(b));
|
182
|
+
});
|
183
|
+
}, [index, onValueChange]);
|
184
|
+
return ((0, jsx_runtime_1.jsxs)("span", Object.assign({ ref: ref, "aria-hidden": true, className: (0, lib_1.cn)("focus-visible:ring-0 focus-visible:ring-opacity-0", className, isSelected ? "bg-muted" : "") }, props, { children: [(0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", className: "h-4 w-4 ", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "1" }), (0, jsx_runtime_1.jsx)("circle", { cx: "19", cy: "12", r: "1" }), (0, jsx_runtime_1.jsx)("circle", { cx: "5", cy: "12", r: "1" })] }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "More pages" })] })));
|
185
|
+
});
|
186
|
+
exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
|
187
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
188
|
+
const BreadcrumbPopover = (0, react_1.forwardRef)(({ children }, ref) => {
|
189
|
+
const { open, onOpenChange } = useBreadcrumb();
|
190
|
+
return ((0, jsx_runtime_1.jsx)(popover_1.Popover, { open: open, onOpenChange: onOpenChange, children: children }));
|
191
|
+
});
|
192
|
+
exports.BreadcrumbPopover = BreadcrumbPopover;
|
193
|
+
BreadcrumbPopover.displayName = "BreadcrumbPopover";
|
194
|
+
const BreadcrumbTrigger = popover_1.PopoverTrigger;
|
195
|
+
exports.BreadcrumbTrigger = BreadcrumbTrigger;
|
196
|
+
BreadcrumbTrigger.displayName = "BreadcrumbTrigger";
|
197
|
+
const BreadcrumbContent = (0, react_1.forwardRef)((_a, ref) => {
|
198
|
+
var { children } = _a, props = __rest(_a, ["children"]);
|
199
|
+
const { orientation } = useBreadcrumb();
|
200
|
+
return ((0, jsx_runtime_1.jsx)(popover_1.PopoverContent, Object.assign({}, props, { side: orientation === "horizontal" ? "bottom" : "right", ref: ref, children: children })));
|
201
|
+
});
|
202
|
+
exports.BreadcrumbContent = BreadcrumbContent;
|
203
|
+
BreadcrumbContent.displayName = "BreadcrumbContent";
|
204
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|