ics-ui-kit 0.1.8 → 0.1.9
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/README.md +36 -36
- package/dist/AlertContext-CxjW1LVL.js.map +1 -1
- package/dist/AlertIcon-5B6AgZpe.js.map +1 -1
- package/dist/Button-Dg89xRSi.js.map +1 -1
- package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
- package/dist/CheckboxField-cX09-eBX.js.map +1 -1
- package/dist/Command-DrFVm_8w.js +562 -0
- package/dist/Command-DrFVm_8w.js.map +1 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js +9 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -0
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/Dialog-Bs1B5Iu8.js.map +1 -1
- package/dist/Divider-DPW5ZhZ8.js.map +1 -1
- package/dist/EmptyState-DRKjscH-.js.map +1 -1
- package/dist/ErrorState-B26k67-z.js.map +1 -1
- package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
- package/dist/Field-BiIWtq9o.js.map +1 -1
- package/dist/FieldLabel-QJ4rJFOi.js.map +1 -1
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/FormFooterTemplate-DPB6Dkxn.js.map +1 -1
- package/dist/FormHeader--F6b2aRk.js.map +1 -1
- package/dist/FormStack-DO15vBgd.js.map +1 -1
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/IconButton-DwkpNgn3.js.map +1 -1
- package/dist/IconTooltip-CKJKGHbk.js.map +1 -1
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/InputGroup-BvD9Igmt.js.map +1 -1
- package/dist/InputOTP-B2e1nfSO.js.map +1 -1
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/MenuItem-d19Ty84F.js +39 -0
- package/dist/MenuItem-d19Ty84F.js.map +1 -0
- package/dist/MenuItemShortcut-D1faeIXp.js +21 -0
- package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -0
- package/dist/MenuItemText-CRpaPbvg.js +20 -0
- package/dist/MenuItemText-CRpaPbvg.js.map +1 -0
- package/dist/Overlay-CVt011mY.js.map +1 -1
- package/dist/Popover-Dvr7y0YY.js.map +1 -1
- package/dist/RichButton-DuPTenmS.js.map +1 -1
- package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
- package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
- package/dist/{Select-DRwv6-eZ.js → Select-B2WcoFf5.js} +2 -2
- package/dist/Select-B2WcoFf5.js.map +1 -0
- package/dist/Sheet-zTMuP7C8.js.map +1 -1
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/Tag-DdHXTyKF.js.map +1 -1
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/TextInput-Cj50ImXi.js.map +1 -1
- package/dist/TextOverflowTooltip-DlUgic5y.js.map +1 -1
- package/dist/Toggle-v_HT3Gm2.js.map +1 -1
- package/dist/Tooltip-C4rVuWr4.js.map +1 -1
- package/dist/TriggerButton-CfDObWP9.js.map +1 -1
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown/Dropdown.d.ts +1 -0
- package/dist/components/dropdown/Dropdown.stories.d.ts +1 -0
- package/dist/components/dropdown.js +603 -543
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js.map +1 -1
- package/dist/components/glass-toolbar/GlassToolbar.stories.d.ts +1 -0
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts +12 -5
- package/dist/components/menu-item/index.d.ts +1 -1
- package/dist/components/menu-item.js +91 -90
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js +3 -3
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sidebar.js +22 -22
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js +47 -47
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +1 -1
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-437EL2iq.js.map +1 -1
- package/dist/index-BDrapWDv.js.map +1 -1
- package/dist/index-BGQepRFJ.js.map +1 -1
- package/dist/index-BVqs-uqP.js.map +1 -1
- package/dist/index-BZPx6jYI.js.map +1 -1
- package/dist/index-Bb23HztA.js.map +1 -1
- package/dist/index-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-BzCriPiK.js.map +1 -1
- package/dist/index-CCKe-Mpx.js.map +1 -1
- package/dist/index-CFaU3UXv.js.map +1 -1
- package/dist/index-CLuiUUQ8.js.map +1 -1
- package/dist/index-CQD-Njgt.js.map +1 -1
- package/dist/index-CmBeyp2d.js.map +1 -1
- package/dist/index-DFZozV_h.js.map +1 -1
- package/dist/index-DHsfW5Rj.js.map +1 -1
- package/dist/index-DHyZ_0Ut.js.map +1 -1
- package/dist/index-DLcqcWxM.js.map +1 -1
- package/dist/index-DRo26PBK.js.map +1 -1
- package/dist/index-DnnQs07z.js.map +1 -1
- package/dist/index-Uiy0Xwy2.js.map +1 -1
- package/dist/index-_ITz1IyW.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/providers/component-variant-context/ComponentVariantProvider.d.ts +41 -4
- package/dist/providers/component-variant-context/index.d.ts +1 -1
- package/dist/providers/component-variant-context.js +4 -3
- package/dist/styles-scoped.css +6392 -6356
- package/dist/styles.css +6131 -6095
- package/dist/theme.css +362 -362
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +183 -183
- package/tailwind.preset.js +448 -448
- package/dist/Command-CiZHptkR.js +0 -554
- package/dist/Command-CiZHptkR.js.map +0 -1
- package/dist/ComponentVariantProvider-B0SFUaXB.js +0 -8
- package/dist/ComponentVariantProvider-B0SFUaXB.js.map +0 -1
- package/dist/MenuItem-pvsONHlh.js +0 -32
- package/dist/MenuItem-pvsONHlh.js.map +0 -1
- package/dist/MenuItemShortcut-DgPol9Nz.js +0 -21
- package/dist/MenuItemShortcut-DgPol9Nz.js.map +0 -1
- package/dist/MenuItemText-7uPl9P3z.js +0 -20
- package/dist/MenuItemText-7uPl9P3z.js.map +0 -1
- package/dist/Select-DRwv6-eZ.js.map +0 -1
|
@@ -3,27 +3,34 @@ import { TVReturnType } from 'tailwind-variants';
|
|
|
3
3
|
export interface MenuItemVariants {
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Бесцветная анатомия пункта меню: раскладка, состояния, типографика — без единого
|
|
8
|
+
* класса поверхности (фон/бордер/радиус/тень/цвет текста). Используется как общая
|
|
9
|
+
* основа для самостоятельных поверхностей (например, стеклянной), чтобы темам нечего
|
|
10
|
+
* было перебивать друг у друга.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MENU_ITEM_ANATOMY: string[];
|
|
6
13
|
export declare const menuItemStyles: TVReturnType<{
|
|
7
|
-
disabled: {
|
|
8
|
-
true: string;
|
|
9
|
-
};
|
|
10
14
|
theme: {
|
|
11
15
|
inverse: string;
|
|
12
16
|
};
|
|
13
|
-
}, undefined, string[], {
|
|
14
17
|
disabled: {
|
|
15
18
|
true: string;
|
|
16
19
|
};
|
|
20
|
+
}, undefined, string[], {
|
|
17
21
|
theme: {
|
|
18
22
|
inverse: string;
|
|
19
23
|
};
|
|
20
|
-
}, undefined, TVReturnType<{
|
|
21
24
|
disabled: {
|
|
22
25
|
true: string;
|
|
23
26
|
};
|
|
27
|
+
}, undefined, TVReturnType<{
|
|
24
28
|
theme: {
|
|
25
29
|
inverse: string;
|
|
26
30
|
};
|
|
31
|
+
disabled: {
|
|
32
|
+
true: string;
|
|
33
|
+
};
|
|
27
34
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
28
35
|
export type MenuItemProps = React.HTMLAttributes<HTMLDivElement> & MenuItemVariants;
|
|
29
36
|
export declare const MenuItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & MenuItemVariants & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { MenuItem, menuItemStyles } from './MenuItem';
|
|
1
|
+
export { MENU_ITEM_ANATOMY, MenuItem, menuItemStyles } from './MenuItem';
|
|
2
2
|
export { MenuItemAction } from './MenuItemAction';
|
|
3
3
|
export { MenuItemButton } from './components/menu-item-button/MenuItemButton';
|
|
4
4
|
export { MenuItemIcon } from './components/menu-item-icon/MenuItemIcon';
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { m as
|
|
3
|
-
import { jsx as t, jsxs as m, Fragment as
|
|
4
|
-
import { T as
|
|
5
|
-
import
|
|
6
|
-
import { B as
|
|
7
|
-
import { u } from "../ComponentVariantProvider-
|
|
1
|
+
import { a as b } from "../MenuItem-d19Ty84F.js";
|
|
2
|
+
import { M as ae, m as ie } from "../MenuItem-d19Ty84F.js";
|
|
3
|
+
import { jsx as t, jsxs as m, Fragment as h } from "react/jsx-runtime";
|
|
4
|
+
import { T as o } from "../index-BVqs-uqP.js";
|
|
5
|
+
import I from "react";
|
|
6
|
+
import { B as N } from "../Button-Dg89xRSi.js";
|
|
7
|
+
import { u, n as p } from "../ComponentVariantProvider-brk0g-hm.js";
|
|
8
8
|
import { I as c } from "../Icon-DH3ev9GK.js";
|
|
9
|
-
import { I as
|
|
10
|
-
import { M as
|
|
11
|
-
import { M as
|
|
12
|
-
import { c as
|
|
9
|
+
import { I as M } from "../IconButton-DwkpNgn3.js";
|
|
10
|
+
import { M as T } from "../MenuItemShortcut-D1faeIXp.js";
|
|
11
|
+
import { M as v } from "../MenuItemText-CRpaPbvg.js";
|
|
12
|
+
import { c as S } from "../cn-dsXlqdJg.js";
|
|
13
13
|
import { C as l } from "../check-CeyaOoZv.js";
|
|
14
|
-
import { F as
|
|
15
|
-
import { r as
|
|
16
|
-
const
|
|
14
|
+
import { F as w } from "../FeatureIcon-BGE0Orkc.js";
|
|
15
|
+
import { r as k } from "../RichButton-DuPTenmS.js";
|
|
16
|
+
const B = o({
|
|
17
17
|
base: "hover:cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary"
|
|
18
|
-
}),
|
|
19
|
-
({ className: n, children: r, ...e }, s) => /* @__PURE__ */ t(
|
|
18
|
+
}), A = I.forwardRef(
|
|
19
|
+
({ className: n, children: r, ...e }, s) => /* @__PURE__ */ t(b, { ref: s, className: B({ className: n }), tabIndex: 0, ...e, children: r })
|
|
20
20
|
);
|
|
21
|
-
|
|
22
|
-
const
|
|
21
|
+
A.displayName = "MenuItemAction";
|
|
22
|
+
const x = o({
|
|
23
23
|
variants: {
|
|
24
24
|
theme: {
|
|
25
25
|
inverse: "text-inverse-primary-fg"
|
|
@@ -53,79 +53,79 @@ const f = i({
|
|
|
53
53
|
class: "text-inverse-muted underline active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg"
|
|
54
54
|
}
|
|
55
55
|
]
|
|
56
|
-
}),
|
|
57
|
-
extend:
|
|
56
|
+
}), C = o({
|
|
57
|
+
extend: x,
|
|
58
58
|
base: "h-6 rounded-sm py-1"
|
|
59
|
-
}),
|
|
59
|
+
}), R = I.forwardRef(
|
|
60
60
|
({ className: n, variant: r = "ghost", ...e }, s) => {
|
|
61
|
-
const { variant:
|
|
61
|
+
const { variant: i } = u(), a = p(i, ["inverse"]);
|
|
62
62
|
return /* @__PURE__ */ t(
|
|
63
|
-
|
|
63
|
+
N,
|
|
64
64
|
{
|
|
65
65
|
ref: s,
|
|
66
66
|
"data-menu-item-action": !0,
|
|
67
67
|
size: "xs",
|
|
68
68
|
variant: r,
|
|
69
|
-
className:
|
|
69
|
+
className: C({ className: n, theme: a, variant: r }),
|
|
70
70
|
...e
|
|
71
71
|
}
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
74
|
);
|
|
75
|
-
|
|
76
|
-
const
|
|
75
|
+
R.displayName = "MenuItemButton";
|
|
76
|
+
const V = o({
|
|
77
77
|
base: "truncate text-sm text-primary-fg",
|
|
78
78
|
variants: {
|
|
79
79
|
theme: {
|
|
80
80
|
inverse: "text-inverse-primary-fg"
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
}),
|
|
84
|
-
const { variant: s } = u();
|
|
85
|
-
return /* @__PURE__ */ t(c, { icon: r, className:
|
|
83
|
+
}), d = ({ className: n, icon: r, ...e }) => {
|
|
84
|
+
const { variant: s } = u(), i = p(s, ["inverse"]);
|
|
85
|
+
return /* @__PURE__ */ t(c, { icon: r, className: V({ className: n, theme: i }), ...e });
|
|
86
86
|
};
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
extend:
|
|
87
|
+
d.displayName = "MenuItemIcon";
|
|
88
|
+
const W = o({
|
|
89
|
+
extend: x,
|
|
90
90
|
base: "h-6 w-6 rounded-sm"
|
|
91
|
-
}),
|
|
92
|
-
({ className: n, icon: r, variant: e = "ghost", ...s },
|
|
93
|
-
const { variant: a } = u();
|
|
91
|
+
}), y = I.forwardRef(
|
|
92
|
+
({ className: n, icon: r, variant: e = "ghost", ...s }, i) => {
|
|
93
|
+
const { variant: a } = u(), g = p(a, ["inverse"]);
|
|
94
94
|
return /* @__PURE__ */ t(
|
|
95
|
-
|
|
95
|
+
M,
|
|
96
96
|
{
|
|
97
|
-
ref:
|
|
97
|
+
ref: i,
|
|
98
98
|
icon: r,
|
|
99
99
|
"data-menu-item-action": !0,
|
|
100
100
|
size: "xs",
|
|
101
101
|
variant: e,
|
|
102
102
|
status: "default",
|
|
103
|
-
className:
|
|
103
|
+
className: W({ className: n, theme: g, variant: e }),
|
|
104
104
|
...s
|
|
105
105
|
}
|
|
106
106
|
);
|
|
107
107
|
}
|
|
108
108
|
);
|
|
109
|
-
|
|
110
|
-
const
|
|
109
|
+
y.displayName = "MenuItemIconButton";
|
|
110
|
+
const _ = o({
|
|
111
111
|
base: "truncate text-xs text-muted",
|
|
112
112
|
variants: {
|
|
113
113
|
theme: {
|
|
114
114
|
inverse: "text-inverse-muted"
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
}),
|
|
118
|
-
const { variant: s } = u();
|
|
119
|
-
return /* @__PURE__ */ t("span", { className:
|
|
117
|
+
}), f = ({ className: n, children: r, ...e }) => {
|
|
118
|
+
const { variant: s } = u(), i = p(s, ["inverse"]);
|
|
119
|
+
return /* @__PURE__ */ t("span", { className: _({ className: n, theme: i }), ...e, children: r });
|
|
120
120
|
};
|
|
121
|
-
|
|
122
|
-
const z = ({ icon: n, text: r, shortcut: e }) => /* @__PURE__ */ m(
|
|
123
|
-
/* @__PURE__ */ t(
|
|
124
|
-
/* @__PURE__ */ t(
|
|
125
|
-
e && /* @__PURE__ */ t(
|
|
121
|
+
f.displayName = "MenuItemSecondaryText";
|
|
122
|
+
const z = ({ icon: n, text: r, shortcut: e }) => /* @__PURE__ */ m(h, { children: [
|
|
123
|
+
/* @__PURE__ */ t(d, { icon: n }),
|
|
124
|
+
/* @__PURE__ */ t(v, { children: r }),
|
|
125
|
+
e && /* @__PURE__ */ t(T, { children: e })
|
|
126
126
|
] });
|
|
127
127
|
z.displayName = "MenuItemActionTemplate";
|
|
128
|
-
const F =
|
|
128
|
+
const F = o({
|
|
129
129
|
slots: {
|
|
130
130
|
wrapper: "flex w-full flex-row items-center gap-2",
|
|
131
131
|
contentWrapper: "flex flex-row items-center gap-2",
|
|
@@ -139,25 +139,25 @@ const F = i({
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
}),
|
|
142
|
+
}), j = ({
|
|
143
143
|
icon: n,
|
|
144
144
|
text: r,
|
|
145
145
|
isSelected: e,
|
|
146
146
|
showStartCheck: s = !1,
|
|
147
|
-
showEndCheck:
|
|
147
|
+
showEndCheck: i = !1
|
|
148
148
|
}) => {
|
|
149
149
|
const a = F();
|
|
150
150
|
return /* @__PURE__ */ m("div", { className: a.wrapper(), children: [
|
|
151
151
|
s && /* @__PURE__ */ t(c, { icon: l, className: a.check({ isSelected: e }) }),
|
|
152
152
|
/* @__PURE__ */ m("div", { className: a.contentWrapper(), children: [
|
|
153
|
-
/* @__PURE__ */ t(
|
|
154
|
-
/* @__PURE__ */ t(
|
|
153
|
+
/* @__PURE__ */ t(d, { icon: n }),
|
|
154
|
+
/* @__PURE__ */ t(v, { children: r })
|
|
155
155
|
] }),
|
|
156
|
-
|
|
156
|
+
i && /* @__PURE__ */ t(c, { icon: l, className: S(a.rightIcon(), a.check({ isSelected: e })) })
|
|
157
157
|
] });
|
|
158
158
|
};
|
|
159
|
-
|
|
160
|
-
const
|
|
159
|
+
j.displayName = "MenuItemCommonTemplate";
|
|
160
|
+
const E = o({
|
|
161
161
|
slots: {
|
|
162
162
|
check: "invisible"
|
|
163
163
|
},
|
|
@@ -168,20 +168,20 @@ const j = i({
|
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
}),
|
|
171
|
+
}), O = ({
|
|
172
172
|
description: n,
|
|
173
173
|
text: r,
|
|
174
174
|
isSelected: e
|
|
175
175
|
}) => {
|
|
176
|
-
const s =
|
|
177
|
-
return /* @__PURE__ */ m(
|
|
176
|
+
const s = E();
|
|
177
|
+
return /* @__PURE__ */ m(h, { children: [
|
|
178
178
|
/* @__PURE__ */ t(c, { icon: l, className: s.check({ isSelected: e }) }),
|
|
179
|
-
/* @__PURE__ */ t(
|
|
180
|
-
n && /* @__PURE__ */ t(
|
|
179
|
+
/* @__PURE__ */ t(v, { children: r }),
|
|
180
|
+
n && /* @__PURE__ */ t(f, { children: n })
|
|
181
181
|
] });
|
|
182
182
|
};
|
|
183
|
-
|
|
184
|
-
const
|
|
183
|
+
O.displayName = "MenuItemInfoTemplate";
|
|
184
|
+
const U = o({
|
|
185
185
|
slots: {
|
|
186
186
|
wrapper: "flex w-full flex-row items-center gap-2",
|
|
187
187
|
contentWrapper: "flex flex-row items-center gap-2",
|
|
@@ -195,49 +195,50 @@ const q = i({
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
|
-
}),
|
|
198
|
+
}), Y = ({
|
|
199
199
|
text: n,
|
|
200
200
|
icon: r,
|
|
201
201
|
buttonIcon: e,
|
|
202
202
|
buttonOnClick: s,
|
|
203
|
-
isSelected:
|
|
203
|
+
isSelected: i
|
|
204
204
|
}) => {
|
|
205
|
-
const a =
|
|
205
|
+
const a = U();
|
|
206
206
|
return /* @__PURE__ */ m("div", { className: a.wrapper(), children: [
|
|
207
207
|
/* @__PURE__ */ m("div", { className: a.contentWrapper(), children: [
|
|
208
|
-
/* @__PURE__ */ t(c, { icon: l, className: a.check({ isSelected:
|
|
209
|
-
/* @__PURE__ */ t(
|
|
210
|
-
/* @__PURE__ */ t(
|
|
208
|
+
/* @__PURE__ */ t(c, { icon: l, className: a.check({ isSelected: i }) }),
|
|
209
|
+
/* @__PURE__ */ t(d, { icon: r }),
|
|
210
|
+
/* @__PURE__ */ t(v, { children: n })
|
|
211
211
|
] }),
|
|
212
|
-
/* @__PURE__ */ t(
|
|
212
|
+
/* @__PURE__ */ t(y, { icon: e, onClick: s, className: a.button() })
|
|
213
213
|
] });
|
|
214
214
|
};
|
|
215
|
-
|
|
216
|
-
const
|
|
217
|
-
const s =
|
|
218
|
-
return /* @__PURE__ */ m(
|
|
219
|
-
/* @__PURE__ */ t(
|
|
215
|
+
Y.displayName = "MenuItemInteractiveTemplate";
|
|
216
|
+
const q = ({ icon: n, description: r, title: e }) => {
|
|
217
|
+
const s = k();
|
|
218
|
+
return /* @__PURE__ */ m(h, { children: [
|
|
219
|
+
/* @__PURE__ */ t(w, { icon: n, size: "sm", className: "bg-status-neutral-fg" }),
|
|
220
220
|
/* @__PURE__ */ m("div", { className: s.wrapper(), children: [
|
|
221
221
|
/* @__PURE__ */ t("span", { className: s.text(), children: e }),
|
|
222
|
-
/* @__PURE__ */ t(
|
|
222
|
+
/* @__PURE__ */ t(f, { className: s.description(), children: r })
|
|
223
223
|
] })
|
|
224
224
|
] });
|
|
225
225
|
};
|
|
226
|
-
|
|
226
|
+
q.displayName = "MenuItemRichTemplate";
|
|
227
227
|
export {
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
ae as MENU_ITEM_ANATOMY,
|
|
229
|
+
b as MenuItem,
|
|
230
|
+
A as MenuItemAction,
|
|
230
231
|
z as MenuItemActionTemplate,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
232
|
+
R as MenuItemButton,
|
|
233
|
+
j as MenuItemCommonTemplate,
|
|
234
|
+
d as MenuItemIcon,
|
|
235
|
+
y as MenuItemIconButton,
|
|
236
|
+
O as MenuItemInfoTemplate,
|
|
237
|
+
Y as MenuItemInteractiveTemplate,
|
|
238
|
+
q as MenuItemRichTemplate,
|
|
239
|
+
f as MenuItemSecondaryText,
|
|
240
|
+
T as MenuItemShortcut,
|
|
241
|
+
v as MenuItemText,
|
|
242
|
+
ie as menuItemStyles
|
|
242
243
|
};
|
|
243
244
|
//# sourceMappingURL=menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.js","sources":["../../src/components/menu-item/MenuItemAction.tsx","../../src/components/menu-item/components/menu-item-button/MenuItemButton.tsx","../../src/components/menu-item/components/menu-item-icon/MenuItemIcon.tsx","../../src/components/menu-item/components/menu-item-icon-button/MenuItemIconButton.tsx","../../src/components/menu-item/components/menu-item-secondary-text/MenuItemSecondaryText.tsx","../../src/components/menu-item/templates/menu-item-action-template/MenuItemActionTemplate.tsx","../../src/components/menu-item/templates/menu-item-common-template/MenuItemCommonTemplate.tsx","../../src/components/menu-item/templates/menu-item-info-template/MenuItemInfoTemplate.tsx","../../src/components/menu-item/templates/menu-item-interactive-template/MenuItemInteractiveTemplate.tsx","../../src/components/menu-item/templates/menu-item-rich-template/MenuItemRichTemplate.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\nimport { MenuItem, MenuItemProps } from \"./MenuItem\";\nimport { PropsWithChildren } from \"react\";\nimport React from \"react\";\n\nconst menuItemActionStyles = tv({\n\tbase: \"hover:cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary\"\n});\n\nexport type MenuActionItemProps = MenuItemProps;\n\nexport const MenuItemAction = React.forwardRef<HTMLDivElement, PropsWithChildren<MenuActionItemProps>>(\n\t({ className, children, ...props }, ref) => (\n\t\t<MenuItem ref={ref} className={menuItemActionStyles({ className })} tabIndex={0} {...props}>\n\t\t\t{children}\n\t\t</MenuItem>\n\t)\n);\n\nMenuItemAction.displayName = \"MenuItemAction\";\n","import { Button } from \"@/components/button\";\nimport { ButtonProps } from \"@/components/button/button/Button\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\ntype MenuItemButtonProps = Omit<ButtonProps, \"variant\" | \"status\"> & {\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\n};\n\nexport const menuItemButtonVariants = tv({\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-primary-fg\"\n\t\t},\n\t\tvariant: {\n\t\t\toutline: \"\",\n\t\t\tghost: \"\",\n\t\t\ttext: \"\",\n\t\t\tlink: \"\"\n\t\t}\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"outline\",\n\t\t\tclass: \"border-inverse-border bg-inverse-primary-bg active:border-inverse-border active:bg-inverse-hover lg:hover:border-inverse-border lg:hover:bg-inverse-hover\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"ghost\",\n\t\t\tclass: \"active:bg-inverse-hover lg:hover:bg-inverse-hover\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"text\",\n\t\t\tclass: \"active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\n\t\t},\n\t\t{\n\t\t\ttheme: \"inverse\",\n\t\t\tvariant: \"link\",\n\t\t\tclass: \"text-inverse-muted underline active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\n\t\t}\n\t]\n});\n\nconst menuItemButtonStyles = tv({\n\textend: menuItemButtonVariants,\n\tbase: \"h-6 rounded-sm py-1\"\n});\n\nexport const MenuItemButton = React.forwardRef<HTMLButtonElement, MenuItemButtonProps>(\n\t({ className, variant = \"ghost\", ...props }, ref) => {\n\t\tconst { variant: theme } = useComponentVariant();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tdata-menu-item-action\n\t\t\t\tsize=\"xs\"\n\t\t\t\tvariant={variant}\n\t\t\t\tclassName={menuItemButtonStyles({ className, theme, variant })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n","import { Icon } from \"@/components/icon\";\nimport { IconProps } from \"@/components/icon/Icon\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport { tv } from \"tailwind-variants\";\n\nconst menuItemIconStyles = tv({\n\tbase: \"truncate text-sm text-primary-fg\",\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-primary-fg\"\n\t\t}\n\t}\n});\n\ntype MenuItemIconProps = IconProps;\n\nexport const MenuItemIcon = ({ className, icon, ...props }: MenuItemIconProps) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn <Icon icon={icon} className={menuItemIconStyles({ className, theme })} {...props} />;\n};\n\nMenuItemIcon.displayName = \"MenuItemIcon\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport { tv } from \"tailwind-variants\";\nimport React from \"react\";\nimport { useComponentVariant } from \"@/providers/component-variant-context\";\nimport { menuItemButtonVariants } from \"../menu-item-button/MenuItemButton\";\n\ntype MenuItemIconProps = Omit<IconButtonProps, \"variant\" | \"status\"> & {\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\n};\n\nconst menuItemIconButtonStyles = tv({\n\textend: menuItemButtonVariants,\n\tbase: \"h-6 w-6 rounded-sm\"\n});\n\nexport const MenuItemIconButton = React.forwardRef<HTMLButtonElement, MenuItemIconProps>(\n\t({ className, icon, variant = \"ghost\", ...props }, ref) => {\n\t\tconst { variant: theme } = useComponentVariant();\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\tref={ref}\n\t\t\t\ticon={icon}\n\t\t\t\tdata-menu-item-action\n\t\t\t\tsize=\"xs\"\n\t\t\t\tvariant={variant}\n\t\t\t\tstatus=\"default\"\n\t\t\t\tclassName={menuItemIconButtonStyles({ className, theme, variant })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nMenuItemIconButton.displayName = \"MenuItemIconButton\";\n","import { useComponentVariant } from \"@/providers/component-variant-context\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nexport const menuItemSecondaryTextStyles = tv({\n\tbase: \"truncate text-xs text-muted\",\n\tvariants: {\n\t\ttheme: {\n\t\t\tinverse: \"text-inverse-muted\"\n\t\t}\n\t}\n});\n\ntype MenuItemTextProps = React.HTMLAttributes<HTMLSpanElement>;\n\nexport const MenuItemSecondaryText = ({ className, children, ...props }: MenuItemTextProps) => {\n\tconst { variant: theme } = useComponentVariant();\n\n\treturn (\n\t\t<span className={menuItemSecondaryTextStyles({ className, theme })} {...props}>\n\t\t\t{children}\n\t\t</span>\n\t);\n};\n\nMenuItemSecondaryText.displayName = \"MenuItemSecondaryText\";\n","import { PropsWithChildren } from \"react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { LucideIcon } from \"lucide-react\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { MenuItemShortcut } from \"../../components/menu-item-shortcut/MenuItemShortcut\";\n\ntype MenuItemActionTemplateProps = {\n\ticon: LucideIcon;\n\ttext: string;\n\tshortcut?: string;\n};\n\nexport const MenuItemActionTemplate = ({ icon, text, shortcut }: PropsWithChildren<MenuItemActionTemplateProps>) => {\n\treturn (\n\t\t<>\n\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t{shortcut && <MenuItemShortcut>{shortcut}</MenuItemShortcut>}\n\t\t</>\n\t);\n};\n\nMenuItemActionTemplate.displayName = \"MenuItemActionTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check, LucideIcon } from \"lucide-react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { cn } from \"@/lib/utils\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemCommonTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemCommonTemplateStyles = tv({\n\tslots: {\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\n\t\tcheck: \"invisible\",\n\t\trightIcon: \"ml-auto\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemCommonTemplateVariants>\n});\n\ntype MenuItemCommonTemplateProps = MenuItemCommonTemplateVariants & {\n\ttext: string;\n\ticon: LucideIcon;\n\tshowStartCheck?: boolean;\n\tshowEndCheck?: boolean;\n};\n\nexport const MenuItemCommonTemplate = ({\n\ticon,\n\ttext,\n\tisSelected,\n\tshowStartCheck = false,\n\tshowEndCheck = false\n}: PropsWithChildren<MenuItemCommonTemplateProps>) => {\n\tconst styles = menuItemCommonTemplateStyles();\n\n\treturn (\n\t\t<div className={styles.wrapper()}>\n\t\t\t{showStartCheck && <Icon icon={Check} className={styles.check({ isSelected })} />}\n\t\t\t<div className={styles.contentWrapper()}>\n\t\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t</div>\n\t\t\t{showEndCheck && <Icon icon={Check} className={cn(styles.rightIcon(), styles.check({ isSelected }))} />}\n\t\t</div>\n\t);\n};\n\nMenuItemCommonTemplate.displayName = \"MenuItemCommonTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check } from \"lucide-react\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemInfoTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemInfoTemplateStyles = tv({\n\tslots: {\n\t\tcheck: \"invisible\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemInfoTemplateVariants>\n});\n\ntype MenuItemInfoTemplateProps = MenuItemInfoTemplateVariants & {\n\ttext: string;\n\tdescription?: string;\n};\n\nexport const MenuItemInfoTemplate = ({\n\tdescription,\n\ttext,\n\tisSelected\n}: PropsWithChildren<MenuItemInfoTemplateProps>) => {\n\tconst styles = menuItemInfoTemplateStyles();\n\n\treturn (\n\t\t<>\n\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\n\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t{description && <MenuItemSecondaryText>{description}</MenuItemSecondaryText>}\n\t\t</>\n\t);\n};\n\nMenuItemInfoTemplate.displayName = \"MenuItemInfoTemplate\";\n","import { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\nimport { Icon } from \"@/components/icon\";\nimport { Check, LucideIcon } from \"lucide-react\";\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\nimport { MenuItemIconButton } from \"../../components/menu-item-icon-button/MenuItemIconButton\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nexport interface MenuItemInteractiveTemplateVariants {\n\tisSelected?: boolean;\n}\n\nconst menuItemInteractiveTemplateStyles = tv({\n\tslots: {\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\n\t\tcheck: \"invisible\",\n\t\tbutton: \"ml-auto\"\n\t},\n\tvariants: {\n\t\tisSelected: {\n\t\t\ttrue: {\n\t\t\t\tcheck: \"visible\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<MenuItemInteractiveTemplateVariants>\n});\n\ntype MenuItemInteractiveTemplateProps = MenuItemInteractiveTemplateVariants & {\n\ttext: string;\n\ticon: LucideIcon;\n\tbuttonIcon: LucideIcon;\n\tbuttonOnClick?: (e: React.MouseEvent) => void;\n};\n\nexport const MenuItemInteractiveTemplate = ({\n\ttext,\n\ticon,\n\tbuttonIcon,\n\tbuttonOnClick,\n\tisSelected\n}: PropsWithChildren<MenuItemInteractiveTemplateProps>) => {\n\tconst styles = menuItemInteractiveTemplateStyles();\n\n\treturn (\n\t\t<div className={styles.wrapper()}>\n\t\t\t<div className={styles.contentWrapper()}>\n\t\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\n\t\t\t\t<MenuItemIcon icon={icon} />\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\n\t\t\t</div>\n\t\t\t<MenuItemIconButton icon={buttonIcon} onClick={buttonOnClick} className={styles.button()} />\n\t\t</div>\n\t);\n};\n\nMenuItemInteractiveTemplate.displayName = \"MenuItemInteractiveTemplate\";\n","import { LucideIcon } from \"lucide-react\";\nimport { PropsWithChildren } from \"react\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { richButtonStyles } from \"@/components/button/rich-button/RichButton\";\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\n\nexport type MenuItemRichTemplateProps = {\n\ttitle: string;\n\tdescription: string;\n\ticon: LucideIcon;\n};\n\nexport const MenuItemRichTemplate = ({ icon, description, title }: PropsWithChildren<MenuItemRichTemplateProps>) => {\n\tconst buttonStyles = richButtonStyles();\n\treturn (\n\t\t<>\n\t\t\t<FeatureIcon icon={icon} size=\"sm\" className=\"bg-status-neutral-fg\" />\n\n\t\t\t<div className={buttonStyles.wrapper()}>\n\t\t\t\t<span className={buttonStyles.text()}>{title}</span>\n\t\t\t\t<MenuItemSecondaryText className={buttonStyles.description()}>{description}</MenuItemSecondaryText>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nMenuItemRichTemplate.displayName = \"MenuItemRichTemplate\";\n"],"names":["menuItemActionStyles","tv","MenuItemAction","React","className","children","props","ref","jsx","MenuItem","menuItemButtonVariants","menuItemButtonStyles","MenuItemButton","variant","theme","useComponentVariant","Button","menuItemIconStyles","MenuItemIcon","icon","Icon","menuItemIconButtonStyles","MenuItemIconButton","IconButton","menuItemSecondaryTextStyles","MenuItemSecondaryText","MenuItemActionTemplate","text","shortcut","jsxs","Fragment","MenuItemText","MenuItemShortcut","menuItemCommonTemplateStyles","MenuItemCommonTemplate","isSelected","showStartCheck","showEndCheck","styles","Check","cn","menuItemInfoTemplateStyles","MenuItemInfoTemplate","description","menuItemInteractiveTemplateStyles","MenuItemInteractiveTemplate","buttonIcon","buttonOnClick","MenuItemRichTemplate","title","buttonStyles","richButtonStyles","FeatureIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu-item.js","sources":["../../src/components/menu-item/MenuItemAction.tsx","../../src/components/menu-item/components/menu-item-button/MenuItemButton.tsx","../../src/components/menu-item/components/menu-item-icon/MenuItemIcon.tsx","../../src/components/menu-item/components/menu-item-icon-button/MenuItemIconButton.tsx","../../src/components/menu-item/components/menu-item-secondary-text/MenuItemSecondaryText.tsx","../../src/components/menu-item/templates/menu-item-action-template/MenuItemActionTemplate.tsx","../../src/components/menu-item/templates/menu-item-common-template/MenuItemCommonTemplate.tsx","../../src/components/menu-item/templates/menu-item-info-template/MenuItemInfoTemplate.tsx","../../src/components/menu-item/templates/menu-item-interactive-template/MenuItemInteractiveTemplate.tsx","../../src/components/menu-item/templates/menu-item-rich-template/MenuItemRichTemplate.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\r\nimport { MenuItem, MenuItemProps } from \"./MenuItem\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport React from \"react\";\r\n\r\nconst menuItemActionStyles = tv({\r\n\tbase: \"hover:cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary\"\r\n});\r\n\r\nexport type MenuActionItemProps = MenuItemProps;\r\n\r\nexport const MenuItemAction = React.forwardRef<HTMLDivElement, PropsWithChildren<MenuActionItemProps>>(\r\n\t({ className, children, ...props }, ref) => (\r\n\t\t<MenuItem ref={ref} className={menuItemActionStyles({ className })} tabIndex={0} {...props}>\r\n\t\t\t{children}\r\n\t\t</MenuItem>\r\n\t)\r\n);\r\n\r\nMenuItemAction.displayName = \"MenuItemAction\";\r\n","import { Button } from \"@/components/button\";\r\nimport { ButtonProps } from \"@/components/button/button/Button\";\r\nimport { narrowVariant, useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\ntype MenuItemButtonProps = Omit<ButtonProps, \"variant\" | \"status\"> & {\r\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\r\n};\r\n\r\nexport const menuItemButtonVariants = tv({\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg\"\r\n\t\t},\r\n\t\tvariant: {\r\n\t\t\toutline: \"\",\r\n\t\t\tghost: \"\",\r\n\t\t\ttext: \"\",\r\n\t\t\tlink: \"\"\r\n\t\t}\r\n\t},\r\n\tcompoundVariants: [\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"outline\",\r\n\t\t\tclass: \"border-inverse-border bg-inverse-primary-bg active:border-inverse-border active:bg-inverse-hover lg:hover:border-inverse-border lg:hover:bg-inverse-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"ghost\",\r\n\t\t\tclass: \"active:bg-inverse-hover lg:hover:bg-inverse-hover\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"text\",\r\n\t\t\tclass: \"active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\r\n\t\t},\r\n\t\t{\r\n\t\t\ttheme: \"inverse\",\r\n\t\t\tvariant: \"link\",\r\n\t\t\tclass: \"text-inverse-muted underline active:text-inverse-primary-fg lg:hover:text-inverse-primary-fg\"\r\n\t\t}\r\n\t]\r\n});\r\n\r\nconst menuItemButtonStyles = tv({\r\n\textend: menuItemButtonVariants,\r\n\tbase: \"h-6 rounded-sm py-1\"\r\n});\r\n\r\nexport const MenuItemButton = React.forwardRef<HTMLButtonElement, MenuItemButtonProps>(\r\n\t({ className, variant = \"ghost\", ...props }, ref) => {\r\n\t\tconst { variant: componentVariant } = useComponentVariant();\r\n\t\tconst theme = narrowVariant(componentVariant, [\"inverse\"]);\r\n\r\n\t\treturn (\r\n\t\t\t<Button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-menu-item-action\r\n\t\t\t\tsize=\"xs\"\r\n\t\t\t\tvariant={variant}\r\n\t\t\t\tclassName={menuItemButtonStyles({ className, theme, variant })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nMenuItemButton.displayName = \"MenuItemButton\";\r\n","import { Icon } from \"@/components/icon\";\r\nimport { IconProps } from \"@/components/icon/Icon\";\r\nimport { narrowVariant, useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst menuItemIconStyles = tv({\r\n\tbase: \"truncate text-sm text-primary-fg\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-primary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\ntype MenuItemIconProps = IconProps;\r\n\r\nexport const MenuItemIcon = ({ className, icon, ...props }: MenuItemIconProps) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst theme = narrowVariant(variant, [\"inverse\"]);\r\n\r\n\treturn <Icon icon={icon} className={menuItemIconStyles({ className, theme })} {...props} />;\r\n};\r\n\r\nMenuItemIcon.displayName = \"MenuItemIcon\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport React from \"react\";\r\nimport { narrowVariant, useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport { menuItemButtonVariants } from \"../menu-item-button/MenuItemButton\";\r\n\r\ntype MenuItemIconProps = Omit<IconButtonProps, \"variant\" | \"status\"> & {\r\n\tvariant?: \"outline\" | \"ghost\" | \"text\";\r\n};\r\n\r\nconst menuItemIconButtonStyles = tv({\r\n\textend: menuItemButtonVariants,\r\n\tbase: \"h-6 w-6 rounded-sm\"\r\n});\r\n\r\nexport const MenuItemIconButton = React.forwardRef<HTMLButtonElement, MenuItemIconProps>(\r\n\t({ className, icon, variant = \"ghost\", ...props }, ref) => {\r\n\t\tconst { variant: componentVariant } = useComponentVariant();\r\n\t\tconst theme = narrowVariant(componentVariant, [\"inverse\"]);\r\n\r\n\t\treturn (\r\n\t\t\t<IconButton\r\n\t\t\t\tref={ref}\r\n\t\t\t\ticon={icon}\r\n\t\t\t\tdata-menu-item-action\r\n\t\t\t\tsize=\"xs\"\r\n\t\t\t\tvariant={variant}\r\n\t\t\t\tstatus=\"default\"\r\n\t\t\t\tclassName={menuItemIconButtonStyles({ className, theme, variant })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nMenuItemIconButton.displayName = \"MenuItemIconButton\";\r\n","import { narrowVariant, useComponentVariant } from \"@/providers/component-variant-context\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport const menuItemSecondaryTextStyles = tv({\r\n\tbase: \"truncate text-xs text-muted\",\r\n\tvariants: {\r\n\t\ttheme: {\r\n\t\t\tinverse: \"text-inverse-muted\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\ntype MenuItemTextProps = React.HTMLAttributes<HTMLSpanElement>;\r\n\r\nexport const MenuItemSecondaryText = ({ className, children, ...props }: MenuItemTextProps) => {\r\n\tconst { variant } = useComponentVariant();\r\n\tconst theme = narrowVariant(variant, [\"inverse\"]);\r\n\r\n\treturn (\r\n\t\t<span className={menuItemSecondaryTextStyles({ className, theme })} {...props}>\r\n\t\t\t{children}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nMenuItemSecondaryText.displayName = \"MenuItemSecondaryText\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { MenuItemShortcut } from \"../../components/menu-item-shortcut/MenuItemShortcut\";\r\n\r\ntype MenuItemActionTemplateProps = {\r\n\ticon: LucideIcon;\r\n\ttext: string;\r\n\tshortcut?: string;\r\n};\r\n\r\nexport const MenuItemActionTemplate = ({ icon, text, shortcut }: PropsWithChildren<MenuItemActionTemplateProps>) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t{shortcut && <MenuItemShortcut>{shortcut}</MenuItemShortcut>}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemActionTemplate.displayName = \"MenuItemActionTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check, LucideIcon } from \"lucide-react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemCommonTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemCommonTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\r\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\r\n\t\tcheck: \"invisible\",\r\n\t\trightIcon: \"ml-auto\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemCommonTemplateVariants>\r\n});\r\n\r\ntype MenuItemCommonTemplateProps = MenuItemCommonTemplateVariants & {\r\n\ttext: string;\r\n\ticon: LucideIcon;\r\n\tshowStartCheck?: boolean;\r\n\tshowEndCheck?: boolean;\r\n};\r\n\r\nexport const MenuItemCommonTemplate = ({\r\n\ticon,\r\n\ttext,\r\n\tisSelected,\r\n\tshowStartCheck = false,\r\n\tshowEndCheck = false\r\n}: PropsWithChildren<MenuItemCommonTemplateProps>) => {\r\n\tconst styles = menuItemCommonTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrapper()}>\r\n\t\t\t{showStartCheck && <Icon icon={Check} className={styles.check({ isSelected })} />}\r\n\t\t\t<div className={styles.contentWrapper()}>\r\n\t\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t</div>\r\n\t\t\t{showEndCheck && <Icon icon={Check} className={cn(styles.rightIcon(), styles.check({ isSelected }))} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nMenuItemCommonTemplate.displayName = \"MenuItemCommonTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check } from \"lucide-react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemInfoTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemInfoTemplateStyles = tv({\r\n\tslots: {\r\n\t\tcheck: \"invisible\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemInfoTemplateVariants>\r\n});\r\n\r\ntype MenuItemInfoTemplateProps = MenuItemInfoTemplateVariants & {\r\n\ttext: string;\r\n\tdescription?: string;\r\n};\r\n\r\nexport const MenuItemInfoTemplate = ({\r\n\tdescription,\r\n\ttext,\r\n\tisSelected\r\n}: PropsWithChildren<MenuItemInfoTemplateProps>) => {\r\n\tconst styles = menuItemInfoTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\r\n\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t{description && <MenuItemSecondaryText>{description}</MenuItemSecondaryText>}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemInfoTemplate.displayName = \"MenuItemInfoTemplate\";\r\n","import { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { MenuItemText } from \"../../components/menu-item-text/MenuItemText\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { Check, LucideIcon } from \"lucide-react\";\r\nimport { MenuItemIcon } from \"../../components/menu-item-icon/MenuItemIcon\";\r\nimport { MenuItemIconButton } from \"../../components/menu-item-icon-button/MenuItemIconButton\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface MenuItemInteractiveTemplateVariants {\r\n\tisSelected?: boolean;\r\n}\r\n\r\nconst menuItemInteractiveTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full flex-row items-center gap-2\",\r\n\t\tcontentWrapper: \"flex flex-row items-center gap-2\",\r\n\t\tcheck: \"invisible\",\r\n\t\tbutton: \"ml-auto\"\r\n\t},\r\n\tvariants: {\r\n\t\tisSelected: {\r\n\t\t\ttrue: {\r\n\t\t\t\tcheck: \"visible\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<MenuItemInteractiveTemplateVariants>\r\n});\r\n\r\ntype MenuItemInteractiveTemplateProps = MenuItemInteractiveTemplateVariants & {\r\n\ttext: string;\r\n\ticon: LucideIcon;\r\n\tbuttonIcon: LucideIcon;\r\n\tbuttonOnClick?: (e: React.MouseEvent) => void;\r\n};\r\n\r\nexport const MenuItemInteractiveTemplate = ({\r\n\ttext,\r\n\ticon,\r\n\tbuttonIcon,\r\n\tbuttonOnClick,\r\n\tisSelected\r\n}: PropsWithChildren<MenuItemInteractiveTemplateProps>) => {\r\n\tconst styles = menuItemInteractiveTemplateStyles();\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrapper()}>\r\n\t\t\t<div className={styles.contentWrapper()}>\r\n\t\t\t\t<Icon icon={Check} className={styles.check({ isSelected })} />\r\n\t\t\t\t<MenuItemIcon icon={icon} />\r\n\t\t\t\t<MenuItemText>{text}</MenuItemText>\r\n\t\t\t</div>\r\n\t\t\t<MenuItemIconButton icon={buttonIcon} onClick={buttonOnClick} className={styles.button()} />\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nMenuItemInteractiveTemplate.displayName = \"MenuItemInteractiveTemplate\";\r\n","import { LucideIcon } from \"lucide-react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { FeatureIcon } from \"@/components/icon\";\r\nimport { richButtonStyles } from \"@/components/button/rich-button/RichButton\";\r\nimport { MenuItemSecondaryText } from \"../../components/menu-item-secondary-text/MenuItemSecondaryText\";\r\n\r\nexport type MenuItemRichTemplateProps = {\r\n\ttitle: string;\r\n\tdescription: string;\r\n\ticon: LucideIcon;\r\n};\r\n\r\nexport const MenuItemRichTemplate = ({ icon, description, title }: PropsWithChildren<MenuItemRichTemplateProps>) => {\r\n\tconst buttonStyles = richButtonStyles();\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<FeatureIcon icon={icon} size=\"sm\" className=\"bg-status-neutral-fg\" />\r\n\r\n\t\t\t<div className={buttonStyles.wrapper()}>\r\n\t\t\t\t<span className={buttonStyles.text()}>{title}</span>\r\n\t\t\t\t<MenuItemSecondaryText className={buttonStyles.description()}>{description}</MenuItemSecondaryText>\r\n\t\t\t</div>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nMenuItemRichTemplate.displayName = \"MenuItemRichTemplate\";\r\n"],"names":["menuItemActionStyles","tv","MenuItemAction","React","className","children","props","ref","jsx","MenuItem","menuItemButtonVariants","menuItemButtonStyles","MenuItemButton","variant","componentVariant","useComponentVariant","theme","narrowVariant","Button","menuItemIconStyles","MenuItemIcon","icon","Icon","menuItemIconButtonStyles","MenuItemIconButton","IconButton","menuItemSecondaryTextStyles","MenuItemSecondaryText","MenuItemActionTemplate","text","shortcut","jsxs","Fragment","MenuItemText","MenuItemShortcut","menuItemCommonTemplateStyles","MenuItemCommonTemplate","isSelected","showStartCheck","showEndCheck","styles","Check","cn","menuItemInfoTemplateStyles","MenuItemInfoTemplate","description","menuItemInteractiveTemplateStyles","MenuItemInteractiveTemplate","buttonIcon","buttonOnClick","MenuItemRichTemplate","title","buttonStyles","richButtonStyles","FeatureIcon"],"mappings":";;;;;;;;;;;;;;;AAKA,MAAMA,IAAuBC,EAAG;AAAA,EAC/B,MAAM;AACP,CAAC,GAIYC,IAAiBC,EAAM;AAAA,EACnC,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAClC,gBAAAC,EAAAC,GAAA,EAAS,KAAAF,GAAU,WAAWP,EAAqB,EAAE,WAAAI,GAAW,GAAG,UAAU,GAAI,GAAGE,GACnF,UAAAD,EACF,CAAA;AAEF;AAEAH,EAAe,cAAc;ACTtB,MAAMQ,IAAyBT,EAAG;AAAA,EACxC,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAAA,EAER;AAAA,EACA,kBAAkB;AAAA,IACjB;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EACR;AAEF,CAAC,GAEKU,IAAuBV,EAAG;AAAA,EAC/B,QAAQS;AAAA,EACR,MAAM;AACP,CAAC,GAEYE,IAAiBT,EAAM;AAAA,EACnC,CAAC,EAAE,WAAAC,GAAW,SAAAS,IAAU,SAAS,GAAGP,KAASC,MAAQ;AACpD,UAAM,EAAE,SAASO,EAAiB,IAAIC,EAAoB,GACpDC,IAAQC,EAAcH,GAAkB,CAAC,SAAS,CAAC;AAGxD,WAAA,gBAAAN;AAAA,MAACU;AAAA,MAAA;AAAA,QACA,KAAAX;AAAA,QACA,yBAAqB;AAAA,QACrB,MAAK;AAAA,QACL,SAAAM;AAAA,QACA,WAAWF,EAAqB,EAAE,WAAAP,GAAW,OAAAY,GAAO,SAAAH,GAAS;AAAA,QAC5D,GAAGP;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEAM,EAAe,cAAc;AChE7B,MAAMO,IAAqBlB,EAAG;AAAA,EAC7B,MAAM;AAAA,EACN,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACV;AAEF,CAAC,GAIYmB,IAAe,CAAC,EAAE,WAAAhB,GAAW,MAAAiB,GAAM,GAAGf,QAA+B;AAC3E,QAAA,EAAE,SAAAO,EAAQ,IAAIE,EAAoB,GAClCC,IAAQC,EAAcJ,GAAS,CAAC,SAAS,CAAC;AAEzC,SAAA,gBAAAL,EAACc,GAAK,EAAA,MAAAD,GAAY,WAAWF,EAAmB,EAAE,WAAAf,GAAW,OAAAY,EAAM,CAAC,GAAI,GAAGV,EAAO,CAAA;AAC1F;AAEAc,EAAa,cAAc;ACZ3B,MAAMG,IAA2BtB,EAAG;AAAA,EACnC,QAAQS;AAAA,EACR,MAAM;AACP,CAAC,GAEYc,IAAqBrB,EAAM;AAAA,EACvC,CAAC,EAAE,WAAAC,GAAW,MAAAiB,GAAM,SAAAR,IAAU,SAAS,GAAGP,EAAM,GAAGC,MAAQ;AAC1D,UAAM,EAAE,SAASO,EAAiB,IAAIC,EAAoB,GACpDC,IAAQC,EAAcH,GAAkB,CAAC,SAAS,CAAC;AAGxD,WAAA,gBAAAN;AAAA,MAACiB;AAAA,MAAA;AAAA,QACA,KAAAlB;AAAA,QACA,MAAAc;AAAA,QACA,yBAAqB;AAAA,QACrB,MAAK;AAAA,QACL,SAAAR;AAAA,QACA,QAAO;AAAA,QACP,WAAWU,EAAyB,EAAE,WAAAnB,GAAW,OAAAY,GAAO,SAAAH,GAAS;AAAA,QAChE,GAAGP;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEAkB,EAAmB,cAAc;AChC1B,MAAME,IAA8BzB,EAAG;AAAA,EAC7C,MAAM;AAAA,EACN,UAAU;AAAA,IACT,OAAO;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACV;AAEF,CAAC,GAIY0B,IAAwB,CAAC,EAAE,WAAAvB,GAAW,UAAAC,GAAU,GAAGC,QAA+B;AACxF,QAAA,EAAE,SAAAO,EAAQ,IAAIE,EAAoB,GAClCC,IAAQC,EAAcJ,GAAS,CAAC,SAAS,CAAC;AAG/C,SAAA,gBAAAL,EAAC,QAAK,EAAA,WAAWkB,EAA4B,EAAE,WAAAtB,GAAW,OAAAY,GAAO,GAAI,GAAGV,GACtE,UAAAD,EACF,CAAA;AAEF;AAEAsB,EAAsB,cAAc;ACd7B,MAAMC,IAAyB,CAAC,EAAE,MAAAP,GAAM,MAAAQ,GAAM,UAAAC,QAGlD,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,EAAA,gBAAAxB,EAACY,KAAa,MAAAC,GAAY;AAAA,EAC1B,gBAAAb,EAACyB,KAAc,UAAKJ,EAAA,CAAA;AAAA,EACnBC,KAAa,gBAAAtB,EAAA0B,GAAA,EAAkB,UAASJ,EAAA,CAAA;AAAA,GAC1C;AAIFF,EAAuB,cAAc;ACTrC,MAAMO,IAA+BlC,EAAG;AAAA,EACvC,OAAO;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,WAAW;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GASYmC,IAAyB,CAAC;AAAA,EACtC,MAAAf;AAAA,EACA,MAAAQ;AAAA,EACA,YAAAQ;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,cAAAC,IAAe;AAChB,MAAsD;AACrD,QAAMC,IAASL,EAA6B;AAE5C,SACE,gBAAAJ,EAAA,OAAA,EAAI,WAAWS,EAAO,QACrB,GAAA,UAAA;AAAA,IAAkBF,KAAA,gBAAA9B,EAACc,GAAK,EAAA,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAW,CAAC,EAAG,CAAA;AAAA,IAC9E,gBAAAN,EAAA,OAAA,EAAI,WAAWS,EAAO,eACtB,GAAA,UAAA;AAAA,MAAA,gBAAAhC,EAACY,KAAa,MAAAC,GAAY;AAAA,MAC1B,gBAAAb,EAACyB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IAAA,GACrB;AAAA,IACCU,KAAiB,gBAAA/B,EAAAc,GAAA,EAAK,MAAMmB,GAAO,WAAWC,EAAGF,EAAO,UAAU,GAAGA,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,CAAC,EAAG,CAAA;AAAA,EAAA,GACtG;AAEF;AAEAD,EAAuB,cAAc;AC7CrC,MAAMO,IAA6B1C,EAAG;AAAA,EACrC,OAAO;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GAOY2C,IAAuB,CAAC;AAAA,EACpC,aAAAC;AAAA,EACA,MAAAhB;AAAA,EACA,YAAAQ;AACD,MAAoD;AACnD,QAAMG,IAASG,EAA2B;AAE1C,SAEE,gBAAAZ,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAxB,EAAAc,GAAA,EAAK,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,GAAG;AAAA,IAC5D,gBAAA7B,EAACyB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IACnBgB,KAAgB,gBAAArC,EAAAmB,GAAA,EAAuB,UAAYkB,EAAA,CAAA;AAAA,EAAA,GACrD;AAEF;AAEAD,EAAqB,cAAc;ACjCnC,MAAME,IAAoC7C,EAAG;AAAA,EAC5C,OAAO;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACT,YAAY;AAAA,MACX,MAAM;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EACD;AAEF,CAAC,GASY8C,IAA8B,CAAC;AAAA,EAC3C,MAAAlB;AAAA,EACA,MAAAR;AAAA,EACA,YAAA2B;AAAA,EACA,eAAAC;AAAA,EACA,YAAAZ;AACD,MAA2D;AAC1D,QAAMG,IAASM,EAAkC;AAEjD,SACE,gBAAAf,EAAA,OAAA,EAAI,WAAWS,EAAO,QACtB,GAAA,UAAA;AAAA,IAAA,gBAAAT,EAAC,OAAI,EAAA,WAAWS,EAAO,eACtB,GAAA,UAAA;AAAA,MAAC,gBAAAhC,EAAAc,GAAA,EAAK,MAAMmB,GAAO,WAAWD,EAAO,MAAM,EAAE,YAAAH,EAAY,CAAA,GAAG;AAAA,MAC5D,gBAAA7B,EAACY,KAAa,MAAAC,GAAY;AAAA,MAC1B,gBAAAb,EAACyB,KAAc,UAAKJ,EAAA,CAAA;AAAA,IAAA,GACrB;AAAA,IACA,gBAAArB,EAACgB,KAAmB,MAAMwB,GAAY,SAASC,GAAe,WAAWT,EAAO,SAAU,CAAA;AAAA,EAAA,GAC3F;AAEF;AAEAO,EAA4B,cAAc;AC7CnC,MAAMG,IAAuB,CAAC,EAAE,MAAA7B,GAAM,aAAAwB,GAAa,OAAAM,QAA0D;AACnH,QAAMC,IAAeC,EAAiB;AACtC,SAEE,gBAAAtB,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAxB,EAAC8C,GAAY,EAAA,MAAAjC,GAAY,MAAK,MAAK,WAAU,wBAAuB;AAAA,IAEnE,gBAAAU,EAAA,OAAA,EAAI,WAAWqB,EAAa,QAC5B,GAAA,UAAA;AAAA,MAAA,gBAAA5C,EAAC,QAAK,EAAA,WAAW4C,EAAa,QAAS,UAAMD,GAAA;AAAA,wBAC5CxB,GAAsB,EAAA,WAAWyB,EAAa,eAAgB,UAAYP,EAAA,CAAA;AAAA,IAAA,EAC5E,CAAA;AAAA,EAAA,GACD;AAEF;AAEAK,EAAqB,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-state.js","sources":["../../src/components/page-state/context/PageStateContext.tsx","../../src/components/page-state/PageState.tsx","../../src/components/page-state/components/PageStateTitle.tsx","../../src/components/page-state/components/PageStateDescription.tsx","../../src/components/page-state/hooks/usePageStateButtonSize.tsx","../../src/components/page-state/components/PageStateCancel.tsx","../../src/components/page-state/components/PageStateAction.tsx","../../src/components/page-state/components/PageStateFeatureIcon.tsx","../../src/components/page-state/components/PageStateBoxSvg.tsx","../../src/components/page-state/components/PageStateFolderSvg.tsx","../../src/components/page-state/components/PageStateButtonGroup.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\n\nexport type PageStateSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface PageStateVariants {\n\tsize?: PageStateSize;\n}\n\nconst PageStateContext = createContext<PageStateVariants | undefined>(undefined);\n\ninterface PageStateProviderProps {\n\tsize: PageStateSize;\n\tchildren: React.ReactNode;\n}\n\nexport const PageStateProvider: React.FC<PageStateProviderProps> = ({ size, children }) => {\n\treturn <PageStateContext.Provider value={{ size }}>{children}</PageStateContext.Provider>;\n};\n\nexport const usePageStateContext = (): PageStateVariants => {\n\tconst context = useContext(PageStateContext);\n\tif (!context) {\n\t\tthrow new Error(\"usePageStateContext must be used within a PageStateProvider\");\n\t}\n\treturn context;\n};\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { PageStateProvider, PageStateSize } from \"./context/PageStateContext\";\n\nconst pageStateStyles = tv({\n\tbase: \"flex w-full flex-col items-center px-8\"\n});\n\nexport type PageStateProps = React.HTMLAttributes<HTMLDivElement> & {\n\tsize?: PageStateSize;\n};\n\nexport const PageState = React.forwardRef<HTMLDivElement, PageStateProps>(\n\t({ className, children, size = \"md\", ...props }, ref) => {\n\t\treturn (\n\t\t\t<PageStateProvider size={size}>\n\t\t\t\t<div ref={ref} className={pageStateStyles({ className })} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</PageStateProvider>\n\t\t);\n\t}\n);\n\nPageState.displayName = \"PageState\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateTitleStyles = tv({\n\tbase: \"mt-5 font-semibold text-primary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-base\",\n\t\t\tmd: \"text-xl\",\n\t\t\tlg: \"text-2xl\"\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\nexport type PageStateTitleProps = React.HTMLAttributes<HTMLHeadingElement> &\n\tPageStateVariants & {\n\t\tasChild?: boolean;\n\t};\n\nexport const PageStateTitle = React.forwardRef<HTMLHeadingElement, PageStateTitleProps>(\n\t({ className, size: propSize, asChild = false, ...props }, ref) => {\n\t\tconst { size: contextSize } = usePageStateContext();\n\t\tconst size = propSize || contextSize;\n\n\t\tconst Comp = asChild ? Slot : \"h2\";\n\t\treturn <Comp ref={ref} className={pageStateTitleStyles({ className, size })} {...props} />;\n\t}\n);\n\nPageStateTitle.displayName = \"PageStateTitle\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateDescriptionStyles = tv({\n\tbase: \"mt-2.5 text-center text-muted\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-xs\",\n\t\t\tmd: \"text-sm\",\n\t\t\tlg: \"text-base\"\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\nexport type PageStateDescriptionProps = React.HTMLAttributes<HTMLDivElement> &\n\tPageStateVariants & {\n\t\tasChild?: boolean;\n\t};\n\nexport const PageStateDescription = React.forwardRef<HTMLDivElement, PageStateDescriptionProps>(\n\t({ className, size: propSize, asChild = false, children, ...props }, ref) => {\n\t\tconst { size: contextSize } = usePageStateContext();\n\t\tconst size = propSize || contextSize;\n\n\t\tconst Comp = asChild ? Slot : \"div\";\n\t\treturn (\n\t\t\t<Comp ref={ref} className={pageStateDescriptionStyles({ className, size })} {...props}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n);\n\nPageStateDescription.displayName = \"PageStateDescription\";\n","import { usePageStateContext } from \"../context/PageStateContext\";\n\ntype ButtonSize = \"md\" | \"lg\" | \"xl\";\n\nexport const usePageStateButtonSize = (): ButtonSize => {\n\tconst { size } = usePageStateContext();\n\n\tswitch (size) {\n\t\tcase \"sm\":\n\t\t\treturn \"md\";\n\t\tcase \"lg\":\n\t\t\treturn \"xl\";\n\t\tdefault:\n\t\t\treturn \"lg\";\n\t}\n};\n","import React from \"react\";\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\n\nexport const PageStateCancel = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\n\tconst buttonSize = usePageStateButtonSize();\n\n\treturn (\n\t\t<Button ref={ref} variant=\"outline\" size={size || buttonSize} {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n});\n\nPageStateCancel.displayName = \"PageStateCancel\";\n","import React from \"react\";\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\n\nexport const PageStateAction = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\n\tconst buttonSize = usePageStateButtonSize();\n\n\treturn (\n\t\t<Button ref={ref} variant=\"primary\" size={size || buttonSize} {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n});\n\nPageStateAction.displayName = \"PageStateAction\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { PageStateSize, PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateFeatureIconStyles = tv({\n\tbase: \"rounded-full bg-alpha-high-80 p-3.5 text-secondary-bg backdrop-blur-sm\",\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"h-12 w-12\",\n\t\t\tmd: \"h-14 w-14 [&>svg]:size-[1.625rem]\",\n\t\t\tlg: \"h-14 w-14 [&>svg]:size-[1.625rem]\"\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\nexport type PageStateFeatureIconProps = Omit<FeatureIconProps, \"size\"> & { size?: PageStateSize } & PageStateVariants;\n\nexport const PageStateFeatureIcon: React.FC<PageStateFeatureIconProps> = ({\n\tclassName,\n\tsize: sizeProp,\n\ticon,\n\t...props\n}) => {\n\tconst { size } = usePageStateContext();\n\n\treturn (\n\t\t<FeatureIcon\n\t\t\ticon={icon}\n\t\t\tclassName={pageStateFeatureIconStyles({ className, size: sizeProp || size })}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nPageStateFeatureIcon.displayName = \"PageStateFeatureIcon\";\n","import { tv } from \"tailwind-variants\";\nimport { usePageStateContext } from \"../context/PageStateContext\";\nimport { BoxSvg } from \"@/components/images/BoxSvg\";\nimport { LucideIcon } from \"lucide-react\";\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\n\nconst pageStateBoxSvgStyles = tv({\n\tbase: \"relative\",\n\tslots: {\n\t\ticon: \"absolute\",\n\t\tsvg: \"h-[168px] w-[220px]\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[124px] w-[164px]\",\n\t\t\t\ticon: \"bottom-2 right-14\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-[140px] w-[168px]\",\n\t\t\t\ticon: \"bottom-2.5 right-[3.625rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"bottom-4 right-20\"\n\t\t\t}\n\t\t}\n\t}\n});\n\ninterface PageStateBoxSvgProps {\n\ticon?: LucideIcon;\n}\n\nexport const PageStateBoxSvg: React.FC<PageStateBoxSvgProps> = ({ icon }) => {\n\tconst { size } = usePageStateContext();\n\tconst styles = pageStateBoxSvgStyles({ size });\n\n\treturn (\n\t\t<div className={styles.base()}>\n\t\t\t<BoxSvg className={styles.svg()} />\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\n\t\t</div>\n\t);\n};\n\nPageStateBoxSvg.displayName = \"PageStateBoxSvg\";\n","import { tv } from \"tailwind-variants\";\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\nimport { FolderSvg } from \"@/components/images/FolderSvg\";\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\nimport { LucideIcon } from \"lucide-react\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst pageStateFolderSvgStyles = tv({\n\tbase: \"relative flex items-center justify-center\",\n\tslots: {\n\t\ticon: \"absolute\",\n\t\tsvg: \"h-[160px] w-[220px]\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[110px] w-[164px]\",\n\t\t\t\ticon: \"bottom-0 right-[3.625rem]\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-[128px] w-[168px]\",\n\t\t\t\ticon: \"bottom-2 right-[3.625rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\ticon: \"bottom-4 right-[5.125rem]\"\n\t\t\t}\n\t\t}\n\t} satisfies VariantsConfig<PageStateVariants>\n});\n\ninterface PageStateFolderSvgProps extends PageStateVariants {\n\ticon?: LucideIcon;\n}\n\nexport const PageStateFolderSvg: React.FC<PageStateFolderSvgProps> = ({ icon, size: sizeProp }) => {\n\tconst { size } = usePageStateContext();\n\tconst styles = pageStateFolderSvgStyles({ size: sizeProp || size });\n\n\treturn (\n\t\t<div className={styles.base()}>\n\t\t\t<FolderSvg className={styles.svg()} />\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\n\t\t</div>\n\t);\n};\n\nPageStateFolderSvg.displayName = \"PageStateFolderSvg\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nconst pageStateButtonGroupStyles = tv({\n\tbase: \"mt-8 flex w-full flex-row items-center justify-center gap-3\"\n});\n\nexport type PageStateButtonGroupProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const PageStateButtonGroup = React.forwardRef<HTMLDivElement, PageStateButtonGroupProps>(\n\t({ children, className, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={pageStateButtonGroupStyles({ className })} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPageStateButtonGroup.displayName = \"PageStateButtonGroup\";\n"],"names":["PageStateContext","createContext","PageStateProvider","size","children","jsx","usePageStateContext","context","useContext","pageStateStyles","tv","PageState","React","className","props","ref","pageStateTitleStyles","PageStateTitle","propSize","asChild","contextSize","Slot","pageStateDescriptionStyles","PageStateDescription","usePageStateButtonSize","PageStateCancel","buttonSize","Button","PageStateAction","pageStateFeatureIconStyles","PageStateFeatureIcon","sizeProp","icon","FeatureIcon","pageStateBoxSvgStyles","PageStateBoxSvg","styles","jsxs","BoxSvg","pageStateFolderSvgStyles","PageStateFolderSvg","FolderSvg","pageStateButtonGroupStyles","PageStateButtonGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-state.js","sources":["../../src/components/page-state/context/PageStateContext.tsx","../../src/components/page-state/PageState.tsx","../../src/components/page-state/components/PageStateTitle.tsx","../../src/components/page-state/components/PageStateDescription.tsx","../../src/components/page-state/hooks/usePageStateButtonSize.tsx","../../src/components/page-state/components/PageStateCancel.tsx","../../src/components/page-state/components/PageStateAction.tsx","../../src/components/page-state/components/PageStateFeatureIcon.tsx","../../src/components/page-state/components/PageStateBoxSvg.tsx","../../src/components/page-state/components/PageStateFolderSvg.tsx","../../src/components/page-state/components/PageStateButtonGroup.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\r\n\r\nexport type PageStateSize = \"sm\" | \"md\" | \"lg\";\r\n\r\nexport interface PageStateVariants {\r\n\tsize?: PageStateSize;\r\n}\r\n\r\nconst PageStateContext = createContext<PageStateVariants | undefined>(undefined);\r\n\r\ninterface PageStateProviderProps {\r\n\tsize: PageStateSize;\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\nexport const PageStateProvider: React.FC<PageStateProviderProps> = ({ size, children }) => {\r\n\treturn <PageStateContext.Provider value={{ size }}>{children}</PageStateContext.Provider>;\r\n};\r\n\r\nexport const usePageStateContext = (): PageStateVariants => {\r\n\tconst context = useContext(PageStateContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"usePageStateContext must be used within a PageStateProvider\");\r\n\t}\r\n\treturn context;\r\n};\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { PageStateProvider, PageStateSize } from \"./context/PageStateContext\";\r\n\r\nconst pageStateStyles = tv({\r\n\tbase: \"flex w-full flex-col items-center px-8\"\r\n});\r\n\r\nexport type PageStateProps = React.HTMLAttributes<HTMLDivElement> & {\r\n\tsize?: PageStateSize;\r\n};\r\n\r\nexport const PageState = React.forwardRef<HTMLDivElement, PageStateProps>(\r\n\t({ className, children, size = \"md\", ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<PageStateProvider size={size}>\r\n\t\t\t\t<div ref={ref} className={pageStateStyles({ className })} {...props}>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</PageStateProvider>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPageState.displayName = \"PageState\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateTitleStyles = tv({\r\n\tbase: \"mt-5 font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-base\",\r\n\t\t\tmd: \"text-xl\",\r\n\t\t\tlg: \"text-2xl\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\nexport type PageStateTitleProps = React.HTMLAttributes<HTMLHeadingElement> &\r\n\tPageStateVariants & {\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const PageStateTitle = React.forwardRef<HTMLHeadingElement, PageStateTitleProps>(\r\n\t({ className, size: propSize, asChild = false, ...props }, ref) => {\r\n\t\tconst { size: contextSize } = usePageStateContext();\r\n\t\tconst size = propSize || contextSize;\r\n\r\n\t\tconst Comp = asChild ? Slot : \"h2\";\r\n\t\treturn <Comp ref={ref} className={pageStateTitleStyles({ className, size })} {...props} />;\r\n\t}\r\n);\r\n\r\nPageStateTitle.displayName = \"PageStateTitle\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateDescriptionStyles = tv({\r\n\tbase: \"mt-2.5 text-center text-muted\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-xs\",\r\n\t\t\tmd: \"text-sm\",\r\n\t\t\tlg: \"text-base\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\nexport type PageStateDescriptionProps = React.HTMLAttributes<HTMLDivElement> &\r\n\tPageStateVariants & {\r\n\t\tasChild?: boolean;\r\n\t};\r\n\r\nexport const PageStateDescription = React.forwardRef<HTMLDivElement, PageStateDescriptionProps>(\r\n\t({ className, size: propSize, asChild = false, children, ...props }, ref) => {\r\n\t\tconst { size: contextSize } = usePageStateContext();\r\n\t\tconst size = propSize || contextSize;\r\n\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\t\treturn (\r\n\t\t\t<Comp ref={ref} className={pageStateDescriptionStyles({ className, size })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</Comp>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPageStateDescription.displayName = \"PageStateDescription\";\r\n","import { usePageStateContext } from \"../context/PageStateContext\";\r\n\r\ntype ButtonSize = \"md\" | \"lg\" | \"xl\";\r\n\r\nexport const usePageStateButtonSize = (): ButtonSize => {\r\n\tconst { size } = usePageStateContext();\r\n\r\n\tswitch (size) {\r\n\t\tcase \"sm\":\r\n\t\t\treturn \"md\";\r\n\t\tcase \"lg\":\r\n\t\t\treturn \"xl\";\r\n\t\tdefault:\r\n\t\t\treturn \"lg\";\r\n\t}\r\n};\r\n","import React from \"react\";\r\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\r\n\r\nexport const PageStateCancel = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\r\n\tconst buttonSize = usePageStateButtonSize();\r\n\r\n\treturn (\r\n\t\t<Button ref={ref} variant=\"outline\" size={size || buttonSize} {...props}>\r\n\t\t\t{children}\r\n\t\t</Button>\r\n\t);\r\n});\r\n\r\nPageStateCancel.displayName = \"PageStateCancel\";\r\n","import React from \"react\";\r\nimport { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { usePageStateButtonSize } from \"../hooks/usePageStateButtonSize\";\r\n\r\nexport const PageStateAction = React.forwardRef<HTMLButtonElement, ButtonProps>(({ children, size, ...props }, ref) => {\r\n\tconst buttonSize = usePageStateButtonSize();\r\n\r\n\treturn (\r\n\t\t<Button ref={ref} variant=\"primary\" size={size || buttonSize} {...props}>\r\n\t\t\t{children}\r\n\t\t</Button>\r\n\t);\r\n});\r\n\r\nPageStateAction.displayName = \"PageStateAction\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { PageStateSize, PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { FeatureIcon } from \"@/components/icon\";\r\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateFeatureIconStyles = tv({\r\n\tbase: \"rounded-full bg-alpha-high-80 p-3.5 text-secondary-bg backdrop-blur-sm\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"h-12 w-12\",\r\n\t\t\tmd: \"h-14 w-14 [&>svg]:size-[1.625rem]\",\r\n\t\t\tlg: \"h-14 w-14 [&>svg]:size-[1.625rem]\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\nexport type PageStateFeatureIconProps = Omit<FeatureIconProps, \"size\"> & { size?: PageStateSize } & PageStateVariants;\r\n\r\nexport const PageStateFeatureIcon: React.FC<PageStateFeatureIconProps> = ({\r\n\tclassName,\r\n\tsize: sizeProp,\r\n\ticon,\r\n\t...props\r\n}) => {\r\n\tconst { size } = usePageStateContext();\r\n\r\n\treturn (\r\n\t\t<FeatureIcon\r\n\t\t\ticon={icon}\r\n\t\t\tclassName={pageStateFeatureIconStyles({ className, size: sizeProp || size })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nPageStateFeatureIcon.displayName = \"PageStateFeatureIcon\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { usePageStateContext } from \"../context/PageStateContext\";\r\nimport { BoxSvg } from \"@/components/images/BoxSvg\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\r\n\r\nconst pageStateBoxSvgStyles = tv({\r\n\tbase: \"relative\",\r\n\tslots: {\r\n\t\ticon: \"absolute\",\r\n\t\tsvg: \"h-[168px] w-[220px]\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[124px] w-[164px]\",\r\n\t\t\t\ticon: \"bottom-2 right-14\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-[140px] w-[168px]\",\r\n\t\t\t\ticon: \"bottom-2.5 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"bottom-4 right-20\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ninterface PageStateBoxSvgProps {\r\n\ticon?: LucideIcon;\r\n}\r\n\r\nexport const PageStateBoxSvg: React.FC<PageStateBoxSvgProps> = ({ icon }) => {\r\n\tconst { size } = usePageStateContext();\r\n\tconst styles = pageStateBoxSvgStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.base()}>\r\n\t\t\t<BoxSvg className={styles.svg()} />\r\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nPageStateBoxSvg.displayName = \"PageStateBoxSvg\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { PageStateVariants, usePageStateContext } from \"../context/PageStateContext\";\r\nimport { FolderSvg } from \"@/components/images/FolderSvg\";\r\nimport { PageStateFeatureIcon } from \"./PageStateFeatureIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst pageStateFolderSvgStyles = tv({\r\n\tbase: \"relative flex items-center justify-center\",\r\n\tslots: {\r\n\t\ticon: \"absolute\",\r\n\t\tsvg: \"h-[160px] w-[220px]\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[110px] w-[164px]\",\r\n\t\t\t\ticon: \"bottom-0 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-[128px] w-[168px]\",\r\n\t\t\t\ticon: \"bottom-2 right-[3.625rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\ticon: \"bottom-4 right-[5.125rem]\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<PageStateVariants>\r\n});\r\n\r\ninterface PageStateFolderSvgProps extends PageStateVariants {\r\n\ticon?: LucideIcon;\r\n}\r\n\r\nexport const PageStateFolderSvg: React.FC<PageStateFolderSvgProps> = ({ icon, size: sizeProp }) => {\r\n\tconst { size } = usePageStateContext();\r\n\tconst styles = pageStateFolderSvgStyles({ size: sizeProp || size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.base()}>\r\n\t\t\t<FolderSvg className={styles.svg()} />\r\n\t\t\t{icon && <PageStateFeatureIcon className={styles.icon()} icon={icon} />}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nPageStateFolderSvg.displayName = \"PageStateFolderSvg\";\r\n","import React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst pageStateButtonGroupStyles = tv({\r\n\tbase: \"mt-8 flex w-full flex-row items-center justify-center gap-3\"\r\n});\r\n\r\nexport type PageStateButtonGroupProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const PageStateButtonGroup = React.forwardRef<HTMLDivElement, PageStateButtonGroupProps>(\r\n\t({ children, className, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={pageStateButtonGroupStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPageStateButtonGroup.displayName = \"PageStateButtonGroup\";\r\n"],"names":["PageStateContext","createContext","PageStateProvider","size","children","jsx","usePageStateContext","context","useContext","pageStateStyles","tv","PageState","React","className","props","ref","pageStateTitleStyles","PageStateTitle","propSize","asChild","contextSize","Slot","pageStateDescriptionStyles","PageStateDescription","usePageStateButtonSize","PageStateCancel","buttonSize","Button","PageStateAction","pageStateFeatureIconStyles","PageStateFeatureIcon","sizeProp","icon","FeatureIcon","pageStateBoxSvgStyles","PageStateBoxSvg","styles","jsxs","BoxSvg","pageStateFolderSvgStyles","PageStateFolderSvg","FolderSvg","pageStateButtonGroupStyles","PageStateButtonGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal-container.js","sources":["../../src/components/portal-container/PortalContainer.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { portalContainerEvents } from \"./portalContainerEvents\";\n\n/**\n * Компонент-контейнер для портала с поддержкой изолированных стилей.\n *\n * Предоставляет обёртку с классом 'ui-kit' и data-атрибутом для плавающего контента\n * (Dialog, Dropdown, Select, Popover, Drawer, Tooltip, Sheet, AlertDialog).\n *\n * Следует использовать только если применяются изолированные стили.\n */\nexport const PortalContainer = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<\"div\">>(\n\t({ children, className, ...props }, ref) => {\n\t\tReact.useEffect(() => {\n\t\t\tportalContainerEvents.notify(true);\n\t\t\treturn () => portalContainerEvents.notify(false);\n\t\t}, []);\n\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"ui-kit fixed left-0 top-0\", className)} data-portal-container {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nPortalContainer.displayName = \"PortalContainer\";\n"],"names":["PortalContainer","React","children","className","props","ref","portalContainerEvents","jsx","cn"],"mappings":";;;;;AAYO,MAAMA,IAAkBC,EAAM;AAAA,EACpC,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,OACnCJ,EAAM,UAAU,OACfK,EAAsB,OAAO,EAAI,GAC1B,MAAMA,EAAsB,OAAO,EAAK,IAC7C,EAAE,GAGH,gBAAAC,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWG,EAAG,6BAA6BL,CAAS,GAAG,yBAAqB,IAAE,GAAGC,GAC9F,UAAAF,EACF,CAAA;AAGH;AAEAF,EAAgB,cAAc;"}
|
|
1
|
+
{"version":3,"file":"portal-container.js","sources":["../../src/components/portal-container/PortalContainer.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { portalContainerEvents } from \"./portalContainerEvents\";\r\n\r\n/**\r\n * Компонент-контейнер для портала с поддержкой изолированных стилей.\r\n *\r\n * Предоставляет обёртку с классом 'ui-kit' и data-атрибутом для плавающего контента\r\n * (Dialog, Dropdown, Select, Popover, Drawer, Tooltip, Sheet, AlertDialog).\r\n *\r\n * Следует использовать только если применяются изолированные стили.\r\n */\r\nexport const PortalContainer = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<\"div\">>(\r\n\t({ children, className, ...props }, ref) => {\r\n\t\tReact.useEffect(() => {\r\n\t\t\tportalContainerEvents.notify(true);\r\n\t\t\treturn () => portalContainerEvents.notify(false);\r\n\t\t}, []);\r\n\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={cn(\"ui-kit fixed left-0 top-0\", className)} data-portal-container {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nPortalContainer.displayName = \"PortalContainer\";\r\n"],"names":["PortalContainer","React","children","className","props","ref","portalContainerEvents","jsx","cn"],"mappings":";;;;;AAYO,MAAMA,IAAkBC,EAAM;AAAA,EACpC,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,OACnCJ,EAAM,UAAU,OACfK,EAAsB,OAAO,EAAI,GAC1B,MAAMA,EAAsB,OAAO,EAAK,IAC7C,EAAE,GAGH,gBAAAC,EAAA,OAAA,EAAI,KAAAF,GAAU,WAAWG,EAAG,6BAA6BL,CAAS,GAAG,yBAAqB,IAAE,GAAGC,GAC9F,UAAAF,EACF,CAAA;AAGH;AAEAF,EAAgB,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleVariants = tv({\n\tslots: {\n\t\tsvg: \"-rotate-90 transform\",\n\t\ttrack: \"fill-secondary-bg-hover\",\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tsvg: \"h-10 w-10\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tsvg: \"h-20 w-20\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\n\t\t\t}\n\t\t},\n\t\tisIndeterminate: {\n\t\t\ttrue: {\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\n\tReact.HTMLAttributes<SVGSVGElement> & {\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\n\t\tmax?: number;\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\n\t\tvalue?: number | null;\n\t\t/** Индикатор неопределенного состояния прогресса */\n\t\tindeterminate?: boolean;\n\t\t/** Классы для индикатора */\n\t\tindicatorClassName?: string;\n\t};\n\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\n\n\t\tconst radius = 84;\n\t\tconst circumference = 2 * Math.PI * radius;\n\n\t\tconst progressData = useMemo(() => {\n\t\t\tif (indeterminate) {\n\t\t\t\treturn {\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\n\t\t\t\t\tstrokeDashoffset: 0,\n\t\t\t\t\tpercentage: 0\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\n\t\t\tconst dashOffset = circumference - progress;\n\n\t\t\treturn {\n\t\t\t\tstrokeDasharray: circumference,\n\t\t\t\tstrokeDashoffset: dashOffset,\n\t\t\t\tpercentage: Math.round(percentage)\n\t\t\t};\n\t\t}, [circumference, currentValue, max, indeterminate]);\n\n\t\treturn (\n\t\t\t<svg\n\t\t\t\tref={ref}\n\t\t\t\tclassName={styles.svg()}\n\t\t\t\tviewBox=\"0 0 180 180\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\n\t\t\t\taria-valuemin={0}\n\t\t\t\taria-valuemax={100}\n\t\t\t\tdata-slot=\"progress-circle\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\n\t\t\t\t\tclassName={styles.track()}\n\t\t\t\t/>\n\n\t\t\t\t<circle\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\n\t\t\t\t\tcx=\"90\"\n\t\t\t\t\tcy=\"90\"\n\t\t\t\t\tr=\"84\"\n\t\t\t\t\tstrokeWidth=\"12\"\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t);\n\t}\n);\n\nProgressCircle.displayName = \"ProgressCircle\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\n\nconst progressCircleDescriptionStyles = tv({\n\tbase: \"text-xs text-muted\"\n});\n\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleDescription = React.forwardRef<\n\tHTMLDivElement,\n\tPropsWithChildren<ProgressCircleDescriptionProps>\n>(({ className, children, ...props }, ref) => {\n\treturn (\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\n\t\t\t{children}\n\t\t</span>\n\t);\n});\n\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\n","import React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleTitleStyles = tv({\n\tbase: \"font-semibold text-primary-fg\",\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"text-[0.625rem] leading-4\",\n\t\t\tsm: \"text-sm\",\n\t\t\tmd: \"text-base\",\n\t\t\tlg: \"text-2xl\",\n\t\t\txl: \"text-4xl\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\n\tReact.HTMLAttributes<HTMLDivElement>;\n\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\n\t({ className, size, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\n","import { IconButton } from \"@/components/button\";\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\nimport React from \"react\";\nimport { tv, VariantProps } from \"tailwind-variants\";\n\nconst progressCircleIconButtonVariants = tv({\n\tslots: {\n\t\tbase: \"p-0.5 text-muted\",\n\t\ticon: \"h-full w-full\"\n\t},\n\tvariants: {\n\t\tsize: {\n\t\t\txs: {\n\t\t\t\tbase: \"h-4 w-4\"\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\tbase: \"h-5 w-5\"\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tbase: \"h-8 w-8\"\n\t\t\t},\n\t\t\txl: {\n\t\t\t\tbase: \"h-11 w-11\"\n\t\t\t}\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\"\n\t}\n});\n\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\n\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\n\tclassName,\n\tsize,\n\ticon,\n\t...props\n}) => {\n\tconst styles = progressCircleIconButtonVariants();\n\treturn (\n\t\t<IconButton\n\t\t\ticon={icon}\n\t\t\tvariant=\"text\"\n\t\t\tclassName={styles.base({ className, size })}\n\t\t\ticonClassName={styles.icon()}\n\t\t\tsize={size}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\n","import { tv } from \"tailwind-variants\";\nimport { ProgressCircle } from \"../ProgressCircle\";\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\nimport { RotateCw } from \"lucide-react\";\n\nconst progressCircleTemplateStyles = tv({\n\tslots: {\n\t\twrap: \"relative w-fit\",\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\n\t}\n});\n\nexport type ProgressCircleTemplateProps = {\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\tvalue?: number;\n\tmax?: number;\n\tindeterminate?: boolean;\n\tdescription?: React.ReactNode;\n\ttitle?: React.ReactNode;\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\n\tconst styles = progressCircleTemplateStyles({ size });\n\n\treturn (\n\t\t<div className={styles.wrap()}>\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\n\t\t\t<div className={styles.header()}>\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-circle.js","sources":["../../src/components/progress-circle/ProgressCircle.tsx","../../src/components/progress-circle/components/progress-circle-description/ProgressCircleDescription.tsx","../../src/components/progress-circle/components/progress-circle-text/ProgressCircleTitle.tsx","../../src/components/progress-circle/components/progress-circle-icon-button/ProgressCircleIconButton.tsx","../../src/components/progress-circle/templates/ProgressCircleTemplate.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleVariants = tv({\r\n\tslots: {\r\n\t\tsvg: \"-rotate-90 transform\",\r\n\t\ttrack: \"fill-secondary-bg-hover\",\r\n\t\tindicator: \"fill-none stroke-current text-primary-accent transition-all duration-500 ease-out\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tsvg: \"h-10 w-10\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tsvg: \"h-[3.75rem] w-[3.75rem]\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tsvg: \"h-20 w-20\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tsvg: \"h-[7.5rem] w-[7.5rem]\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tsvg: \"h-[11.25rem] w-[11.25rem]\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tisIndeterminate: {\r\n\t\t\ttrue: {\r\n\t\t\t\tindicator: \"origin-center animate-spin duration-1000\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleProps = VariantProps<typeof progressCircleVariants> &\r\n\tReact.HTMLAttributes<SVGSVGElement> & {\r\n\t\t/** Максимальное значение прогресса. По умолчанию 100 */\r\n\t\tmax?: number;\r\n\t\t/** Значение прогресса от 0 до max. Если не указано или null, считается равным 0 */\r\n\t\tvalue?: number | null;\r\n\t\t/** Индикатор неопределенного состояния прогресса */\r\n\t\tindeterminate?: boolean;\r\n\t\t/** Классы для индикатора */\r\n\t\tindicatorClassName?: string;\r\n\t};\r\n\r\nexport const ProgressCircle = React.forwardRef<SVGSVGElement, ProgressCircleProps>(\r\n\t({ size, max = 100, value, indeterminate = false, indicatorClassName }, ref) => {\r\n\t\tconst styles = progressCircleVariants({ size, isIndeterminate: indeterminate });\r\n\t\tconst currentValue = indeterminate ? null : (value ?? 0);\r\n\r\n\t\tconst radius = 84;\r\n\t\tconst circumference = 2 * Math.PI * radius;\r\n\r\n\t\tconst progressData = useMemo(() => {\r\n\t\t\tif (indeterminate) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstrokeDasharray: `${circumference * 0.25} ${circumference * 0.75}`,\r\n\t\t\t\t\tstrokeDashoffset: 0,\r\n\t\t\t\t\tpercentage: 0\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst safeMax = max <= 0 ? 100 : max;\r\n\t\t\tconst safeValue = Math.max(0, Math.min(safeMax, currentValue ?? 0));\r\n\t\t\tconst percentage = (safeValue / safeMax) * 100;\r\n\t\t\tconst progress = (safeValue / safeMax) * circumference;\r\n\t\t\tconst dashOffset = circumference - progress;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tstrokeDasharray: circumference,\r\n\t\t\t\tstrokeDashoffset: dashOffset,\r\n\t\t\t\tpercentage: Math.round(percentage)\r\n\t\t\t};\r\n\t\t}, [circumference, currentValue, max, indeterminate]);\r\n\r\n\t\treturn (\r\n\t\t\t<svg\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName={styles.svg()}\r\n\t\t\t\tviewBox=\"0 0 180 180\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\taria-valuenow={indeterminate ? undefined : progressData.percentage}\r\n\t\t\t\taria-valuemin={0}\r\n\t\t\t\taria-valuemax={100}\r\n\t\t\t\tdata-slot=\"progress-circle\"\r\n\t\t\t>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M180 90C180 139.706 139.706 180 90 180C40.2944 180 0 139.706 0 90C0 40.2944 40.2944 0 90 0C139.706 0 180 40.2944 180 90ZM11.997 90C11.997 133.08 46.9201 168.003 90 168.003C133.80 168.003 168.003 133.08 168.003 90C168.003 46.9201 133.08 11.997 90 11.997C46.9201 11.997 11.997 46.9201 11.997 90Z\"\r\n\t\t\t\t\tclassName={styles.track()}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<circle\r\n\t\t\t\t\tclassName={styles.indicator({ className: indicatorClassName, isIndeterminate: indeterminate })}\r\n\t\t\t\t\tcx=\"90\"\r\n\t\t\t\t\tcy=\"90\"\r\n\t\t\t\t\tr=\"84\"\r\n\t\t\t\t\tstrokeWidth=\"12\"\r\n\t\t\t\t\tstrokeDasharray={progressData.strokeDasharray}\r\n\t\t\t\t\tstrokeDashoffset={progressData.strokeDashoffset}\r\n\t\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\t\tdata-slot=\"progress-circle-indicator\"\r\n\t\t\t\t/>\r\n\t\t\t</svg>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircle.displayName = \"ProgressCircle\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst progressCircleDescriptionStyles = tv({\r\n\tbase: \"text-xs text-muted\"\r\n});\r\n\r\nexport type ProgressCircleDescriptionProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleDescription = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tPropsWithChildren<ProgressCircleDescriptionProps>\r\n>(({ className, children, ...props }, ref) => {\r\n\treturn (\r\n\t\t<span className={progressCircleDescriptionStyles({ className })} ref={ref} {...props}>\r\n\t\t\t{children}\r\n\t\t</span>\r\n\t);\r\n});\r\n\r\nProgressCircleDescription.displayName = \"ProgressCircleDescription\";\r\n","import React from \"react\";\r\nimport { PropsWithChildren } from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleTitleStyles = tv({\r\n\tbase: \"font-semibold text-primary-fg\",\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: \"text-[0.625rem] leading-4\",\r\n\t\t\tsm: \"text-sm\",\r\n\t\t\tmd: \"text-base\",\r\n\t\t\tlg: \"text-2xl\",\r\n\t\t\txl: \"text-4xl\"\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTitleProps = VariantProps<typeof progressCircleTitleStyles> &\r\n\tReact.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ProgressCircleTitle = React.forwardRef<HTMLDivElement, PropsWithChildren<ProgressCircleTitleProps>>(\r\n\t({ className, size, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<span className={progressCircleTitleStyles({ className, size })} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nProgressCircleTitle.displayName = \"ProgressCircleTitle\";\r\n","import { IconButton } from \"@/components/button\";\r\nimport { IconButtonProps } from \"@/components/button/icon-button/IconButton\";\r\nimport React from \"react\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\n\r\nconst progressCircleIconButtonVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"p-0.5 text-muted\",\r\n\t\ticon: \"h-full w-full\"\r\n\t},\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\txs: {\r\n\t\t\t\tbase: \"h-4 w-4\"\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tbase: \"h-5 w-5\"\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tbase: \"h-[1.375rem] w-[1.375rem]\"\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tbase: \"h-8 w-8\"\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tbase: \"h-11 w-11\"\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tsize: \"md\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleIconButtonProps = VariantProps<typeof progressCircleIconButtonVariants> & IconButtonProps;\r\n\r\nexport const ProgressCircleIconButton: React.FC<ProgressCircleIconButtonProps> = ({\r\n\tclassName,\r\n\tsize,\r\n\ticon,\r\n\t...props\r\n}) => {\r\n\tconst styles = progressCircleIconButtonVariants();\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\ticon={icon}\r\n\t\t\tvariant=\"text\"\r\n\t\t\tclassName={styles.base({ className, size })}\r\n\t\t\ticonClassName={styles.icon()}\r\n\t\t\tsize={size}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nProgressCircleIconButton.displayName = \"ProgressCircleIconButton\";\r\n","import { tv } from \"tailwind-variants\";\r\nimport { ProgressCircle } from \"../ProgressCircle\";\r\nimport { ProgressCircleDescription } from \"../components/progress-circle-description/ProgressCircleDescription\";\r\nimport { ProgressCircleTitle } from \"../components/progress-circle-text/ProgressCircleTitle\";\r\nimport { ProgressCircleIconButton } from \"../components/progress-circle-icon-button/ProgressCircleIconButton\";\r\nimport { RotateCw } from \"lucide-react\";\r\n\r\nconst progressCircleTemplateStyles = tv({\r\n\tslots: {\r\n\t\twrap: \"relative w-fit\",\r\n\t\theader: \"absolute inset-0 z-10 flex flex-col items-center justify-center\"\r\n\t}\r\n});\r\n\r\nexport type ProgressCircleTemplateProps = {\r\n\tsize?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n\tvalue?: number;\r\n\tmax?: number;\r\n\tindeterminate?: boolean;\r\n\tdescription?: React.ReactNode;\r\n\ttitle?: React.ReactNode;\r\n\tonRetry?: (e: React.MouseEvent<HTMLElement>) => void;\r\n};\r\n\r\nexport const ProgressCircleTemplate = (props: ProgressCircleTemplateProps) => {\r\n\tconst { size, value, max, indeterminate, description, title, onRetry } = props;\r\n\tconst shouldShowDescription = description && ![\"xs\", \"sm\"].includes(size as string);\r\n\tconst styles = progressCircleTemplateStyles({ size });\r\n\r\n\treturn (\r\n\t\t<div className={styles.wrap()}>\r\n\t\t\t<ProgressCircle value={value} max={max} indeterminate={indeterminate} size={size} />\r\n\t\t\t<div className={styles.header()}>\r\n\t\t\t\t{title && <ProgressCircleTitle size={size}>{title}</ProgressCircleTitle>}\r\n\t\t\t\t{onRetry && <ProgressCircleIconButton size={size} icon={RotateCw} onClick={onRetry} />}\r\n\t\t\t\t{shouldShowDescription && <ProgressCircleDescription>{description}</ProgressCircleDescription>}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressCircleTemplate.displayName = \"ProgressCircleTemplate\";\r\n"],"names":["progressCircleVariants","tv","ProgressCircle","React","size","max","value","indeterminate","indicatorClassName","ref","styles","currentValue","circumference","progressData","useMemo","safeMax","safeValue","percentage","progress","dashOffset","jsxs","jsx","progressCircleDescriptionStyles","ProgressCircleDescription","className","children","props","progressCircleTitleStyles","ProgressCircleTitle","progressCircleIconButtonVariants","ProgressCircleIconButton","icon","IconButton","progressCircleTemplateStyles","ProgressCircleTemplate","description","title","onRetry","shouldShowDescription","RotateCw"],"mappings":"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"}
|