@elasticias/ui 0.0.16 → 1.0.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/fesm2022/elasticias-ui.mjs +8057 -2332
- package/fesm2022/elasticias-ui.mjs.map +1 -1
- package/package.json +4 -2
- package/styles/_comptoir.scss +143 -0
- package/styles/_patterns.scss +4090 -0
- package/types/elasticias-ui.d.ts +3246 -189
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elasticias/ui",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^21.0.0",
|
|
6
6
|
"@angular/core": "^21.0.0",
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"@elasticias/utils": ">=0.0.1",
|
|
13
13
|
"@ngx-translate/core": "^17.0.0",
|
|
14
14
|
"@primeng/themes": "^21.0.0",
|
|
15
|
-
"
|
|
15
|
+
"chart.js": "^4.5.0",
|
|
16
|
+
"primeng": "^21.0.0",
|
|
17
|
+
"@angular/platform-browser": "21.2"
|
|
16
18
|
},
|
|
17
19
|
"sideEffects": false,
|
|
18
20
|
"repository": {
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/* Comptoir design-system tokens — generated from libs/tokens/*.json
|
|
2
|
+
Source of truth: shared/elasticias-framework-ui/libs/tokens/
|
|
3
|
+
Showcase: apps/elasticerp/docs/ux-ui/design-system.html
|
|
4
|
+
|
|
5
|
+
Apps consume this layer in two ways:
|
|
6
|
+
1. List `_comptoir.scss` in their global styles entry (angular.json or src/styles.scss).
|
|
7
|
+
2. `@use '@elasticias/ui/styles/comptoir';` from their own global SCSS.
|
|
8
|
+
|
|
9
|
+
Tenant ramp defaults to the showcase's "parfumerie" sample; it is
|
|
10
|
+
replaced at runtime by EfThemeConfigService.setTenantAccent(hex). */
|
|
11
|
+
|
|
12
|
+
:root {
|
|
13
|
+
/* ── Ink ramp (structure) ────────────────────────────────────── */
|
|
14
|
+
--ink-50: #f8f9fb;
|
|
15
|
+
--ink-100: #f1f3f6;
|
|
16
|
+
--ink-200: #e4e8ee;
|
|
17
|
+
--ink-300: #cdd3dd;
|
|
18
|
+
--ink-400: #9ca5b3;
|
|
19
|
+
--ink-500: #6c7280;
|
|
20
|
+
--ink-600: #4a4f5a;
|
|
21
|
+
--ink-700: #2f3239;
|
|
22
|
+
--ink-800: #1d1f24;
|
|
23
|
+
--ink-900: #0f1115;
|
|
24
|
+
--ink-950: #06070a;
|
|
25
|
+
|
|
26
|
+
/* ── Tenant ramp (identity, runtime-overridable) ─────────────── */
|
|
27
|
+
--tenant-50: #f7f0f4;
|
|
28
|
+
--tenant-100: #ecdce5;
|
|
29
|
+
--tenant-200: #d8b4c5;
|
|
30
|
+
--tenant-300: #b87a99;
|
|
31
|
+
--tenant-400: #934e74;
|
|
32
|
+
--tenant-500: #6f3257;
|
|
33
|
+
--tenant-600: #54243f;
|
|
34
|
+
--tenant-700: #401a30;
|
|
35
|
+
--tenant-800: #2c1221;
|
|
36
|
+
--tenant-900: #1a0913;
|
|
37
|
+
|
|
38
|
+
/* ── Module accents (wayfinding) ─────────────────────────────── */
|
|
39
|
+
--m-sales: #1356a8;
|
|
40
|
+
--m-purchase: #155b3a;
|
|
41
|
+
--m-stock: #4f5560;
|
|
42
|
+
--m-pos: #b34a00;
|
|
43
|
+
--m-marketing: #7a4665;
|
|
44
|
+
--m-store: #5d3aa3;
|
|
45
|
+
--m-finance: #0d6e6a;
|
|
46
|
+
--m-admin: #0f1115;
|
|
47
|
+
|
|
48
|
+
/* ── Status pairs (chips only) ───────────────────────────────── */
|
|
49
|
+
--st-pending-fg: #b34a00; --st-pending-bg: #fff1e0;
|
|
50
|
+
--st-processing-fg: #1356a8; --st-processing-bg: #e0ecfc;
|
|
51
|
+
--st-shipped-fg: #5d3aa3; --st-shipped-bg: #ece4fa;
|
|
52
|
+
--st-delivered-fg: #16693a; --st-delivered-bg: #d9efe1;
|
|
53
|
+
--st-cancelled-fg: #a01b1b; --st-cancelled-bg: #f9dede;
|
|
54
|
+
--st-refunded-fg: #826208; --st-refunded-bg: #fdf1c8;
|
|
55
|
+
--st-onhold-fg: #4f5560; --st-onhold-bg: #e7e9ee;
|
|
56
|
+
|
|
57
|
+
/* ── Radii ───────────────────────────────────────────────────── */
|
|
58
|
+
--r-sm: 8px;
|
|
59
|
+
--r-md: 12px;
|
|
60
|
+
--r-lg: 16px;
|
|
61
|
+
--r-xl: 20px;
|
|
62
|
+
--r-2xl: 24px;
|
|
63
|
+
--r-pill: 999px;
|
|
64
|
+
|
|
65
|
+
/* ── Hit targets ─────────────────────────────────────────────── */
|
|
66
|
+
--hit: 32px; /* compact (desktop dense rows) */
|
|
67
|
+
--hit-base: 40px; /* standard buttons */
|
|
68
|
+
--hit-touch: 48px; /* POS / mobile primary actions */
|
|
69
|
+
--hit-pos: 64px; /* POS number pad, big totals */
|
|
70
|
+
|
|
71
|
+
/* ── Motion ──────────────────────────────────────────────────── */
|
|
72
|
+
--t-fast: 140ms;
|
|
73
|
+
--t-base: 260ms;
|
|
74
|
+
--t-slow: 480ms;
|
|
75
|
+
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
76
|
+
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
77
|
+
|
|
78
|
+
/* ── Semantic aliases (light) ────────────────────────────────── */
|
|
79
|
+
--paper: var(--ink-50);
|
|
80
|
+
--paper-alt: #fff;
|
|
81
|
+
--rule: var(--ink-200);
|
|
82
|
+
--rule-soft: rgba(15, 17, 21, 0.05);
|
|
83
|
+
--text: var(--ink-900);
|
|
84
|
+
--text-mute: var(--ink-500);
|
|
85
|
+
--text-soft: var(--ink-400);
|
|
86
|
+
--ink-active: var(--ink-900);
|
|
87
|
+
|
|
88
|
+
/* ── Spatial scale (s-1 = 4px → s-10 = 96px) ─────────────────── */
|
|
89
|
+
--s-1: 4px;
|
|
90
|
+
--s-2: 8px;
|
|
91
|
+
--s-3: 12px;
|
|
92
|
+
--s-4: 16px;
|
|
93
|
+
--s-5: 20px;
|
|
94
|
+
--s-6: 24px;
|
|
95
|
+
--s-7: 32px;
|
|
96
|
+
--s-8: 48px;
|
|
97
|
+
--s-9: 64px;
|
|
98
|
+
--s-10: 96px;
|
|
99
|
+
|
|
100
|
+
/* ── Shadows (light) ─────────────────────────────────────────── */
|
|
101
|
+
--shadow-1: 0 1px 2px rgba(15, 17, 21, 0.04), 0 1px 0 rgba(15, 17, 21, 0.03);
|
|
102
|
+
--shadow-2: 0 4px 14px -4px rgba(15, 17, 21, 0.10), 0 1px 0 rgba(15, 17, 21, 0.03);
|
|
103
|
+
--shadow-3: 0 16px 40px -16px rgba(15, 17, 21, 0.20), 0 2px 0 rgba(15, 17, 21, 0.03);
|
|
104
|
+
--shadow-tenant: 0 12px 30px -10px var(--tenant-200);
|
|
105
|
+
|
|
106
|
+
/* ── Module current (default; overridden by [data-module]) ───── */
|
|
107
|
+
--module: var(--m-admin);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* ── Semantic aliases (dark) — toggled by .p-dark on <html> ────── */
|
|
111
|
+
.p-dark {
|
|
112
|
+
--paper: var(--ink-900);
|
|
113
|
+
--paper-alt: var(--ink-800);
|
|
114
|
+
--rule: rgba(248, 249, 251, 0.08);
|
|
115
|
+
--rule-soft: rgba(248, 249, 251, 0.04);
|
|
116
|
+
--text: var(--ink-50);
|
|
117
|
+
--text-mute: var(--ink-400);
|
|
118
|
+
--text-soft: var(--ink-500);
|
|
119
|
+
--ink-active: var(--ink-50);
|
|
120
|
+
--shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
|
|
121
|
+
--shadow-2: 0 8px 20px -8px rgba(0, 0, 0, 0.5);
|
|
122
|
+
--shadow-3: 0 24px 60px -20px rgba(0, 0, 0, 0.7);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* ── Module current — driven by data-module attribute ──────────── */
|
|
126
|
+
[data-module="sales"] { --module: var(--m-sales); }
|
|
127
|
+
[data-module="purchase"] { --module: var(--m-purchase); }
|
|
128
|
+
[data-module="stock"] { --module: var(--m-stock); }
|
|
129
|
+
[data-module="pos"] { --module: var(--m-pos); }
|
|
130
|
+
[data-module="marketing"] { --module: var(--m-marketing); }
|
|
131
|
+
[data-module="store"] { --module: var(--m-store); }
|
|
132
|
+
[data-module="finance"] { --module: var(--m-finance); }
|
|
133
|
+
[data-module="admin"] { --module: var(--m-admin); }
|
|
134
|
+
|
|
135
|
+
/* ── Reduced motion ────────────────────────────────────────────── */
|
|
136
|
+
@media (prefers-reduced-motion: reduce) {
|
|
137
|
+
*,
|
|
138
|
+
*::before,
|
|
139
|
+
*::after {
|
|
140
|
+
animation-duration: 0.01ms !important;
|
|
141
|
+
transition-duration: 0.01ms !important;
|
|
142
|
+
}
|
|
143
|
+
}
|