@elasticias/ui 1.0.21 → 1.0.23
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 +6163 -5810
- package/fesm2022/elasticias-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_patterns.scss +69 -192
- package/types/elasticias-ui.d.ts +197 -14
package/package.json
CHANGED
package/styles/_patterns.scss
CHANGED
|
@@ -1134,22 +1134,6 @@
|
|
|
1134
1134
|
lives in the "DETAIL SCREEN PRIMITIVES (Phase 7)" section below. Only the
|
|
1135
1135
|
sub-element rules (`.left` / `.ref` / `.name` / `.right`) live here. */
|
|
1136
1136
|
|
|
1137
|
-
.detail-toolbar .left {
|
|
1138
|
-
display: flex;
|
|
1139
|
-
align-items: center;
|
|
1140
|
-
gap: 10px;
|
|
1141
|
-
flex: 1;
|
|
1142
|
-
min-width: 0;
|
|
1143
|
-
flex-wrap: wrap;
|
|
1144
|
-
}
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
.detail-toolbar .ref {
|
|
1148
|
-
font-family: var(--font-mono);
|
|
1149
|
-
font-size: 14px;
|
|
1150
|
-
font-weight: 700;
|
|
1151
|
-
letter-spacing: -0.01em;
|
|
1152
|
-
}
|
|
1153
1137
|
|
|
1154
1138
|
.detail-toolbar .name {
|
|
1155
1139
|
font-family: var(--font-display);
|
|
@@ -1161,121 +1145,99 @@
|
|
|
1161
1145
|
letter-spacing: -0.015em;
|
|
1162
1146
|
}
|
|
1163
1147
|
|
|
1164
|
-
.detail-toolbar .right {
|
|
1165
|
-
display: flex;
|
|
1166
|
-
align-items: center;
|
|
1167
|
-
gap: 6px;
|
|
1168
|
-
flex-wrap: wrap;
|
|
1169
|
-
margin-inline-start: auto;
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
1148
|
/* ──────────── DETAIL GRID + CARD ───────────────────────────────── */
|
|
1173
1149
|
|
|
1174
|
-
.detail-grid {
|
|
1175
|
-
display: grid;
|
|
1176
|
-
grid-template-columns: minmax(0, 1fr);
|
|
1177
|
-
gap: var(--s-3);
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
1150
|
@media (min-width: 1100px) {
|
|
1181
1151
|
.detail-grid {
|
|
1182
1152
|
grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
|
|
1183
1153
|
}
|
|
1184
1154
|
}
|
|
1185
1155
|
|
|
1186
|
-
.detail-stack {
|
|
1187
|
-
display: grid;
|
|
1188
|
-
gap: var(--s-3);
|
|
1189
|
-
align-content: start;
|
|
1190
|
-
min-width: 0;
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
.card {
|
|
1194
|
-
background: var(--paper-alt);
|
|
1195
|
-
border: 1px solid var(--rule);
|
|
1196
|
-
border-radius: var(--r-2xl);
|
|
1197
|
-
overflow: hidden;
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
.card-head {
|
|
1201
|
-
display: flex;
|
|
1202
|
-
justify-content: space-between;
|
|
1203
|
-
align-items: center;
|
|
1204
|
-
padding: 12px 16px;
|
|
1205
|
-
border-bottom: 1px solid var(--rule-soft, rgba(15, 17, 21, 0.05));
|
|
1206
|
-
gap: var(--s-3);
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
.card-head .title {
|
|
1210
|
-
font-family: var(--font-display);
|
|
1211
|
-
font-variation-settings:
|
|
1212
|
-
'opsz' 12,
|
|
1213
|
-
'wght' 700,
|
|
1214
|
-
'wdth' 88;
|
|
1215
|
-
font-size: 14.5px;
|
|
1216
|
-
letter-spacing: -0.01em;
|
|
1217
|
-
}
|
|
1218
|
-
|
|
1219
|
-
.card-head .meta {
|
|
1220
|
-
font-size: 11.5px;
|
|
1221
|
-
color: var(--text-mute);
|
|
1222
|
-
font-weight: 600;
|
|
1223
|
-
}
|
|
1224
|
-
|
|
1225
|
-
.card-body {
|
|
1226
|
-
padding: 16px;
|
|
1227
|
-
display: grid;
|
|
1228
|
-
/* minmax(0, 1fr): a grid item's default min-width is auto, so a wide child
|
|
1229
|
-
— a table, a nested data card — sized this column and pushed the card
|
|
1230
|
-
past its own container. Same trap as the content area and the screen
|
|
1231
|
-
host; this is the third place it bites. */
|
|
1232
|
-
grid-template-columns: minmax(0, 1fr);
|
|
1233
|
-
gap: var(--s-3);
|
|
1234
|
-
}
|
|
1235
|
-
|
|
1236
|
-
.card-foot {
|
|
1237
|
-
padding: 10px 16px;
|
|
1238
|
-
border-top: 1px solid var(--rule-soft, rgba(15, 17, 21, 0.05));
|
|
1239
|
-
display: flex;
|
|
1240
|
-
justify-content: space-between;
|
|
1241
|
-
align-items: center;
|
|
1242
|
-
gap: var(--s-3);
|
|
1243
|
-
background: var(--paper);
|
|
1244
|
-
}
|
|
1245
|
-
|
|
1246
1156
|
/* ──────────── FORM GRID + FIELD ────────────────────────────────── */
|
|
1247
1157
|
|
|
1248
|
-
|
|
1158
|
+
/* ──────────────────────────────────────────────────────────────────
|
|
1159
|
+
The 12-column form grid — one definition, two names.
|
|
1160
|
+
|
|
1161
|
+
`.ef-form-grid` is the host class of the <ef-form-grid> primitive;
|
|
1162
|
+
`.form-grid` is the raw-class form written directly in templates.
|
|
1163
|
+
Both are in active use (110 span sites across 13 files), and they
|
|
1164
|
+
were maintained as two separate blocks that had already drifted
|
|
1165
|
+
apart: one supported spans {1,2,3,4,6,12}, the other
|
|
1166
|
+
{2,3,4,6,8,9,12}. A `col-8` inside a `.form-grid` therefore did
|
|
1167
|
+
nothing at all, silently, and so did a `col-1` inside an
|
|
1168
|
+
`.ef-form-grid`. Keeping both names on one rule per span makes the
|
|
1169
|
+
two impossible to drift again.
|
|
1170
|
+
|
|
1171
|
+
Every span collapses to full width at the shell's own mobile
|
|
1172
|
+
breakpoint (767px, the one EfViewportService uses). That single
|
|
1173
|
+
rule is why a field never carries a per-breakpoint span in its
|
|
1174
|
+
template, and why this grid stays mobile-first by default rather
|
|
1175
|
+
than by remembering.
|
|
1176
|
+
────────────────────────────────────────────────────────────────── */
|
|
1177
|
+
.form-grid,
|
|
1178
|
+
.ef-form-grid {
|
|
1249
1179
|
display: grid;
|
|
1250
1180
|
gap: var(--s-3);
|
|
1251
1181
|
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
1252
1182
|
}
|
|
1253
1183
|
|
|
1254
|
-
.form-grid > .col-1
|
|
1184
|
+
.form-grid > .col-1,
|
|
1185
|
+
.ef-form-grid > .col-1 {
|
|
1255
1186
|
grid-column: span 1;
|
|
1256
1187
|
}
|
|
1257
|
-
.form-grid > .col-2
|
|
1188
|
+
.form-grid > .col-2,
|
|
1189
|
+
.ef-form-grid > .col-2 {
|
|
1258
1190
|
grid-column: span 2;
|
|
1259
1191
|
}
|
|
1260
|
-
.form-grid > .col-3
|
|
1192
|
+
.form-grid > .col-3,
|
|
1193
|
+
.ef-form-grid > .col-3 {
|
|
1261
1194
|
grid-column: span 3;
|
|
1262
1195
|
}
|
|
1263
|
-
.form-grid > .col-4
|
|
1196
|
+
.form-grid > .col-4,
|
|
1197
|
+
.ef-form-grid > .col-4 {
|
|
1264
1198
|
grid-column: span 4;
|
|
1265
1199
|
}
|
|
1266
|
-
.form-grid > .col-
|
|
1200
|
+
.form-grid > .col-5,
|
|
1201
|
+
.ef-form-grid > .col-5 {
|
|
1202
|
+
grid-column: span 5;
|
|
1203
|
+
}
|
|
1204
|
+
.form-grid > .col-6,
|
|
1205
|
+
.ef-form-grid > .col-6 {
|
|
1267
1206
|
grid-column: span 6;
|
|
1268
1207
|
}
|
|
1269
|
-
.form-grid > .col-
|
|
1208
|
+
.form-grid > .col-7,
|
|
1209
|
+
.ef-form-grid > .col-7 {
|
|
1210
|
+
grid-column: span 7;
|
|
1211
|
+
}
|
|
1212
|
+
.form-grid > .col-8,
|
|
1213
|
+
.ef-form-grid > .col-8 {
|
|
1214
|
+
grid-column: span 8;
|
|
1215
|
+
}
|
|
1216
|
+
.form-grid > .col-9,
|
|
1217
|
+
.ef-form-grid > .col-9 {
|
|
1218
|
+
grid-column: span 9;
|
|
1219
|
+
}
|
|
1220
|
+
.form-grid > .col-10,
|
|
1221
|
+
.ef-form-grid > .col-10 {
|
|
1222
|
+
grid-column: span 10;
|
|
1223
|
+
}
|
|
1224
|
+
.form-grid > .col-11,
|
|
1225
|
+
.ef-form-grid > .col-11 {
|
|
1226
|
+
grid-column: span 11;
|
|
1227
|
+
}
|
|
1228
|
+
.form-grid > .col-12,
|
|
1229
|
+
.ef-form-grid > .col-12 {
|
|
1270
1230
|
grid-column: span 12;
|
|
1271
1231
|
}
|
|
1272
1232
|
|
|
1273
1233
|
@media (max-width: 767px) {
|
|
1274
|
-
.form-grid > [class*='col-']
|
|
1234
|
+
.form-grid > [class*='col-'],
|
|
1235
|
+
.ef-form-grid > [class*='col-'] {
|
|
1275
1236
|
grid-column: span 12;
|
|
1276
1237
|
}
|
|
1277
1238
|
}
|
|
1278
1239
|
|
|
1240
|
+
|
|
1279
1241
|
.field {
|
|
1280
1242
|
display: grid;
|
|
1281
1243
|
gap: 4px;
|
|
@@ -1422,12 +1384,6 @@
|
|
|
1422
1384
|
|
|
1423
1385
|
/* ──────────── DASHBOARD KPI CARDS ───────────────────────────────── */
|
|
1424
1386
|
|
|
1425
|
-
.kpi-grid {
|
|
1426
|
-
display: grid;
|
|
1427
|
-
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
1428
|
-
gap: var(--s-3);
|
|
1429
|
-
}
|
|
1430
|
-
|
|
1431
1387
|
.kpi-card {
|
|
1432
1388
|
background: var(--paper-alt);
|
|
1433
1389
|
border: 1px solid var(--rule);
|
|
@@ -1438,60 +1394,6 @@
|
|
|
1438
1394
|
align-content: start;
|
|
1439
1395
|
}
|
|
1440
1396
|
|
|
1441
|
-
.kpi-head {
|
|
1442
|
-
display: flex;
|
|
1443
|
-
justify-content: space-between;
|
|
1444
|
-
align-items: center;
|
|
1445
|
-
gap: 8px;
|
|
1446
|
-
}
|
|
1447
|
-
|
|
1448
|
-
.kpi-value {
|
|
1449
|
-
font-family: var(--font-display);
|
|
1450
|
-
font-variation-settings:
|
|
1451
|
-
'opsz' 96,
|
|
1452
|
-
'wght' 700,
|
|
1453
|
-
'wdth' 80;
|
|
1454
|
-
font-size: clamp(28px, 4vw, 40px);
|
|
1455
|
-
letter-spacing: -0.03em;
|
|
1456
|
-
line-height: 1;
|
|
1457
|
-
font-feature-settings: 'tnum';
|
|
1458
|
-
color: var(--text);
|
|
1459
|
-
}
|
|
1460
|
-
|
|
1461
|
-
.kpi-value .unit {
|
|
1462
|
-
font-family: var(--font-mono);
|
|
1463
|
-
font-size: 0.4em;
|
|
1464
|
-
font-weight: 500;
|
|
1465
|
-
color: var(--text-mute);
|
|
1466
|
-
margin-inline-start: 6px;
|
|
1467
|
-
letter-spacing: 0;
|
|
1468
|
-
}
|
|
1469
|
-
|
|
1470
|
-
.spark {
|
|
1471
|
-
width: 100%;
|
|
1472
|
-
height: 28px;
|
|
1473
|
-
margin-top: 4px;
|
|
1474
|
-
}
|
|
1475
|
-
|
|
1476
|
-
.delta {
|
|
1477
|
-
font-family: var(--font-mono);
|
|
1478
|
-
font-size: 11px;
|
|
1479
|
-
font-weight: 700;
|
|
1480
|
-
padding: 2px 8px;
|
|
1481
|
-
border-radius: var(--r-pill);
|
|
1482
|
-
letter-spacing: 0;
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
.delta.up {
|
|
1486
|
-
background: var(--st-delivered-bg);
|
|
1487
|
-
color: var(--st-delivered-fg);
|
|
1488
|
-
}
|
|
1489
|
-
|
|
1490
|
-
.delta.down {
|
|
1491
|
-
background: var(--st-cancelled-bg);
|
|
1492
|
-
color: var(--st-cancelled-fg);
|
|
1493
|
-
}
|
|
1494
|
-
|
|
1495
1397
|
/* Lower-half dashboard grid (recent activity / pipeline / top lists). */
|
|
1496
1398
|
|
|
1497
1399
|
.dash-grid {
|
|
@@ -2953,40 +2855,7 @@
|
|
|
2953
2855
|
background: var(--paper);
|
|
2954
2856
|
}
|
|
2955
2857
|
|
|
2956
|
-
/*
|
|
2957
|
-
.ef-form-grid {
|
|
2958
|
-
display: grid;
|
|
2959
|
-
gap: var(--s-3);
|
|
2960
|
-
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
2961
|
-
}
|
|
2962
|
-
|
|
2963
|
-
.ef-form-grid > .col-2 {
|
|
2964
|
-
grid-column: span 2;
|
|
2965
|
-
}
|
|
2966
|
-
.ef-form-grid > .col-3 {
|
|
2967
|
-
grid-column: span 3;
|
|
2968
|
-
}
|
|
2969
|
-
.ef-form-grid > .col-4 {
|
|
2970
|
-
grid-column: span 4;
|
|
2971
|
-
}
|
|
2972
|
-
.ef-form-grid > .col-6 {
|
|
2973
|
-
grid-column: span 6;
|
|
2974
|
-
}
|
|
2975
|
-
.ef-form-grid > .col-8 {
|
|
2976
|
-
grid-column: span 8;
|
|
2977
|
-
}
|
|
2978
|
-
.ef-form-grid > .col-9 {
|
|
2979
|
-
grid-column: span 9;
|
|
2980
|
-
}
|
|
2981
|
-
.ef-form-grid > .col-12 {
|
|
2982
|
-
grid-column: span 12;
|
|
2983
|
-
}
|
|
2984
|
-
|
|
2985
|
-
@media (max-width: 767px) {
|
|
2986
|
-
.ef-form-grid > [class*='col-'] {
|
|
2987
|
-
grid-column: span 12;
|
|
2988
|
-
}
|
|
2989
|
-
}
|
|
2858
|
+
/* The 12-column form grid lives with `.form-grid` above. */
|
|
2990
2859
|
|
|
2991
2860
|
/* Field row inside a form grid. */
|
|
2992
2861
|
.ef-field {
|
|
@@ -3214,6 +3083,7 @@
|
|
|
3214
3083
|
display: flex;
|
|
3215
3084
|
justify-content: space-between;
|
|
3216
3085
|
align-items: center;
|
|
3086
|
+
gap: 8px;
|
|
3217
3087
|
}
|
|
3218
3088
|
|
|
3219
3089
|
.kpi-value {
|
|
@@ -3227,6 +3097,7 @@
|
|
|
3227
3097
|
letter-spacing: -0.04em;
|
|
3228
3098
|
font-feature-settings: 'tnum';
|
|
3229
3099
|
font-variant-numeric: tabular-nums;
|
|
3100
|
+
color: var(--text);
|
|
3230
3101
|
}
|
|
3231
3102
|
|
|
3232
3103
|
.kpi-value .unit {
|
|
@@ -3242,13 +3113,18 @@
|
|
|
3242
3113
|
font-family: var(--font-mono);
|
|
3243
3114
|
font-size: 11px;
|
|
3244
3115
|
font-weight: 600;
|
|
3116
|
+
padding: 2px 8px;
|
|
3117
|
+
border-radius: var(--r-pill);
|
|
3118
|
+
letter-spacing: 0;
|
|
3245
3119
|
}
|
|
3246
3120
|
|
|
3247
3121
|
.delta.up {
|
|
3248
3122
|
color: var(--st-delivered-fg);
|
|
3123
|
+
background: var(--st-delivered-bg);
|
|
3249
3124
|
}
|
|
3250
3125
|
.delta.down {
|
|
3251
3126
|
color: var(--st-cancelled-fg);
|
|
3127
|
+
background: var(--st-cancelled-bg);
|
|
3252
3128
|
}
|
|
3253
3129
|
.delta.flat {
|
|
3254
3130
|
color: var(--text-mute);
|
|
@@ -3259,6 +3135,7 @@
|
|
|
3259
3135
|
opacity: 0.9;
|
|
3260
3136
|
display: block;
|
|
3261
3137
|
width: 100%;
|
|
3138
|
+
margin-top: 4px;
|
|
3262
3139
|
}
|
|
3263
3140
|
|
|
3264
3141
|
.kpi-grid {
|