@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
package/dist/index.es.js
CHANGED
|
@@ -1,67 +1,91 @@
|
|
|
1
|
-
import { L as
|
|
1
|
+
import { L as x } from "./Layout-mi6Ghayv.js";
|
|
2
2
|
import { H as i } from "./Header-Cf28eyjW.js";
|
|
3
|
-
import { F as
|
|
4
|
-
import { L as
|
|
5
|
-
import { I as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { S as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
3
|
+
import { F as c } from "./Footer-qxUlnPR9.js";
|
|
4
|
+
import { L as u } from "./List-BgKkYaGO.js";
|
|
5
|
+
import { I as S } from "./Item-D4okhsfW.js";
|
|
6
|
+
import { I as v } from "./ItemColumn-M7a9L8CI.js";
|
|
7
|
+
import { C as y } from "./Card-hn37Opo3.js";
|
|
8
|
+
import { A as B } from "./ActionGroup-ChKFW0mt.js";
|
|
9
|
+
import { T as I } from "./TextGroup-DmhuyMR1.js";
|
|
10
|
+
import { S as R } from "./Stat-C5iZyEoo.js";
|
|
11
|
+
import { B as G } from "./Block-Bu7NEA0g.js";
|
|
12
|
+
import { R as g } from "./Row-DsQOVn18.js";
|
|
13
|
+
import { C as F } from "./Column-BiogBDf8.js";
|
|
14
|
+
import { S as H, s as M } from "./Stack-XkmPSswj.js";
|
|
15
|
+
import { M as Z } from "./Menu-DuXQv-zT.js";
|
|
16
|
+
import { D as z } from "./Dropdown-4yUB2tk1.js";
|
|
17
|
+
import { B as E } from "./Breadcrumb-CAM_e9LN.js";
|
|
18
|
+
import { L as j } from "./Loading-DkkG7RcE.js";
|
|
19
|
+
import { S as K } from "./Section-Crxk2J-E.js";
|
|
20
|
+
import { N as U } from "./NavSections-BpyZPimZ.js";
|
|
21
|
+
import { T as W } from "./TabSections-DN7yVJoF.js";
|
|
22
|
+
import { A as Y, a as _, i as $ } from "./Avatar-loGgFt72.js";
|
|
23
|
+
import { A as or } from "./AvatarGroup-D1gnT3Od.js";
|
|
24
|
+
import { A as er } from "./AvatarName-0BzyfpMq.js";
|
|
25
|
+
import { B as sr } from "./Badge-jp-9iNNL.js";
|
|
26
|
+
import { B as mr } from "./Brand-Zq-Idks4.js";
|
|
27
|
+
import { E as fr } from "./EmptyState-mBiWtMIM.js";
|
|
28
|
+
import { R as nr } from "./RadioGroup-fcXzhvMu.js";
|
|
29
|
+
import { P as lr } from "./PricingGroup-Czuhe81Z.js";
|
|
30
|
+
import { P as dr } from "./PricingTable-BuLC0opK.js";
|
|
31
|
+
import { P as Cr } from "./PageHead-DgaJ1mXY.js";
|
|
32
|
+
import { P as Pr } from "./PageShell-D9EZiO8o.js";
|
|
33
|
+
import { C as Ar, a as Br } from "./ChatSplit-DNnu3TNq.js";
|
|
34
|
+
import { C as Ir } from "./ChatFrame-BW2TmCkZ.js";
|
|
35
|
+
import { C as Rr } from "./ChatMessages-B8rdXiK-.js";
|
|
36
|
+
import { S as Gr } from "./Sidebar-CBYq1ad6.js";
|
|
37
|
+
import { P as gr, a as kr, p as Fr, r as Nr } from "./Popover-D0m5JWIt.js";
|
|
29
38
|
import { lazy as e } from "react";
|
|
30
|
-
import { c as
|
|
31
|
-
function
|
|
39
|
+
import { c as Mr } from "./cx-CcykAxZN.js";
|
|
40
|
+
function s(a) {
|
|
32
41
|
const o = {};
|
|
33
42
|
return (r) => (o[r] || (o[r] = e(() => a(r))), o[r]);
|
|
34
43
|
}
|
|
35
44
|
export {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
B as ActionGroup,
|
|
46
|
+
Y as Avatar,
|
|
47
|
+
or as AvatarGroup,
|
|
48
|
+
er as AvatarName,
|
|
49
|
+
sr as Badge,
|
|
50
|
+
G as Block,
|
|
51
|
+
mr as Brand,
|
|
52
|
+
E as Breadcrumb,
|
|
53
|
+
y as Card,
|
|
54
|
+
Ir as ChatFrame,
|
|
55
|
+
Ar as ChatList,
|
|
56
|
+
Rr as ChatMessages,
|
|
57
|
+
Br as ChatSplit,
|
|
58
|
+
F as Column,
|
|
59
|
+
z as Dropdown,
|
|
60
|
+
fr as EmptyState,
|
|
61
|
+
c as Footer,
|
|
48
62
|
i as Header,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
S as Item,
|
|
64
|
+
v as ItemColumn,
|
|
65
|
+
x as Layout,
|
|
66
|
+
u as List,
|
|
67
|
+
j as Loading,
|
|
68
|
+
Z as Menu,
|
|
69
|
+
U as NavSections,
|
|
70
|
+
Cr as PageHead,
|
|
71
|
+
Pr as PageShell,
|
|
72
|
+
gr as Popover,
|
|
73
|
+
lr as PricingGroup,
|
|
74
|
+
dr as PricingTable,
|
|
75
|
+
nr as RadioGroup,
|
|
76
|
+
g as Row,
|
|
77
|
+
K as Section,
|
|
78
|
+
Gr as Sidebar,
|
|
79
|
+
H as Stack,
|
|
80
|
+
R as Stat,
|
|
81
|
+
W as TabSections,
|
|
82
|
+
I as TextGroup,
|
|
83
|
+
kr as acquireOverlayZIndex,
|
|
84
|
+
_ as avatarRadiusStyle,
|
|
85
|
+
s as createLazyResolver,
|
|
86
|
+
Mr as cx,
|
|
87
|
+
$ as initialsFromName,
|
|
88
|
+
Fr as peekOverlayZIndex,
|
|
89
|
+
Nr as releaseOverlayZIndex,
|
|
90
|
+
M as stackColumnsTemplate
|
|
67
91
|
};
|
package/dist/light.css
CHANGED
|
@@ -13,13 +13,26 @@ body[data-theme="light"] {
|
|
|
13
13
|
--shell-border: var(--line);
|
|
14
14
|
--shell-background: var(--panel);
|
|
15
15
|
--shell-background-muted: var(--bg);
|
|
16
|
+
--shell-bg: var(--shell-background-muted);
|
|
16
17
|
--shell-background-hover: color-mix(in srgb, var(--text) 6%, transparent);
|
|
17
18
|
--shell-background-selected: color-mix(in srgb, var(--accent) 10%, transparent);
|
|
18
19
|
--shell-shadow: var(--shadow);
|
|
19
20
|
|
|
21
|
+
--sidebar-block-bg: var(--shell-background);
|
|
22
|
+
--sidebar-block-border: var(--shell-border);
|
|
23
|
+
--sidebar-block-shadow: none;
|
|
24
|
+
--sidebar-item-active: var(--shell-color);
|
|
25
|
+
--sidebar-item-active-bg: var(--shell-background-selected);
|
|
26
|
+
--sidebar-icon-active: var(--shell-color-accent);
|
|
27
|
+
|
|
20
28
|
--avatar-background: var(--shell-color-accent);
|
|
21
29
|
--avatar-color: var(--button-primary-fg);
|
|
30
|
+
--avatar-name-title-color: var(--shell-color);
|
|
31
|
+
--avatar-name-description-color: var(--shell-color-muted);
|
|
22
32
|
--avatar-border: 1px solid var(--shell-border);
|
|
23
33
|
--avatar-outline-active: 2px solid
|
|
24
34
|
color-mix(in srgb, var(--accent) 70%, white);
|
|
35
|
+
|
|
36
|
+
--chat-background: var(--shell-background);
|
|
37
|
+
--chat-border: 1px solid var(--shell-border);
|
|
25
38
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Счётчик z-index оверлеев — тот же `globalThis.elcrm.overlayZ`, что у `@elcrm/form`.
|
|
3
|
+
*/
|
|
4
|
+
/** Выделить z-index поверх текущего стека оверлеев */
|
|
5
|
+
export declare function acquireOverlayZIndex(): number;
|
|
6
|
+
/** Освободить слой; при пустом стеке сброс счётчика */
|
|
7
|
+
export declare function releaseOverlayZIndex(z: number): void;
|
|
8
|
+
/** Текущий верхний активный слой (или FLOOR, если стек пуст) */
|
|
9
|
+
export declare function peekOverlayZIndex(): number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function x(r, { values: n, value: f, onSelect: i, vertical: e }) {
|
|
2
|
+
if (n.length === 0) return;
|
|
3
|
+
const h = e ? "ArrowUp" : "ArrowLeft", o = e ? "ArrowDown" : "ArrowRight";
|
|
4
|
+
let t;
|
|
5
|
+
if (r.key === "Home") t = n[0];
|
|
6
|
+
else if (r.key === "End") t = n[n.length - 1];
|
|
7
|
+
else if (r.key === h || r.key === o) {
|
|
8
|
+
const g = Math.max(0, n.indexOf(f ?? "")), l = r.key === o ? 1 : -1;
|
|
9
|
+
t = n[(g + l + n.length) % n.length];
|
|
10
|
+
} else return;
|
|
11
|
+
t != null && (r.preventDefault(), i(t));
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
x as h
|
|
15
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { KeyboardEvent } from 'react';
|
|
2
|
+
type Opts = {
|
|
3
|
+
values: string[];
|
|
4
|
+
value?: string;
|
|
5
|
+
onSelect: (value: string) => void;
|
|
6
|
+
/** `true` — стрелки вверх/вниз, иначе влево/вправо */
|
|
7
|
+
vertical?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Перемещение выбора по списку `value` (меню, вкладки).
|
|
11
|
+
*/
|
|
12
|
+
export declare function handleRovingKeys(event: KeyboardEvent, { values, value, onSelect, vertical }: Opts): void;
|
|
13
|
+
export {};
|
package/dist/tokens.css
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Дефолты геометрии @elcrm/components для `elcrm css`.
|
|
3
|
-
* Цвета — light.css / dark.css. Не импортируй в runtime
|
|
3
|
+
* Цвета — light.css / dark.css. Не импортируй в runtime как themes.css.
|
|
4
|
+
*
|
|
5
|
+
* Слой 1: `--shell-*` (всё общее).
|
|
6
|
+
* Слой 2: узкие токены = алиас на shell, если значение то же.
|
|
7
|
+
* Переопределяй узкий токен только когда компонент реально отличается.
|
|
4
8
|
*/
|
|
5
9
|
:root {
|
|
6
10
|
/* —— shell —— */
|
|
@@ -20,23 +24,25 @@
|
|
|
20
24
|
--shell-status-size: 10px;
|
|
21
25
|
--shell-disabled-opacity: 0.55;
|
|
22
26
|
--shell-z: var(--elcrm-z-popover, 1000);
|
|
27
|
+
--layout-height: 100dvh;
|
|
23
28
|
|
|
24
|
-
/* ——
|
|
29
|
+
/* —— header —— */
|
|
25
30
|
--header-radius: var(--shell-radius);
|
|
26
31
|
--header-height: 52px;
|
|
27
32
|
--header-shadow: none;
|
|
28
33
|
--header-margin: 0;
|
|
29
34
|
--header-z: 20;
|
|
30
35
|
|
|
36
|
+
/* —— section / nav-sections —— */
|
|
31
37
|
--section-padding: 1.5rem 1.75rem 2.5rem;
|
|
32
38
|
--section-title-size: 1.5rem;
|
|
33
39
|
--section-title-size-md: 1.25rem;
|
|
34
40
|
--section-auth-card-max-width: 22rem;
|
|
35
|
-
|
|
36
|
-
--nav-sections-padding: 1.5rem 1.75rem 2.5rem;
|
|
41
|
+
--nav-sections-padding: var(--section-padding);
|
|
37
42
|
--nav-sections-nav-width: 220px;
|
|
38
43
|
--nav-sections-main-max-width: 720px;
|
|
39
44
|
|
|
45
|
+
/* —— avatar —— */
|
|
40
46
|
--avatar-size-s: 1.5rem;
|
|
41
47
|
--avatar-size-m: 2rem;
|
|
42
48
|
--avatar-size-l: 2.75rem;
|
|
@@ -49,9 +55,43 @@
|
|
|
49
55
|
--avatar-group-overlap: -0.4rem;
|
|
50
56
|
--avatar-group-ring: 2px;
|
|
51
57
|
|
|
58
|
+
/* —— overlay / pricing / stack —— */
|
|
52
59
|
--dropdown-min-width: 12rem;
|
|
53
60
|
--dropdown-max-width: 20rem;
|
|
54
61
|
--dropdown-max-height: 20rem;
|
|
55
62
|
--pricing-card-min-width: 16rem;
|
|
56
63
|
--pricing-table-label-width: 10rem;
|
|
64
|
+
--card-pointer: auto;
|
|
65
|
+
--stack-grid-min: 180px;
|
|
66
|
+
--stack-columns-template: minmax(0, 1fr);
|
|
67
|
+
--stat-value-size: 1.75rem;
|
|
68
|
+
--action-group-gap: var(--shell-gap-sm);
|
|
69
|
+
|
|
70
|
+
/* —— item-column —— */
|
|
71
|
+
--item-column-gap: var(--shell-gap);
|
|
72
|
+
--item-column-icon-size: 40px;
|
|
73
|
+
--item-column-icon-radius: var(--avatar-radius);
|
|
74
|
+
--item-column-title-size: var(--shell-font-size);
|
|
75
|
+
--item-column-title-line: 1.3;
|
|
76
|
+
|
|
77
|
+
/* —— sidebar —— */
|
|
78
|
+
--sidebar-width: 248px;
|
|
79
|
+
--sidebar-pad-x: var(--shell-gap);
|
|
80
|
+
--sidebar-pad-y: var(--shell-gap-lg);
|
|
81
|
+
--sidebar-block-radius: var(--shell-radius);
|
|
82
|
+
--sidebar-item-font-size: var(--shell-font-size-sm);
|
|
83
|
+
--sidebar-item-padding: 6px 10px;
|
|
84
|
+
--sidebar-icon-size: 16px;
|
|
85
|
+
--sidebar-group-font-size: 11px;
|
|
86
|
+
|
|
87
|
+
/* —— chat —— */
|
|
88
|
+
--chat-list-width: 340px;
|
|
89
|
+
--chat-split-gap: var(--shell-gap-lg);
|
|
90
|
+
--chat-radius: var(--shell-radius);
|
|
91
|
+
--chat-header-padding: var(--shell-gap);
|
|
92
|
+
--chat-body-padding: 0;
|
|
93
|
+
--chat-footer-padding: var(--shell-gap);
|
|
94
|
+
--chat-messages-header-padding: 14px 16px;
|
|
95
|
+
--chat-messages-body-padding: 16px 16px 20px;
|
|
96
|
+
--chat-messages-footer-padding: 10px 12px 12px;
|
|
57
97
|
}
|
package/dist/types.d.ts
ADDED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elcrm/components",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Shell UI elCRM: Layout, Header, PageHead, PageShell, Section, Stack,
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Shell UI elCRM: Layout, Header, Sidebar, Popover, PageHead, PageShell, Section, Stack, Stat, ActionGroup, TextGroup, ItemColumn и др.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "MaSkal <dev@elcrm.online>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -85,11 +85,14 @@
|
|
|
85
85
|
"./package.json": "./package.json"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
|
+
"dev": "vite --config test/vite.config.ts",
|
|
88
89
|
"build": "vite build",
|
|
89
90
|
"postbuild": "node scripts/postbuild.mjs",
|
|
90
91
|
"check:css": "node scripts/check-css-scoped.mjs",
|
|
91
92
|
"check:tokens": "node scripts/check-tokens.mjs",
|
|
92
93
|
"test": "vitest run",
|
|
94
|
+
"test:build": "vite build --config test/vite.config.ts",
|
|
95
|
+
"test:preview": "vite preview --config test/vite.config.ts",
|
|
93
96
|
"prepublishOnly": "npm run check:css && npm run check:tokens && npm run test && npm run build",
|
|
94
97
|
"pack:check": "npm pack --dry-run"
|
|
95
98
|
},
|
|
@@ -104,6 +107,7 @@
|
|
|
104
107
|
}
|
|
105
108
|
},
|
|
106
109
|
"devDependencies": {
|
|
110
|
+
"@elcrm/storybook": "file:../elCRM.storybook",
|
|
107
111
|
"@testing-library/react": "^16.2.0",
|
|
108
112
|
"@types/node": "^22.13.10",
|
|
109
113
|
"@types/react": "^18.2.66",
|
package/dist/Avatar-CyNXYvsa.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import a from "react";
|
|
2
|
-
import { c as f } from "./cx-CcykAxZN.js";
|
|
3
|
-
import './Avatar.css';const N = "car", g = "cav", h = "cas", y = "cam", A = "cal", C = "caa", x = "cai", z = "cab", B = "cao", F = "caf", e = {
|
|
4
|
-
r: N,
|
|
5
|
-
v: g,
|
|
6
|
-
s: h,
|
|
7
|
-
m: y,
|
|
8
|
-
l: A,
|
|
9
|
-
a: C,
|
|
10
|
-
i: x,
|
|
11
|
-
b: z,
|
|
12
|
-
o: B,
|
|
13
|
-
f: F
|
|
14
|
-
};
|
|
15
|
-
function U(t) {
|
|
16
|
-
const s = t.trim();
|
|
17
|
-
if (!s) return "?";
|
|
18
|
-
const n = s.split(/\s+/).filter(Boolean);
|
|
19
|
-
return n.length >= 2 ? (n[0][0] + n[1][0]).toUpperCase() : s.slice(0, 2).toUpperCase();
|
|
20
|
-
}
|
|
21
|
-
function D({ status: t }) {
|
|
22
|
-
return /* @__PURE__ */ a.createElement(
|
|
23
|
-
"span",
|
|
24
|
-
{
|
|
25
|
-
className: f(e.b, t === "online" ? e.o : e.f),
|
|
26
|
-
"data-status": t,
|
|
27
|
-
"aria-hidden": !0
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
function R({
|
|
32
|
-
src: t,
|
|
33
|
-
label: s,
|
|
34
|
-
children: n,
|
|
35
|
-
name: l,
|
|
36
|
-
status: o
|
|
37
|
-
}) {
|
|
38
|
-
const c = t != null && t !== "" ? /* @__PURE__ */ a.createElement("img", { className: e.i, src: t, alt: s ?? "", draggable: !1 }) : n ?? (l != null ? U(l) : "?");
|
|
39
|
-
return /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("span", { className: e.v }, c), o != null ? /* @__PURE__ */ a.createElement(D, { status: o }) : null);
|
|
40
|
-
}
|
|
41
|
-
function j(t) {
|
|
42
|
-
const {
|
|
43
|
-
src: s,
|
|
44
|
-
alt: n,
|
|
45
|
-
name: l,
|
|
46
|
-
size: o = "m",
|
|
47
|
-
status: c,
|
|
48
|
-
active: i,
|
|
49
|
-
children: p,
|
|
50
|
-
className: b,
|
|
51
|
-
as: v = "span",
|
|
52
|
-
...m
|
|
53
|
-
} = t, E = o === "s" ? e.s : o === "l" ? e.l : e.m, u = f(e.r, E, i && e.a, b), r = n ?? l, d = /* @__PURE__ */ a.createElement(
|
|
54
|
-
R,
|
|
55
|
-
{
|
|
56
|
-
src: s,
|
|
57
|
-
label: r,
|
|
58
|
-
name: l,
|
|
59
|
-
status: c,
|
|
60
|
-
children: p
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
return v === "button" ? /* @__PURE__ */ a.createElement(
|
|
64
|
-
"button",
|
|
65
|
-
{
|
|
66
|
-
type: "button",
|
|
67
|
-
className: u,
|
|
68
|
-
"aria-label": r,
|
|
69
|
-
"data-active": i ? "true" : void 0,
|
|
70
|
-
"data-status": c,
|
|
71
|
-
...m
|
|
72
|
-
},
|
|
73
|
-
d
|
|
74
|
-
) : v === "div" ? /* @__PURE__ */ a.createElement(
|
|
75
|
-
"div",
|
|
76
|
-
{
|
|
77
|
-
className: u,
|
|
78
|
-
role: r ? "img" : void 0,
|
|
79
|
-
"aria-label": r,
|
|
80
|
-
"data-active": i ? "true" : void 0,
|
|
81
|
-
"data-status": c,
|
|
82
|
-
...m
|
|
83
|
-
},
|
|
84
|
-
d
|
|
85
|
-
) : /* @__PURE__ */ a.createElement(
|
|
86
|
-
"span",
|
|
87
|
-
{
|
|
88
|
-
className: u,
|
|
89
|
-
role: r ? "img" : void 0,
|
|
90
|
-
"aria-label": r,
|
|
91
|
-
"data-active": i ? "true" : void 0,
|
|
92
|
-
"data-status": c,
|
|
93
|
-
...m
|
|
94
|
-
},
|
|
95
|
-
d
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
export {
|
|
99
|
-
j as A,
|
|
100
|
-
U as i
|
|
101
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import t from "react";
|
|
2
|
-
import { A as v } from "./Avatar-CyNXYvsa.js";
|
|
3
|
-
import { c as b } from "./cx-CcykAxZN.js";
|
|
4
|
-
import './AvatarName.css';const g = "czr", y = "czc", A = "czt", h = "czd", x = "czs", C = "czm", F = "czl", e = {
|
|
5
|
-
r: g,
|
|
6
|
-
c: y,
|
|
7
|
-
t: A,
|
|
8
|
-
d: h,
|
|
9
|
-
s: x,
|
|
10
|
-
m: C,
|
|
11
|
-
l: F
|
|
12
|
-
};
|
|
13
|
-
function I(s, n) {
|
|
14
|
-
if (s != null && s !== "") return s;
|
|
15
|
-
if (typeof n == "string") return n;
|
|
16
|
-
}
|
|
17
|
-
function j(s) {
|
|
18
|
-
const {
|
|
19
|
-
src: n,
|
|
20
|
-
name: c,
|
|
21
|
-
title: m,
|
|
22
|
-
description: i,
|
|
23
|
-
size: a = "m",
|
|
24
|
-
status: f,
|
|
25
|
-
className: p,
|
|
26
|
-
children: z,
|
|
27
|
-
as: u = "div",
|
|
28
|
-
...r
|
|
29
|
-
} = s, E = a === "s" ? e.s : a === "l" ? e.l : e.m, l = b(e.r, E, p), d = m ?? (typeof c == "string" ? c : void 0), N = I(c, m), o = /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(v, { src: n, name: N, size: a, status: f }), /* @__PURE__ */ t.createElement("span", { className: e.c }, d != null ? /* @__PURE__ */ t.createElement("span", { className: e.t }, d) : null, i != null ? /* @__PURE__ */ t.createElement("span", { className: e.d }, i) : null, z));
|
|
30
|
-
return u === "button" ? /* @__PURE__ */ t.createElement(
|
|
31
|
-
"button",
|
|
32
|
-
{
|
|
33
|
-
type: "button",
|
|
34
|
-
className: l,
|
|
35
|
-
...r
|
|
36
|
-
},
|
|
37
|
-
o
|
|
38
|
-
) : u === "a" ? /* @__PURE__ */ t.createElement(
|
|
39
|
-
"a",
|
|
40
|
-
{
|
|
41
|
-
className: l,
|
|
42
|
-
...r
|
|
43
|
-
},
|
|
44
|
-
o
|
|
45
|
-
) : /* @__PURE__ */ t.createElement(
|
|
46
|
-
"div",
|
|
47
|
-
{
|
|
48
|
-
className: l,
|
|
49
|
-
...r
|
|
50
|
-
},
|
|
51
|
-
o
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
export {
|
|
55
|
-
j as A
|
|
56
|
-
};
|
package/dist/Badge-l6nUkl-H.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import o from "react";
|
|
2
|
-
import { c as e } from "./cx-CcykAxZN.js";
|
|
3
|
-
import './Badge.css';const u = "cjr", d = "cjn", j = "cja", m = "cju", w = "cjw", i = "cjd", c = {
|
|
4
|
-
r: u,
|
|
5
|
-
n: d,
|
|
6
|
-
a: j,
|
|
7
|
-
u: m,
|
|
8
|
-
w,
|
|
9
|
-
d: i
|
|
10
|
-
};
|
|
11
|
-
function f({
|
|
12
|
-
tone: n = "neutral",
|
|
13
|
-
children: s,
|
|
14
|
-
className: a,
|
|
15
|
-
...t
|
|
16
|
-
}) {
|
|
17
|
-
const r = n === "accent" ? c.a : n === "success" ? c.u : n === "warning" ? c.w : n === "danger" ? c.d : c.n;
|
|
18
|
-
return /* @__PURE__ */ o.createElement("span", { className: e(c.r, r, a), ...t }, s);
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
f as B
|
|
22
|
-
};
|