@elcrm/components 0.2.13 → 0.5.1
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 +76 -38
- package/dist/ActionGroup-DcApj_Mz.js +27 -0
- package/dist/ActionGroup.css +1 -1
- package/dist/ActionGroup.d.ts +19 -19
- package/dist/ActionGroup.js +1 -1
- package/dist/Avatar-eGdLrMCv.js +113 -0
- package/dist/Avatar.css +1 -1
- package/dist/Avatar.d.ts +4 -4
- package/dist/Avatar.js +1 -1
- package/dist/AvatarGroup-Dq-UrOaC.js +81 -0
- package/dist/AvatarGroup.css +1 -1
- package/dist/AvatarGroup.d.ts +8 -28
- package/dist/AvatarGroup.js +1 -1
- package/dist/AvatarName-3B4yCxHn.js +68 -0
- package/dist/AvatarName.css +1 -1
- package/dist/AvatarName.js +1 -1
- package/dist/Badge-BjScAXGy.js +28 -0
- package/dist/Badge.css +1 -1
- package/dist/Badge.js +1 -1
- package/dist/Banner-DAY18FWO.js +34 -0
- package/dist/Banner.css +1 -1
- package/dist/Banner.js +1 -1
- package/dist/Brand-BfCuiyf7.js +34 -0
- package/dist/Brand.css +1 -1
- package/dist/Brand.d.ts +8 -10
- package/dist/Brand.js +1 -1
- package/dist/Breadcrumb-DM_hWw5n.js +98 -0
- package/dist/Breadcrumb.css +1 -1
- package/dist/Breadcrumb.d.ts +8 -5
- package/dist/Breadcrumb.js +1 -1
- package/dist/Card-a7N8Uh_H.js +12 -0
- package/dist/Card.css +1 -1
- package/dist/Card.js +1 -1
- package/dist/ChatFrame-BdSYRF-B.js +37 -0
- package/dist/ChatFrame.css +1 -1
- package/dist/ChatList.js +2 -2
- package/dist/{ChatMessages-B8rdXiK-.js → ChatMessages-CLxwRGIa.js} +1 -1
- package/dist/ChatMessages.js +1 -1
- package/dist/ChatSplit-8iw_1Shp.js +21 -0
- package/dist/CodeBlock-B3wvMejv.js +34 -0
- package/dist/CodeBlock.css +1 -1
- package/dist/CodeBlock.js +1 -1
- package/dist/Dropdown-CR_XxNak.js +185 -0
- package/dist/Dropdown.css +1 -1
- package/dist/Dropdown.d.ts +4 -94
- package/dist/Dropdown.js +1 -1
- package/dist/EmptyState-B_wWPjUu.js +23 -0
- package/dist/EmptyState.css +1 -1
- package/dist/EmptyState.d.ts +1 -1
- package/dist/EmptyState.js +1 -1
- package/dist/{Footer-qxUlnPR9.js → Footer-Bgh_JCUe.js} +4 -4
- package/dist/Footer.css +1 -1
- package/dist/Footer.js +1 -1
- package/dist/Header-BMDIi3u2.js +21 -0
- package/dist/Header.css +1 -1
- package/dist/Header.js +1 -1
- package/dist/Healthmap-Z-LLfGW0.js +359 -0
- package/dist/Healthmap.css +1 -1
- package/dist/Healthmap.d.ts +25 -3
- package/dist/Healthmap.js +1 -1
- package/dist/{Item-D4okhsfW.js → Item-CGpkMJu0.js} +13 -13
- package/dist/Item.css +1 -1
- package/dist/Item.d.ts +7 -7
- package/dist/Item.js +1 -1
- package/dist/ItemColumn-Ch61LqE0.js +41 -0
- package/dist/ItemColumn.css +1 -1
- package/dist/ItemColumn.js +1 -1
- package/dist/Layout-CzEGKl9s.js +31 -0
- package/dist/Layout.css +1 -1
- package/dist/Layout.d.ts +1 -1
- package/dist/Layout.js +1 -1
- package/dist/List-D13pqaUY.js +12 -0
- package/dist/List.css +1 -1
- package/dist/List.js +1 -1
- package/dist/Loading-C_CKD-zt.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-D2kf7fN_.js +72 -0
- package/dist/Menu.css +1 -1
- package/dist/Menu.d.ts +7 -25
- package/dist/Menu.js +1 -1
- package/dist/NavSections-CNxxBMPT.js +154 -0
- package/dist/NavSections.css +1 -1
- package/dist/NavSections.d.ts +16 -28
- package/dist/NavSections.js +1 -1
- package/dist/PageHead-BfClTLrF.js +31 -0
- package/dist/PageHead.css +1 -1
- package/dist/PageHead.d.ts +1 -1
- package/dist/PageHead.js +1 -1
- package/dist/PageShell-BAJges-G.js +30 -0
- package/dist/PageShell.css +1 -1
- package/dist/PageShell.js +1 -1
- package/dist/PanelInfo-Db5GCr-c.js +137 -0
- package/dist/PanelInfo.css +1 -1
- package/dist/PanelInfo.d.ts +16 -9
- package/dist/PanelInfo.js +1 -1
- package/dist/Popover-xEZoMY-h.js +143 -0
- package/dist/Popover.css +1 -1
- package/dist/Popover.d.ts +40 -11
- package/dist/Popover.js +1 -1
- package/dist/PricingGroup-CWy47MlE.js +138 -0
- package/dist/PricingGroup.css +1 -1
- package/dist/PricingGroup.d.ts +0 -2
- package/dist/PricingGroup.js +1 -1
- package/dist/PricingTable-BjpGVAhi.js +157 -0
- package/dist/PricingTable.css +1 -1
- package/dist/PricingTable.d.ts +4 -7
- package/dist/PricingTable.js +1 -1
- package/dist/RadioGroup-DI4KKUvZ.js +121 -0
- package/dist/RadioGroup.css +1 -1
- package/dist/RadioGroup.js +1 -1
- package/dist/Section-PprWjOvt.js +47 -0
- package/dist/Section.css +1 -1
- package/dist/Section.d.ts +29 -9
- package/dist/Section.js +1 -1
- package/dist/Sidebar-Bouhd5SS.js +205 -0
- package/dist/Sidebar.css +1 -1
- package/dist/Sidebar.d.ts +18 -26
- package/dist/Sidebar.js +1 -1
- package/dist/SplitPane-DBa-g9td.js +92 -0
- package/dist/SplitPane.css +1 -1
- package/dist/SplitPane.d.ts +8 -7
- package/dist/SplitPane.js +1 -1
- package/dist/Stack-BPTehVYc.js +53 -0
- package/dist/Stack.css +1 -1
- package/dist/Stack.d.ts +2 -1
- package/dist/Stack.js +1 -1
- package/dist/Stat-p8j4PjrC.js +28 -0
- package/dist/Stat.css +1 -1
- package/dist/Stat.js +1 -1
- package/dist/TabSections-Dppe9wiz.js +84 -0
- package/dist/TabSections.css +1 -1
- package/dist/TabSections.d.ts +7 -2
- package/dist/TabSections.js +1 -1
- package/dist/Table-DqrDUUtb.js +27 -0
- package/dist/Table.css +1 -1
- package/dist/Table.d.ts +10 -2
- package/dist/Table.js +1 -1
- package/dist/Text-Bo1u7gVC.js +25 -0
- package/dist/Text.css +1 -0
- package/dist/Text.d.ts +19 -0
- package/dist/Text.js +4 -0
- package/dist/TextGroup-236jHxdT.js +23 -0
- package/dist/TextGroup.css +1 -1
- package/dist/TextGroup.js +1 -1
- package/dist/Toolbar-Bl9-5Mis.js +35 -0
- package/dist/Toolbar.css +1 -1
- package/dist/Toolbar.d.ts +7 -12
- package/dist/Toolbar.js +1 -2
- package/dist/cx.d.ts +1 -1
- package/dist/dark.css +12 -0
- package/dist/index.css +41 -39
- package/dist/index.d.ts +7 -12
- package/dist/index.es.d.ts +7 -12
- package/dist/index.es.js +110 -107
- package/dist/kit-manifest.json +1646 -0
- package/dist/lazyRoute.d.ts +12 -6
- package/dist/light.css +12 -0
- package/dist/navTree.d.ts +13 -1
- package/dist/rovingKeys-Di9N1Nct.js +23 -0
- package/dist/rovingKeys.d.ts +7 -1
- package/dist/stackGap.d.ts +1 -1
- package/dist/tokens.css +20 -2
- package/dist/useControllableValue-BaE0VR5d.js +13 -0
- package/dist/useControllableValue.d.ts +3 -0
- package/package.json +48 -4
- package/dist/ActionGroup-ChKFW0mt.js +0 -27
- package/dist/Avatar-loGgFt72.js +0 -113
- package/dist/AvatarGroup-D1gnT3Od.js +0 -81
- package/dist/AvatarName-0BzyfpMq.js +0 -68
- package/dist/Badge-jp-9iNNL.js +0 -28
- package/dist/Banner-B72lcEMo.js +0 -34
- package/dist/Block-Bu7NEA0g.js +0 -8
- package/dist/Block.d.ts +0 -30
- package/dist/Block.js +0 -4
- package/dist/Brand-Zq-Idks4.js +0 -34
- package/dist/Breadcrumb-CAM_e9LN.js +0 -98
- package/dist/Card-hn37Opo3.js +0 -12
- package/dist/ChatFrame-BW2TmCkZ.js +0 -37
- package/dist/ChatSplit-DNnu3TNq.js +0 -21
- package/dist/CodeBlock-CRzVopIv.js +0 -25
- package/dist/Column-BiogBDf8.js +0 -8
- package/dist/Column.d.ts +0 -24
- package/dist/Column.js +0 -4
- package/dist/Dropdown-DosvDR13.js +0 -147
- package/dist/EmptyState-mBiWtMIM.js +0 -23
- package/dist/Header-DZQopVNy.js +0 -21
- package/dist/Healthmap-B6cdiLUl.js +0 -243
- package/dist/ItemColumn-M7a9L8CI.js +0 -41
- package/dist/Layout-mi6Ghayv.js +0 -31
- package/dist/List-BgKkYaGO.js +0 -12
- package/dist/Loading-DkkG7RcE.js +0 -16
- package/dist/Menu-DuXQv-zT.js +0 -66
- package/dist/NavSections-D6rDEtT1.js +0 -142
- package/dist/PageHead-DgaJ1mXY.js +0 -31
- package/dist/PageShell-D9EZiO8o.js +0 -30
- package/dist/PanelInfo-A5y5ysH8.js +0 -81
- package/dist/Popover-DWdvZTuA.js +0 -135
- package/dist/PricingGroup-Czuhe81Z.js +0 -120
- package/dist/PricingTable-BuLC0opK.js +0 -152
- package/dist/RadioGroup-fcXzhvMu.js +0 -129
- package/dist/Row-DsQOVn18.js +0 -8
- package/dist/Row.d.ts +0 -24
- package/dist/Row.js +0 -4
- package/dist/Section-Crxk2J-E.js +0 -34
- package/dist/Sidebar-CYFaPqdC.js +0 -178
- package/dist/SplitPane-DR7PCZ8f.js +0 -74
- package/dist/Stack-XkmPSswj.js +0 -53
- package/dist/Stat-sKXJwz5L.js +0 -27
- package/dist/TabSections-DN7yVJoF.js +0 -69
- package/dist/Table-BoDr3X2d.js +0 -25
- package/dist/TextGroup-DmhuyMR1.js +0 -23
- package/dist/Toolbar-C1zAk9ak.js +0 -42
- package/dist/rovingKeys-CGlfTtNQ.js +0 -15
- package/dist/useControllableValue-CWqH1kpM.js +0 -10
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import t, { useState as H, useMemo as Y, useEffect as z } from "react";
|
|
2
|
+
import { c as G } from "./cx-CcykAxZN.js";
|
|
3
|
+
import { createPortal as Z } from "react-dom";
|
|
4
|
+
import { p as J } from "./overlayZ-BvHbYC1x.js";
|
|
5
|
+
import './Healthmap.css';function L(e) {
|
|
6
|
+
const [a, l, u] = e.split("-").map(Number);
|
|
7
|
+
return new Date(Date.UTC(a, l - 1, u));
|
|
8
|
+
}
|
|
9
|
+
function Q(e, a) {
|
|
10
|
+
if (e <= 0) return 0;
|
|
11
|
+
if (a <= 1) return 4;
|
|
12
|
+
const l = e / a;
|
|
13
|
+
return l > 0.75 ? 4 : l > 0.5 ? 3 : l > 0.25 ? 2 : 1;
|
|
14
|
+
}
|
|
15
|
+
function X(e) {
|
|
16
|
+
let a = 0;
|
|
17
|
+
for (let l = e.length - 1; l >= 0; l--) {
|
|
18
|
+
if (e[l].count <= 0) {
|
|
19
|
+
if (a === 0) continue;
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
a++;
|
|
23
|
+
}
|
|
24
|
+
return a;
|
|
25
|
+
}
|
|
26
|
+
function I(e, a) {
|
|
27
|
+
var D;
|
|
28
|
+
if (!((D = e == null ? void 0 : e.days) != null && D.length))
|
|
29
|
+
return {
|
|
30
|
+
weeks: [],
|
|
31
|
+
months: [],
|
|
32
|
+
streak: 0,
|
|
33
|
+
activeDays: 0,
|
|
34
|
+
bestDay: 0
|
|
35
|
+
};
|
|
36
|
+
const l = Math.max(1, ...e.days.map((s) => s.count)), u = new Map(e.days.map((s) => [s.date, s.count])), y = L(e.from), d = L(e.to), f = y.getUTCDay(), c = f === 0 ? -6 : 1 - f, i = new Date(y);
|
|
37
|
+
i.setUTCDate(i.getUTCDate() + c);
|
|
38
|
+
const p = [], N = [];
|
|
39
|
+
let k = -1;
|
|
40
|
+
for (; i.getTime() <= d.getTime() || p.length === 0; ) {
|
|
41
|
+
const s = [];
|
|
42
|
+
for (let r = 0; r < 7; r++) {
|
|
43
|
+
const o = i.getUTCFullYear(), m = i.getUTCMonth(), E = i.getUTCDate(), b = `${o}-${String(m + 1).padStart(2, "0")}-${String(E).padStart(2, "0")}`, g = i.getTime() >= y.getTime() && i.getTime() <= d.getTime(), w = g ? u.get(b) ?? 0 : 0;
|
|
44
|
+
r === 0 && g && m !== k && (N.push({ label: a[m], col: p.length }), k = m), s.push({
|
|
45
|
+
date: b,
|
|
46
|
+
count: g ? w : 0,
|
|
47
|
+
level: g ? Q(w, l) : 0
|
|
48
|
+
}), i.setUTCDate(i.getUTCDate() + 1);
|
|
49
|
+
}
|
|
50
|
+
if (p.push(s), i.getTime() > d.getTime() && p.length >= 52 || p.length > 60) break;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
weeks: p,
|
|
54
|
+
months: N,
|
|
55
|
+
streak: X(e.days),
|
|
56
|
+
activeDays: e.days.filter((s) => s.count > 0).length,
|
|
57
|
+
bestDay: Math.max(0, ...e.days.map((s) => s.count))
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const U = 5, j = [
|
|
61
|
+
"янв",
|
|
62
|
+
"фев",
|
|
63
|
+
"мар",
|
|
64
|
+
"апр",
|
|
65
|
+
"май",
|
|
66
|
+
"июн",
|
|
67
|
+
"июл",
|
|
68
|
+
"авг",
|
|
69
|
+
"сен",
|
|
70
|
+
"окт",
|
|
71
|
+
"ноя",
|
|
72
|
+
"дек"
|
|
73
|
+
], _ = ["Пн", "", "Ср", "", "Пт", "", ""], ee = {
|
|
74
|
+
one: "действие",
|
|
75
|
+
few: "действия",
|
|
76
|
+
many: "действий"
|
|
77
|
+
};
|
|
78
|
+
function S(e, a) {
|
|
79
|
+
const l = e % 10, u = e % 100;
|
|
80
|
+
return l === 1 && u !== 11 ? a.one : l >= 2 && l <= 4 && (u < 10 || u >= 20) ? a.few : a.many;
|
|
81
|
+
}
|
|
82
|
+
function te(e) {
|
|
83
|
+
return S(e, { one: "день", few: "дня", many: "дней" });
|
|
84
|
+
}
|
|
85
|
+
function K(e, a) {
|
|
86
|
+
return L(e).toLocaleDateString(a, {
|
|
87
|
+
weekday: "long",
|
|
88
|
+
day: "numeric",
|
|
89
|
+
month: "long",
|
|
90
|
+
year: "numeric",
|
|
91
|
+
timeZone: "UTC"
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const ne = "hhr", ae = "hhc", le = "hha", se = "hhh", re = "hht", oe = "hhm", ce = "hho", ie = "hhn", me = "hhd", ue = "hhw", he = "hhk", pe = "hhe", de = "hhf", fe = "hhi", ge = "hhg", ye = "hhb", Ee = "hhp", be = "hhq", we = "hhv", ve = "hhl", Ne = "hhz", ke = "hhj", Te = "hhu", De = "hhx", xe = "hhs", Me = "hhy", n = {
|
|
95
|
+
root: ne,
|
|
96
|
+
calendar: ae,
|
|
97
|
+
aside: le,
|
|
98
|
+
header: se,
|
|
99
|
+
title: re,
|
|
100
|
+
main: oe,
|
|
101
|
+
omonth: ce,
|
|
102
|
+
nest: ie,
|
|
103
|
+
dow: me,
|
|
104
|
+
weeks: ue,
|
|
105
|
+
krow: he,
|
|
106
|
+
entry: pe,
|
|
107
|
+
footer: de,
|
|
108
|
+
ihint: fe,
|
|
109
|
+
gleg: ge,
|
|
110
|
+
brand: ye,
|
|
111
|
+
plist: Ee,
|
|
112
|
+
qkpi: be,
|
|
113
|
+
value: we,
|
|
114
|
+
label: ve,
|
|
115
|
+
zyears: Ne,
|
|
116
|
+
jump: ke,
|
|
117
|
+
up: Te,
|
|
118
|
+
xbtn: De,
|
|
119
|
+
selected: xe,
|
|
120
|
+
ytip: Me
|
|
121
|
+
};
|
|
122
|
+
function Ue({
|
|
123
|
+
weeks: e,
|
|
124
|
+
months: a,
|
|
125
|
+
cell: l,
|
|
126
|
+
gap: u,
|
|
127
|
+
step: y,
|
|
128
|
+
weekdays: d,
|
|
129
|
+
focusDate: f,
|
|
130
|
+
locale: c,
|
|
131
|
+
unit: i,
|
|
132
|
+
onFocusDate: p,
|
|
133
|
+
onShowTip: N,
|
|
134
|
+
onHideTip: k
|
|
135
|
+
}) {
|
|
136
|
+
function D(s) {
|
|
137
|
+
const { key: r } = s;
|
|
138
|
+
if (r !== "ArrowLeft" && r !== "ArrowRight" && r !== "ArrowUp" && r !== "ArrowDown" || !e.length) return;
|
|
139
|
+
let o = -1, m = -1;
|
|
140
|
+
for (let x = 0; x < e.length; x++) {
|
|
141
|
+
const $ = e[x].findIndex((A) => A.date === f);
|
|
142
|
+
if ($ >= 0) {
|
|
143
|
+
o = x, m = $;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (o < 0) return;
|
|
148
|
+
s.preventDefault();
|
|
149
|
+
let E = o, b = m;
|
|
150
|
+
r === "ArrowDown" ? b = Math.min(6, m + 1) : r === "ArrowUp" ? b = Math.max(0, m - 1) : r === "ArrowRight" ? E = Math.min(e.length - 1, o + 1) : r === "ArrowLeft" && (E = Math.max(0, o - 1));
|
|
151
|
+
const g = e[E][b];
|
|
152
|
+
p(g.date);
|
|
153
|
+
const w = s.currentTarget.querySelector(
|
|
154
|
+
`[data-date="${g.date}"]`
|
|
155
|
+
);
|
|
156
|
+
w == null || w.focus();
|
|
157
|
+
}
|
|
158
|
+
return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
className: n.main,
|
|
162
|
+
"aria-hidden": !0,
|
|
163
|
+
style: {
|
|
164
|
+
width: e.length ? e.length * y - u : void 0
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
a.map((s) => /* @__PURE__ */ t.createElement(
|
|
168
|
+
"span",
|
|
169
|
+
{
|
|
170
|
+
key: `${s.label}-${s.col}`,
|
|
171
|
+
className: n.omonth,
|
|
172
|
+
style: { left: s.col * y }
|
|
173
|
+
},
|
|
174
|
+
s.label
|
|
175
|
+
))
|
|
176
|
+
), /* @__PURE__ */ t.createElement("div", { className: n.nest }, /* @__PURE__ */ t.createElement("div", { className: n.dow, "aria-hidden": !0 }, (d.length >= 7 ? d : _).slice(0, 7).map(
|
|
177
|
+
(s, r) => s ? /* @__PURE__ */ t.createElement("span", { key: r }, s) : /* @__PURE__ */ t.createElement("span", { key: r })
|
|
178
|
+
)), /* @__PURE__ */ t.createElement(
|
|
179
|
+
"div",
|
|
180
|
+
{
|
|
181
|
+
className: n.weeks,
|
|
182
|
+
style: {
|
|
183
|
+
gridTemplateColumns: `repeat(${e.length}, ${l}px)`
|
|
184
|
+
},
|
|
185
|
+
role: "grid",
|
|
186
|
+
"aria-label": "График активности",
|
|
187
|
+
onKeyDown: D
|
|
188
|
+
},
|
|
189
|
+
e.map((s, r) => /* @__PURE__ */ t.createElement("div", { key: r, className: n.krow, role: "row" }, s.map((o) => /* @__PURE__ */ t.createElement(
|
|
190
|
+
"button",
|
|
191
|
+
{
|
|
192
|
+
key: o.date,
|
|
193
|
+
type: "button",
|
|
194
|
+
className: n.entry,
|
|
195
|
+
"data-level": o.level,
|
|
196
|
+
"data-date": o.date,
|
|
197
|
+
role: "gridcell",
|
|
198
|
+
tabIndex: o.date === f ? 0 : -1,
|
|
199
|
+
"aria-label": `${K(o.date, c)}: ${o.count} ${S(o.count, i)}`,
|
|
200
|
+
onMouseEnter: (m) => N(o, m.currentTarget),
|
|
201
|
+
onMouseLeave: k,
|
|
202
|
+
onFocus: (m) => {
|
|
203
|
+
p(o.date), N(o, m.currentTarget);
|
|
204
|
+
},
|
|
205
|
+
onBlur: k
|
|
206
|
+
}
|
|
207
|
+
))))
|
|
208
|
+
)));
|
|
209
|
+
}
|
|
210
|
+
function $e({ tip: e, locale: a, unit: l }) {
|
|
211
|
+
return e ? Z(
|
|
212
|
+
/* @__PURE__ */ t.createElement(
|
|
213
|
+
"div",
|
|
214
|
+
{
|
|
215
|
+
className: n.ytip,
|
|
216
|
+
style: {
|
|
217
|
+
left: e.x,
|
|
218
|
+
top: e.y,
|
|
219
|
+
zIndex: J() + 10
|
|
220
|
+
},
|
|
221
|
+
role: "tooltip"
|
|
222
|
+
},
|
|
223
|
+
/* @__PURE__ */ t.createElement("div", null, K(e.date, a)),
|
|
224
|
+
/* @__PURE__ */ t.createElement("div", null, e.count, " ", S(e.count, l))
|
|
225
|
+
),
|
|
226
|
+
document.body
|
|
227
|
+
) : null;
|
|
228
|
+
}
|
|
229
|
+
function Ae({
|
|
230
|
+
yearPage: e,
|
|
231
|
+
yearPageCount: a,
|
|
232
|
+
visibleYears: l,
|
|
233
|
+
activeYear: u,
|
|
234
|
+
currentYear: y,
|
|
235
|
+
onYearPageChange: d,
|
|
236
|
+
onYearChange: f
|
|
237
|
+
}) {
|
|
238
|
+
return /* @__PURE__ */ t.createElement("nav", { className: n.zyears, "aria-label": "Год" }, a > 1 ? /* @__PURE__ */ t.createElement(
|
|
239
|
+
"button",
|
|
240
|
+
{
|
|
241
|
+
type: "button",
|
|
242
|
+
className: n.up,
|
|
243
|
+
"aria-label": "Предыдущие годы",
|
|
244
|
+
disabled: e <= 0,
|
|
245
|
+
onClick: () => d((c) => Math.max(0, c - 1))
|
|
246
|
+
},
|
|
247
|
+
"‹"
|
|
248
|
+
) : null, /* @__PURE__ */ t.createElement("div", { className: n.jump, role: "group" }, l.map((c) => /* @__PURE__ */ t.createElement(
|
|
249
|
+
"button",
|
|
250
|
+
{
|
|
251
|
+
key: c,
|
|
252
|
+
type: "button",
|
|
253
|
+
"aria-pressed": c === u,
|
|
254
|
+
className: G(n.xbtn, c === u && n.selected),
|
|
255
|
+
onClick: () => f == null ? void 0 : f(c === y ? null : c)
|
|
256
|
+
},
|
|
257
|
+
c
|
|
258
|
+
))), a > 1 ? /* @__PURE__ */ t.createElement(
|
|
259
|
+
"button",
|
|
260
|
+
{
|
|
261
|
+
type: "button",
|
|
262
|
+
className: n.up,
|
|
263
|
+
"aria-label": "Следующие годы",
|
|
264
|
+
disabled: e >= a - 1,
|
|
265
|
+
onClick: () => d((c) => Math.min(a - 1, c + 1))
|
|
266
|
+
},
|
|
267
|
+
"›"
|
|
268
|
+
) : null);
|
|
269
|
+
}
|
|
270
|
+
function Ce() {
|
|
271
|
+
if (typeof document > "u")
|
|
272
|
+
return { cell: 12, gap: 3, step: 15 };
|
|
273
|
+
const e = getComputedStyle(document.documentElement), a = parseFloat(e.getPropertyValue("--healthmap-cell").trim()) || 12, l = parseFloat(e.getPropertyValue("--healthmap-gap").trim()) || 3;
|
|
274
|
+
return { cell: a, gap: l, step: a + l };
|
|
275
|
+
}
|
|
276
|
+
function Le({
|
|
277
|
+
data: e,
|
|
278
|
+
loading: a = !1,
|
|
279
|
+
year: l = null,
|
|
280
|
+
onYearChange: u,
|
|
281
|
+
hint: y,
|
|
282
|
+
brandName: d = "Активность",
|
|
283
|
+
brandSub: f = "сводка",
|
|
284
|
+
unit: c = ee,
|
|
285
|
+
months: i = j,
|
|
286
|
+
locale: p = "ru-RU",
|
|
287
|
+
loadingLabel: N = "Загрузка…",
|
|
288
|
+
lastYearLabel: k = "последний год",
|
|
289
|
+
weekdays: D = _,
|
|
290
|
+
className: s
|
|
291
|
+
}) {
|
|
292
|
+
const [r, o] = H(0), [m, E] = H(null), [b, g] = H(""), { cell: w, gap: x, step: $ } = Ce(), A = i.length >= 12 ? i : j, v = Y(
|
|
293
|
+
() => I(e, A),
|
|
294
|
+
[e, A]
|
|
295
|
+
);
|
|
296
|
+
z(() => {
|
|
297
|
+
const h = v.weeks.flat();
|
|
298
|
+
if (!h.length) {
|
|
299
|
+
g("");
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
const M = h.find((T) => T.count > 0);
|
|
303
|
+
g((M ?? h[0]).date);
|
|
304
|
+
}, [v.weeks]);
|
|
305
|
+
const C = Y(() => {
|
|
306
|
+
var M;
|
|
307
|
+
const h = (M = e == null ? void 0 : e.years) != null && M.length ? [...e.years] : [(/* @__PURE__ */ new Date()).getUTCFullYear(), (/* @__PURE__ */ new Date()).getUTCFullYear() - 1];
|
|
308
|
+
return [...new Set(h)].sort((T, W) => W - T);
|
|
309
|
+
}, [e == null ? void 0 : e.years]), F = (/* @__PURE__ */ new Date()).getUTCFullYear(), R = l ?? (e == null ? void 0 : e.year) ?? F, q = (e == null ? void 0 : e.total) ?? 0, O = Math.max(1, Math.ceil(C.length / U));
|
|
310
|
+
z(() => {
|
|
311
|
+
const h = C.indexOf(R);
|
|
312
|
+
h < 0 || o(Math.floor(h / U));
|
|
313
|
+
}, [R, C]);
|
|
314
|
+
const P = C.slice(
|
|
315
|
+
r * U,
|
|
316
|
+
r * U + U
|
|
317
|
+
);
|
|
318
|
+
function B(h, M) {
|
|
319
|
+
const T = M.getBoundingClientRect();
|
|
320
|
+
E({
|
|
321
|
+
date: h.date,
|
|
322
|
+
count: h.count,
|
|
323
|
+
x: T.left + T.width / 2,
|
|
324
|
+
y: T.top
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
const V = a ? N : `${q} ${S(q, c)} за ${l == null || l === F ? k : `${l} год`}`;
|
|
328
|
+
return /* @__PURE__ */ t.createElement("div", { className: G(n.root, s) }, /* @__PURE__ */ t.createElement("section", { className: n.calendar, "aria-label": "Календарь активности" }, /* @__PURE__ */ t.createElement("div", { className: n.header }, /* @__PURE__ */ t.createElement("h3", { className: n.title }, V)), /* @__PURE__ */ t.createElement(
|
|
329
|
+
Ue,
|
|
330
|
+
{
|
|
331
|
+
weeks: v.weeks,
|
|
332
|
+
months: v.months,
|
|
333
|
+
cell: w,
|
|
334
|
+
gap: x,
|
|
335
|
+
step: $,
|
|
336
|
+
weekdays: D,
|
|
337
|
+
focusDate: b,
|
|
338
|
+
locale: p,
|
|
339
|
+
unit: c,
|
|
340
|
+
onFocusDate: g,
|
|
341
|
+
onShowTip: B,
|
|
342
|
+
onHideTip: () => E(null)
|
|
343
|
+
}
|
|
344
|
+
), /* @__PURE__ */ t.createElement("div", { className: n.footer }, /* @__PURE__ */ t.createElement("span", { className: n.ihint }, y ?? ""), /* @__PURE__ */ t.createElement(
|
|
345
|
+
Ae,
|
|
346
|
+
{
|
|
347
|
+
yearPage: r,
|
|
348
|
+
yearPageCount: O,
|
|
349
|
+
visibleYears: P,
|
|
350
|
+
activeYear: R,
|
|
351
|
+
currentYear: F,
|
|
352
|
+
onYearPageChange: o,
|
|
353
|
+
onYearChange: u
|
|
354
|
+
}
|
|
355
|
+
), /* @__PURE__ */ t.createElement("div", { className: n.gleg, "aria-hidden": !0 }, /* @__PURE__ */ t.createElement("span", null, "Меньше"), [0, 1, 2, 3, 4].map((h) => /* @__PURE__ */ t.createElement("span", { key: h, className: n.entry, "data-level": h })), /* @__PURE__ */ t.createElement("span", null, "Больше")))), /* @__PURE__ */ t.createElement("aside", { className: n.aside, "aria-label": "Сводка" }, /* @__PURE__ */ t.createElement("div", { className: n.brand }, /* @__PURE__ */ t.createElement("span", null, d), /* @__PURE__ */ t.createElement("span", null, f)), /* @__PURE__ */ t.createElement("div", { className: n.plist }, /* @__PURE__ */ t.createElement("div", { className: n.qkpi }, /* @__PURE__ */ t.createElement("span", { className: n.value }, a ? "—" : v.streak), /* @__PURE__ */ t.createElement("span", { className: n.label }, "серия, ", te(v.streak))), /* @__PURE__ */ t.createElement("div", { className: n.qkpi }, /* @__PURE__ */ t.createElement("span", { className: n.value }, a ? "—" : v.activeDays), /* @__PURE__ */ t.createElement("span", { className: n.label }, "активных дней")), /* @__PURE__ */ t.createElement("div", { className: n.qkpi }, /* @__PURE__ */ t.createElement("span", { className: n.value }, a ? "—" : v.bestDay), /* @__PURE__ */ t.createElement("span", { className: n.label }, "макс. за день")))), /* @__PURE__ */ t.createElement($e, { tip: m, locale: p, unit: c }));
|
|
356
|
+
}
|
|
357
|
+
export {
|
|
358
|
+
Le as H
|
|
359
|
+
};
|
package/dist/Healthmap.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.
|
|
1
|
+
@layer elcrm-components{.hhr{display:flex;gap:var(--shell-gap);align-items:stretch;width:100%}.hhc,.hha{border:1px solid var(--shell-border);border-radius:var(--shell-radius);background:var(--shell-background);box-sizing:border-box}.hhc{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--shell-gap-lg) var(--shell-padding-inline);overflow-x:auto}.hhh{margin-bottom:var(--shell-gap-sm)}.hht{margin:0;font-size:var(--shell-font-size);font-weight:var(--shell-font-weight);color:var(--shell-color)}.hhm{position:relative;margin:0 0 var(--shell-gap-sm, .25rem) 26px;height:16px;font-size:var(--shell-font-size-sm, .6875rem);color:var(--shell-color-muted)}.hho{position:absolute;top:0;white-space:nowrap}.hhn{display:flex;gap:var(--shell-gap-sm, .25rem);align-items:flex-start;flex:1}.hhd{display:grid;grid-template-rows:repeat(7,var(--healthmap-cell));gap:var(--healthmap-gap);width:22px;font-size:var(--shell-font-size-sm, .6875rem);line-height:var(--healthmap-cell);color:var(--shell-color-muted);flex-shrink:0;align-content:center}.hhw{display:grid;gap:var(--healthmap-gap);align-content:center}.hhk{display:grid;grid-template-rows:repeat(7,var(--healthmap-cell));gap:var(--healthmap-gap)}.hhe{width:var(--healthmap-cell);height:var(--healthmap-cell);padding:0;border:0;border-radius:2px;background:var(--healthmap-l0);box-sizing:border-box;cursor:default;display:block}.hhe:focus-visible{outline:2px solid var(--shell-color-accent);outline-offset:1px}.hhe[data-level="1"]{background:var(--healthmap-l1)}.hhe[data-level="2"]{background:var(--healthmap-l2)}.hhe[data-level="3"]{background:var(--healthmap-l3)}.hhe[data-level="4"]{background:var(--healthmap-l4)}.hhf{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--shell-gap-sm);margin-top:auto;padding-top:var(--shell-gap-sm);margin-left:26px;font-size:var(--shell-font-size-sm, .6875rem);color:var(--shell-color-muted)}.hhi{min-width:0}.hhg{display:flex;align-items:center;gap:var(--shell-gap-sm, .25rem);justify-self:end}.hha{flex:0 0 180px;display:flex;flex-direction:column;gap:var(--shell-gap-lg);padding:var(--shell-gap-lg) 18px}.hhb{display:flex;flex-direction:column;gap:2px;line-height:1.2}.hhb>span:first-child{font-size:var(--shell-font-size-lg);font-weight:700;letter-spacing:-.02em;color:var(--shell-color)}.hhb>span:last-child{font-size:var(--shell-font-size-sm, .6875rem);color:var(--shell-color-muted);text-transform:uppercase;letter-spacing:.04em}.hhp{display:flex;flex-direction:column;gap:var(--shell-gap-sm);flex:1;justify-content:center}.hhq{display:flex;flex-direction:column;gap:2px}.hhv{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--shell-color);line-height:1.1}.hhl{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted)}.hhz{display:flex;align-items:center;justify-content:center;gap:var(--shell-gap-sm, .25rem);justify-self:center}.hhj{display:flex;align-items:center;gap:var(--shell-gap-sm, .25rem)}.hhu{width:28px;height:28px;border:0;border-radius:var(--shell-radius);background:transparent;color:var(--shell-color-muted);font-size:18px;line-height:1;cursor:pointer}.hhu:hover:not(:disabled){color:var(--shell-color);background:var(--shell-background-muted)}.hhu:disabled{opacity:var(--shell-disabled-opacity);cursor:default}.hhx{border:0;background:transparent;color:var(--shell-color-muted);font-size:var(--shell-font-size-sm);padding:5px 11px;border-radius:999px;cursor:pointer}.hhx:hover{color:var(--shell-color)}.hhs{background:var(--shell-color-accent);color:var(--shell-background)}.hhy{position:fixed;z-index:calc(var(--shell-z) + 50);transform:translate(-50%,calc(-100% - 10px));min-width:160px;max-width:280px;padding:var(--shell-gap-sm) var(--shell-gap);border-radius:var(--shell-radius);background:var(--shell-background);border:1px solid var(--shell-border);box-shadow:var(--popup-shadow);pointer-events:none;color:var(--shell-color)}.hhy>:first-child{font-size:var(--shell-font-size-sm);color:var(--shell-color-muted)}.hhy>:last-child{font-size:var(--shell-font-size);font-weight:600}@media (max-width: 720px){.hhr{flex-direction:column}.hha{flex:none;width:100%}.hhf{grid-template-columns:1fr;margin-left:0;justify-items:start}.hhg,.hhz{justify-self:start}}}
|
package/dist/Healthmap.d.ts
CHANGED
|
@@ -28,8 +28,10 @@ export type HealthmapProps = {
|
|
|
28
28
|
/** Показать «Загрузка…» в заголовке. */
|
|
29
29
|
loading?: boolean;
|
|
30
30
|
/**
|
|
31
|
-
* Выбранный год.
|
|
32
|
-
*
|
|
31
|
+
* Выбранный год.
|
|
32
|
+
* - `undefined` — uncontrolled (внутри берётся последний из `data.years`);
|
|
33
|
+
* - `null` — controlled «последний год» (как в ответе сервера);
|
|
34
|
+
* - число — конкретный год.
|
|
33
35
|
*/
|
|
34
36
|
year?: number | null;
|
|
35
37
|
/** Смена года (клик по вкладке). */
|
|
@@ -42,6 +44,26 @@ export type HealthmapProps = {
|
|
|
42
44
|
brandSub?: string;
|
|
43
45
|
/** Единицы для склонения счётчиков. */
|
|
44
46
|
unit?: HealthmapUnit;
|
|
47
|
+
/**
|
|
48
|
+
* 12 коротких названий месяцев (янв…дек).
|
|
49
|
+
* По умолчанию — русские.
|
|
50
|
+
*/
|
|
51
|
+
months?: readonly string[];
|
|
52
|
+
/**
|
|
53
|
+
* Locale для длинной даты в tooltip (`toLocaleDateString`).
|
|
54
|
+
* @default "ru-RU"
|
|
55
|
+
*/
|
|
56
|
+
locale?: string;
|
|
57
|
+
/** Текст «Загрузка…» в заголовке. */
|
|
58
|
+
loadingLabel?: string;
|
|
59
|
+
/** Фраза «последний год» в заголовке. */
|
|
60
|
+
lastYearLabel?: string;
|
|
61
|
+
/**
|
|
62
|
+
* 7 подписей дней недели (Пн…Вс). Пустая строка — слот без текста
|
|
63
|
+
* (компактная колонка как у GitHub).
|
|
64
|
+
* @default ["Пн","","Ср","","Пт","",""]
|
|
65
|
+
*/
|
|
66
|
+
weekdays?: readonly string[];
|
|
45
67
|
/** Доп. CSS-класс. */
|
|
46
68
|
className?: string;
|
|
47
69
|
};
|
|
@@ -66,4 +88,4 @@ export type HealthmapProps = {
|
|
|
66
88
|
*
|
|
67
89
|
* Токены: `--shell-*`, `--healthmap-cell`, `--healthmap-gap`, `--healthmap-l0`…`--healthmap-l4`.
|
|
68
90
|
*/
|
|
69
|
-
export declare function Healthmap({ data, loading, year, onYearChange, hint, brandName, brandSub, unit, className, }: HealthmapProps): React.JSX.Element;
|
|
91
|
+
export declare function Healthmap({ data, loading, year, onYearChange, hint, brandName, brandSub, unit, months, locale, loadingLabel, lastYearLabel, weekdays, className, }: HealthmapProps): React.JSX.Element;
|
package/dist/Healthmap.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import r from "react";
|
|
2
2
|
import { c as m } from "./cx-CcykAxZN.js";
|
|
3
|
-
import './Item.css';const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import './Item.css';const d = "lir", v = "lia", u = "lic", o = {
|
|
4
|
+
root: d,
|
|
5
|
+
active: v,
|
|
6
|
+
card: u
|
|
7
7
|
};
|
|
8
|
-
function N(
|
|
8
|
+
function N(n) {
|
|
9
9
|
const {
|
|
10
10
|
active: t,
|
|
11
|
-
variant:
|
|
11
|
+
variant: s = "plain",
|
|
12
12
|
children: a,
|
|
13
13
|
className: l,
|
|
14
|
-
as:
|
|
14
|
+
as: i = "li",
|
|
15
15
|
...e
|
|
16
|
-
} =
|
|
17
|
-
return
|
|
16
|
+
} = n, c = m(o.root, s === "card" && o.card, t && o.active, l);
|
|
17
|
+
return i === "a" ? /* @__PURE__ */ r.createElement(
|
|
18
18
|
"a",
|
|
19
19
|
{
|
|
20
20
|
className: c,
|
|
@@ -22,18 +22,18 @@ function N(s) {
|
|
|
22
22
|
...e
|
|
23
23
|
},
|
|
24
24
|
a
|
|
25
|
-
) :
|
|
26
|
-
"
|
|
25
|
+
) : i === "button" ? /* @__PURE__ */ r.createElement(
|
|
26
|
+
"button",
|
|
27
27
|
{
|
|
28
|
+
type: "button",
|
|
28
29
|
className: c,
|
|
29
30
|
"data-active": t ? "true" : void 0,
|
|
30
31
|
...e
|
|
31
32
|
},
|
|
32
33
|
a
|
|
33
34
|
) : /* @__PURE__ */ r.createElement(
|
|
34
|
-
"
|
|
35
|
+
"li",
|
|
35
36
|
{
|
|
36
|
-
type: "button",
|
|
37
37
|
className: c,
|
|
38
38
|
"data-active": t ? "true" : void 0,
|
|
39
39
|
...e
|
package/dist/Item.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.
|
|
1
|
+
@layer elcrm-components{.lir{display:flex;align-items:center;gap:var(--shell-gap-sm);padding:var(--shell-padding);color:var(--shell-color);background:transparent;border:1px solid transparent;border-radius:var(--shell-radius);cursor:default}.lir:is(button,a){-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;width:100%;cursor:pointer}.lir:hover{background:var(--shell-background-hover)}.lia,.lir[aria-current=true],.lir[data-active=true]{background:var(--shell-background-selected)}.lic{align-items:flex-start;gap:var(--shell-gap);padding:var(--shell-padding);border:1px solid var(--shell-border);border-radius:var(--shell-radius);background:var(--shell-background-muted);flex-shrink:0}.lic:hover,.lic.lia,.lic[data-active=true]{background:color-mix(in srgb,var(--shell-color-accent) 12%,var(--shell-background-muted));border-color:color-mix(in srgb,var(--shell-color-accent) 35%,transparent)}}
|
package/dist/Item.d.ts
CHANGED
|
@@ -23,22 +23,22 @@ type Common = {
|
|
|
23
23
|
* @example
|
|
24
24
|
* ```tsx
|
|
25
25
|
* <List>
|
|
26
|
-
* <Item
|
|
26
|
+
* <Item active>Текущий</Item>
|
|
27
27
|
* <Item as="button" variant="card" active>Карточка</Item>
|
|
28
28
|
* </List>
|
|
29
29
|
* ```
|
|
30
30
|
*
|
|
31
31
|
* Токены: `--shell-*`.
|
|
32
32
|
*/
|
|
33
|
-
export type ItemProps = (Common & React.
|
|
34
|
-
/** Тег:
|
|
35
|
-
as?: "
|
|
33
|
+
export type ItemProps = (Common & React.LiHTMLAttributes<HTMLLIElement> & {
|
|
34
|
+
/** Тег: элемент списка (по умолчанию; внутри `<List>` / `<ul>`) */
|
|
35
|
+
as?: "li";
|
|
36
|
+
}) | (Common & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
37
|
+
/** Тег: кнопка */
|
|
38
|
+
as: "button";
|
|
36
39
|
}) | (Common & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
37
40
|
/** Тег: ссылка */
|
|
38
41
|
as: "a";
|
|
39
|
-
}) | (Common & React.LiHTMLAttributes<HTMLLIElement> & {
|
|
40
|
-
/** Тег: элемент списка */
|
|
41
|
-
as: "li";
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
44
44
|
* Элемент списка / строки.
|
package/dist/Item.js
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { c as N } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './ItemColumn.css';const h = "lcr", v = "lci", g = "lcb", k = "lch", b = "lct", x = "lcx", y = "lcd", C = "lcf", F = "lcp", I = "lca", L = "lcs", M = "lcl", R = "lck", l = {
|
|
4
|
+
root: h,
|
|
5
|
+
ico: v,
|
|
6
|
+
body: g,
|
|
7
|
+
head: k,
|
|
8
|
+
title: b,
|
|
9
|
+
xtra: x,
|
|
10
|
+
desc: y,
|
|
11
|
+
footer: C,
|
|
12
|
+
pipe: F,
|
|
13
|
+
aside: I,
|
|
14
|
+
small: L,
|
|
15
|
+
large: M,
|
|
16
|
+
kread: R
|
|
17
|
+
};
|
|
18
|
+
function j({ items: c }) {
|
|
19
|
+
const a = c.filter((t) => t != null && t !== !1 && t !== "");
|
|
20
|
+
return a.length === 0 ? null : /* @__PURE__ */ e.createElement(e.Fragment, null, a.map((t, n) => /* @__PURE__ */ e.createElement(e.Fragment, { key: n }, n > 0 ? /* @__PURE__ */ e.createElement("span", { className: l.pipe, "aria-hidden": !0 }, "·") : null, /* @__PURE__ */ e.createElement("span", null, t))));
|
|
21
|
+
}
|
|
22
|
+
function z({
|
|
23
|
+
icon: c,
|
|
24
|
+
title: a,
|
|
25
|
+
extra: t,
|
|
26
|
+
aside: n,
|
|
27
|
+
description: s,
|
|
28
|
+
footer: u,
|
|
29
|
+
meta: r,
|
|
30
|
+
size: o = "m",
|
|
31
|
+
unread: d,
|
|
32
|
+
children: i,
|
|
33
|
+
className: p,
|
|
34
|
+
...E
|
|
35
|
+
}) {
|
|
36
|
+
const f = o === "s" ? l.small : o === "l" ? l.large : void 0, m = u ?? (r != null ? /* @__PURE__ */ e.createElement(j, { items: r }) : null);
|
|
37
|
+
return /* @__PURE__ */ e.createElement("div", { className: N(l.root, f, d && l.kread, p), ...E }, c != null ? /* @__PURE__ */ e.createElement("span", { className: l.ico, "aria-hidden": !0 }, c) : null, /* @__PURE__ */ e.createElement("div", { className: l.body }, a != null || t != null ? /* @__PURE__ */ e.createElement("div", { className: l.head }, a != null ? /* @__PURE__ */ e.createElement("span", { className: l.title }, a) : null, t != null ? /* @__PURE__ */ e.createElement("span", { className: l.xtra }, t) : null) : null, s != null ? /* @__PURE__ */ e.createElement("div", { className: l.desc }, s) : null, m != null ? /* @__PURE__ */ e.createElement("div", { className: l.footer }, m) : null, i), n != null ? /* @__PURE__ */ e.createElement("div", { className: l.aside }, n) : null);
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
z as I
|
|
41
|
+
};
|
package/dist/ItemColumn.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.
|
|
1
|
+
@layer elcrm-components{.lcr{display:flex;align-items:flex-start;gap:var(--item-column-gap);min-width:0;width:100%;text-align:left}.lci{flex-shrink:0;box-sizing:border-box;width:var(--item-column-icon-size);height:var(--item-column-icon-size);border-radius:var(--item-column-icon-radius);display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--shell-color-accent) 14%,transparent);color:var(--shell-color-accent)}.lcb{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--shell-gap-sm)}.lch{display:flex;align-items:center;gap:var(--shell-gap-sm);min-width:0}.lct{flex:1;min-width:0;margin:0;font-size:var(--item-column-title-size);font-weight:var(--shell-font-weight);color:var(--shell-color);line-height:var(--item-column-title-line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lcx{flex-shrink:0;display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--shell-gap-sm)}.lcd{margin:0;font-size:var(--shell-font-size-sm);font-weight:400;color:var(--shell-color);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lcf{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--shell-gap-sm);font-size:var(--item-column-meta-size);color:var(--shell-color-muted);line-height:1.35}.lcp{opacity:.5;-webkit-user-select:none;user-select:none}.lca{flex-shrink:0;display:inline-flex;align-items:flex-start}.lcs .lct{font-size:var(--shell-font-size-sm)}.lcs .lcd{font-size:var(--item-column-meta-size)}.lcl .lct{font-size:var(--shell-font-size-lg)}.lcl .lcd{font-size:var(--shell-font-size)}.lck .lct{font-weight:700}}
|
package/dist/ItemColumn.js
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import l from "react";
|
|
2
|
+
import { c as a } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Layout.css';const N = "slr", f = "slx", y = "slm", k = "sls", x = "slb", F = "sla", L = "slk", g = "slh", D = "slf", e = {
|
|
4
|
+
root: N,
|
|
5
|
+
xshell: f,
|
|
6
|
+
main: y,
|
|
7
|
+
sidebar: k,
|
|
8
|
+
body: x,
|
|
9
|
+
aside: F,
|
|
10
|
+
kept: L,
|
|
11
|
+
header: g,
|
|
12
|
+
footer: D
|
|
13
|
+
}, E = ["header", "footer", "sidebar"];
|
|
14
|
+
function c(t, n) {
|
|
15
|
+
return (t ?? E).includes(n);
|
|
16
|
+
}
|
|
17
|
+
function I({
|
|
18
|
+
sidebar: t,
|
|
19
|
+
header: n,
|
|
20
|
+
footer: s,
|
|
21
|
+
fixed: o,
|
|
22
|
+
children: b,
|
|
23
|
+
className: r,
|
|
24
|
+
...i
|
|
25
|
+
}) {
|
|
26
|
+
const m = n != null && c(o, "header"), d = s != null && c(o, "footer"), h = t != null && c(o, "sidebar"), u = (o ?? E).length > 0, v = /* @__PURE__ */ l.createElement("main", { className: e.main }, n != null && !m ? n : null, b, s != null && !d ? s : null), p = /* @__PURE__ */ l.createElement(l.Fragment, null, m ? /* @__PURE__ */ l.createElement("div", { className: e.header }, n) : null, v, d ? /* @__PURE__ */ l.createElement("div", { className: e.footer }, s) : null);
|
|
27
|
+
return t != null ? /* @__PURE__ */ l.createElement("div", { className: a(e.root, e.sidebar, u && e.xshell, r), ...i }, /* @__PURE__ */ l.createElement("div", { className: a(e.aside, h && e.kept) }, t), /* @__PURE__ */ l.createElement("div", { className: e.body }, p)) : /* @__PURE__ */ l.createElement("div", { className: a(e.root, u && e.xshell, r), ...i }, p);
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
I as L
|
|
31
|
+
};
|
package/dist/Layout.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer elcrm-components{.
|
|
1
|
+
@layer elcrm-components{.slr{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;box-sizing:border-box;background:var(--shell-background-muted);margin:var(--layout-margin);padding:var(--layout-padding);max-width:var(--layout-max-width);gap:0}.slx{height:var(--layout-height);max-height:var(--layout-height);overflow:hidden}.slm{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain}.slr:not(.slx){height:auto;max-height:none;overflow:visible}.slr:not(.slx) .slm{overflow:visible;flex:0 1 auto;min-height:auto}.sls{flex-direction:row;align-items:stretch;gap:var(--layout-gap)}.slb{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:var(--layout-main-background);border-radius:var(--layout-main-radius);box-shadow:var(--layout-main-shadow);border:var(--layout-main-border)}.slr:not(.slx) .slb{overflow:visible}.sla{display:flex;flex-direction:column;flex:0 0 var(--sidebar-width);width:var(--sidebar-width);min-width:0;min-height:0;align-self:stretch}.slk{overflow:hidden}.sla:not(.slk){overflow:auto}.sla>*{flex:1 1 auto;min-height:0;width:100%;height:100%;max-height:100%}@media (max-width: 900px){.sla{flex-basis:72px;width:72px}}.slh,.slf{flex:0 0 auto;min-width:0}}
|
package/dist/Layout.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type LayoutFixedSlot = "header" | "footer" | "sidebar";
|
|
|
18
18
|
* ```tsx
|
|
19
19
|
* <Layout
|
|
20
20
|
* fixed={["header", "footer", "sidebar"]}
|
|
21
|
-
* sidebar={<Sidebar groups={groups} value={page}
|
|
21
|
+
* sidebar={<Sidebar groups={groups} value={page} onValueChange={setPage} />}
|
|
22
22
|
* header={<Header brand="App" />}
|
|
23
23
|
* footer={<Footer>© elCRM</Footer>}
|
|
24
24
|
* >
|
package/dist/Layout.js
CHANGED