@elcrm/components 0.2.11 → 0.2.14

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.
@@ -18,6 +18,8 @@ export { Toolbar, useToolbar, applyToolbarSize } from './Toolbar';
18
18
  export type { ToolbarProps, ToolbarAlign, ToolbarWidth, ToolbarContextValue, } from './Toolbar';
19
19
  export { TextGroup } from './TextGroup';
20
20
  export type { TextGroupProps } from './TextGroup';
21
+ export { Text } from './Text';
22
+ export type { TextProps, TextTone } from './Text';
21
23
  export { Stat } from './Stat';
22
24
  export type { StatProps, StatTone } from './Stat';
23
25
  export { Block } from './Block';
@@ -81,6 +83,16 @@ export { Healthmap } from './Healthmap';
81
83
  export type { HealthmapProps, HealthmapData, HealthmapDay, HealthmapUnit, } from './Healthmap';
82
84
  export { PanelInfo } from './PanelInfo';
83
85
  export type { PanelInfoProps } from './PanelInfo';
86
+ export { Table } from './Table';
87
+ export type { TableProps } from './Table';
88
+ export { CodeBlock } from './CodeBlock';
89
+ export type { CodeBlockProps } from './CodeBlock';
90
+ export { SplitPane, clampSplitRatio } from './SplitPane';
91
+ export type { SplitPaneProps, SplitPaneDirection } from './SplitPane';
92
+ export { Banner } from './Banner';
93
+ export type { BannerProps, BannerTone } from './Banner';
94
+ export { IconButton } from './IconButton';
95
+ export type { IconButtonProps } from './IconButton';
84
96
  export { acquireOverlayZIndex, releaseOverlayZIndex, peekOverlayZIndex, } from './overlayZ';
85
97
  export { createLazyResolver } from './lazyRoute';
86
98
  export type { LazyRouteChunk } from './lazyRoute';
package/dist/index.es.js CHANGED
@@ -1,100 +1,113 @@
1
1
  import { L as x } from "./Layout-mi6Ghayv.js";
2
- import { H as i } from "./Header-DZQopVNy.js";
2
+ import { H as l } from "./Header-DZQopVNy.js";
3
3
  import { F as n } from "./Footer-qxUlnPR9.js";
4
4
  import { L as u } from "./List-BgKkYaGO.js";
5
5
  import { I as d } from "./Item-D4okhsfW.js";
6
- import { I as P } from "./ItemColumn-M7a9L8CI.js";
7
- import { C as T } from "./Card-hn37Opo3.js";
8
- import { A } from "./ActionGroup-ChKFW0mt.js";
9
- import { T as I, a as L, u as b } from "./Toolbar-C1zAk9ak.js";
6
+ import { I as T } from "./ItemColumn-M7a9L8CI.js";
7
+ import { C as B } from "./Card-hn37Opo3.js";
8
+ import { A as I } from "./ActionGroup-ChKFW0mt.js";
9
+ import { T as b, a as A, u as L } from "./Toolbar-C1zAk9ak.js";
10
10
  import { T as R } from "./TextGroup-DmhuyMR1.js";
11
- import { S as H } from "./Stat-sKXJwz5L.js";
12
- import { B as k } from "./Block-Bu7NEA0g.js";
13
- import { R as N } from "./Row-DsQOVn18.js";
14
- import { C as M } from "./Column-BiogBDf8.js";
15
- import { S as Z, s as w } from "./Stack-XkmPSswj.js";
16
- import { M as E } from "./Menu-DuXQv-zT.js";
17
- import { D as j } from "./Dropdown-DosvDR13.js";
18
- import { B as K } from "./Breadcrumb-CAM_e9LN.js";
19
- import { L as U } from "./Loading-DkkG7RcE.js";
20
- import { S as W } from "./Section-Crxk2J-E.js";
21
- import { N as Y } from "./NavSections-D6rDEtT1.js";
22
- import { T as $ } from "./TabSections-DN7yVJoF.js";
23
- import { A as or, a as ar, i as er } from "./Avatar-loGgFt72.js";
24
- import { A as sr } from "./AvatarGroup-D1gnT3Od.js";
25
- import { A as mr } from "./AvatarName-0BzyfpMq.js";
26
- import { B as fr } from "./Badge-jp-9iNNL.js";
27
- import { B as lr } from "./Brand-Zq-Idks4.js";
28
- import { E as cr } from "./EmptyState-mBiWtMIM.js";
29
- import { R as Sr } from "./RadioGroup-fcXzhvMu.js";
30
- import { P as Cr } from "./PricingGroup-Czuhe81Z.js";
31
- import { P as vr } from "./PricingTable-BuLC0opK.js";
32
- import { P as yr } from "./PageHead-DgaJ1mXY.js";
33
- import { P as Br } from "./PageShell-D9EZiO8o.js";
34
- import { C as Lr, a as br } from "./ChatSplit-DNnu3TNq.js";
35
- import { C as Rr } from "./ChatFrame-BW2TmCkZ.js";
36
- import { C as Hr } from "./ChatMessages-B8rdXiK-.js";
37
- import { S as kr } from "./Sidebar-CYFaPqdC.js";
38
- import { P as Nr } from "./Popover-DWdvZTuA.js";
39
- import { H as Mr } from "./Healthmap-B6cdiLUl.js";
40
- import { P as Zr } from "./PanelInfo-A5y5ysH8.js";
41
- import { a as Dr, p as Er, r as qr } from "./overlayZ-BvHbYC1x.js";
11
+ import { T as G } from "./Text-zHK2wmsw.js";
12
+ import { S as g } from "./Stat-sKXJwz5L.js";
13
+ import { B as N } from "./Block-Bu7NEA0g.js";
14
+ import { R as M } from "./Row-DsQOVn18.js";
15
+ import { C as Z } from "./Column-BiogBDf8.js";
16
+ import { S as D, s as E } from "./Stack-XkmPSswj.js";
17
+ import { M as j } from "./Menu-DuXQv-zT.js";
18
+ import { D as K } from "./Dropdown-DosvDR13.js";
19
+ import { B as U } from "./Breadcrumb-CAM_e9LN.js";
20
+ import { L as W } from "./Loading-DkkG7RcE.js";
21
+ import { S as Y } from "./Section-Crxk2J-E.js";
22
+ import { N as $ } from "./NavSections-D6rDEtT1.js";
23
+ import { T as ro } from "./TabSections-DN7yVJoF.js";
24
+ import { A as eo, a as to, i as so } from "./Avatar-loGgFt72.js";
25
+ import { A as mo } from "./AvatarGroup-D1gnT3Od.js";
26
+ import { A as fo } from "./AvatarName-0BzyfpMq.js";
27
+ import { B as io } from "./Badge-jp-9iNNL.js";
28
+ import { B as co } from "./Brand-Zq-Idks4.js";
29
+ import { E as So } from "./EmptyState-mBiWtMIM.js";
30
+ import { R as To } from "./RadioGroup-fcXzhvMu.js";
31
+ import { P as Bo } from "./PricingGroup-Czuhe81Z.js";
32
+ import { P as Io } from "./PricingTable-BuLC0opK.js";
33
+ import { P as bo } from "./PageHead-DgaJ1mXY.js";
34
+ import { P as Lo } from "./PageShell-D9EZiO8o.js";
35
+ import { C as Ro, a as ko } from "./ChatSplit-DNnu3TNq.js";
36
+ import { C as Ho } from "./ChatFrame-BW2TmCkZ.js";
37
+ import { C as Fo } from "./ChatMessages-B8rdXiK-.js";
38
+ import { S as zo } from "./Sidebar-CYFaPqdC.js";
39
+ import { P as Oo } from "./Popover-DWdvZTuA.js";
40
+ import { H as wo } from "./Healthmap-B6cdiLUl.js";
41
+ import { P as Eo } from "./PanelInfo-A5y5ysH8.js";
42
+ import { T as jo } from "./Table-BoDr3X2d.js";
43
+ import { C as Ko } from "./CodeBlock-CRzVopIv.js";
44
+ import { S as Uo, c as Vo } from "./SplitPane-DR7PCZ8f.js";
45
+ import { B as Xo } from "./Banner-B72lcEMo.js";
46
+ import { I as _o } from "./IconButton-DPjpBKJn.js";
47
+ import { a as or, p as rr, r as ar } from "./overlayZ-BvHbYC1x.js";
42
48
  import { lazy as e } from "react";
43
- import { c as Jr } from "./cx-CcykAxZN.js";
49
+ import { c as tr } from "./cx-CcykAxZN.js";
44
50
  function s(a) {
45
- const o = {};
46
- return (r) => (o[r] || (o[r] = e(() => a(r))), o[r]);
51
+ const r = {};
52
+ return (o) => (r[o] || (r[o] = e(() => a(o))), r[o]);
47
53
  }
48
54
  export {
49
- A as ActionGroup,
50
- or as Avatar,
51
- sr as AvatarGroup,
52
- mr as AvatarName,
53
- fr as Badge,
54
- k as Block,
55
- lr as Brand,
56
- K as Breadcrumb,
57
- T as Card,
58
- Rr as ChatFrame,
59
- Lr as ChatList,
60
- Hr as ChatMessages,
61
- br as ChatSplit,
62
- M as Column,
63
- j as Dropdown,
64
- cr as EmptyState,
55
+ I as ActionGroup,
56
+ eo as Avatar,
57
+ mo as AvatarGroup,
58
+ fo as AvatarName,
59
+ io as Badge,
60
+ Xo as Banner,
61
+ N as Block,
62
+ co as Brand,
63
+ U as Breadcrumb,
64
+ B as Card,
65
+ Ho as ChatFrame,
66
+ Ro as ChatList,
67
+ Fo as ChatMessages,
68
+ ko as ChatSplit,
69
+ Ko as CodeBlock,
70
+ Z as Column,
71
+ K as Dropdown,
72
+ So as EmptyState,
65
73
  n as Footer,
66
- i as Header,
67
- Mr as Healthmap,
74
+ l as Header,
75
+ wo as Healthmap,
76
+ _o as IconButton,
68
77
  d as Item,
69
- P as ItemColumn,
78
+ T as ItemColumn,
70
79
  x as Layout,
71
80
  u as List,
72
- U as Loading,
73
- E as Menu,
74
- Y as NavSections,
75
- yr as PageHead,
76
- Br as PageShell,
77
- Zr as PanelInfo,
78
- Nr as Popover,
79
- Cr as PricingGroup,
80
- vr as PricingTable,
81
- Sr as RadioGroup,
82
- N as Row,
83
- W as Section,
84
- kr as Sidebar,
85
- Z as Stack,
86
- H as Stat,
87
- $ as TabSections,
81
+ W as Loading,
82
+ j as Menu,
83
+ $ as NavSections,
84
+ bo as PageHead,
85
+ Lo as PageShell,
86
+ Eo as PanelInfo,
87
+ Oo as Popover,
88
+ Bo as PricingGroup,
89
+ Io as PricingTable,
90
+ To as RadioGroup,
91
+ M as Row,
92
+ Y as Section,
93
+ zo as Sidebar,
94
+ Uo as SplitPane,
95
+ D as Stack,
96
+ g as Stat,
97
+ ro as TabSections,
98
+ jo as Table,
99
+ G as Text,
88
100
  R as TextGroup,
89
- I as Toolbar,
90
- Dr as acquireOverlayZIndex,
91
- L as applyToolbarSize,
92
- ar as avatarRadiusStyle,
101
+ b as Toolbar,
102
+ or as acquireOverlayZIndex,
103
+ A as applyToolbarSize,
104
+ to as avatarRadiusStyle,
105
+ Vo as clampSplitRatio,
93
106
  s as createLazyResolver,
94
- Jr as cx,
95
- er as initialsFromName,
96
- Er as peekOverlayZIndex,
97
- qr as releaseOverlayZIndex,
98
- w as stackColumnsTemplate,
99
- b as useToolbar
107
+ tr as cx,
108
+ so as initialsFromName,
109
+ rr as peekOverlayZIndex,
110
+ ar as releaseOverlayZIndex,
111
+ E as stackColumnsTemplate,
112
+ L as useToolbar
100
113
  };
package/dist/tokens.css CHANGED
@@ -41,7 +41,7 @@
41
41
  --header-height: 52px;
42
42
  --header-shadow: none;
43
43
  --header-margin: 0;
44
- --header-z: 20;
44
+ --header-z: 30;
45
45
  /* shorthand: толщина + стиль + цвет, все стороны. Только снизу — `none` и линия через --header-shadow */
46
46
  --header-border: 1px solid var(--shell-border);
47
47
  /* выравнивание nav в оставшейся ширине шапки: flex-start | center | flex-end */
@@ -108,7 +108,7 @@
108
108
  --sidebar-width: 248px;
109
109
  --sidebar-pad-x: var(--shell-gap);
110
110
  --sidebar-pad-y: var(--shell-gap-lg);
111
- --sidebar-block-radius: var(--shell-radius);
111
+ --sidebar-block-radius: 14px;
112
112
  --sidebar-item-font-size: var(--shell-font-size-sm);
113
113
  --sidebar-item-padding: 6px 10px;
114
114
  --sidebar-icon-size: 16px;
@@ -125,4 +125,37 @@
125
125
  --chat-messages-header-padding: 14px 16px;
126
126
  --chat-messages-body-padding: 16px 16px 20px;
127
127
  --chat-messages-footer-padding: 10px 12px 12px;
128
+
129
+ /* —— table —— */
130
+ --table-font-size: 0.9rem;
131
+ --table-cell-padding: 0.55rem 0.7rem;
132
+ --table-head-font-size: 0.75rem;
133
+ --table-code-font-size: 0.8rem;
134
+
135
+ /* —— code-block —— */
136
+ --code-block-bg: var(--shell-background);
137
+ --code-block-bar-padding: 0.4rem 0.75rem;
138
+ --code-block-padding: 0.85rem 1rem;
139
+ --code-block-font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
140
+ --code-block-font-size: 0.8rem;
141
+ --code-block-line-height: 1.55;
142
+
143
+ /* —— split-pane —— */
144
+ --split-handle-size: 6px;
145
+ --split-handle-bg: var(--shell-border);
146
+ --split-handle-bg-hover: color-mix(
147
+ in srgb,
148
+ var(--shell-color-accent) 25%,
149
+ var(--shell-border)
150
+ );
151
+
152
+ /* —— banner —— */
153
+ --banner-padding: 0.55rem 0.85rem;
154
+ --banner-bg: color-mix(in srgb, var(--shell-color-accent) 8%, var(--shell-bg));
155
+ --banner-border: color-mix(in srgb, var(--shell-color-accent) 35%, var(--shell-border));
156
+
157
+ /* —— loading / empty —— */
158
+ --loading-min-height: min(50vh, 24rem);
159
+ --empty-max-width: 36rem;
160
+ --empty-padding: 2rem;
128
161
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elcrm/components",
3
- "version": "0.2.11",
3
+ "version": "0.2.14",
4
4
  "description": "Shell UI elCRM: Layout, Header, Sidebar, Popover, Healthmap, PanelInfo, PageHead, PageShell, Section, Stack, Stat и др.",
5
5
  "type": "module",
6
6
  "author": "MaSkal <dev@elcrm.online>",
@@ -85,6 +85,9 @@
85
85
  "./package.json": "./package.json"
86
86
  },
87
87
  "peerDependencies": {
88
+ "@elcrm/button": "1.2.0",
89
+ "@elcrm/icons": "0.1.5",
90
+ "@elcrm/tooltip": "0.1.2",
88
91
  "@types/react": ">=18.0.0",
89
92
  "react": ">=18.0.0",
90
93
  "react-dom": ">=18.0.0"