@trsys-tech/matrix-library 1.1.1-canary.0 → 1.1.3
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/dist/accordion.es.js +21 -19
- package/dist/accordion.es.js.map +1 -1
- package/dist/avatar.es.js +19 -19
- package/dist/avatar.es.js.map +1 -1
- package/dist/breadcrumb.es.js +7 -7
- package/dist/breadcrumb.es.js.map +1 -1
- package/dist/calendar.es.js +40 -33
- package/dist/calendar.es.js.map +1 -1
- package/dist/chip.es.js +28 -22
- package/dist/chip.es.js.map +1 -1
- package/dist/command.es.js +35 -32
- package/dist/command.es.js.map +1 -1
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/chip/Chip.d.ts.map +1 -1
- package/dist/components/command/Command.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopDatePicker.d.ts +1 -1
- package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopTimePicker.d.ts +2 -2
- package/dist/components/date-picker/DesktopTimePicker.d.ts.map +1 -1
- package/dist/components/date-picker/TimePickerContent.d.ts.map +1 -1
- package/dist/components/date-picker/calendar.d.ts.map +1 -1
- package/dist/components/gantt-chart/GanttChart.d.ts +104 -0
- package/dist/components/gantt-chart/GanttChart.d.ts.map +1 -0
- package/dist/components/gantt-chart/GanttToolbar.d.ts +14 -0
- package/dist/components/gantt-chart/GanttToolbar.d.ts.map +1 -0
- package/dist/components/gantt-chart/gantt-chart.types.d.ts +45 -0
- package/dist/components/gantt-chart/gantt-chart.types.d.ts.map +1 -0
- package/dist/components/gantt-chart/gantt-chart.utils.d.ts +34 -0
- package/dist/components/gantt-chart/gantt-chart.utils.d.ts.map +1 -0
- package/dist/components/multi-select/MultiSelect.d.ts +0 -8
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/rating/Rating.d.ts +1 -0
- package/dist/components/rating/Rating.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.ts +1 -1
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +5 -3
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/timeline/Timeline.d.ts +40 -0
- package/dist/components/timeline/Timeline.d.ts.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/desktopdatepicker.es.js +2 -2
- package/dist/desktopdatepicker.es.js.map +1 -1
- package/dist/desktoptimepicker.es.js.map +1 -1
- package/dist/duration.es.js +1 -1
- package/dist/duration.es.js.map +1 -1
- package/dist/gantt-chart.es.js +93 -0
- package/dist/gantt-chart.es.js.map +1 -0
- package/dist/ganttchart.es.js +337 -0
- package/dist/ganttchart.es.js.map +1 -0
- package/dist/gantttoolbar.es.js +49 -0
- package/dist/gantttoolbar.es.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +191 -187
- package/dist/index.es.js.map +1 -1
- package/dist/lib/hooks/use-mobile.d.ts.map +1 -1
- package/dist/multiselect.es.js +121 -130
- package/dist/multiselect.es.js.map +1 -1
- package/dist/rating.es.js +47 -50
- package/dist/rating.es.js.map +1 -1
- package/dist/sidebar.es.js +46 -48
- package/dist/sidebar.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch.es.js +5 -5
- package/dist/switch.es.js.map +1 -1
- package/dist/tabs.es.js +25 -26
- package/dist/tabs.es.js.map +1 -1
- package/dist/textfield.es.js +18 -18
- package/dist/textfield.es.js.map +1 -1
- package/dist/timeline.es.js +182 -0
- package/dist/timeline.es.js.map +1 -0
- package/dist/timepickercontent.es.js +39 -42
- package/dist/timepickercontent.es.js.map +1 -1
- package/dist/tooltip.es.js +15 -13
- package/dist/tooltip.es.js.map +1 -1
- package/dist/use-mobile.es.js +15 -10
- package/dist/use-mobile.es.js.map +1 -1
- package/package.json +7 -1
package/dist/rating.es.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
1
|
+
import { jsxs as g, jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import f from "react";
|
|
3
3
|
import { cn as a } from "./utils.es.js";
|
|
4
|
-
import { tv as
|
|
5
|
-
import { Star as
|
|
6
|
-
const E =
|
|
4
|
+
import { tv as R } from "tailwind-variants";
|
|
5
|
+
import { Star as z } from "@trsys-tech/matrix-icons";
|
|
6
|
+
const E = R({
|
|
7
7
|
base: "mtx-flex mtx-items-center mtx-gap-0",
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
@@ -25,77 +25,74 @@ const E = $({
|
|
|
25
25
|
variant: "default",
|
|
26
26
|
size: "md"
|
|
27
27
|
}
|
|
28
|
-
}),
|
|
28
|
+
}), D = f.forwardRef((o, t) => {
|
|
29
29
|
const {
|
|
30
|
-
precision:
|
|
30
|
+
precision: s = "full",
|
|
31
31
|
variant: r,
|
|
32
32
|
size: n,
|
|
33
33
|
readOnly: x = !1,
|
|
34
|
-
onValueChange:
|
|
35
|
-
value: e
|
|
34
|
+
onValueChange: l,
|
|
35
|
+
value: e,
|
|
36
|
+
defaultValue: p = 0,
|
|
36
37
|
className: _,
|
|
37
|
-
children:
|
|
38
|
-
max:
|
|
39
|
-
Icon:
|
|
40
|
-
disabled:
|
|
41
|
-
...
|
|
42
|
-
} =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const M = (c) => {
|
|
47
|
-
x || (h(c), o?.(c));
|
|
48
|
-
}, S = (c) => {
|
|
49
|
-
x || N(c);
|
|
38
|
+
children: d,
|
|
39
|
+
max: u = 5,
|
|
40
|
+
Icon: k = z,
|
|
41
|
+
disabled: y,
|
|
42
|
+
...b
|
|
43
|
+
} = o, w = e !== void 0, [N, V] = f.useState(p), v = e !== void 0 ? e : N, [M, S] = f.useState(null), i = M ?? v, C = (c) => {
|
|
44
|
+
x || (w || V(c), l?.(c));
|
|
45
|
+
}, $ = (c) => {
|
|
46
|
+
x || S(c);
|
|
50
47
|
};
|
|
51
|
-
return /* @__PURE__ */
|
|
48
|
+
return /* @__PURE__ */ g(
|
|
52
49
|
"div",
|
|
53
50
|
{
|
|
54
51
|
className: a(E({ variant: r, size: n, className: _ })),
|
|
55
52
|
role: "slider",
|
|
56
53
|
"data-value": v,
|
|
57
|
-
"aria-valuenow":
|
|
54
|
+
"aria-valuenow": i,
|
|
58
55
|
"aria-valuemin": 0,
|
|
59
|
-
"aria-valuemax":
|
|
60
|
-
"aria-valuetext": `${
|
|
61
|
-
...
|
|
56
|
+
"aria-valuemax": u,
|
|
57
|
+
"aria-valuetext": `${i} out of ${u}`,
|
|
58
|
+
...b,
|
|
62
59
|
ref: t,
|
|
63
60
|
children: [
|
|
64
|
-
Array.from({ length:
|
|
65
|
-
|
|
61
|
+
Array.from({ length: u }).map((c, h) => /* @__PURE__ */ m(
|
|
62
|
+
L,
|
|
66
63
|
{
|
|
67
|
-
Icon:
|
|
68
|
-
index:
|
|
69
|
-
displayedValue:
|
|
70
|
-
onHover:
|
|
71
|
-
onValueChange:
|
|
72
|
-
precision:
|
|
64
|
+
Icon: k,
|
|
65
|
+
index: h,
|
|
66
|
+
displayedValue: i,
|
|
67
|
+
onHover: $,
|
|
68
|
+
onValueChange: C,
|
|
69
|
+
precision: s,
|
|
73
70
|
readOnly: x,
|
|
74
|
-
disabled:
|
|
71
|
+
disabled: y
|
|
75
72
|
},
|
|
76
|
-
|
|
73
|
+
h
|
|
77
74
|
)),
|
|
78
|
-
|
|
75
|
+
d
|
|
79
76
|
]
|
|
80
77
|
}
|
|
81
78
|
);
|
|
82
|
-
}),
|
|
79
|
+
}), L = ({ Icon: o, index: t, displayedValue: s, onHover: r, onValueChange: n, precision: x, readOnly: l, disabled: e }) => x === "half" ? /* @__PURE__ */ g(
|
|
83
80
|
"div",
|
|
84
81
|
{
|
|
85
82
|
className: a(
|
|
86
83
|
"mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5",
|
|
87
|
-
|
|
84
|
+
l && "hover:mtx-scale-100",
|
|
88
85
|
e && "hover:mtx-scale-100 mtx-opacity-70"
|
|
89
86
|
),
|
|
90
87
|
children: [
|
|
91
|
-
/* @__PURE__ */ m(
|
|
88
|
+
/* @__PURE__ */ m(o, { className: a("mtx-stroke-gray-500") }),
|
|
92
89
|
/* @__PURE__ */ m(
|
|
93
90
|
"button",
|
|
94
91
|
{
|
|
95
92
|
type: "button",
|
|
96
93
|
className: a(
|
|
97
94
|
"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full",
|
|
98
|
-
|
|
95
|
+
l && "mtx-cursor-default",
|
|
99
96
|
e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
|
|
100
97
|
),
|
|
101
98
|
onClick: () => n(t + 0.5),
|
|
@@ -104,11 +101,11 @@ const E = $({
|
|
|
104
101
|
disabled: e,
|
|
105
102
|
"aria-label": `Set rating to ${t + 0.5}`,
|
|
106
103
|
children: /* @__PURE__ */ m(
|
|
107
|
-
|
|
104
|
+
o,
|
|
108
105
|
{
|
|
109
106
|
className: a(
|
|
110
107
|
"mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]",
|
|
111
|
-
|
|
108
|
+
s >= t + 0.5 && "mtx-stroke-current mtx-fill-current"
|
|
112
109
|
)
|
|
113
110
|
}
|
|
114
111
|
)
|
|
@@ -120,7 +117,7 @@ const E = $({
|
|
|
120
117
|
type: "button",
|
|
121
118
|
className: a(
|
|
122
119
|
"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full",
|
|
123
|
-
|
|
120
|
+
l && "mtx-cursor-default",
|
|
124
121
|
e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
|
|
125
122
|
),
|
|
126
123
|
onClick: () => n(t + 1),
|
|
@@ -129,11 +126,11 @@ const E = $({
|
|
|
129
126
|
disabled: e,
|
|
130
127
|
"aria-label": `Set rating to ${t + 1}`,
|
|
131
128
|
children: /* @__PURE__ */ m(
|
|
132
|
-
|
|
129
|
+
o,
|
|
133
130
|
{
|
|
134
131
|
className: a(
|
|
135
132
|
"mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]",
|
|
136
|
-
|
|
133
|
+
s >= t + 1 && "mtx-stroke-current mtx-fill-current"
|
|
137
134
|
)
|
|
138
135
|
}
|
|
139
136
|
)
|
|
@@ -150,15 +147,15 @@ const E = $({
|
|
|
150
147
|
onMouseLeave: () => r(null),
|
|
151
148
|
className: a(
|
|
152
149
|
"hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform",
|
|
153
|
-
|
|
150
|
+
l && "mtx-cursor-default hover:mtx-scale-100",
|
|
154
151
|
e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
|
|
155
152
|
),
|
|
156
153
|
disabled: e,
|
|
157
154
|
"aria-label": `Set rating to ${t + 1}`,
|
|
158
|
-
children: /* @__PURE__ */ m(
|
|
155
|
+
children: /* @__PURE__ */ m(o, { className: a("mtx-stroke-gray-500", s >= t + 1 && "mtx-stroke-current mtx-fill-current") })
|
|
159
156
|
}
|
|
160
157
|
);
|
|
161
158
|
export {
|
|
162
|
-
|
|
159
|
+
D as Rating
|
|
163
160
|
};
|
|
164
161
|
//# sourceMappingURL=rating.es.js.map
|
package/dist/rating.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating.es.js","sources":["../src/components/rating/Rating.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\nimport { Star } from \"@trsys-tech/matrix-icons\";\r\n\r\nconst ratingVariants = tv({\r\n base: \"mtx-flex mtx-items-center mtx-gap-0\",\r\n variants: {\r\n variant: {\r\n default: \"mtx-text-yellow-400\",\r\n primary: \"mtx-text-primary\",\r\n secondary: \"mtx-text-secondary\",\r\n success: \"mtx-text-success\",\r\n danger: \"mtx-text-danger\",\r\n warning: \"mtx-text-warning\",\r\n info: \"mtx-text-info\",\r\n },\r\n size: {\r\n sm: \"[&_*_svg]:mtx-h-5 [&_*_svg]:mtx-w-5\",\r\n md: \"[&_*_svg]:mtx-h-6 [&_*_svg]:mtx-w-6\",\r\n lg: \"[&_*_svg]:mtx-h-8 [&_*_svg]:mtx-w-8\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n});\r\n\r\ninterface RatingProps extends React.HTMLAttributes<HTMLDivElement> {\r\n precision?: \"half\" | \"full\";\r\n variant?: VariantProps<typeof ratingVariants>[\"variant\"];\r\n size?: VariantProps<typeof ratingVariants>[\"size\"];\r\n readOnly?: boolean;\r\n value?: number;\r\n onValueChange?: (value: number) => void;\r\n children?: React.ReactNode;\r\n disabled?: boolean;\r\n max?: number;\r\n Icon?: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n}\r\n\r\nconst Rating = React.forwardRef<HTMLDivElement, RatingProps>((props, ref) => {\r\n const {\r\n precision = \"full\",\r\n variant,\r\n size,\r\n readOnly = false,\r\n onValueChange,\r\n value: _value = 0,\r\n className,\r\n children,\r\n max = 5,\r\n Icon = Star,\r\n disabled,\r\n ...restProps\r\n } = props;\r\n\r\n const [value, setValue] = React.useState(_value);\r\n const [hoveredValue, setHoveredValue] = React.useState<number | null>(null);\r\n\r\n const displayedValue = hoveredValue ?? value;\r\n\r\n React.useEffect(() => {\r\n setValue(_value);\r\n }, [_value]);\r\n\r\n const handleValueChange = (newValue: number) => {\r\n if (readOnly) return;\r\n setValue(newValue);\r\n onValueChange?.(newValue);\r\n };\r\n\r\n const handleHover = (newValue: number | null) => {\r\n if (readOnly) return;\r\n setHoveredValue(newValue);\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(ratingVariants({ variant, size, className }))}\r\n role=\"slider\"\r\n data-value={value}\r\n aria-valuenow={displayedValue}\r\n aria-valuemin={0}\r\n aria-valuemax={max}\r\n aria-valuetext={`${displayedValue} out of ${max}`}\r\n {...restProps}\r\n ref={ref}\r\n >\r\n {Array.from({ length: max }).map((_, index) => (\r\n <RatingItem\r\n Icon={Icon}\r\n index={index}\r\n key={index}\r\n displayedValue={displayedValue}\r\n onHover={handleHover}\r\n onValueChange={handleValueChange}\r\n precision={precision}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n />\r\n ))}\r\n {children}\r\n </div>\r\n );\r\n});\r\n\r\ntype RatingItemProps = {\r\n Icon: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n index: number;\r\n onHover: (value: number | null) => void;\r\n onValueChange: (value: number) => void;\r\n displayedValue: number;\r\n precision: \"half\" | \"full\";\r\n readOnly: boolean;\r\n disabled?: boolean;\r\n};\r\n\r\nconst RatingItem = ({ Icon, index, displayedValue, onHover, onValueChange, precision, readOnly, disabled }: RatingItemProps) => {\r\n if (precision === \"half\") {\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5\",\r\n readOnly && \"hover:mtx-scale-100\",\r\n disabled && \"hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\")} />\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 0.5)}\r\n onMouseEnter={() => onHover(index + 0.5)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 0.5}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 0.5 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n className={cn(\r\n \"hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform\",\r\n readOnly && \"mtx-cursor-default hover:mtx-scale-100\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\", displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\")} />\r\n </button>\r\n );\r\n};\r\n\r\nexport { Rating, type RatingProps };\r\n"],"names":["ratingVariants","tv","Rating","React","props","ref","precision","variant","size","readOnly","onValueChange","_value","className","children","max","Icon","Star","disabled","restProps","value","setValue","hoveredValue","setHoveredValue","displayedValue","handleValueChange","newValue","handleHover","jsxs","cn","_","index","jsx","RatingItem","onHover"],"mappings":";;;;;AAQA,MAAMA,IAAiBC,EAAG;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,IAER,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EAAA;AAEV,CAAC,GAeKC,IAASC,EAAM,WAAwC,CAACC,GAAOC,MAAQ;AAC3E,QAAM;AAAA,IACJ,WAAAC,IAAY;AAAA,IACZ,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,eAAAC;AAAA,IACA,OAAOC,IAAS;AAAA,IAChB,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,MAAAC,IAAOC;AAAA,IACP,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDd,GAEE,CAACe,GAAOC,CAAQ,IAAIjB,EAAM,SAASQ,CAAM,GACzC,CAACU,GAAcC,CAAe,IAAInB,EAAM,SAAwB,IAAI,GAEpEoB,IAAiBF,KAAgBF;AAEvChB,EAAAA,EAAM,UAAU,MAAM;AACpB,IAAAiB,EAAST,CAAM;AAAA,EACjB,GAAG,CAACA,CAAM,CAAC;AAEX,QAAMa,IAAoB,CAACC,MAAqB;AAC9C,IAAIhB,MACJW,EAASK,CAAQ,GACjBf,IAAgBe,CAAQ;AAAA,EAC1B,GAEMC,IAAc,CAACD,MAA4B;AAC/C,IAAIhB,KACJa,EAAgBG,CAAQ;AAAA,EAC1B;AAEA,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG5B,EAAe,EAAE,SAAAO,GAAS,MAAAC,GAAM,WAAAI,EAAA,CAAW,CAAC;AAAA,MAC1D,MAAK;AAAA,MACL,cAAYO;AAAA,MACZ,iBAAeI;AAAA,MACf,iBAAe;AAAA,MACf,iBAAeT;AAAA,MACf,kBAAgB,GAAGS,CAAc,WAAWT,CAAG;AAAA,MAC9C,GAAGI;AAAA,MACJ,KAAAb;AAAA,MAEC,UAAA;AAAA,QAAA,MAAM,KAAK,EAAE,QAAQS,EAAA,CAAK,EAAE,IAAI,CAACe,GAAGC,MACnC,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAAjB;AAAA,YACA,OAAAe;AAAA,YAEA,gBAAAP;AAAA,YACA,SAASG;AAAA,YACT,eAAeF;AAAA,YACf,WAAAlB;AAAA,YACA,UAAAG;AAAA,YACA,UAAAQ;AAAA,UAAA;AAAA,UANKa;AAAA,QAAA,CAQR;AAAA,QACAjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC,GAaKmB,IAAa,CAAC,EAAE,MAAAjB,GAAM,OAAAe,GAAO,gBAAAP,GAAgB,SAAAU,GAAS,eAAAvB,GAAe,WAAAJ,GAAW,UAAAG,GAAU,UAAAQ,QAC1FX,MAAc,SAEd,gBAAAqB;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAnB,KAAY;AAAA,MACZQ,KAAY;AAAA,IAAA;AAAA,IAGd,UAAA;AAAA,MAAA,gBAAAc,EAAChB,GAAA,EAAK,WAAWa,EAAG,qBAAqB,EAAA,CAAG;AAAA,MAC5C,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWH;AAAA,YACT;AAAA,YACAnB,KAAY;AAAA,YACZQ,KAAY;AAAA,UAAA;AAAA,UAEd,SAAS,MAAMP,EAAcoB,IAAQ,GAAG;AAAA,UACxC,cAAc,MAAMG,EAAQH,IAAQ,GAAG;AAAA,UACvC,cAAc,MAAMG,EAAQ,IAAI;AAAA,UAChC,UAAAhB;AAAA,UACA,cAAY,iBAAiBa,IAAQ,GAAG;AAAA,UAExC,UAAA,gBAAAC;AAAA,YAAChB;AAAA,YAAA;AAAA,cACC,WAAWa;AAAA,gBACT;AAAA,gBACAL,KAAkBO,IAAQ,OAAO;AAAA,cAAA;AAAA,YACnC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,MAEF,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWH;AAAA,YACT;AAAA,YACAnB,KAAY;AAAA,YACZQ,KAAY;AAAA,UAAA;AAAA,UAEd,SAAS,MAAMP,EAAcoB,IAAQ,CAAC;AAAA,UACtC,cAAc,MAAMG,EAAQH,IAAQ,CAAC;AAAA,UACrC,cAAc,MAAMG,EAAQ,IAAI;AAAA,UAChC,UAAAhB;AAAA,UACA,cAAY,iBAAiBa,IAAQ,CAAC;AAAA,UAEtC,UAAA,gBAAAC;AAAA,YAAChB;AAAA,YAAA;AAAA,cACC,WAAWa;AAAA,gBACT;AAAA,gBACAL,KAAkBO,IAAQ,KAAK;AAAA,cAAA;AAAA,YACjC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAAA,IAMJ,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAMrB,EAAcoB,IAAQ,CAAC;AAAA,IACtC,cAAc,MAAMG,EAAQH,IAAQ,CAAC;AAAA,IACrC,cAAc,MAAMG,EAAQ,IAAI;AAAA,IAChC,WAAWL;AAAA,MACT;AAAA,MACAnB,KAAY;AAAA,MACZQ,KAAY;AAAA,IAAA;AAAA,IAEd,UAAAA;AAAA,IACA,cAAY,iBAAiBa,IAAQ,CAAC;AAAA,IAEtC,UAAA,gBAAAC,EAAChB,KAAK,WAAWa,EAAG,uBAAuBL,KAAkBO,IAAQ,KAAK,qCAAqC,EAAA,CAAG;AAAA,EAAA;AAAA;"}
|
|
1
|
+
{"version":3,"file":"rating.es.js","sources":["../src/components/rating/Rating.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\nimport { Star } from \"@trsys-tech/matrix-icons\";\r\n\r\nconst ratingVariants = tv({\r\n base: \"mtx-flex mtx-items-center mtx-gap-0\",\r\n variants: {\r\n variant: {\r\n default: \"mtx-text-yellow-400\",\r\n primary: \"mtx-text-primary\",\r\n secondary: \"mtx-text-secondary\",\r\n success: \"mtx-text-success\",\r\n danger: \"mtx-text-danger\",\r\n warning: \"mtx-text-warning\",\r\n info: \"mtx-text-info\",\r\n },\r\n size: {\r\n sm: \"[&_*_svg]:mtx-h-5 [&_*_svg]:mtx-w-5\",\r\n md: \"[&_*_svg]:mtx-h-6 [&_*_svg]:mtx-w-6\",\r\n lg: \"[&_*_svg]:mtx-h-8 [&_*_svg]:mtx-w-8\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n});\r\n\r\ninterface RatingProps extends React.HTMLAttributes<HTMLDivElement> {\r\n precision?: \"half\" | \"full\";\r\n variant?: VariantProps<typeof ratingVariants>[\"variant\"];\r\n size?: VariantProps<typeof ratingVariants>[\"size\"];\r\n readOnly?: boolean;\r\n value?: number;\r\n defaultValue?: number;\r\n onValueChange?: (value: number) => void;\r\n children?: React.ReactNode;\r\n disabled?: boolean;\r\n max?: number;\r\n Icon?: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n}\r\n\r\nconst Rating = React.forwardRef<HTMLDivElement, RatingProps>((props, ref) => {\r\n const {\r\n precision = \"full\",\r\n variant,\r\n size,\r\n readOnly = false,\r\n onValueChange,\r\n value: controlledValue,\r\n defaultValue = 0,\r\n className,\r\n children,\r\n max = 5,\r\n Icon = Star,\r\n disabled,\r\n ...restProps\r\n } = props;\r\n\r\n const isControlled = controlledValue !== undefined;\r\n const [internalValue, setInternalValue] = React.useState(defaultValue);\r\n const value = controlledValue !== undefined ? controlledValue : internalValue;\r\n const [hoveredValue, setHoveredValue] = React.useState<number | null>(null);\r\n\r\n const displayedValue = hoveredValue ?? value;\r\n\r\n const handleValueChange = (newValue: number) => {\r\n if (readOnly) return;\r\n if (!isControlled) {\r\n setInternalValue(newValue);\r\n }\r\n onValueChange?.(newValue);\r\n };\r\n\r\n const handleHover = (newValue: number | null) => {\r\n if (readOnly) return;\r\n setHoveredValue(newValue);\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(ratingVariants({ variant, size, className }))}\r\n role=\"slider\"\r\n data-value={value}\r\n aria-valuenow={displayedValue}\r\n aria-valuemin={0}\r\n aria-valuemax={max}\r\n aria-valuetext={`${displayedValue} out of ${max}`}\r\n {...restProps}\r\n ref={ref}\r\n >\r\n {Array.from({ length: max }).map((_, index) => (\r\n <RatingItem\r\n Icon={Icon}\r\n index={index}\r\n key={index}\r\n displayedValue={displayedValue}\r\n onHover={handleHover}\r\n onValueChange={handleValueChange}\r\n precision={precision}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n />\r\n ))}\r\n {children}\r\n </div>\r\n );\r\n});\r\n\r\ntype RatingItemProps = {\r\n Icon: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n index: number;\r\n onHover: (value: number | null) => void;\r\n onValueChange: (value: number) => void;\r\n displayedValue: number;\r\n precision: \"half\" | \"full\";\r\n readOnly: boolean;\r\n disabled?: boolean;\r\n};\r\n\r\nconst RatingItem = ({ Icon, index, displayedValue, onHover, onValueChange, precision, readOnly, disabled }: RatingItemProps) => {\r\n if (precision === \"half\") {\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5\",\r\n readOnly && \"hover:mtx-scale-100\",\r\n disabled && \"hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\")} />\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 0.5)}\r\n onMouseEnter={() => onHover(index + 0.5)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 0.5}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 0.5 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n className={cn(\r\n \"hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform\",\r\n readOnly && \"mtx-cursor-default hover:mtx-scale-100\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\", displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\")} />\r\n </button>\r\n );\r\n};\r\n\r\nexport { Rating, type RatingProps };\r\n"],"names":["ratingVariants","tv","Rating","React","props","ref","precision","variant","size","readOnly","onValueChange","controlledValue","defaultValue","className","children","max","Icon","Star","disabled","restProps","isControlled","internalValue","setInternalValue","value","hoveredValue","setHoveredValue","displayedValue","handleValueChange","newValue","handleHover","jsxs","cn","_","index","jsx","RatingItem","onHover"],"mappings":"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"}
|
package/dist/sidebar.es.js
CHANGED
|
@@ -9,50 +9,50 @@ import { Separator as E } from "./separator.es.js";
|
|
|
9
9
|
import { useIsMobile as B } from "./use-mobile.es.js";
|
|
10
10
|
import { Tooltip as T, TooltipTrigger as A, TooltipContent as D, TooltipProvider as O } from "./tooltip.es.js";
|
|
11
11
|
import { Sheet as G, SheetContent as H, SheetHeader as j, SheetTitle as K, SheetDescription as L } from "./sheet.es.js";
|
|
12
|
-
const V = "sidebar:state",
|
|
12
|
+
const V = "sidebar:state", P = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", W = "b", k = i.createContext(null);
|
|
13
13
|
function R() {
|
|
14
|
-
const t = i.useContext(
|
|
14
|
+
const t = i.useContext(k);
|
|
15
15
|
if (!t)
|
|
16
16
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
17
17
|
return t;
|
|
18
18
|
}
|
|
19
|
-
const
|
|
20
|
-
const
|
|
19
|
+
const $ = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, className: m, style: o, children: s, ...n }, p) => {
|
|
20
|
+
const x = B(), [f, g] = i.useState(t), l = e ?? f, b = i.useCallback(
|
|
21
21
|
(c) => {
|
|
22
22
|
const u = typeof c == "function" ? c(l) : c;
|
|
23
|
-
a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${
|
|
23
|
+
a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${P}`;
|
|
24
24
|
},
|
|
25
25
|
[a, l]
|
|
26
26
|
), h = i.useCallback(() => b((c) => !c), [b]);
|
|
27
27
|
i.useEffect(() => {
|
|
28
28
|
const c = (u) => {
|
|
29
|
-
u.key ===
|
|
29
|
+
u.key === W && (u.metaKey || u.ctrlKey) && (u.preventDefault(), h());
|
|
30
30
|
};
|
|
31
31
|
return window.addEventListener("keydown", c), () => window.removeEventListener("keydown", c);
|
|
32
32
|
}, [h]);
|
|
33
|
-
const S = l ? "expanded" : "collapsed",
|
|
33
|
+
const S = l ? "expanded" : "collapsed", M = i.useMemo(
|
|
34
34
|
() => ({
|
|
35
35
|
state: S,
|
|
36
36
|
open: l,
|
|
37
37
|
setOpen: b,
|
|
38
|
-
isMobile:
|
|
38
|
+
isMobile: x,
|
|
39
39
|
toggleSidebar: h
|
|
40
40
|
}),
|
|
41
|
-
[S, l, b,
|
|
41
|
+
[S, l, b, x, h]
|
|
42
42
|
);
|
|
43
|
-
return /* @__PURE__ */ r(
|
|
43
|
+
return /* @__PURE__ */ r(k.Provider, { value: M, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
|
|
44
44
|
"div",
|
|
45
45
|
{
|
|
46
46
|
style: { ...o },
|
|
47
47
|
className: d("mtx-group/sidebar-wrapper mtx-flex mtx-h-full mtx-w-full has-[[data-variant=inset]]:mtx-bg-gray-50", m),
|
|
48
|
-
ref:
|
|
48
|
+
ref: p,
|
|
49
49
|
...n,
|
|
50
50
|
children: s
|
|
51
51
|
}
|
|
52
52
|
) }) });
|
|
53
53
|
});
|
|
54
|
-
|
|
55
|
-
const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile:
|
|
54
|
+
$.displayName = "SidebarProvider";
|
|
55
|
+
const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: p, style: x, ...f }, g) => {
|
|
56
56
|
const { isMobile: l, state: b, open: h, setOpen: S } = R();
|
|
57
57
|
return a === "none" ? /* @__PURE__ */ r(
|
|
58
58
|
"div",
|
|
@@ -66,7 +66,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
66
66
|
"--sidebar-right-width": s ?? y,
|
|
67
67
|
"--sidebar-right-width-icon": n ?? N
|
|
68
68
|
},
|
|
69
|
-
...
|
|
69
|
+
...x
|
|
70
70
|
},
|
|
71
71
|
className: d(
|
|
72
72
|
"mtx-flex mtx-h-full data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-flex-col mtx-bg-gray-50",
|
|
@@ -76,7 +76,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
76
76
|
...f,
|
|
77
77
|
children: o
|
|
78
78
|
}
|
|
79
|
-
) : l ? /* @__PURE__ */ r(G, { open: h, onOpenChange: S, ...f, children: /* @__PURE__ */ v(
|
|
79
|
+
) : l || e === "sheet" ? /* @__PURE__ */ r(G, { open: h, onOpenChange: S, ...f, children: /* @__PURE__ */ v(
|
|
80
80
|
H,
|
|
81
81
|
{
|
|
82
82
|
"data-sidebar": "sidebar",
|
|
@@ -85,9 +85,9 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
85
85
|
className: "data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden",
|
|
86
86
|
style: {
|
|
87
87
|
...t === "left" ? {
|
|
88
|
-
"--sidebar-left-width":
|
|
88
|
+
"--sidebar-left-width": p ?? _
|
|
89
89
|
} : {
|
|
90
|
-
"--sidebar-right-width":
|
|
90
|
+
"--sidebar-right-width": p ?? _
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
side: t,
|
|
@@ -116,7 +116,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
116
116
|
"--sidebar-right-width": s ?? y,
|
|
117
117
|
"--sidebar-right-width-icon": n ?? N
|
|
118
118
|
},
|
|
119
|
-
...
|
|
119
|
+
...x
|
|
120
120
|
},
|
|
121
121
|
children: [
|
|
122
122
|
/* @__PURE__ */ r(
|
|
@@ -158,11 +158,12 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
|
|
|
158
158
|
q.displayName = "Sidebar";
|
|
159
159
|
const F = i.forwardRef(
|
|
160
160
|
({ className: t, onClick: e, asChild: a, ...m }, o) => {
|
|
161
|
-
const { toggleSidebar: s } = R();
|
|
161
|
+
const { toggleSidebar: s, state: n } = R();
|
|
162
162
|
return /* @__PURE__ */ r(
|
|
163
163
|
a ? w : "button",
|
|
164
164
|
{
|
|
165
165
|
ref: o,
|
|
166
|
+
"data-state": n,
|
|
166
167
|
"data-sidebar": "trigger",
|
|
167
168
|
className: d("mtx-h-7 mtx-w-7", t),
|
|
168
169
|
onClick: (x) => {
|
|
@@ -298,11 +299,11 @@ const mt = z({
|
|
|
298
299
|
variant: "default",
|
|
299
300
|
size: "default"
|
|
300
301
|
}
|
|
301
|
-
}), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n },
|
|
302
|
-
const
|
|
303
|
-
|
|
302
|
+
}), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, p) => {
|
|
303
|
+
const x = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
|
|
304
|
+
x,
|
|
304
305
|
{
|
|
305
|
-
ref:
|
|
306
|
+
ref: p,
|
|
306
307
|
"data-sidebar": "menu-button",
|
|
307
308
|
"data-size": m,
|
|
308
309
|
"data-active": e,
|
|
@@ -355,31 +356,28 @@ const nt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
|
|
|
355
356
|
}
|
|
356
357
|
));
|
|
357
358
|
nt.displayName = "SidebarMenuBadge";
|
|
358
|
-
const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) =>
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
"
|
|
374
|
-
style: {
|
|
375
|
-
"--skeleton-width": o
|
|
376
|
-
}
|
|
359
|
+
const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => /* @__PURE__ */ v(
|
|
360
|
+
"div",
|
|
361
|
+
{
|
|
362
|
+
ref: m,
|
|
363
|
+
"data-sidebar": "menu-skeleton",
|
|
364
|
+
className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
|
|
365
|
+
...a,
|
|
366
|
+
children: [
|
|
367
|
+
e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
|
|
368
|
+
/* @__PURE__ */ r(
|
|
369
|
+
C,
|
|
370
|
+
{
|
|
371
|
+
className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
|
|
372
|
+
"data-sidebar": "menu-skeleton-text",
|
|
373
|
+
style: {
|
|
374
|
+
"--skeleton-width": "70%"
|
|
377
375
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
376
|
+
}
|
|
377
|
+
)
|
|
378
|
+
]
|
|
379
|
+
}
|
|
380
|
+
));
|
|
383
381
|
lt.displayName = "SidebarMenuSkeleton";
|
|
384
382
|
const xt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
|
|
385
383
|
"ul",
|
|
@@ -431,7 +429,7 @@ export {
|
|
|
431
429
|
xt as SidebarMenuSub,
|
|
432
430
|
ut as SidebarMenuSubButton,
|
|
433
431
|
ct as SidebarMenuSubItem,
|
|
434
|
-
|
|
432
|
+
$ as SidebarProvider,
|
|
435
433
|
U as SidebarRail,
|
|
436
434
|
Q as SidebarSeparator,
|
|
437
435
|
F as SidebarTrigger,
|