pandorga 1.3.6 → 1.3.8

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