@elcrm/components 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +130 -16
- package/dist/ActionGroup-ChKFW0mt.js +27 -0
- package/dist/ActionGroup.css +1 -0
- package/dist/ActionGroup.d.ts +42 -0
- package/dist/ActionGroup.js +4 -0
- package/dist/Avatar-loGgFt72.js +113 -0
- package/dist/Avatar.d.ts +11 -2
- package/dist/Avatar.js +3 -2
- package/dist/{AvatarGroup-BAWas4pU.js → AvatarGroup-D1gnT3Od.js} +1 -1
- package/dist/AvatarGroup.d.ts +2 -1
- package/dist/AvatarGroup.js +1 -1
- package/dist/AvatarName-0BzyfpMq.js +68 -0
- package/dist/AvatarName.css +1 -1
- package/dist/AvatarName.d.ts +8 -2
- package/dist/AvatarName.js +1 -1
- package/dist/Badge-jp-9iNNL.js +28 -0
- package/dist/Badge.css +1 -1
- package/dist/Badge.d.ts +33 -17
- package/dist/Badge.js +1 -1
- package/dist/{Block-BAXh0PPp.js → Block-Bu7NEA0g.js} +1 -1
- package/dist/Block.js +1 -1
- package/dist/Card.css +1 -1
- package/dist/Card.d.ts +8 -1
- package/dist/ChatFrame-BW2TmCkZ.js +37 -0
- package/dist/ChatFrame.css +1 -0
- package/dist/ChatList.d.ts +9 -0
- package/dist/ChatList.js +7 -0
- package/dist/ChatMessages-B8rdXiK-.js +19 -0
- package/dist/ChatMessages.d.ts +9 -0
- package/dist/ChatMessages.js +4 -0
- package/dist/ChatSplit-DNnu3TNq.js +21 -0
- package/dist/CheckIcon-FdB8fMEF.js +17 -0
- package/dist/CheckIcon.d.ts +8 -0
- package/dist/{Column-DDaqX-A7.js → Column-BiogBDf8.js} +1 -1
- package/dist/Column.js +1 -1
- package/dist/Dropdown-4yUB2tk1.js +142 -0
- package/dist/Dropdown.css +1 -1
- package/dist/Dropdown.d.ts +3 -3
- package/dist/Dropdown.js +1 -1
- package/dist/Footer.css +1 -1
- package/dist/Item-D4okhsfW.js +46 -0
- package/dist/Item.css +1 -1
- package/dist/Item.d.ts +8 -1
- package/dist/Item.js +1 -1
- package/dist/ItemColumn-M7a9L8CI.js +41 -0
- package/dist/ItemColumn.css +1 -0
- package/dist/ItemColumn.d.ts +62 -0
- package/dist/ItemColumn.js +4 -0
- package/dist/Layout-mi6Ghayv.js +31 -0
- package/dist/Layout.css +1 -1
- package/dist/Layout.d.ts +28 -6
- package/dist/Layout.js +1 -1
- package/dist/Loading-DkkG7RcE.js +16 -0
- package/dist/Loading.css +1 -1
- package/dist/Loading.d.ts +1 -1
- package/dist/Loading.js +1 -1
- package/dist/Menu-DuXQv-zT.js +66 -0
- package/dist/Menu.css +1 -1
- package/dist/Menu.d.ts +15 -3
- package/dist/Menu.js +1 -1
- package/dist/NavSections-BpyZPimZ.js +79 -0
- package/dist/NavSections.css +1 -1
- package/dist/NavSections.js +1 -1
- package/dist/PageHead-DgaJ1mXY.js +31 -0
- package/dist/PageHead.css +1 -1
- package/dist/PageHead.d.ts +28 -6
- package/dist/PageHead.js +1 -1
- package/dist/{PageShell-CghThHS3.js → PageShell-D9EZiO8o.js} +13 -11
- package/dist/PageShell.css +1 -1
- package/dist/PageShell.d.ts +11 -6
- package/dist/PageShell.js +1 -1
- package/dist/Popover-D0m5JWIt.js +142 -0
- package/dist/Popover.css +1 -0
- package/dist/Popover.d.ts +54 -0
- package/dist/Popover.js +4 -0
- package/dist/PricingGroup-Czuhe81Z.js +120 -0
- package/dist/PricingGroup.css +1 -1
- package/dist/PricingGroup.js +1 -1
- package/dist/{PricingTable-DALddSwM.js → PricingTable-BuLC0opK.js} +69 -75
- package/dist/PricingTable.css +1 -1
- package/dist/PricingTable.js +1 -1
- package/dist/RadioGroup-fcXzhvMu.js +129 -0
- package/dist/RadioGroup.css +1 -1
- package/dist/RadioGroup.js +1 -1
- package/dist/{Row--HIe6vb9.js → Row-DsQOVn18.js} +1 -1
- package/dist/Row.js +1 -1
- package/dist/Sidebar-CBYq1ad6.js +107 -0
- package/dist/Sidebar.css +1 -0
- package/dist/Sidebar.d.ts +99 -0
- package/dist/Sidebar.js +4 -0
- package/dist/Stack-XkmPSswj.js +53 -0
- package/dist/Stack.css +1 -1
- package/dist/Stack.d.ts +16 -4
- package/dist/Stack.js +3 -2
- package/dist/Stat-C5iZyEoo.js +27 -0
- package/dist/Stat.css +1 -0
- package/dist/Stat.d.ts +39 -0
- package/dist/Stat.js +4 -0
- package/dist/TabSections-DN7yVJoF.js +69 -0
- package/dist/TabSections.css +1 -1
- package/dist/TabSections.js +1 -1
- package/dist/TextGroup-DmhuyMR1.js +23 -0
- package/dist/TextGroup.css +1 -0
- package/dist/TextGroup.d.ts +36 -0
- package/dist/TextGroup.js +4 -0
- package/dist/badgeText-CRzlIzi3.js +8 -0
- package/dist/badgeText.d.ts +4 -0
- package/dist/dark.css +13 -0
- package/dist/index.css +31 -17
- package/dist/index.d.ts +27 -4
- package/dist/index.es.d.ts +82 -0
- package/dist/index.es.js +83 -59
- package/dist/light.css +13 -0
- package/dist/overlayZ.d.ts +9 -0
- package/dist/rovingKeys-CGlfTtNQ.js +15 -0
- package/dist/rovingKeys.d.ts +13 -0
- package/dist/tokens.css +44 -4
- package/dist/types.d.ts +2 -0
- package/dist/useControllableValue-CWqH1kpM.js +10 -0
- package/dist/useControllableValue.d.ts +4 -0
- package/package.json +6 -2
- package/dist/Avatar-CyNXYvsa.js +0 -101
- package/dist/AvatarName-DhD3TytF.js +0 -56
- package/dist/Badge-l6nUkl-H.js +0 -22
- package/dist/Dropdown-DQlDiWCR.js +0 -168
- package/dist/Item-CaU4RW2G.js +0 -38
- package/dist/Layout-Xb3-xsmA.js +0 -18
- package/dist/Loading-ChGq9peU.js +0 -15
- package/dist/Menu-DRBHvSdJ.js +0 -40
- package/dist/NavSections-NDcIDD6H.js +0 -59
- package/dist/PageHead-Baz9BLuA.js +0 -22
- package/dist/PricingGroup-DgcdVSq8.js +0 -126
- package/dist/RadioGroup-D2UUOTkY.js +0 -138
- package/dist/Stack-b0-XWwQ1.js +0 -31
- package/dist/TabSections-DL7DufKU.js +0 -50
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import c, { useRef as g, useId as G, useState as q, useLayoutEffect as S, useEffect as W } from "react";
|
|
2
|
+
import { createPortal as J } from "react-dom";
|
|
3
|
+
import { c as C } from "./cx-CcykAxZN.js";
|
|
4
|
+
import { u as Q } from "./useControllableValue-CWqH1kpM.js";
|
|
5
|
+
import './Popover.css';const T = 1e3, U = 10;
|
|
6
|
+
function M() {
|
|
7
|
+
const e = globalThis;
|
|
8
|
+
return e.elcrm || (e.elcrm = {}), e.elcrm.overlayZ || (e.elcrm.overlayZ = { seq: 0, active: /* @__PURE__ */ new Set() }), e.elcrm.overlayZ;
|
|
9
|
+
}
|
|
10
|
+
function X() {
|
|
11
|
+
const e = M();
|
|
12
|
+
e.seq += 1;
|
|
13
|
+
const n = T + e.seq * U;
|
|
14
|
+
return e.active.add(n), n;
|
|
15
|
+
}
|
|
16
|
+
function H(e) {
|
|
17
|
+
const n = M();
|
|
18
|
+
n.active.delete(e), n.active.size === 0 && (n.seq = 0);
|
|
19
|
+
}
|
|
20
|
+
function se() {
|
|
21
|
+
const e = M();
|
|
22
|
+
return e.active.size === 0 ? T : Math.max(...e.active);
|
|
23
|
+
}
|
|
24
|
+
const Y = "c3r", _ = "c3t", $ = "c3p", L = {
|
|
25
|
+
r: Y,
|
|
26
|
+
t: _,
|
|
27
|
+
p: $
|
|
28
|
+
};
|
|
29
|
+
function ee(e, n, v, h) {
|
|
30
|
+
if (!c.isValidElement(e)) return e;
|
|
31
|
+
const l = e.props.onClick;
|
|
32
|
+
return c.cloneElement(e, {
|
|
33
|
+
"aria-haspopup": "menu",
|
|
34
|
+
"aria-expanded": n,
|
|
35
|
+
"aria-controls": n ? v : void 0,
|
|
36
|
+
onClick: (f) => {
|
|
37
|
+
l == null || l(f), h();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function ie({
|
|
42
|
+
trigger: e,
|
|
43
|
+
children: n,
|
|
44
|
+
open: v,
|
|
45
|
+
defaultOpen: h = !1,
|
|
46
|
+
onOpenChange: l,
|
|
47
|
+
align: f = "end",
|
|
48
|
+
disabled: R = !1,
|
|
49
|
+
label: B,
|
|
50
|
+
role: N = "menu",
|
|
51
|
+
className: V,
|
|
52
|
+
panelClassName: D
|
|
53
|
+
}) {
|
|
54
|
+
const w = g(null), z = g(null), E = G(), [o = !1, A] = Q(
|
|
55
|
+
v,
|
|
56
|
+
h,
|
|
57
|
+
l
|
|
58
|
+
), [u, b] = q(null), [i, P] = q(null), x = g(null);
|
|
59
|
+
x.current = i;
|
|
60
|
+
const y = (t) => {
|
|
61
|
+
R && t || A(t);
|
|
62
|
+
};
|
|
63
|
+
S(() => {
|
|
64
|
+
if (o) {
|
|
65
|
+
i == null && P(X());
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
i != null && (H(i), P(null));
|
|
69
|
+
}, [o, i]), W(() => () => {
|
|
70
|
+
x.current != null && H(x.current);
|
|
71
|
+
}, []);
|
|
72
|
+
const Z = () => {
|
|
73
|
+
const t = w.current;
|
|
74
|
+
if (!t) return;
|
|
75
|
+
const r = t.getBoundingClientRect(), s = 8, a = window.innerHeight - r.bottom - s - 8, d = r.top - s - 8, m = a >= 160 || a >= d, O = Math.min(420, Math.max(120, m ? a : d)), p = Math.max(200, r.width), K = m ? r.bottom + s : Math.max(8, r.top - s - O), j = f === "end" ? Math.max(8, Math.min(r.right - p, window.innerWidth - p - 8)) : Math.max(8, Math.min(r.left, window.innerWidth - p - 8));
|
|
76
|
+
b({ top: K, left: j, minWidth: p, maxHeight: O });
|
|
77
|
+
};
|
|
78
|
+
S(() => {
|
|
79
|
+
if (!o) {
|
|
80
|
+
b(null);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
Z();
|
|
84
|
+
const t = () => Z();
|
|
85
|
+
return window.addEventListener("resize", t), window.addEventListener("scroll", t, !0), () => {
|
|
86
|
+
window.removeEventListener("resize", t), window.removeEventListener("scroll", t, !0);
|
|
87
|
+
};
|
|
88
|
+
}, [o, f]), W(() => {
|
|
89
|
+
if (!o) return;
|
|
90
|
+
const t = (s) => {
|
|
91
|
+
var d, m;
|
|
92
|
+
const a = s.target;
|
|
93
|
+
(d = w.current) != null && d.contains(a) || (m = z.current) != null && m.contains(a) || y(!1);
|
|
94
|
+
}, r = (s) => {
|
|
95
|
+
s.key === "Escape" && y(!1);
|
|
96
|
+
};
|
|
97
|
+
return document.addEventListener("mousedown", t), document.addEventListener("keydown", r), () => {
|
|
98
|
+
document.removeEventListener("mousedown", t), document.removeEventListener("keydown", r);
|
|
99
|
+
};
|
|
100
|
+
}, [o]);
|
|
101
|
+
const F = {
|
|
102
|
+
position: "fixed",
|
|
103
|
+
zIndex: i ?? 1e3,
|
|
104
|
+
...u ? {
|
|
105
|
+
top: u.top,
|
|
106
|
+
left: u.left,
|
|
107
|
+
minWidth: u.minWidth,
|
|
108
|
+
maxHeight: u.maxHeight
|
|
109
|
+
} : { visibility: "hidden", pointerEvents: "none" }
|
|
110
|
+
}, k = o ? /* @__PURE__ */ c.createElement(
|
|
111
|
+
"div",
|
|
112
|
+
{
|
|
113
|
+
ref: z,
|
|
114
|
+
id: E,
|
|
115
|
+
role: N,
|
|
116
|
+
"aria-label": B,
|
|
117
|
+
className: C(L.p, D),
|
|
118
|
+
style: F,
|
|
119
|
+
onMouseDown: (t) => t.stopPropagation()
|
|
120
|
+
},
|
|
121
|
+
n
|
|
122
|
+
) : null, I = () => {
|
|
123
|
+
R || y(!o);
|
|
124
|
+
};
|
|
125
|
+
return /* @__PURE__ */ c.createElement("div", { ref: w, className: C(L.r, V) }, /* @__PURE__ */ c.createElement(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
className: L.t,
|
|
129
|
+
"aria-haspopup": "menu",
|
|
130
|
+
"aria-expanded": o,
|
|
131
|
+
"aria-controls": o ? E : void 0,
|
|
132
|
+
onClick: c.isValidElement(e) ? void 0 : I
|
|
133
|
+
},
|
|
134
|
+
ee(e, o, E, I)
|
|
135
|
+
), k && typeof document < "u" ? J(k, document.body) : null);
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
ie as P,
|
|
139
|
+
X as a,
|
|
140
|
+
se as p,
|
|
141
|
+
H as r
|
|
142
|
+
};
|
package/dist/Popover.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.c3r{position:relative;display:inline-flex;vertical-align:middle}.c3t{display:inline-flex;align-items:center;min-width:0}.c3p{box-sizing:border-box;overflow:auto;padding:var(--shell-gap-sm);background:var(--shell-background);border:1px solid var(--shell-border);border-radius:var(--shell-radius);box-shadow:var(--popup-shadow);color:var(--shell-color);min-width:var(--dropdown-min-width);max-width:var(--dropdown-max-width);max-height:var(--dropdown-max-height)}}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Портал у якоря: Escape, клик снаружи, z-index (`globalThis.elcrm.overlayZ`).
|
|
4
|
+
*
|
|
5
|
+
* Роли: Popover = свой попап (слот `children`).
|
|
6
|
+
* Типовое меню пунктов — {@link Dropdown}.
|
|
7
|
+
* Инлайн-навигация — {@link Menu} (не путать).
|
|
8
|
+
*
|
|
9
|
+
* Бывший `@elcrm/overlay` `Menu` — этот компонент (`Popover`).
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <Popover
|
|
14
|
+
* trigger={<Button>Ещё</Button>}
|
|
15
|
+
* label="Действия"
|
|
16
|
+
* align="end"
|
|
17
|
+
* >
|
|
18
|
+
* <List>
|
|
19
|
+
* <Item as="button">Скачать</Item>
|
|
20
|
+
* </List>
|
|
21
|
+
* </Popover>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Токены: `--shell-*`, `--popup-shadow`, `--dropdown-min-width`.
|
|
25
|
+
*/
|
|
26
|
+
export type PopoverProps = {
|
|
27
|
+
/** Якорь (кнопка / иконка) */
|
|
28
|
+
trigger: React.ReactNode;
|
|
29
|
+
/** Содержимое панели */
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
/** Контролируемое открытие */
|
|
32
|
+
open?: boolean;
|
|
33
|
+
/** Начальное открытие */
|
|
34
|
+
defaultOpen?: boolean;
|
|
35
|
+
/** Смена open */
|
|
36
|
+
onOpenChange?: (open: boolean) => void;
|
|
37
|
+
/** Выравнивание панели */
|
|
38
|
+
align?: "start" | "end";
|
|
39
|
+
/** Не открывать по клику на якорь */
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
/** aria-label панели */
|
|
42
|
+
label?: string;
|
|
43
|
+
/** role панели */
|
|
44
|
+
role?: React.AriaRole;
|
|
45
|
+
className?: string;
|
|
46
|
+
/** Класс панели (portal) */
|
|
47
|
+
panelClassName?: string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Панель в portal рядом с триггером.
|
|
51
|
+
*
|
|
52
|
+
* @see Dropdown, Menu
|
|
53
|
+
*/
|
|
54
|
+
export declare function Popover({ trigger, children, open: openProp, defaultOpen, onOpenChange, align, disabled, label, role, className, panelClassName, }: PopoverProps): React.JSX.Element;
|
package/dist/Popover.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { C } from "./CheckIcon-FdB8fMEF.js";
|
|
3
|
+
import { c as o } from "./cx-CcykAxZN.js";
|
|
4
|
+
import { u as F } from "./useControllableValue-CWqH1kpM.js";
|
|
5
|
+
import './PricingGroup.css';const z = "cur", S = "cui", L = "cus", O = "cub", V = "cug", I = "cua", R = "cum", j = "cuh", A = "cut", G = "cup", K = "cuz", M = "cuo", T = "cue", $ = "cud", q = "cux", H = "cuf", J = "cuy", Q = "cul", U = "cuu", W = "cun", X = "cuc", Y = "cuk", Z = "cuw", a = {
|
|
6
|
+
r: z,
|
|
7
|
+
i: S,
|
|
8
|
+
s: L,
|
|
9
|
+
b: O,
|
|
10
|
+
g: V,
|
|
11
|
+
a: I,
|
|
12
|
+
m: R,
|
|
13
|
+
h: j,
|
|
14
|
+
t: A,
|
|
15
|
+
p: G,
|
|
16
|
+
z: K,
|
|
17
|
+
o: M,
|
|
18
|
+
e: T,
|
|
19
|
+
d: $,
|
|
20
|
+
x: q,
|
|
21
|
+
f: H,
|
|
22
|
+
y: J,
|
|
23
|
+
l: Q,
|
|
24
|
+
u: U,
|
|
25
|
+
n: W,
|
|
26
|
+
c: X,
|
|
27
|
+
k: Y,
|
|
28
|
+
w: Z
|
|
29
|
+
};
|
|
30
|
+
function g() {
|
|
31
|
+
return /* @__PURE__ */ e.createElement("span", { className: a.k, "aria-hidden": !0 }, /* @__PURE__ */ e.createElement(C, { className: a.w }));
|
|
32
|
+
}
|
|
33
|
+
function _({ feature: l }) {
|
|
34
|
+
if (l != null && typeof l == "object" && !e.isValidElement(l) && "label" in l) {
|
|
35
|
+
const c = l;
|
|
36
|
+
return /* @__PURE__ */ e.createElement("li", { className: a.c }, c.icon != null ? c.icon : /* @__PURE__ */ e.createElement(g, null), /* @__PURE__ */ e.createElement("span", null, c.label));
|
|
37
|
+
}
|
|
38
|
+
return /* @__PURE__ */ e.createElement("li", { className: a.c }, /* @__PURE__ */ e.createElement(g, null), /* @__PURE__ */ e.createElement("span", null, l));
|
|
39
|
+
}
|
|
40
|
+
function h({ item: l }) {
|
|
41
|
+
const c = l.badge != null && (l.badgePlacement ?? "pill") === "pill";
|
|
42
|
+
return l.title == null && !c ? null : /* @__PURE__ */ e.createElement("div", { className: a.h }, l.title != null ? /* @__PURE__ */ e.createElement("h3", { className: a.t }, l.title) : null, c ? /* @__PURE__ */ e.createElement("span", { className: a.g }, l.badge) : null);
|
|
43
|
+
}
|
|
44
|
+
function v({ item: l }) {
|
|
45
|
+
return l.price == null && l.priceOld == null && l.meta == null ? null : /* @__PURE__ */ e.createElement("div", { className: a.p }, l.priceOld != null ? /* @__PURE__ */ e.createElement("span", { className: a.o }, l.priceOld) : null, l.price != null ? /* @__PURE__ */ e.createElement("span", { className: a.z }, l.price) : null, l.meta != null ? /* @__PURE__ */ e.createElement("span", { className: a.e }, l.meta) : null);
|
|
46
|
+
}
|
|
47
|
+
function i({ item: l }) {
|
|
48
|
+
return l.description == null ? null : /* @__PURE__ */ e.createElement("p", { className: a.d }, l.description);
|
|
49
|
+
}
|
|
50
|
+
function ee({
|
|
51
|
+
actions: l,
|
|
52
|
+
placement: c
|
|
53
|
+
}) {
|
|
54
|
+
return /* @__PURE__ */ e.createElement(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
className: c === "footer" ? a.f : a.x,
|
|
58
|
+
onClick: (t) => t.stopPropagation(),
|
|
59
|
+
onMouseDown: (t) => t.preventDefault()
|
|
60
|
+
},
|
|
61
|
+
l
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
function le({ item: l }) {
|
|
65
|
+
return l.features == null && l.featuresLabel == null && l.featuresSummary == null ? null : /* @__PURE__ */ e.createElement("div", { className: a.y }, l.featuresLabel != null ? /* @__PURE__ */ e.createElement("p", { className: a.l }, l.featuresLabel) : null, l.featuresSummary != null ? /* @__PURE__ */ e.createElement("p", { className: a.u }, l.featuresSummary) : null, l.features != null && l.features.length > 0 ? /* @__PURE__ */ e.createElement("ul", { className: a.n }, l.features.map((c, t) => /* @__PURE__ */ e.createElement(_, { key: t, feature: c }))) : null);
|
|
66
|
+
}
|
|
67
|
+
function re({
|
|
68
|
+
items: l,
|
|
69
|
+
value: c,
|
|
70
|
+
defaultValue: t,
|
|
71
|
+
selectable: N = !1,
|
|
72
|
+
disabled: k = !1,
|
|
73
|
+
onValueChange: y,
|
|
74
|
+
className: P,
|
|
75
|
+
...w
|
|
76
|
+
}) {
|
|
77
|
+
const [x, d] = F(
|
|
78
|
+
c,
|
|
79
|
+
t,
|
|
80
|
+
y
|
|
81
|
+
);
|
|
82
|
+
return /* @__PURE__ */ e.createElement("div", { className: o(a.r, P), role: "list", ...w }, l.map((n) => {
|
|
83
|
+
const m = x === n.value, p = k || !!n.disabled, D = !!n.highlighted || m, f = n.badgePlacement ?? "pill", r = n.actionsPlacement ?? "after", E = n.descriptionPlacement ?? "after-price", s = N && !p, b = n.actions != null ? /* @__PURE__ */ e.createElement(
|
|
84
|
+
ee,
|
|
85
|
+
{
|
|
86
|
+
actions: n.actions,
|
|
87
|
+
placement: r
|
|
88
|
+
}
|
|
89
|
+
) : null, B = /* @__PURE__ */ e.createElement(e.Fragment, null, n.priceFirst ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(v, { item: n }), /* @__PURE__ */ e.createElement(h, { item: n }), /* @__PURE__ */ e.createElement(i, { item: n })) : /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(h, { item: n }), E === "before-price" ? /* @__PURE__ */ e.createElement(i, { item: n }) : null, /* @__PURE__ */ e.createElement(v, { item: n }), E === "after-price" ? /* @__PURE__ */ e.createElement(i, { item: n }) : null));
|
|
90
|
+
return /* @__PURE__ */ e.createElement(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
key: n.value,
|
|
94
|
+
role: "listitem",
|
|
95
|
+
className: o(a.i, D && a.s),
|
|
96
|
+
"data-selected": m ? "true" : void 0,
|
|
97
|
+
"data-highlighted": n.highlighted ? "true" : void 0,
|
|
98
|
+
"data-selectable": s ? "true" : void 0,
|
|
99
|
+
"aria-disabled": p || void 0,
|
|
100
|
+
tabIndex: s ? 0 : void 0,
|
|
101
|
+
onClick: () => {
|
|
102
|
+
s && d(n.value);
|
|
103
|
+
},
|
|
104
|
+
onKeyDown: (u) => {
|
|
105
|
+
s && (u.key === "Enter" || u.key === " ") && (u.preventDefault(), d(n.value));
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
n.badge != null && f === "banner" ? /* @__PURE__ */ e.createElement("div", { className: a.b }, n.badge) : null,
|
|
109
|
+
n.badge != null && f === "float" ? /* @__PURE__ */ e.createElement("div", { className: o(a.g, a.a) }, n.badge) : null,
|
|
110
|
+
n.icon != null ? /* @__PURE__ */ e.createElement("div", { className: a.m }, n.icon) : null,
|
|
111
|
+
B,
|
|
112
|
+
r === "before" ? b : null,
|
|
113
|
+
/* @__PURE__ */ e.createElement(le, { item: n }),
|
|
114
|
+
r === "after" || r === "footer" ? b : null
|
|
115
|
+
);
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
export {
|
|
119
|
+
re as P
|
|
120
|
+
};
|
package/dist/PricingGroup.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.cur{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--pricing-card-min-width),1fr));gap:var(--shell-gap-lg);align-items:stretch}.cui{position:relative;display:flex;flex-direction:column;gap:var(--shell-gap);padding:var(--shell-padding);box-sizing:border-box;text-align:left;font:inherit;color:var(--shell-color);background:var(--shell-background);border:1px solid var(--shell-border);border-radius:var(--shell-radius);box-shadow:var(--shell-shadow)}.cui[data-selectable=true]{cursor:pointer}.cui:disabled,.cui[aria-disabled=true]{opacity:var(--shell-disabled-opacity);cursor:not-allowed}.cus,.cui[data-selected=true],.cui[data-highlighted=true]{border-color:var(--shell-color-accent);background:var(--shell-background-selected);box-shadow:var(--shell-shadow)}.cub{display:flex;align-items:center;justify-content:center;margin:calc(-1 * var(--shell-padding-block)) calc(-1 * var(--shell-padding-inline)) 0;padding:var(--shell-gap-sm) var(--shell-padding-inline);border-radius:var(--shell-radius) var(--shell-radius) 0 0;background:var(--shell-color-accent);color
|
|
1
|
+
@layer elcrm-components{.cur{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--pricing-card-min-width),1fr));gap:var(--shell-gap-lg);align-items:stretch}.cui{position:relative;display:flex;flex-direction:column;gap:var(--shell-gap);padding:var(--shell-padding);box-sizing:border-box;text-align:left;font:inherit;color:var(--shell-color);background:var(--shell-background);border:1px solid var(--shell-border);border-radius:var(--shell-radius);box-shadow:var(--shell-shadow)}.cui[data-selectable=true]{cursor:pointer}.cui:disabled,.cui[aria-disabled=true]{opacity:var(--shell-disabled-opacity);cursor:not-allowed}.cus,.cui[data-selected=true],.cui[data-highlighted=true]{border-color:var(--shell-color-accent);background:var(--shell-background-selected);box-shadow:var(--shell-shadow)}.cub{display:flex;align-items:center;justify-content:center;margin:calc(-1 * var(--shell-padding-block)) calc(-1 * var(--shell-padding-inline)) 0;padding:var(--shell-gap-sm) var(--shell-padding-inline);border-radius:var(--shell-radius) var(--shell-radius) 0 0;background:var(--shell-color-accent);color:var(--avatar-color);font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight);text-align:center}.cug{display:inline-flex;align-items:center;width:fit-content;padding:.15rem .5rem;border-radius:999px;background:var(--shell-background-hover);color:var(--shell-color-accent);font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight);line-height:1.2}.cua{position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.cum{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:calc(var(--shell-icon-size) * 1.6);height:calc(var(--shell-icon-size) * 1.6);color:var(--shell-color-accent);background:var(--shell-background-hover);border-radius:50%;overflow:hidden}.cuh{display:flex;flex-wrap:wrap;align-items:center;gap:var(--shell-gap-sm)}.cut{margin:0;font-size:var(--shell-font-size);font-weight:var(--shell-font-weight);color:var(--shell-color);line-height:1.3}.cup{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--shell-gap-sm)}.cuz{font-size:calc(var(--shell-font-size-lg) * 1.35);font-weight:700;color:var(--shell-color);line-height:1.15}.cui[data-highlighted=true] .cuz,.cui[data-selected=true] .cuz{color:var(--shell-color-accent)}.cuo{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);text-decoration:line-through}.cue{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted)}.cud{margin:0;font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);line-height:1.45}.cux{display:flex;flex-direction:column;gap:var(--shell-gap-sm)}.cuf{display:flex;flex-direction:column;gap:var(--shell-gap-sm);margin:auto calc(-1 * var(--shell-padding-inline)) calc(-1 * var(--shell-padding-block));padding:var(--shell-padding);background:var(--shell-background-muted);border-top:1px solid var(--shell-border);border-radius:0 0 var(--shell-radius) var(--shell-radius)}.cuy{display:flex;flex-direction:column;gap:var(--shell-gap-sm);margin-top:auto}.cul{margin:0;font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight);letter-spacing:.04em;text-transform:uppercase;color:var(--shell-color-muted)}.cuu{margin:0;font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);line-height:1.4}.cun{display:flex;flex-direction:column;gap:var(--shell-gap-sm);margin:0;padding:0;list-style:none}.cuc{display:flex;align-items:flex-start;gap:var(--shell-gap-sm);font-size:var(--shell-font-size-sm);color:var(--shell-color);line-height:1.4}.cuk{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--shell-check-size);height:var(--shell-check-size);margin-top:.1em;color:var(--avatar-color);background:var(--shell-color-success);border-radius:50%}.cuw{width:60%;height:60%;display:block}}
|
package/dist/PricingGroup.js
CHANGED
|
@@ -1,53 +1,45 @@
|
|
|
1
1
|
import l from "react";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
import { C as w } from "./CheckIcon-FdB8fMEF.js";
|
|
3
|
+
import { c as D } from "./cx-CcykAxZN.js";
|
|
4
|
+
import { u as F } from "./useControllableValue-CWqH1kpM.js";
|
|
5
|
+
import './PricingTable.css';const q = "cxr", z = "cxh", B = "cxm", I = "cxn", O = "cxt", T = "cxg", V = "cxp", M = "cxz", H = "cxo", K = "cxe", R = "cxd", S = "cxx", $ = "cxb", j = "cxy", A = "cxl", G = "cxw", J = "cxc", L = "cxk", Q = "cxv", U = "cxa", W = "cxu", X = "cxq", n = {
|
|
6
|
+
r: q,
|
|
7
|
+
h: z,
|
|
8
|
+
m: B,
|
|
9
|
+
n: I,
|
|
10
|
+
t: O,
|
|
11
|
+
g: T,
|
|
12
|
+
p: V,
|
|
13
|
+
z: M,
|
|
14
|
+
o: H,
|
|
15
|
+
e: K,
|
|
16
|
+
d: R,
|
|
17
|
+
x: S,
|
|
18
|
+
b: $,
|
|
19
|
+
y: j,
|
|
20
|
+
l: A,
|
|
21
|
+
w: G,
|
|
22
|
+
c: J,
|
|
23
|
+
k: L,
|
|
22
24
|
v: Q,
|
|
23
|
-
a:
|
|
24
|
-
u:
|
|
25
|
-
q:
|
|
25
|
+
a: U,
|
|
26
|
+
u: W,
|
|
27
|
+
q: X
|
|
26
28
|
};
|
|
27
|
-
function
|
|
28
|
-
return /* @__PURE__ */ l.createElement("span", { className: n.k, "aria-hidden": !0 }, /* @__PURE__ */ l.createElement(
|
|
29
|
-
"path",
|
|
30
|
-
{
|
|
31
|
-
d: "M2.5 6.2 4.8 8.5 9.5 3.5",
|
|
32
|
-
fill: "none",
|
|
33
|
-
stroke: "currentColor",
|
|
34
|
-
strokeWidth: "1.8",
|
|
35
|
-
strokeLinecap: "round",
|
|
36
|
-
strokeLinejoin: "round"
|
|
37
|
-
}
|
|
38
|
-
)));
|
|
29
|
+
function Y() {
|
|
30
|
+
return /* @__PURE__ */ l.createElement("span", { className: n.k, "aria-hidden": !0 }, /* @__PURE__ */ l.createElement(w, { className: n.v }));
|
|
39
31
|
}
|
|
40
|
-
function
|
|
41
|
-
return e === !0 ? /* @__PURE__ */ l.createElement(
|
|
32
|
+
function Z({ value: e }) {
|
|
33
|
+
return e === !0 ? /* @__PURE__ */ l.createElement(Y, null) : e === !1 || e == null || e === "" ? /* @__PURE__ */ l.createElement("span", { className: n.a }, "—") : /* @__PURE__ */ l.createElement(l.Fragment, null, e);
|
|
42
34
|
}
|
|
43
|
-
function
|
|
35
|
+
function _({
|
|
44
36
|
item: e,
|
|
45
37
|
highlighted: r,
|
|
46
38
|
selectable: o,
|
|
47
39
|
disabled: u,
|
|
48
40
|
onSelect: d
|
|
49
41
|
}) {
|
|
50
|
-
const
|
|
42
|
+
const m = e.badge != null && (e.badgePlacement ?? "pill") === "pill", p = e.badge != null && e.badgePlacement === "banner";
|
|
51
43
|
return /* @__PURE__ */ l.createElement(
|
|
52
44
|
"div",
|
|
53
45
|
{
|
|
@@ -58,31 +50,31 @@ function ee({
|
|
|
58
50
|
onClick: () => {
|
|
59
51
|
o && !u && d();
|
|
60
52
|
},
|
|
61
|
-
onKeyDown: (
|
|
62
|
-
!o || u || (
|
|
53
|
+
onKeyDown: (t) => {
|
|
54
|
+
!o || u || (t.key === "Enter" || t.key === " ") && (t.preventDefault(), d());
|
|
63
55
|
}
|
|
64
56
|
},
|
|
65
|
-
|
|
57
|
+
p ? /* @__PURE__ */ l.createElement("span", { className: n.g }, e.badge) : null,
|
|
66
58
|
e.icon != null ? /* @__PURE__ */ l.createElement("div", { className: n.m }, e.icon) : null,
|
|
67
|
-
e.priceFirst ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement(
|
|
59
|
+
e.priceFirst ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement(x, { item: e }), /* @__PURE__ */ l.createElement(v, { item: e, pill: m }), e.description != null ? /* @__PURE__ */ l.createElement("p", { className: n.d }, e.description) : null) : /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement(v, { item: e, pill: m }), e.descriptionPlacement === "before-price" && e.description != null ? /* @__PURE__ */ l.createElement("p", { className: n.d }, e.description) : null, /* @__PURE__ */ l.createElement(x, { item: e }), e.descriptionPlacement !== "before-price" && e.description != null ? /* @__PURE__ */ l.createElement("p", { className: n.d }, e.description) : null),
|
|
68
60
|
e.actions != null ? /* @__PURE__ */ l.createElement(
|
|
69
61
|
"div",
|
|
70
62
|
{
|
|
71
63
|
className: n.x,
|
|
72
|
-
onClick: (
|
|
73
|
-
onMouseDown: (
|
|
64
|
+
onClick: (t) => t.stopPropagation(),
|
|
65
|
+
onMouseDown: (t) => t.preventDefault()
|
|
74
66
|
},
|
|
75
67
|
e.actions
|
|
76
68
|
) : null
|
|
77
69
|
);
|
|
78
70
|
}
|
|
79
|
-
function
|
|
71
|
+
function v({
|
|
80
72
|
item: e,
|
|
81
73
|
pill: r
|
|
82
74
|
}) {
|
|
83
75
|
return e.title == null && !r ? null : /* @__PURE__ */ l.createElement("div", { className: n.n }, e.title != null ? /* @__PURE__ */ l.createElement("h3", { className: n.t }, e.title) : null, r ? /* @__PURE__ */ l.createElement("span", { className: n.g }, e.badge) : null);
|
|
84
76
|
}
|
|
85
|
-
function
|
|
77
|
+
function x({ item: e }) {
|
|
86
78
|
return e.price == null && e.priceOld == null && e.meta == null ? null : /* @__PURE__ */ l.createElement("div", { className: n.p }, e.priceOld != null ? /* @__PURE__ */ l.createElement("span", { className: n.o }, e.priceOld) : null, e.price != null ? /* @__PURE__ */ l.createElement("span", { className: n.z }, e.price) : null, e.meta != null ? /* @__PURE__ */ l.createElement("span", { className: n.e }, e.meta) : null);
|
|
87
79
|
}
|
|
88
80
|
function te({
|
|
@@ -91,41 +83,43 @@ function te({
|
|
|
91
83
|
footerActions: o = !0,
|
|
92
84
|
value: u,
|
|
93
85
|
defaultValue: d,
|
|
94
|
-
selectable:
|
|
95
|
-
disabled:
|
|
96
|
-
onValueChange:
|
|
97
|
-
className:
|
|
98
|
-
style:
|
|
99
|
-
...
|
|
86
|
+
selectable: m = !1,
|
|
87
|
+
disabled: p = !1,
|
|
88
|
+
onValueChange: t,
|
|
89
|
+
className: g,
|
|
90
|
+
style: h,
|
|
91
|
+
...N
|
|
100
92
|
}) {
|
|
101
|
-
const [
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
93
|
+
const [f, b] = F(
|
|
94
|
+
u,
|
|
95
|
+
d,
|
|
96
|
+
t
|
|
97
|
+
), k = e.length, y = {
|
|
98
|
+
...h,
|
|
99
|
+
gridTemplateColumns: `var(--pricing-table-label-width) repeat(${k}, minmax(12rem, 1fr))`
|
|
106
100
|
};
|
|
107
|
-
let
|
|
108
|
-
return /* @__PURE__ */ l.createElement("div", { className:
|
|
109
|
-
const s =
|
|
101
|
+
let P = 0;
|
|
102
|
+
return /* @__PURE__ */ l.createElement("div", { className: D(n.r, g), style: y, role: "table", ...N }, /* @__PURE__ */ l.createElement("div", { className: n.q, role: "columnheader" }), e.map((a) => {
|
|
103
|
+
const s = f === a.value, c = !!a.highlighted || s;
|
|
110
104
|
return /* @__PURE__ */ l.createElement(
|
|
111
|
-
|
|
105
|
+
_,
|
|
112
106
|
{
|
|
113
|
-
key:
|
|
114
|
-
item:
|
|
107
|
+
key: a.value,
|
|
108
|
+
item: a,
|
|
115
109
|
highlighted: c,
|
|
116
|
-
selectable:
|
|
117
|
-
disabled:
|
|
118
|
-
onSelect: () =>
|
|
110
|
+
selectable: m && !p && !a.disabled,
|
|
111
|
+
disabled: p || !!a.disabled,
|
|
112
|
+
onSelect: () => b(a.value)
|
|
119
113
|
}
|
|
120
114
|
);
|
|
121
|
-
}), r == null ? void 0 : r.map((
|
|
122
|
-
const
|
|
115
|
+
}), r == null ? void 0 : r.map((a, s) => /* @__PURE__ */ l.createElement(l.Fragment, { key: s }, a.title != null ? /* @__PURE__ */ l.createElement("div", { className: n.b, role: "rowheader" }, a.title) : null, a.rows.map((c) => {
|
|
116
|
+
const C = P++ % 2 === 1;
|
|
123
117
|
return /* @__PURE__ */ l.createElement(
|
|
124
118
|
"div",
|
|
125
119
|
{
|
|
126
120
|
key: c.key,
|
|
127
121
|
className: n.y,
|
|
128
|
-
"data-alt":
|
|
122
|
+
"data-alt": C ? "true" : void 0,
|
|
129
123
|
role: "row"
|
|
130
124
|
},
|
|
131
125
|
/* @__PURE__ */ l.createElement("div", { className: n.l, role: "rowheader" }, /* @__PURE__ */ l.createElement("span", null, c.label), c.hint != null && c.hint !== "" ? /* @__PURE__ */ l.createElement(
|
|
@@ -138,19 +132,19 @@ function te({
|
|
|
138
132
|
},
|
|
139
133
|
"?"
|
|
140
134
|
) : null),
|
|
141
|
-
e.map((
|
|
142
|
-
var
|
|
143
|
-
return /* @__PURE__ */ l.createElement("div", { key:
|
|
135
|
+
e.map((i) => {
|
|
136
|
+
var E;
|
|
137
|
+
return /* @__PURE__ */ l.createElement("div", { key: i.value, className: n.c, role: "cell" }, /* @__PURE__ */ l.createElement(Z, { value: (E = c.values) == null ? void 0 : E[i.value] }));
|
|
144
138
|
})
|
|
145
139
|
);
|
|
146
|
-
}))), o ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement("div", { className: n.q }), e.map((
|
|
140
|
+
}))), o ? /* @__PURE__ */ l.createElement(l.Fragment, null, /* @__PURE__ */ l.createElement("div", { className: n.q }), e.map((a) => /* @__PURE__ */ l.createElement("div", { key: a.value, className: n.u }, a.actions != null ? /* @__PURE__ */ l.createElement(
|
|
147
141
|
"div",
|
|
148
142
|
{
|
|
149
143
|
className: n.x,
|
|
150
144
|
onClick: (s) => s.stopPropagation(),
|
|
151
145
|
onMouseDown: (s) => s.preventDefault()
|
|
152
146
|
},
|
|
153
|
-
|
|
147
|
+
a.actions
|
|
154
148
|
) : null))) : null);
|
|
155
149
|
}
|
|
156
150
|
export {
|
package/dist/PricingTable.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.cxr{display:grid;width:100%;column-gap:var(--shell-gap);row-gap:0;align-items:stretch;overflow-x:auto}.cxh{display:flex;flex-direction:column;gap:var(--shell-gap-sm);padding:var(--shell-padding);box-sizing:border-box;color:var(--shell-color);background:var(--shell-background);border:1px solid transparent;border-radius:var(--shell-radius)}.cxh[data-highlighted=true]{border-color:var(--shell-color-accent);background:var(--shell-background-selected)}.cxm{display:flex;align-items:center;justify-content:center;width:calc(var(--shell-icon-size) * 1.4);height:calc(var(--shell-icon-size) * 1.4);color:var(--shell-color-accent);background:var(--shell-background-hover);border-radius:var(--shell-radius);overflow:hidden}.cxn{display:flex;flex-wrap:wrap;align-items:center;gap:var(--shell-gap-sm)}.cxt{margin:0;font-size:var(--shell-font-size);font-weight:var(--shell-font-weight);color:var(--shell-color);line-height:1.3}.cxg{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:var(--shell-background-hover);color:var(--shell-color-accent);font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight)}.cxp{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--shell-gap-sm)}.cxz{font-size:var(--shell-font-size-lg);font-weight:700;color:var(--shell-color);line-height:1.15}.cxo{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);text-decoration:line-through}.cxe{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted)}.cxd{margin:0;font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);line-height:1.45}.cxx{display:flex;flex-direction:column;gap:var(--shell-gap-sm)}.cxb{grid-column:1 / -1;margin:var(--shell-gap) 0 var(--shell-gap-sm);padding:0;font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight);color:var(--shell-color-accent)}.cxf,.cxy{display:contents}.cxy>*{padding:var(--shell-padding);box-sizing:border-box;border-bottom:1px solid var(--shell-border);background:var(--shell-background)}.cxy[data-alt=true]>*{background:var(--shell-background-muted)}.cxl{display:flex;align-items:center;gap:var(--shell-gap-sm);font-size:var(--shell-font-size-sm);color:var(--shell-color);line-height:1.4}.cxw{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--shell-status-size);height:var(--shell-status-size);padding:0;border:1px solid var(--shell-border);border-radius:50%;background:transparent;color:var(--shell-color-muted);font-size:9px;line-height:1;cursor:help}.cxc{display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--shell-font-size-sm);color:var(--shell-color);font-weight:500}.cxk{display:inline-flex;align-items:center;justify-content:center;width:var(--shell-check-size);height:var(--shell-check-size);color
|
|
1
|
+
@layer elcrm-components{.cxr{display:grid;width:100%;column-gap:var(--shell-gap);row-gap:0;align-items:stretch;overflow-x:auto}.cxh{display:flex;flex-direction:column;gap:var(--shell-gap-sm);padding:var(--shell-padding);box-sizing:border-box;color:var(--shell-color);background:var(--shell-background);border:1px solid transparent;border-radius:var(--shell-radius)}.cxh[data-highlighted=true]{border-color:var(--shell-color-accent);background:var(--shell-background-selected)}.cxm{display:flex;align-items:center;justify-content:center;width:calc(var(--shell-icon-size) * 1.4);height:calc(var(--shell-icon-size) * 1.4);color:var(--shell-color-accent);background:var(--shell-background-hover);border-radius:var(--shell-radius);overflow:hidden}.cxn{display:flex;flex-wrap:wrap;align-items:center;gap:var(--shell-gap-sm)}.cxt{margin:0;font-size:var(--shell-font-size);font-weight:var(--shell-font-weight);color:var(--shell-color);line-height:1.3}.cxg{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:var(--shell-background-hover);color:var(--shell-color-accent);font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight)}.cxp{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--shell-gap-sm)}.cxz{font-size:var(--shell-font-size-lg);font-weight:700;color:var(--shell-color);line-height:1.15}.cxo{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);text-decoration:line-through}.cxe{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted)}.cxd{margin:0;font-size:var(--shell-font-size-sm);color:var(--shell-color-muted);line-height:1.45}.cxx{display:flex;flex-direction:column;gap:var(--shell-gap-sm)}.cxb{grid-column:1 / -1;margin:var(--shell-gap) 0 var(--shell-gap-sm);padding:0;font-size:var(--shell-font-size-sm);font-weight:var(--shell-font-weight);color:var(--shell-color-accent)}.cxf,.cxy{display:contents}.cxy>*{padding:var(--shell-padding);box-sizing:border-box;border-bottom:1px solid var(--shell-border);background:var(--shell-background)}.cxy[data-alt=true]>*{background:var(--shell-background-muted)}.cxl{display:flex;align-items:center;gap:var(--shell-gap-sm);font-size:var(--shell-font-size-sm);color:var(--shell-color);line-height:1.4}.cxw{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--shell-status-size);height:var(--shell-status-size);padding:0;border:1px solid var(--shell-border);border-radius:50%;background:transparent;color:var(--shell-color-muted);font-size:9px;line-height:1;cursor:help}.cxc{display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--shell-font-size-sm);color:var(--shell-color);font-weight:500}.cxk{display:inline-flex;align-items:center;justify-content:center;width:var(--shell-check-size);height:var(--shell-check-size);color:var(--avatar-color);background:var(--shell-color-success);border-radius:50%}.cxv{width:60%;height:60%;display:block}.cxa{color:var(--shell-color-muted)}.cxu{display:flex;flex-direction:column;gap:var(--shell-gap-sm);padding:var(--shell-padding);box-sizing:border-box}.cxq{min-width:var(--pricing-table-label-width)}}
|
package/dist/PricingTable.js
CHANGED