@elcrm/components 0.0.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/LICENSE +21 -0
- package/README.md +352 -0
- package/dist/Avatar-DHNPaIjZ.js +64 -0
- package/dist/Avatar.css +1 -0
- package/dist/Avatar.d.ts +2 -0
- package/dist/Avatar.js +5 -0
- package/dist/Badge-l6nUkl-H.js +22 -0
- package/dist/Badge.css +1 -0
- package/dist/Badge.d.ts +2 -0
- package/dist/Badge.js +4 -0
- package/dist/Block-CVKukh1e.js +28 -0
- package/dist/Block.css +1 -0
- package/dist/Block.d.ts +2 -0
- package/dist/Block.js +4 -0
- package/dist/Brand-Zq-Idks4.js +34 -0
- package/dist/Brand.css +1 -0
- package/dist/Brand.d.ts +2 -0
- package/dist/Brand.js +4 -0
- package/dist/Card-hn37Opo3.js +12 -0
- package/dist/Card.css +1 -0
- package/dist/Card.d.ts +2 -0
- package/dist/Card.js +4 -0
- package/dist/Column-DlNrvFq1.js +26 -0
- package/dist/Column.css +1 -0
- package/dist/Column.d.ts +2 -0
- package/dist/Column.js +4 -0
- package/dist/EmptyState-mBiWtMIM.js +23 -0
- package/dist/EmptyState.css +1 -0
- package/dist/EmptyState.d.ts +2 -0
- package/dist/EmptyState.js +4 -0
- package/dist/Footer-qxUlnPR9.js +11 -0
- package/dist/Footer.css +1 -0
- package/dist/Footer.d.ts +2 -0
- package/dist/Footer.js +4 -0
- package/dist/Header-Cf28eyjW.js +23 -0
- package/dist/Header.css +1 -0
- package/dist/Header.d.ts +2 -0
- package/dist/Header.js +4 -0
- package/dist/Item-CaU4RW2G.js +38 -0
- package/dist/Item.css +1 -0
- package/dist/Item.d.ts +2 -0
- package/dist/Item.js +4 -0
- package/dist/Layout-Xb3-xsmA.js +18 -0
- package/dist/Layout.css +1 -0
- package/dist/Layout.d.ts +2 -0
- package/dist/Layout.js +4 -0
- package/dist/List-BgKkYaGO.js +12 -0
- package/dist/List.css +1 -0
- package/dist/List.d.ts +2 -0
- package/dist/List.js +4 -0
- package/dist/Loading-ChGq9peU.js +15 -0
- package/dist/Loading.css +1 -0
- package/dist/Loading.d.ts +2 -0
- package/dist/Loading.js +4 -0
- package/dist/Menu-DS7zKQbY.js +40 -0
- package/dist/Menu.css +1 -0
- package/dist/Menu.d.ts +2 -0
- package/dist/Menu.js +4 -0
- package/dist/NavSections-CM-VPai2.js +59 -0
- package/dist/NavSections.css +1 -0
- package/dist/NavSections.d.ts +2 -0
- package/dist/NavSections.js +4 -0
- package/dist/Row-CnD7Q7pD.js +20 -0
- package/dist/Row.css +1 -0
- package/dist/Row.d.ts +2 -0
- package/dist/Row.js +4 -0
- package/dist/Section-Crxk2J-E.js +34 -0
- package/dist/Section.css +1 -0
- package/dist/Section.d.ts +2 -0
- package/dist/Section.js +4 -0
- package/dist/TabSections-oeEBx0nM.js +50 -0
- package/dist/TabSections.css +1 -0
- package/dist/TabSections.d.ts +2 -0
- package/dist/TabSections.js +4 -0
- package/dist/cx-CcykAxZN.js +6 -0
- package/dist/cx.d.ts +2 -0
- package/dist/index.css +35 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.es.js +47 -0
- package/dist/lazyRoute.d.ts +10 -0
- package/dist/stackGap-CDsjER0g.js +7 -0
- package/dist/stackGap.d.ts +3 -0
- package/package.json +95 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { c } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Footer.css';const s = "cfr", a = {
|
|
4
|
+
r: s
|
|
5
|
+
};
|
|
6
|
+
function f({ children: r, className: o, ...t }) {
|
|
7
|
+
return /* @__PURE__ */ e.createElement("footer", { className: c(a.r, o), ...t }, r);
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
f as F
|
|
11
|
+
};
|
package/dist/Footer.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cfr{padding:var(--footer-padding);color:var(--footer-color);background:var(--footer-background);border-top:1px solid var(--footer-border);font-size:var(--footer-font-size)}}
|
package/dist/Footer.d.ts
ADDED
package/dist/Footer.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { c as o } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Header.css';const u = "chr", i = "chb", d = "chn", h = "chs", E = "cha", l = {
|
|
4
|
+
r: u,
|
|
5
|
+
b: i,
|
|
6
|
+
n: d,
|
|
7
|
+
s: h,
|
|
8
|
+
a: E
|
|
9
|
+
};
|
|
10
|
+
function f({
|
|
11
|
+
brand: c,
|
|
12
|
+
nav: n,
|
|
13
|
+
search: s,
|
|
14
|
+
actions: t,
|
|
15
|
+
children: a,
|
|
16
|
+
className: r,
|
|
17
|
+
...m
|
|
18
|
+
}) {
|
|
19
|
+
return /* @__PURE__ */ e.createElement("header", { className: o(l.r, r), ...m }, c != null ? /* @__PURE__ */ e.createElement("div", { className: l.b }, c) : null, n != null ? /* @__PURE__ */ e.createElement("div", { className: l.n }, n) : null, s != null ? /* @__PURE__ */ e.createElement("div", { className: l.s }, s) : null, t != null ? /* @__PURE__ */ e.createElement("div", { className: l.a }, t) : null, a);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
f as H
|
|
23
|
+
};
|
package/dist/Header.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.chr{display:flex;align-items:center;gap:var(--header-gap);min-height:var(--header-height);padding:var(--header-padding);color:var(--header-color);background:var(--header-background);border-bottom:1px solid var(--header-border);border-radius:var(--header-radius);box-shadow:var(--header-shadow);margin:var(--header-margin);position:sticky;top:0;z-index:var(--header-z)}.chb{flex-shrink:0}.chn{display:flex;align-items:center;min-width:0}.chs{flex:1;min-width:0;margin-left:auto;max-width:18rem}.cha{display:flex;align-items:center;gap:.5rem;flex-shrink:0}}
|
package/dist/Header.d.ts
ADDED
package/dist/Header.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import r from "react";
|
|
2
|
+
import { c as m } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Item.css';const l = "cir", u = "cia", i = {
|
|
4
|
+
r: l,
|
|
5
|
+
a: u
|
|
6
|
+
};
|
|
7
|
+
function f(n) {
|
|
8
|
+
const { active: t, children: e, className: o, as: s = "button", ...a } = n, c = m(i.r, t && i.a, o);
|
|
9
|
+
return s === "a" ? /* @__PURE__ */ r.createElement(
|
|
10
|
+
"a",
|
|
11
|
+
{
|
|
12
|
+
className: c,
|
|
13
|
+
"data-active": t ? "true" : void 0,
|
|
14
|
+
...a
|
|
15
|
+
},
|
|
16
|
+
e
|
|
17
|
+
) : s === "li" ? /* @__PURE__ */ r.createElement(
|
|
18
|
+
"li",
|
|
19
|
+
{
|
|
20
|
+
className: c,
|
|
21
|
+
"data-active": t ? "true" : void 0,
|
|
22
|
+
...a
|
|
23
|
+
},
|
|
24
|
+
e
|
|
25
|
+
) : /* @__PURE__ */ r.createElement(
|
|
26
|
+
"button",
|
|
27
|
+
{
|
|
28
|
+
type: "button",
|
|
29
|
+
className: c,
|
|
30
|
+
"data-active": t ? "true" : void 0,
|
|
31
|
+
...a
|
|
32
|
+
},
|
|
33
|
+
e
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
f as I
|
|
38
|
+
};
|
package/dist/Item.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cir{display:flex;align-items:center;gap:var(--item-gap);padding:var(--item-padding);color:var(--item-color);background:var(--item-background);border:1px solid var(--item-border);border-radius:var(--item-radius);cursor:default}.cir:is(button,a){-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;width:100%;cursor:pointer}.cir:hover{background:var(--item-background-hover)}.cia,.cir[aria-current=true],.cir[data-active=true]{background:var(--item-background-active)}}
|
package/dist/Item.d.ts
ADDED
package/dist/Item.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import t from "react";
|
|
2
|
+
import { c as s } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Layout.css';const n = "clr", l = "clm", c = {
|
|
4
|
+
r: n,
|
|
5
|
+
m: l
|
|
6
|
+
};
|
|
7
|
+
function p({
|
|
8
|
+
header: e,
|
|
9
|
+
footer: m,
|
|
10
|
+
children: r,
|
|
11
|
+
className: a,
|
|
12
|
+
...o
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ t.createElement("div", { className: s(c.r, a), ...o }, e, /* @__PURE__ */ t.createElement("main", { className: c.m }, r), m);
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
p as L
|
|
18
|
+
};
|
package/dist/Layout.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.clr{display:flex;flex-direction:column;min-height:var(--layout-min-height);background:var(--layout-background);gap:var(--layout-gap)}.clm{flex:1;min-width:0}}
|
package/dist/Layout.d.ts
ADDED
package/dist/Layout.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { c as n } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './List.css';const a = "csr", m = "csh", r = {
|
|
4
|
+
r: a,
|
|
5
|
+
h: m
|
|
6
|
+
};
|
|
7
|
+
function f({ row: t, children: c, className: s, ...o }) {
|
|
8
|
+
return /* @__PURE__ */ e.createElement("ul", { className: n(r.r, t && r.h, s), ...o }, c);
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
f as L
|
|
12
|
+
};
|
package/dist/List.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.csr{display:flex;flex-direction:column;gap:var(--list-gap);padding:var(--list-padding);margin:0;list-style:none}.csh{flex-direction:row;flex-wrap:wrap}}
|
package/dist/List.d.ts
ADDED
package/dist/List.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import c from "react";
|
|
2
|
+
import { c as e } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Loading.css';const s = "cgr", a = {
|
|
4
|
+
r: s
|
|
5
|
+
};
|
|
6
|
+
function i({
|
|
7
|
+
children: r = "Загрузка…",
|
|
8
|
+
className: t,
|
|
9
|
+
...o
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ c.createElement("div", { className: e(a.r, t), role: "status", ...o }, r);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
i as L
|
|
15
|
+
};
|
package/dist/Loading.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cgr{display:flex;align-items:center;justify-content:center;padding:var(--loading-padding);color:var(--loading-color)}}
|
package/dist/Loading.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import u from "react";
|
|
2
|
+
import { c as v } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Menu.css';const b = "cmr", e = "cmv", y = "cmi", f = "cma", c = {
|
|
4
|
+
r: b,
|
|
5
|
+
v: e,
|
|
6
|
+
i: y,
|
|
7
|
+
a: f
|
|
8
|
+
};
|
|
9
|
+
function C({
|
|
10
|
+
items: r,
|
|
11
|
+
vertical: l,
|
|
12
|
+
activeKey: s,
|
|
13
|
+
onSelect: n,
|
|
14
|
+
children: d,
|
|
15
|
+
className: k,
|
|
16
|
+
...p
|
|
17
|
+
}) {
|
|
18
|
+
return /* @__PURE__ */ u.createElement("nav", { className: v(c.r, l && c.v, k), ...p }, r == null ? void 0 : r.map((a) => {
|
|
19
|
+
const o = a.active ?? (s != null && a.key === s);
|
|
20
|
+
return /* @__PURE__ */ u.createElement(
|
|
21
|
+
"button",
|
|
22
|
+
{
|
|
23
|
+
key: a.key,
|
|
24
|
+
type: "button",
|
|
25
|
+
className: v(c.i, o && c.a),
|
|
26
|
+
"data-active": o ? "true" : void 0,
|
|
27
|
+
"aria-current": o ? "page" : void 0,
|
|
28
|
+
disabled: a.disabled,
|
|
29
|
+
onClick: () => {
|
|
30
|
+
var t;
|
|
31
|
+
(t = a.onClick) == null || t.call(a), n == null || n(a.key);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
a.label
|
|
35
|
+
);
|
|
36
|
+
}), d);
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
C as M
|
|
40
|
+
};
|
package/dist/Menu.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cmr{display:flex;align-items:center;gap:var(--menu-gap);margin:0;padding:0;list-style:none}.cmv{flex-direction:column;align-items:stretch}.cmi{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--menu-item-background);color:var(--menu-item-color);padding:var(--menu-item-padding);border-radius:var(--menu-item-radius);font:inherit;cursor:pointer;text-align:left}.cmi:hover{background:var(--menu-item-background-hover);color:var(--menu-item-color-active)}.cma,.cmi[aria-current=page],.cmi[data-active=true]{background:var(--menu-item-background-active);color:var(--menu-item-color-active)}}
|
package/dist/Menu.d.ts
ADDED
package/dist/Menu.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import e, { useMemo as S, useState as x, Suspense as I } from "react";
|
|
2
|
+
import { c as d } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './NavSections.css';const M = "cvr", R = "cvn", j = "cvg", q = "cvl", w = "cvi", z = "cva", A = "cvc", B = "cvt", D = "cvf", F = "cvm", t = {
|
|
4
|
+
r: M,
|
|
5
|
+
n: R,
|
|
6
|
+
g: j,
|
|
7
|
+
l: q,
|
|
8
|
+
i: w,
|
|
9
|
+
a: z,
|
|
10
|
+
c: A,
|
|
11
|
+
t: B,
|
|
12
|
+
f: D,
|
|
13
|
+
m: F
|
|
14
|
+
};
|
|
15
|
+
function G(l) {
|
|
16
|
+
for (const r of l) {
|
|
17
|
+
const n = r.items.find((s) => !s.disabled);
|
|
18
|
+
if (n) return n.key;
|
|
19
|
+
}
|
|
20
|
+
return "";
|
|
21
|
+
}
|
|
22
|
+
function L({
|
|
23
|
+
groups: l,
|
|
24
|
+
resolveSection: r,
|
|
25
|
+
activeKey: n,
|
|
26
|
+
defaultActiveKey: s,
|
|
27
|
+
onChange: i,
|
|
28
|
+
loading: f = null,
|
|
29
|
+
footer: v,
|
|
30
|
+
className: b,
|
|
31
|
+
navLabel: E = "Разделы"
|
|
32
|
+
}) {
|
|
33
|
+
const N = S(
|
|
34
|
+
() => s || G(l),
|
|
35
|
+
[s, l]
|
|
36
|
+
), [y, k] = x(N), m = n ?? y, p = (a) => {
|
|
37
|
+
n == null && k(a), i == null || i(a);
|
|
38
|
+
}, u = m ? r(m) : null;
|
|
39
|
+
return /* @__PURE__ */ e.createElement("div", { className: d(t.r, b) }, /* @__PURE__ */ e.createElement("nav", { className: t.n, "aria-label": E }, l.map((a, K) => /* @__PURE__ */ e.createElement("div", { key: K, className: t.g }, a.label != null ? /* @__PURE__ */ e.createElement("div", { className: t.l }, a.label) : null, a.items.map((c) => {
|
|
40
|
+
const o = c.key === m;
|
|
41
|
+
return /* @__PURE__ */ e.createElement(
|
|
42
|
+
"button",
|
|
43
|
+
{
|
|
44
|
+
key: c.key,
|
|
45
|
+
type: "button",
|
|
46
|
+
className: d(t.i, o && t.a),
|
|
47
|
+
"data-active": o ? "true" : void 0,
|
|
48
|
+
"aria-current": o ? "page" : void 0,
|
|
49
|
+
disabled: c.disabled,
|
|
50
|
+
onClick: () => p(c.key)
|
|
51
|
+
},
|
|
52
|
+
c.icon != null ? /* @__PURE__ */ e.createElement("span", { className: t.c, "aria-hidden": !0 }, c.icon) : null,
|
|
53
|
+
/* @__PURE__ */ e.createElement("span", { className: t.t }, c.label)
|
|
54
|
+
);
|
|
55
|
+
}))), v != null ? /* @__PURE__ */ e.createElement("div", { className: t.f }, v) : null), /* @__PURE__ */ e.createElement("div", { className: t.m }, u ? /* @__PURE__ */ e.createElement(I, { fallback: f }, e.createElement(u)) : null));
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
L as N
|
|
59
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cvr{display:flex;align-items:stretch;gap:var(--nav-sections-gap);width:100%;flex:1 1 auto;min-height:0;box-sizing:border-box;padding:var(--nav-sections-padding)}.cvn{display:flex;flex-direction:column;gap:1rem;flex:0 0 var(--nav-sections-nav-width);width:var(--nav-sections-nav-width);min-width:var(--nav-sections-nav-width);box-sizing:border-box}.cvg{display:flex;flex-direction:column;gap:2px;padding-bottom:.75rem;border-bottom:1px solid var(--nav-sections-group-border)}.cvg:last-of-type{border-bottom:none;padding-bottom:0}.cvl{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--nav-sections-label-color);padding:0 10px 6px}.cvi{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;border-radius:var(--nav-sections-item-radius);background:transparent;color:var(--nav-sections-item-color);font:inherit;font-size:14px;padding:var(--nav-sections-item-padding);cursor:pointer;position:relative;transition:background .12s ease,color .12s ease}.cvi:hover:not(:disabled){background:var(--nav-sections-item-background-hover)}.cva{background:var(--nav-sections-item-background-active)}.cva:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--nav-sections-accent)}.cvi:disabled{opacity:.45;cursor:not-allowed}.cvc{display:inline-flex;flex:0 0 auto;color:var(--nav-sections-icon-color);line-height:0}.cva .cvc{color:var(--nav-sections-item-color)}.cvt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvf{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--nav-sections-footer-border)}.cvm{flex:1 1 auto;min-width:0;max-width:var(--nav-sections-main-max-width);width:100%;min-height:0;overflow:auto;--section-padding: 0}@media (max-width: 720px){.cvr{flex-direction:column}.cvn{flex:none;width:100%;min-width:0;max-width:none}}}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { c as a } from "./cx-CcykAxZN.js";
|
|
3
|
+
import { s as m } from "./stackGap-CDsjER0g.js";
|
|
4
|
+
import './Row.css';const n = "cwr", i = {
|
|
5
|
+
r: n
|
|
6
|
+
};
|
|
7
|
+
function R({ gap: r, children: t, className: o, style: s, ...c }) {
|
|
8
|
+
return /* @__PURE__ */ e.createElement(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: a(i.r, o),
|
|
12
|
+
style: { ...m(r), ...s },
|
|
13
|
+
...c
|
|
14
|
+
},
|
|
15
|
+
t
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
R
|
|
20
|
+
};
|
package/dist/Row.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cwr{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--row-gap)}}
|
package/dist/Row.d.ts
ADDED
package/dist/Row.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import c from "react";
|
|
2
|
+
import { c as t } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './Section.css';const f = "cep", v = "ceu", S = "cek", x = "ceh", A = "cec", T = "cei", z = "cet", B = "ced", F = "cee", H = "ceb", R = "ces", $ = "cel", e = {
|
|
4
|
+
p: f,
|
|
5
|
+
u: v,
|
|
6
|
+
k: S,
|
|
7
|
+
h: x,
|
|
8
|
+
c: A,
|
|
9
|
+
i: T,
|
|
10
|
+
t: z,
|
|
11
|
+
d: B,
|
|
12
|
+
e: F,
|
|
13
|
+
b: H,
|
|
14
|
+
s: R,
|
|
15
|
+
l: $
|
|
16
|
+
};
|
|
17
|
+
function w({
|
|
18
|
+
title: n,
|
|
19
|
+
description: s,
|
|
20
|
+
icon: a,
|
|
21
|
+
children: o,
|
|
22
|
+
actions: r,
|
|
23
|
+
variant: u = "page",
|
|
24
|
+
align: h,
|
|
25
|
+
titleSize: N = "lg",
|
|
26
|
+
className: d,
|
|
27
|
+
as: g
|
|
28
|
+
}) {
|
|
29
|
+
const m = u === "auth", l = u === "block", p = h ?? (m ? "center" : "start"), i = g ?? (m || l ? "section" : "main"), k = l ? "h2" : "h1", b = N ?? (l ? "md" : "lg"), E = /* @__PURE__ */ c.createElement(c.Fragment, null, (a != null || n != null || s != null) && /* @__PURE__ */ c.createElement("header", { className: t(e.h, p === "center" && e.c) }, a != null ? /* @__PURE__ */ c.createElement("div", { className: e.i }, a) : null, n != null ? /* @__PURE__ */ c.createElement(k, { className: t(e.t, b === "md" && e.d) }, n) : null, s != null ? /* @__PURE__ */ c.createElement("p", { className: e.e }, s) : null), o != null ? /* @__PURE__ */ c.createElement("div", { className: e.b }, o) : null, r != null ? /* @__PURE__ */ c.createElement("div", { className: e.s }, r) : null);
|
|
30
|
+
return m ? /* @__PURE__ */ c.createElement("div", { className: t(e.u, d) }, /* @__PURE__ */ c.createElement(i, { className: e.k }, E)) : /* @__PURE__ */ c.createElement(i, { className: t(l ? e.l : e.p, d) }, E);
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
w as S
|
|
34
|
+
};
|
package/dist/Section.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.cep{display:flex;flex-direction:column;gap:var(--section-gap);padding:var(--section-padding);flex:1;min-width:0}.ceu{box-sizing:border-box;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:var(--section-auth-padding)}.cek{box-sizing:border-box;width:100%;max-width:var(--section-auth-card-max-width);padding:var(--section-auth-card-padding);background:var(--section-auth-card-background);border:1px solid var(--section-auth-card-border);border-radius:var(--section-auth-card-radius);box-shadow:var(--section-auth-card-shadow);display:flex;flex-direction:column;gap:var(--section-gap)}.ceh{display:flex;flex-direction:column;gap:.35rem}.cec{text-align:center;align-items:center}.cei{display:flex;margin-bottom:var(--section-icon-gap)}.cec .cei{justify-content:center}.cet{margin:0;font-size:var(--section-title-size);font-weight:600;letter-spacing:-.02em;color:var(--section-title-color);line-height:1.25}.ced{font-size:var(--section-title-size-md)}.cee{margin:0;font-size:var(--section-description-size);color:var(--section-description-color);line-height:1.45}.ceb{display:flex;flex-direction:column;gap:var(--section-body-gap);width:100%;text-align:left}.ces{display:flex;flex-direction:column;gap:var(--section-actions-gap);width:100%}.cel{display:flex;flex-direction:column;gap:var(--section-gap);margin-bottom:var(--section-block-margin-bottom);padding-bottom:var(--section-block-padding-bottom);border-bottom:1px solid var(--section-block-border)}.cel:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.cel .cet{font-size:.95rem;font-weight:600}}
|
package/dist/Section.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import t, { useMemo as f, useState as S, Suspense as x } from "react";
|
|
2
|
+
import { c as b } from "./cx-CcykAxZN.js";
|
|
3
|
+
import './TabSections.css';const K = "ctr", T = "ctb", I = "ctn", M = "ctt", R = "cta", $ = "cte", g = "cts", j = "ctm", a = {
|
|
4
|
+
r: K,
|
|
5
|
+
b: T,
|
|
6
|
+
n: I,
|
|
7
|
+
t: M,
|
|
8
|
+
a: R,
|
|
9
|
+
e: $,
|
|
10
|
+
s: g,
|
|
11
|
+
m: j
|
|
12
|
+
};
|
|
13
|
+
function z({
|
|
14
|
+
items: n,
|
|
15
|
+
resolveSection: d,
|
|
16
|
+
activeKey: o,
|
|
17
|
+
defaultActiveKey: l,
|
|
18
|
+
onChange: s,
|
|
19
|
+
loading: i = null,
|
|
20
|
+
actions: m,
|
|
21
|
+
className: E,
|
|
22
|
+
navLabel: v = "Вкладки"
|
|
23
|
+
}) {
|
|
24
|
+
const k = f(() => {
|
|
25
|
+
var e;
|
|
26
|
+
return l || (((e = n.find((c) => !c.disabled)) == null ? void 0 : e.key) ?? "");
|
|
27
|
+
}, [l, n]), [p, y] = S(k), r = o ?? p, N = (e) => {
|
|
28
|
+
o == null && y(e), s == null || s(e);
|
|
29
|
+
}, u = r ? d(r) : null;
|
|
30
|
+
return /* @__PURE__ */ t.createElement("div", { className: b(a.r, E) }, /* @__PURE__ */ t.createElement("div", { className: a.b }, /* @__PURE__ */ t.createElement("nav", { className: a.n, "aria-label": v }, n.map((e) => {
|
|
31
|
+
const c = e.key === r;
|
|
32
|
+
return /* @__PURE__ */ t.createElement(
|
|
33
|
+
"button",
|
|
34
|
+
{
|
|
35
|
+
key: e.key,
|
|
36
|
+
type: "button",
|
|
37
|
+
className: b(a.t, c && a.a),
|
|
38
|
+
"data-active": c ? "true" : void 0,
|
|
39
|
+
"aria-current": c ? "page" : void 0,
|
|
40
|
+
disabled: e.disabled,
|
|
41
|
+
onClick: () => N(e.key)
|
|
42
|
+
},
|
|
43
|
+
/* @__PURE__ */ t.createElement("span", null, e.label),
|
|
44
|
+
e.badge != null && e.badge !== "" ? /* @__PURE__ */ t.createElement("em", { className: a.e }, e.badge) : null
|
|
45
|
+
);
|
|
46
|
+
})), m != null ? /* @__PURE__ */ t.createElement("div", { className: a.s }, m) : null), /* @__PURE__ */ t.createElement("div", { className: a.m }, u ? /* @__PURE__ */ t.createElement(x, { fallback: i }, t.createElement(u)) : null));
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
z as T
|
|
50
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer elcrm-components{.ctr{display:flex;flex-direction:column;gap:var(--tab-sections-gap);width:100%;min-width:0}.ctb{display:flex;align-items:flex-end;gap:1rem;border-bottom:1px solid var(--tab-sections-border);min-width:0}.ctn{display:flex;align-items:stretch;gap:var(--tab-sections-tab-gap);flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.ctt{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;margin:0 0 -1px;padding:var(--tab-sections-tab-padding);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--tab-sections-color);font:inherit;font-size:.95rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .12s ease,border-color .12s ease}.ctt:hover:not(:disabled){color:var(--tab-sections-color-active)}.cta{color:var(--tab-sections-color-active);border-bottom-color:var(--tab-sections-accent)}.ctt:disabled{opacity:.45;cursor:not-allowed}.cte{display:inline-flex;align-items:center;justify-content:center;min-width:1.15em;height:1.15em;padding:0 .35em;border-radius:999px;background:var(--tab-sections-badge-background);color:var(--tab-sections-badge-color);font-size:var(--tab-sections-badge-size);font-style:normal;font-weight:700;line-height:1}.cts{flex:0 0 auto;display:flex;align-items:center;padding-bottom:.35rem}.ctm{min-width:0;width:100%}}
|
package/dist/cx.d.ts
ADDED
package/dist/index.css
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@layer elcrm-components{.car{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:var(--avatar-radius);border:var(--avatar-border);background:var(--avatar-background);color:var(--avatar-color);font-weight:var(--avatar-font-weight);line-height:1;-webkit-user-select:none;user-select:none;vertical-align:middle}.car:is(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;font:inherit;font-weight:var(--avatar-font-weight);cursor:pointer}.cas{width:var(--avatar-size-s);height:var(--avatar-size-s);font-size:var(--avatar-font-size-s)}.cam{width:var(--avatar-size-m);height:var(--avatar-size-m);font-size:var(--avatar-font-size-m)}.cal{width:var(--avatar-size-l);height:var(--avatar-size-l);font-size:var(--avatar-font-size-l)}.caa,.car[data-active=true]{outline:var(--avatar-outline-active);outline-offset:var(--avatar-outline-offset)}.cai{width:100%;height:100%;object-fit:cover;display:block}}
|
|
2
|
+
|
|
3
|
+
@layer elcrm-components{.cjr{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:var(--badge-padding);border-radius:var(--badge-radius);border:var(--badge-border);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:1;white-space:nowrap}.cjn{background:var(--badge-neutral-background);color:var(--badge-neutral-color)}.cja{background:var(--badge-accent-background);color:var(--badge-accent-color)}.cju{background:var(--badge-success-background);color:var(--badge-success-color)}.cjw{background:var(--badge-warning-background);color:var(--badge-warning-color)}.cjd{background:var(--badge-danger-background);color:var(--badge-danger-color)}}
|
|
4
|
+
|
|
5
|
+
@layer elcrm-components{.cbr{display:flex;flex-direction:column;gap:var(--block-gap);padding:var(--block-padding)}.cbh{flex-direction:row;flex-wrap:wrap;align-items:center}}
|
|
6
|
+
|
|
7
|
+
@layer elcrm-components{.cnr{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;border:0;background:transparent;font:inherit;font-weight:var(--brand-font-weight);letter-spacing:var(--brand-letter-spacing);color:var(--brand-color);white-space:nowrap;cursor:pointer;text-decoration:none}.cnr:hover{color:var(--brand-color-hover)}}
|
|
8
|
+
|
|
9
|
+
@layer elcrm-components{.cdr{background:var(--card-background);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}.cdt{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}}
|
|
10
|
+
|
|
11
|
+
@layer elcrm-components{.cor{display:flex;flex-direction:column;gap:var(--column-gap)}}
|
|
12
|
+
|
|
13
|
+
@layer elcrm-components{.cpr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--empty-state-gap);padding:var(--empty-state-padding);text-align:center;color:var(--empty-state-color)}.cpi{display:flex;margin-bottom:var(--empty-state-icon-gap);color:var(--empty-state-icon-color)}.cpt{margin:0;font-size:var(--empty-state-title-size);font-weight:600;color:var(--empty-state-title-color);line-height:1.3}.cpd{margin:0;max-width:var(--empty-state-max-width);font-size:var(--empty-state-description-size);color:var(--empty-state-description-color);line-height:1.45}.cpa{display:flex;flex-wrap:wrap;gap:var(--empty-state-actions-gap);justify-content:center;margin-top:var(--empty-state-actions-margin-top)}}
|
|
14
|
+
|
|
15
|
+
@layer elcrm-components{.cfr{padding:var(--footer-padding);color:var(--footer-color);background:var(--footer-background);border-top:1px solid var(--footer-border);font-size:var(--footer-font-size)}}
|
|
16
|
+
|
|
17
|
+
@layer elcrm-components{.chr{display:flex;align-items:center;gap:var(--header-gap);min-height:var(--header-height);padding:var(--header-padding);color:var(--header-color);background:var(--header-background);border-bottom:1px solid var(--header-border);border-radius:var(--header-radius);box-shadow:var(--header-shadow);margin:var(--header-margin);position:sticky;top:0;z-index:var(--header-z)}.chb{flex-shrink:0}.chn{display:flex;align-items:center;min-width:0}.chs{flex:1;min-width:0;margin-left:auto;max-width:18rem}.cha{display:flex;align-items:center;gap:.5rem;flex-shrink:0}}
|
|
18
|
+
|
|
19
|
+
@layer elcrm-components{.cir{display:flex;align-items:center;gap:var(--item-gap);padding:var(--item-padding);color:var(--item-color);background:var(--item-background);border:1px solid var(--item-border);border-radius:var(--item-radius);cursor:default}.cir:is(button,a){-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;width:100%;cursor:pointer}.cir:hover{background:var(--item-background-hover)}.cia,.cir[aria-current=true],.cir[data-active=true]{background:var(--item-background-active)}}
|
|
20
|
+
|
|
21
|
+
@layer elcrm-components{.clr{display:flex;flex-direction:column;min-height:var(--layout-min-height);background:var(--layout-background);gap:var(--layout-gap)}.clm{flex:1;min-width:0}}
|
|
22
|
+
|
|
23
|
+
@layer elcrm-components{.csr{display:flex;flex-direction:column;gap:var(--list-gap);padding:var(--list-padding);margin:0;list-style:none}.csh{flex-direction:row;flex-wrap:wrap}}
|
|
24
|
+
|
|
25
|
+
@layer elcrm-components{.cgr{display:flex;align-items:center;justify-content:center;padding:var(--loading-padding);color:var(--loading-color)}}
|
|
26
|
+
|
|
27
|
+
@layer elcrm-components{.cmr{display:flex;align-items:center;gap:var(--menu-gap);margin:0;padding:0;list-style:none}.cmv{flex-direction:column;align-items:stretch}.cmi{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--menu-item-background);color:var(--menu-item-color);padding:var(--menu-item-padding);border-radius:var(--menu-item-radius);font:inherit;cursor:pointer;text-align:left}.cmi:hover{background:var(--menu-item-background-hover);color:var(--menu-item-color-active)}.cma,.cmi[aria-current=page],.cmi[data-active=true]{background:var(--menu-item-background-active);color:var(--menu-item-color-active)}}
|
|
28
|
+
|
|
29
|
+
@layer elcrm-components{.cvr{display:flex;align-items:stretch;gap:var(--nav-sections-gap);width:100%;flex:1 1 auto;min-height:0;box-sizing:border-box;padding:var(--nav-sections-padding)}.cvn{display:flex;flex-direction:column;gap:1rem;flex:0 0 var(--nav-sections-nav-width);width:var(--nav-sections-nav-width);min-width:var(--nav-sections-nav-width);box-sizing:border-box}.cvg{display:flex;flex-direction:column;gap:2px;padding-bottom:.75rem;border-bottom:1px solid var(--nav-sections-group-border)}.cvg:last-of-type{border-bottom:none;padding-bottom:0}.cvl{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--nav-sections-label-color);padding:0 10px 6px}.cvi{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;border-radius:var(--nav-sections-item-radius);background:transparent;color:var(--nav-sections-item-color);font:inherit;font-size:14px;padding:var(--nav-sections-item-padding);cursor:pointer;position:relative;transition:background .12s ease,color .12s ease}.cvi:hover:not(:disabled){background:var(--nav-sections-item-background-hover)}.cva{background:var(--nav-sections-item-background-active)}.cva:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--nav-sections-accent)}.cvi:disabled{opacity:.45;cursor:not-allowed}.cvc{display:inline-flex;flex:0 0 auto;color:var(--nav-sections-icon-color);line-height:0}.cva .cvc{color:var(--nav-sections-item-color)}.cvt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cvf{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--nav-sections-footer-border)}.cvm{flex:1 1 auto;min-width:0;max-width:var(--nav-sections-main-max-width);width:100%;min-height:0;overflow:auto;--section-padding: 0}@media (max-width: 720px){.cvr{flex-direction:column}.cvn{flex:none;width:100%;min-width:0;max-width:none}}}
|
|
30
|
+
|
|
31
|
+
@layer elcrm-components{.cwr{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--row-gap)}}
|
|
32
|
+
|
|
33
|
+
@layer elcrm-components{.cep{display:flex;flex-direction:column;gap:var(--section-gap);padding:var(--section-padding);flex:1;min-width:0}.ceu{box-sizing:border-box;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:var(--section-auth-padding)}.cek{box-sizing:border-box;width:100%;max-width:var(--section-auth-card-max-width);padding:var(--section-auth-card-padding);background:var(--section-auth-card-background);border:1px solid var(--section-auth-card-border);border-radius:var(--section-auth-card-radius);box-shadow:var(--section-auth-card-shadow);display:flex;flex-direction:column;gap:var(--section-gap)}.ceh{display:flex;flex-direction:column;gap:.35rem}.cec{text-align:center;align-items:center}.cei{display:flex;margin-bottom:var(--section-icon-gap)}.cec .cei{justify-content:center}.cet{margin:0;font-size:var(--section-title-size);font-weight:600;letter-spacing:-.02em;color:var(--section-title-color);line-height:1.25}.ced{font-size:var(--section-title-size-md)}.cee{margin:0;font-size:var(--section-description-size);color:var(--section-description-color);line-height:1.45}.ceb{display:flex;flex-direction:column;gap:var(--section-body-gap);width:100%;text-align:left}.ces{display:flex;flex-direction:column;gap:var(--section-actions-gap);width:100%}.cel{display:flex;flex-direction:column;gap:var(--section-gap);margin-bottom:var(--section-block-margin-bottom);padding-bottom:var(--section-block-padding-bottom);border-bottom:1px solid var(--section-block-border)}.cel:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.cel .cet{font-size:.95rem;font-weight:600}}
|
|
34
|
+
|
|
35
|
+
@layer elcrm-components{.ctr{display:flex;flex-direction:column;gap:var(--tab-sections-gap);width:100%;min-width:0}.ctb{display:flex;align-items:flex-end;gap:1rem;border-bottom:1px solid var(--tab-sections-border);min-width:0}.ctn{display:flex;align-items:stretch;gap:var(--tab-sections-tab-gap);flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.ctt{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;margin:0 0 -1px;padding:var(--tab-sections-tab-padding);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--tab-sections-color);font:inherit;font-size:.95rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .12s ease,border-color .12s ease}.ctt:hover:not(:disabled){color:var(--tab-sections-color-active)}.cta{color:var(--tab-sections-color-active);border-bottom-color:var(--tab-sections-accent)}.ctt:disabled{opacity:.45;cursor:not-allowed}.cte{display:inline-flex;align-items:center;justify-content:center;min-width:1.15em;height:1.15em;padding:0 .35em;border-radius:999px;background:var(--tab-sections-badge-background);color:var(--tab-sections-badge-color);font-size:var(--tab-sections-badge-size);font-style:normal;font-weight:700;line-height:1}.cts{flex:0 0 auto;display:flex;align-items:center;padding-bottom:.35rem}.ctm{min-width:0;width:100%}}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export { Layout } from './Layout';
|
|
2
|
+
export type { LayoutProps } from './Layout';
|
|
3
|
+
export { Header } from './Header';
|
|
4
|
+
export type { HeaderProps } from './Header';
|
|
5
|
+
export { Footer } from './Footer';
|
|
6
|
+
export type { FooterProps } from './Footer';
|
|
7
|
+
export { List } from './List';
|
|
8
|
+
export type { ListProps } from './List';
|
|
9
|
+
export { Item } from './Item';
|
|
10
|
+
export type { ItemProps } from './Item';
|
|
11
|
+
export { Card } from './Card';
|
|
12
|
+
export type { CardProps } from './Card';
|
|
13
|
+
export { Block } from './Block';
|
|
14
|
+
export type { BlockProps } from './Block';
|
|
15
|
+
export { Row } from './Row';
|
|
16
|
+
export type { RowProps } from './Row';
|
|
17
|
+
export { Column } from './Column';
|
|
18
|
+
export type { ColumnProps } from './Column';
|
|
19
|
+
export { Menu } from './Menu';
|
|
20
|
+
export type { MenuProps, MenuItem } from './Menu';
|
|
21
|
+
export { Loading } from './Loading';
|
|
22
|
+
export type { LoadingProps } from './Loading';
|
|
23
|
+
export { Section } from './Section';
|
|
24
|
+
export type { SectionProps } from './Section';
|
|
25
|
+
export { NavSections } from './NavSections';
|
|
26
|
+
export type { NavSectionsProps, NavSectionsGroup, NavSectionsItem, } from './NavSections';
|
|
27
|
+
export { TabSections } from './TabSections';
|
|
28
|
+
export type { TabSectionsProps, TabSectionsItem } from './TabSections';
|
|
29
|
+
export { Avatar, initialsFromName } from './Avatar';
|
|
30
|
+
export type { AvatarProps } from './Avatar';
|
|
31
|
+
export { Badge } from './Badge';
|
|
32
|
+
export type { BadgeProps } from './Badge';
|
|
33
|
+
export { Brand } from './Brand';
|
|
34
|
+
export type { BrandProps } from './Brand';
|
|
35
|
+
export { EmptyState } from './EmptyState';
|
|
36
|
+
export type { EmptyStateProps } from './EmptyState';
|
|
37
|
+
export { createLazyResolver } from './lazyRoute';
|
|
38
|
+
export type { LazyRouteChunk } from './lazyRoute';
|
|
39
|
+
export { cx } from './cx';
|