pandorga 1.3.5 → 1.3.7

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.
@@ -943,12 +943,15 @@ html[data-theme="light"] .home-hero-plate {
943
943
  }
944
944
  }
945
945
 
946
- /* ── Engineering artifacts: specimen + index folio ──
947
- Fixed specimen chrome (16:9 plate + reserved body). Mobile icon strip
948
- always reserves six equal slots at a fixed button height. Desktop inventory
949
- sits in a panel container matched to the specimen height via CSS, not JS. */
946
+ /* ── Engineering artifacts: specimen bench ──
947
+ A specimen card beside a filing rack of project cards. The specimen has a
948
+ fixed height, so swapping projects never resizes the band. Every plate is
949
+ 16:9, the ratio the thumbnails are drawn at, with the title below it; the
950
+ tagline takes the height left. From 900px the specimen is half the band and the rack a
951
+ narrower column beside it, the rest left blank. Below 900px the rack is
952
+ an icon strip above the specimen, one column per project. */
950
953
  .home-projects-bench {
951
- --home-specimen-height: 26rem;
954
+ --home-specimen-height: 32rem;
952
955
  --home-icon-btn-size: 2.75rem;
953
956
  --home-project-icon-count: 6;
954
957
  display: flex;
@@ -957,54 +960,115 @@ html[data-theme="light"] .home-hero-plate {
957
960
  gap: var(--space-md);
958
961
  }
959
962
 
963
+ .home-project-inventory {
964
+ order: -1;
965
+ }
966
+
960
967
  .home-project-specimen {
961
- position: relative;
962
- display: flex;
963
- flex-direction: column;
964
- gap: var(--space-sm);
965
- padding: var(--space-md);
966
- max-width: none;
967
- width: 100%;
968
968
  height: var(--home-specimen-height);
969
969
  overflow: hidden;
970
- border: 0;
971
- background: var(--color-panel-contrast);
970
+ gap: var(--space-sm);
971
+ padding: var(--space-md);
972
972
  box-sizing: border-box;
973
973
  }
974
974
 
975
- :root:not([data-theme="dark"]) .home-project-specimen,
976
- html[data-theme="light"] .home-project-specimen,
977
- [data-theme="dark"] .home-project-specimen {
978
- border: 0;
975
+ /* The triad top rule (`.ledger-card--edge-primary`), restated at a weight
976
+ that beats the light-paper hairline reset on `.ledger-system-card`. */
977
+ :root .home-projects-bench .home-project-specimen,
978
+ :root .home-projects-bench .home-project-specimen:hover {
979
+ border-top: 2px solid var(--color-primary);
980
+ }
981
+
982
+ .home-band--contrast .home-project-specimen {
983
+ background: var(--color-surface-card-contrast);
984
+ }
985
+
986
+ .home-band--contrast .home-project-specimen:hover {
987
+ background: var(--color-surface-high-contrast);
979
988
  }
980
989
 
981
- .home-project-specimen>.ledger-poster,
982
- .home-project-specimen>.projects-plate {
990
+ .home-specimen-strip,
991
+ .home-project-inventory-code {
992
+ display: flex;
983
993
  flex: 0 0 auto;
984
- width: auto;
985
- margin: calc(var(--space-md) * -1) calc(var(--space-md) * -1) 0;
986
- aspect-ratio: 16 / 9;
987
- max-height: calc(var(--home-specimen-height) * 0.58);
988
- position: relative;
994
+ align-items: center;
995
+ justify-content: space-between;
996
+ gap: var(--space-sm);
997
+ min-width: 0;
998
+ }
999
+
1000
+ .home-specimen-strip .ledger-meta,
1001
+ .home-project-inventory-code .ledger-meta {
1002
+ min-width: 0;
1003
+ flex-wrap: nowrap;
989
1004
  overflow: hidden;
1005
+ white-space: nowrap;
990
1006
  }
991
1007
 
992
- .home-project-specimen>.ledger-poster img,
993
- .home-project-specimen>.ledger-poster video {
1008
+ .home-specimen-folio,
1009
+ .home-project-inventory-index {
1010
+ color: var(--color-primary);
1011
+ }
1012
+
1013
+ .home-specimen-strip>.ledger-status,
1014
+ .home-project-inventory-code>.ledger-status {
1015
+ flex: 0 0 auto;
1016
+ font-family: var(--font-label);
1017
+ font-size: var(--type-micro);
1018
+ letter-spacing: 0.06em;
1019
+ text-transform: uppercase;
1020
+ line-height: 1.4;
1021
+ padding: 0.1rem 0.45rem;
1022
+ background: color-mix(in srgb, var(--color-secondary) 14%, transparent);
1023
+ }
1024
+
1025
+ /* The figure holds the plate and, always below it, the title. The badge
1026
+ shares the poster's grid cell; when the image fails, renderPosterMedia
1027
+ removes it and the badge hides with it. */
1028
+ .home-specimen-figure {
1029
+ flex: 0 0 auto;
1030
+ display: grid;
1031
+ gap: var(--space-md);
1032
+ }
1033
+
1034
+ .home-specimen-figure>.ledger-poster,
1035
+ .home-specimen-figure>.projects-plate {
1036
+ grid-area: 1 / 1;
994
1037
  width: 100%;
995
- height: 100%;
996
- object-fit: cover;
1038
+ aspect-ratio: 16 / 9;
1039
+ }
1040
+
1041
+ .home-specimen-figure>.projects-plate {
1042
+ position: relative;
1043
+ display: flex;
1044
+ align-items: center;
1045
+ justify-content: center;
1046
+ background: var(--color-surface-high);
1047
+ color: var(--color-primary);
1048
+ }
1049
+
1050
+ .home-specimen-figure .projects-plate-glyph {
1051
+ font-size: 3rem;
1052
+ }
1053
+
1054
+ .home-specimen-figure .is-initial {
1055
+ font-family: var(--font-content-title);
1056
+ font-weight: var(--weight-title);
1057
+ line-height: 1;
1058
+ }
1059
+
1060
+ .home-specimen-figure:has(> .ledger-poster)>.home-specimen-badge.is-initial {
1061
+ font-size: var(--type-subtitle);
997
1062
  }
998
1063
 
999
1064
  /* Glyph plates have no .ledger-poster::after — mirror the image corners. */
1000
- .home-project-specimen>.projects-plate::after {
1065
+ .home-specimen-figure>.projects-plate::after {
1001
1066
  content: "";
1002
1067
  --frame-corner-size: 0.7rem;
1003
1068
  --frame-corner-thickness: 1px;
1004
1069
  position: absolute;
1005
1070
  inset: 0.3rem;
1006
1071
  pointer-events: none;
1007
- z-index: 2;
1008
1072
  background:
1009
1073
  linear-gradient(var(--color-primary), var(--color-primary)) top left / var(--frame-corner-size) var(--frame-corner-thickness) no-repeat,
1010
1074
  linear-gradient(var(--color-primary), var(--color-primary)) top left / var(--frame-corner-thickness) var(--frame-corner-size) no-repeat,
@@ -1016,81 +1080,111 @@ html[data-theme="light"] .home-project-specimen,
1016
1080
  linear-gradient(var(--color-primary), var(--color-primary)) bottom right / var(--frame-corner-thickness) var(--frame-corner-size) no-repeat;
1017
1081
  }
1018
1082
 
1019
- .home-project-specimen .projects-plate--mark {
1020
- display: flex;
1083
+ .home-specimen-figure>.home-specimen-badge {
1084
+ display: none;
1085
+ }
1086
+
1087
+ .home-specimen-figure:has(> .ledger-poster)>.home-specimen-badge {
1088
+ grid-area: 1 / 1;
1089
+ justify-self: end;
1090
+ align-self: start;
1091
+ z-index: 3;
1092
+ display: inline-flex;
1021
1093
  align-items: center;
1022
1094
  justify-content: center;
1023
- background: var(--color-surface-high);
1095
+ width: 2.25rem;
1096
+ height: 2.25rem;
1097
+ margin: var(--space-sm);
1098
+ font-size: 1.25rem;
1099
+ background: var(--color-surface-card);
1024
1100
  color: var(--color-primary);
1025
1101
  }
1026
1102
 
1027
- .home-project-specimen .projects-plate-glyph {
1028
- font-size: 3rem;
1029
- }
1030
-
1031
- .home-project-specimen .ledger-meta {
1032
- display: none;
1033
- }
1034
-
1035
- .home-project-specimen .ledger-card-title,
1036
- .home-project-specimen .ledger-card-title a {
1037
- flex: 0 0 auto;
1038
- font-family: var(--font-content-title);
1103
+ .home-project-specimen .home-specimen-title {
1104
+ margin: 0;
1039
1105
  font-size: var(--type-card-lg);
1040
- font-weight: var(--weight-title);
1041
- font-synthesis: none;
1042
1106
  line-height: 1.2;
1043
- color: var(--color-on-surface);
1044
- min-height: calc(1.2em * 1);
1045
- margin: 0;
1046
1107
  overflow: hidden;
1047
1108
  text-overflow: ellipsis;
1048
1109
  white-space: nowrap;
1049
1110
  }
1050
1111
 
1051
- .home-project-specimen:hover .ledger-card-title a,
1052
- .home-project-specimen:focus-within .ledger-card-title a {
1053
- color: var(--color-primary);
1054
- }
1055
-
1112
+ /* The tagline takes whatever height the plate leaves, clipped at a whole
1113
+ line by the clamp; the chips and the foot keep to the bottom edge. */
1056
1114
  .home-project-specimen .ledger-card-copy {
1057
- flex: 0 0 auto;
1058
- font-family: var(--font-body);
1115
+ flex: 0 1 auto;
1116
+ min-height: 0;
1059
1117
  font-size: var(--type-body);
1060
- font-weight: var(--weight-body);
1061
1118
  line-height: var(--leading-body);
1062
1119
  color: var(--color-on-surface-variant);
1063
1120
  display: -webkit-box;
1064
1121
  -webkit-box-orient: vertical;
1065
- -webkit-line-clamp: 3;
1066
- line-clamp: 3;
1122
+ -webkit-line-clamp: var(--home-specimen-copy-lines, 4);
1123
+ line-clamp: var(--home-specimen-copy-lines, 4);
1067
1124
  overflow: hidden;
1068
- min-height: calc(var(--type-body) * var(--leading-body) * 3);
1069
- margin: 0;
1070
1125
  }
1071
1126
 
1072
1127
  .home-project-specimen .ledger-chip-row {
1073
- display: flex;
1074
- flex-wrap: wrap;
1128
+ flex: 0 0 auto;
1129
+ flex-wrap: nowrap;
1130
+ overflow: hidden;
1075
1131
  gap: var(--space-xs);
1076
- margin: 0;
1132
+ margin: auto 0 0;
1133
+ }
1134
+
1135
+ .home-specimen-foot {
1136
+ flex: 0 0 auto;
1137
+ flex-wrap: nowrap;
1138
+ gap: var(--space-md);
1077
1139
  margin-top: auto;
1078
- max-height: 4.5rem;
1079
- overflow: hidden;
1140
+ padding-top: var(--space-md);
1080
1141
  }
1081
1142
 
1082
- .home-project-specimen .ledger-card-links {
1083
- display: none;
1143
+ .home-project-specimen .ledger-chip-row~.home-specimen-foot {
1144
+ margin-top: var(--space-xs);
1145
+ }
1146
+
1147
+ .home-specimen-foot .ledger-card-links {
1148
+ position: relative;
1149
+ z-index: 1;
1150
+ min-width: 0;
1151
+ display: flex;
1152
+ align-items: center;
1153
+ flex-wrap: wrap;
1154
+ gap: var(--space-sm) var(--space-lg);
1155
+ padding-top: 0;
1156
+ border-top: 0;
1157
+ }
1158
+
1159
+ .home-specimen-open {
1160
+ margin-left: auto;
1161
+ flex: 0 0 auto;
1162
+ }
1163
+
1164
+ .home-project-specimen:hover .home-specimen-open {
1165
+ color: var(--color-on-primary, var(--color-surface));
1166
+ border-color: var(--color-link-hover);
1167
+ background: var(--color-primary);
1084
1168
  }
1085
1169
 
1086
- /* Mobile: six equal icon slots, fixed button height (empty slots stay empty). */
1170
+ .home-project-specimen:hover .home-specimen-open .ledger-cta-arrow {
1171
+ transform: translateX(4px);
1172
+ }
1173
+
1174
+ @media (prefers-reduced-motion: reduce) {
1175
+ .home-project-specimen:hover .home-specimen-open .ledger-cta-arrow {
1176
+ transform: none;
1177
+ }
1178
+ }
1179
+
1180
+ /* Mobile: one equal column per project (the script sets the count, up to
1181
+ six), so the strip spans the band; fixed button height. */
1087
1182
  .home-project-inventory {
1088
1183
  display: grid;
1089
1184
  grid-template-columns: repeat(var(--home-project-icon-count, 6), minmax(0, 1fr));
1090
1185
  gap: var(--space-xs);
1091
1186
  min-width: 0;
1092
1187
  min-height: 0;
1093
- height: auto !important;
1094
1188
  overflow: visible;
1095
1189
  background: transparent;
1096
1190
  border: 0;
@@ -1102,22 +1196,16 @@ html[data-theme="light"] .home-project-specimen,
1102
1196
  display: flex;
1103
1197
  align-items: center;
1104
1198
  justify-content: center;
1105
- flex: none;
1106
- width: auto;
1107
1199
  min-width: 0;
1108
1200
  height: var(--home-icon-btn-size);
1109
- aspect-ratio: auto;
1110
- gap: 0;
1111
1201
  padding: 0;
1112
1202
  border: 1px solid var(--border-gentle-divider);
1113
1203
  background: var(--color-panel-contrast);
1114
1204
  cursor: pointer;
1115
- box-shadow: none;
1116
1205
  transition: background-color var(--motion-duration-fast) var(--motion-ease-default),
1117
1206
  border-color var(--motion-duration-fast) var(--motion-ease-default);
1118
1207
  }
1119
1208
 
1120
- .home-project-inventory-index,
1121
1209
  .home-project-inventory-media,
1122
1210
  .home-project-inventory-body {
1123
1211
  display: none;
@@ -1127,9 +1215,6 @@ html[data-theme="light"] .home-project-specimen,
1127
1215
  display: inline-flex;
1128
1216
  align-items: center;
1129
1217
  justify-content: center;
1130
- width: auto;
1131
- height: auto;
1132
- margin: 0;
1133
1218
  font-size: 1.25rem;
1134
1219
  line-height: 1;
1135
1220
  color: var(--color-on-surface-variant);
@@ -1152,7 +1237,6 @@ html[data-theme="light"] .home-project-specimen,
1152
1237
  outline: 1px solid var(--color-primary);
1153
1238
  outline-offset: -1px;
1154
1239
  background: var(--color-surface-high);
1155
- box-shadow: none;
1156
1240
  }
1157
1241
 
1158
1242
  .home-project-inventory-row.is-selected .home-project-inventory-glyph,
@@ -1167,93 +1251,68 @@ html[data-theme="light"] .home-project-specimen,
1167
1251
  background: var(--color-surface-high-contrast);
1168
1252
  }
1169
1253
 
1170
- .home-project-inventory-row .ledger-meta {
1171
- display: none;
1172
- }
1173
-
1174
1254
  @media (min-width: 900px) {
1255
+
1256
+ /* The rack panel stretches to the specimen's fixed height. */
1175
1257
  .home-projects-bench {
1176
- --home-specimen-height: 28rem;
1258
+ --home-specimen-height: 36rem;
1177
1259
  display: grid;
1178
- grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
1179
- gap: var(--space-xl);
1260
+ grid-template-columns: minmax(0, 50%) minmax(18rem, 34%);
1261
+ column-gap: var(--space-xl);
1180
1262
  align-items: stretch;
1181
1263
  }
1182
1264
 
1183
- .home-project-specimen {
1184
- height: var(--home-specimen-height);
1185
- }
1186
-
1187
- /* Panel container over the tiled band — not bare rows on the grid. */
1188
1265
  .home-project-inventory {
1266
+ order: 0;
1189
1267
  display: flex;
1190
1268
  flex-direction: column;
1191
- height: var(--home-specimen-height);
1269
+ gap: var(--space-sm);
1270
+ min-height: 0;
1192
1271
  overflow: hidden;
1193
- gap: 0;
1194
- padding: 0;
1272
+ padding: var(--space-md);
1195
1273
  background: var(--color-panel-contrast);
1196
- border: 1px solid var(--border-gentle-divider);
1274
+ }
1275
+
1276
+ .home-project-specimen .home-specimen-title {
1277
+ font-size: var(--type-title);
1197
1278
  }
1198
1279
 
1199
1280
  .home-project-inventory-row {
1200
- display: flex;
1201
- flex-direction: row;
1202
- align-items: center;
1203
- justify-content: flex-start;
1204
1281
  flex: 1 1 0;
1205
- width: auto;
1282
+ justify-content: flex-start;
1283
+ gap: var(--space-md);
1206
1284
  height: auto;
1207
1285
  min-height: 0;
1208
- aspect-ratio: auto;
1209
- gap: var(--space-md);
1210
1286
  padding: var(--space-sm) var(--space-md);
1211
- border: 0;
1212
- border-bottom: 1px solid var(--border-gentle-divider);
1213
- background: transparent;
1287
+ border: 1px solid var(--border-gentle-divider);
1288
+ background: var(--color-surface-card);
1214
1289
  outline: none;
1215
1290
  }
1216
1291
 
1217
- .home-project-inventory-row:last-child {
1218
- border-bottom: 0;
1292
+ .home-band--contrast .home-project-inventory-row {
1293
+ background: var(--color-surface-card-contrast);
1219
1294
  }
1220
1295
 
1221
- .home-project-inventory-row.is-selected {
1296
+ .home-project-inventory-row.is-selected,
1297
+ .home-band--contrast .home-project-inventory-row.is-selected {
1222
1298
  background: var(--color-surface-high);
1223
- border-color: transparent;
1299
+ border-color: var(--border-gentle-divider);
1224
1300
  outline: none;
1225
1301
  box-shadow: inset 3px 0 0 var(--color-primary);
1226
1302
  }
1227
1303
 
1228
- .home-project-inventory-index {
1229
- display: block;
1230
- flex: 0 0 1.75rem;
1231
- font-family: var(--font-mono);
1232
- font-size: var(--type-caption);
1233
- letter-spacing: 0.04em;
1234
- color: var(--color-on-surface-variant);
1235
- line-height: 1;
1236
- text-align: right;
1237
- }
1238
-
1239
- .home-project-inventory-row.is-selected .home-project-inventory-index,
1240
- .home-project-inventory-row:hover .home-project-inventory-index,
1241
- .home-project-inventory-row:focus-visible .home-project-inventory-index {
1242
- color: var(--color-primary);
1243
- }
1244
-
1245
1304
  .home-project-inventory-media {
1246
1305
  display: block;
1247
1306
  flex: 0 0 auto;
1248
1307
  width: 5.5rem;
1249
- align-self: center;
1250
- height: auto;
1251
- min-width: 0;
1252
- min-height: 0;
1253
1308
  aspect-ratio: 16 / 9;
1254
1309
  overflow: hidden;
1255
1310
  background: var(--color-surface-high);
1256
- border: 1px solid var(--border-gentle-subtle);
1311
+ }
1312
+
1313
+ .home-project-inventory-row.is-selected .home-project-inventory-media {
1314
+ outline: 1px solid var(--color-primary);
1315
+ outline-offset: 2px;
1257
1316
  }
1258
1317
 
1259
1318
  .home-project-inventory-media .ledger-poster,
@@ -1261,7 +1320,6 @@ html[data-theme="light"] .home-project-specimen,
1261
1320
  width: 100%;
1262
1321
  height: 100%;
1263
1322
  aspect-ratio: auto;
1264
- border: 0;
1265
1323
  overflow: hidden;
1266
1324
  background: var(--color-surface-high);
1267
1325
  }
@@ -1270,13 +1328,6 @@ html[data-theme="light"] .home-project-specimen,
1270
1328
  display: none;
1271
1329
  }
1272
1330
 
1273
- .home-project-inventory-media .ledger-poster img {
1274
- width: 100%;
1275
- height: 100%;
1276
- object-fit: cover;
1277
- display: block;
1278
- }
1279
-
1280
1331
  .home-project-inventory-mark {
1281
1332
  display: flex;
1282
1333
  align-items: center;
@@ -1284,6 +1335,10 @@ html[data-theme="light"] .home-project-specimen,
1284
1335
  color: var(--color-primary);
1285
1336
  }
1286
1337
 
1338
+ .home-project-inventory-mark .material-symbols-outlined {
1339
+ font-size: 1.5rem;
1340
+ }
1341
+
1287
1342
  .home-project-inventory-mark--initial {
1288
1343
  font-family: var(--font-content-title);
1289
1344
  font-size: var(--type-card);
@@ -1292,33 +1347,23 @@ html[data-theme="light"] .home-project-specimen,
1292
1347
  color: var(--color-on-surface);
1293
1348
  }
1294
1349
 
1295
- .home-project-inventory-mark .material-symbols-outlined {
1296
- font-size: 1.25rem;
1297
- }
1298
-
1299
1350
  .home-project-inventory-body {
1300
1351
  display: flex;
1301
1352
  flex-direction: column;
1302
1353
  justify-content: center;
1303
- gap: 0;
1354
+ gap: 0.1rem;
1304
1355
  flex: 1 1 0;
1305
1356
  min-width: 0;
1306
- padding: 0;
1307
1357
  }
1308
1358
 
1309
1359
  .home-project-inventory-title {
1310
1360
  margin: 0;
1311
- font-family: var(--font-content-title);
1312
- font-size: var(--type-card);
1313
- font-weight: var(--weight-title);
1314
- font-synthesis: none;
1361
+ font-size: var(--type-label-lg);
1315
1362
  line-height: 1.25;
1316
1363
  color: var(--color-on-surface);
1317
- }
1318
-
1319
- .home-project-inventory-title a {
1320
- color: inherit;
1321
- text-decoration: none;
1364
+ overflow: hidden;
1365
+ text-overflow: ellipsis;
1366
+ white-space: nowrap;
1322
1367
  }
1323
1368
 
1324
1369
  .home-project-inventory-row:hover .home-project-inventory-title,
@@ -1327,15 +1372,23 @@ html[data-theme="light"] .home-project-specimen,
1327
1372
  color: var(--color-primary);
1328
1373
  }
1329
1374
 
1330
- .home-project-inventory-glyph {
1331
- flex: 0 0 auto;
1332
- width: 1.75rem;
1333
- height: 1.75rem;
1334
- margin-left: auto;
1335
- font-size: 1.25rem;
1375
+ .home-project-inventory-copy {
1376
+ margin: 0;
1377
+ font-size: var(--type-meta);
1378
+ font-weight: var(--weight-body);
1379
+ line-height: 1.4;
1380
+ color: var(--color-on-surface-variant);
1381
+ overflow: hidden;
1382
+ text-overflow: ellipsis;
1383
+ white-space: nowrap;
1336
1384
  }
1337
- }
1338
1385
 
1386
+ /* Two classes: the glyph also carries .material-symbols-outlined, whose
1387
+ font stylesheet loads after this one and sets display. */
1388
+ .home-project-inventory-row .home-project-inventory-glyph {
1389
+ display: none;
1390
+ }
1391
+ }
1339
1392
 
1340
1393
  @media (min-width: 768px) {}
1341
1394
 
@@ -24,7 +24,7 @@ module Pandorga
24
24
 
25
25
  gem "pandorga", "~> 1.3"
26
26
  # Local checkout: gem "pandorga", path: "../pandorga"
27
- # GitHub tag: gem "pandorga", github: "alexandrelheinen/pandorga", tag: "v1.3.5"
27
+ # GitHub tag: gem "pandorga", github: "alexandrelheinen/pandorga", tag: "v1.3.7"
28
28
  gem "csv"
29
29
  gem "base64"
30
30
  RUBY
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pandorga
4
- VERSION = "1.3.5"
4
+ VERSION = "1.3.7"
5
5
  end
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "project-inventory-row/icon mark without a thumbnail (PLT-AC-15)",
3
+ "block": "renderProjectInventoryRow",
4
+ "args": [
5
+ {
6
+ "slug": "bossa",
7
+ "front_matter": {
8
+ "project": "Bossa",
9
+ "icon": "music_note"
10
+ }
11
+ },
12
+ {
13
+ "selectable": true,
14
+ "selected": true
15
+ }
16
+ ],
17
+ "selectors": [
18
+ "div.home-project-inventory-mark",
19
+ "h3.home-project-inventory-title"
20
+ ],
21
+ "forbidden": [
22
+ "ledger-poster",
23
+ "home-project-inventory-mark--initial"
24
+ ],
25
+ "contains": [
26
+ "aria-pressed=\"true\"",
27
+ "is-selected"
28
+ ]
29
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "project-inventory-row/rack card (PLT-AC-15)",
3
+ "block": "renderProjectInventoryRow",
4
+ "args": [
5
+ {
6
+ "slug": "arco",
7
+ "front_matter": {
8
+ "project": "ARCO",
9
+ "thumbnail": "/media/projects/arco.png",
10
+ "icon": "route",
11
+ "label": "Simulation",
12
+ "status": "Ongoing",
13
+ "tagline": "A city-scale race replayed from telemetry."
14
+ }
15
+ },
16
+ {
17
+ "selectable": true,
18
+ "selected": false,
19
+ "index": 2
20
+ }
21
+ ],
22
+ "selectors": [
23
+ "article.home-project-inventory-row",
24
+ "div.home-project-inventory-media",
25
+ "div.ledger-poster",
26
+ "div.home-project-inventory-code",
27
+ "span.home-project-inventory-index",
28
+ "span.ledger-status",
29
+ "h3.home-project-inventory-title",
30
+ "p.home-project-inventory-copy",
31
+ "span.home-project-inventory-glyph"
32
+ ],
33
+ "forbidden": [
34
+ "ledger-card-stretch"
35
+ ],
36
+ "contains": [
37
+ ">02<",
38
+ ">Simulation<",
39
+ ">Ongoing<",
40
+ ">ARCO<",
41
+ ">A city-scale race replayed from telemetry.<",
42
+ ">route<",
43
+ "aria-pressed=\"false\"",
44
+ "data-slug=\"arco\""
45
+ ]
46
+ }