@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elasticias/ui",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0",
@@ -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
- .form-grid {
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-6 {
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-12 {
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
- /* Form grid — 12 cols, collapses to single col under 720px. */
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 {