pandorga 1.3.3 → 1.3.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/_includes/content-runtime/43-blocks.html +1 -0
- data/_layouts/home.html +6 -40
- data/assets/css/ledger/home.css +239 -211
- data/lib/pandorga/commands/new.rb +1 -1
- data/lib/pandorga/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99bd672a429eb53fd10ee4fc1bfefc9ff378ed47ca44a44ccd7280331cd2c1c2
|
|
4
|
+
data.tar.gz: 5954341027c77b5113a98976f4c2acf5becd066d013db6de69022e2b3fb1c60c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fe43ea960dd9093bbf93c1e8fc11106842f1a004b108c6db1aa9197ecf5ce334eb7be56c35a22f02412a9c5c8df2ae5b63cc06c5ad206afa2484ac1b21952618
|
|
7
|
+
data.tar.gz: 14e3998995fa0189cce9a6875047e319e0a39ed8e0552530a081b035f08e72a1222627e1481ad67ad1568e7c0f84f01f636c6974868a6e9ee8976eed7e9db3b7
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.3.5] — 2026-10-05
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Home specimen height is CSS-fixed (no ResizeObserver jump when switching
|
|
8
|
+
projects); mobile icon strip always reserves six compact slots; desktop
|
|
9
|
+
inventory sits in a panel over the tiled band
|
|
10
|
+
|
|
11
|
+
## [1.3.4] — 2026-10-05
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Home portfolio mobile inventory is a single row of project-icon buttons
|
|
16
|
+
(desktop index styles no longer override the phone layout)
|
|
17
|
+
|
|
3
18
|
## [1.3.3] — 2026-10-05
|
|
4
19
|
|
|
5
20
|
### Changed
|
data/_layouts/home.html
CHANGED
|
@@ -234,42 +234,18 @@ layout: shell
|
|
|
234
234
|
eligible: function () { return true; }
|
|
235
235
|
});
|
|
236
236
|
var selectedSlug = (featuredPick && featuredPick.slug) || portfolio[0].slug;
|
|
237
|
-
var
|
|
237
|
+
var iconSlots = 6;
|
|
238
238
|
|
|
239
239
|
function entryBySlug(slug) {
|
|
240
240
|
return portfolio.filter(function (entry) { return entry.slug === slug; })[0] || portfolio[0];
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
function syncInventoryHeight() {
|
|
244
|
-
if (!window.matchMedia('(min-width: 900px)').matches) {
|
|
245
|
-
inventorySlot.style.height = '';
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
var specimen = specimenSlot.querySelector('.home-project-specimen');
|
|
249
|
-
if (!specimen) {
|
|
250
|
-
inventorySlot.style.height = '';
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
inventorySlot.style.height = Math.round(specimen.getBoundingClientRect().height) + 'px';
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
function watchSpecimen(specimen) {
|
|
257
|
-
if (inventoryResizeObserver) {
|
|
258
|
-
inventoryResizeObserver.disconnect();
|
|
259
|
-
inventoryResizeObserver = null;
|
|
260
|
-
}
|
|
261
|
-
if (!specimen || typeof ResizeObserver === 'undefined') return;
|
|
262
|
-
inventoryResizeObserver = new ResizeObserver(function () {
|
|
263
|
-
syncInventoryHeight();
|
|
264
|
-
});
|
|
265
|
-
inventoryResizeObserver.observe(specimen);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
243
|
function paintSpecimen(entry) {
|
|
269
244
|
specimenSlot.innerHTML = '';
|
|
270
245
|
/* No card-level drafting corners / edge tick — markers live on the
|
|
271
246
|
poster plate only, so they do not overlap the image. Meta strip
|
|
272
|
-
is suppressed; tags take that slot below the plate.
|
|
247
|
+
is suppressed; tags take that slot below the plate. Specimen and
|
|
248
|
+
inventory sizes are CSS-fixed (no ResizeObserver). */
|
|
273
249
|
specimenSlot.appendChild(runtime.renderSystemCard(asItem(entry), {
|
|
274
250
|
href: entry.url || runtime.projectUrl(entry.slug),
|
|
275
251
|
tagHref: systemTagHref,
|
|
@@ -277,22 +253,14 @@ layout: shell
|
|
|
277
253
|
glyphFallback: true,
|
|
278
254
|
metaParts: []
|
|
279
255
|
}));
|
|
280
|
-
var specimen = specimenSlot.querySelector('.home-project-specimen');
|
|
281
|
-
watchSpecimen(specimen);
|
|
282
|
-
var poster = specimenSlot.querySelector('.ledger-poster img, .projects-plate');
|
|
283
|
-
if (poster && poster.tagName === 'IMG' && !poster.complete) {
|
|
284
|
-
poster.addEventListener('load', syncInventoryHeight, { once: true });
|
|
285
|
-
}
|
|
286
|
-
window.requestAnimationFrame(syncInventoryHeight);
|
|
287
256
|
}
|
|
288
257
|
|
|
289
258
|
function paintInventory() {
|
|
290
259
|
inventorySlot.hidden = false;
|
|
291
260
|
inventorySlot.innerHTML = '';
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
);
|
|
261
|
+
/* Always reserve six mobile columns so one project does not stretch
|
|
262
|
+
a single giant button across the band. */
|
|
263
|
+
inventorySlot.style.setProperty('--home-project-icon-count', String(iconSlots));
|
|
296
264
|
portfolio.forEach(function (entry, i) {
|
|
297
265
|
var row = runtime.renderProjectInventoryRow(asItem(entry), {
|
|
298
266
|
selectable: true,
|
|
@@ -318,12 +286,10 @@ layout: shell
|
|
|
318
286
|
});
|
|
319
287
|
inventorySlot.appendChild(row);
|
|
320
288
|
});
|
|
321
|
-
window.requestAnimationFrame(syncInventoryHeight);
|
|
322
289
|
}
|
|
323
290
|
|
|
324
291
|
paintSpecimen(entryBySlug(selectedSlug));
|
|
325
292
|
paintInventory();
|
|
326
|
-
window.addEventListener('resize', syncInventoryHeight);
|
|
327
293
|
return;
|
|
328
294
|
}
|
|
329
295
|
|
data/assets/css/ledger/home.css
CHANGED
|
@@ -944,32 +944,32 @@ html[data-theme="light"] .home-hero-plate {
|
|
|
944
944
|
}
|
|
945
945
|
|
|
946
946
|
/* ── Engineering artifacts: specimen + index folio ──
|
|
947
|
-
|
|
948
|
-
|
|
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. */
|
|
949
950
|
.home-projects-bench {
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
.home-projects-bench {
|
|
958
|
-
grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
|
|
959
|
-
gap: var(--space-xl);
|
|
960
|
-
align-items: start;
|
|
961
|
-
}
|
|
951
|
+
--home-specimen-height: 26rem;
|
|
952
|
+
--home-icon-btn-size: 2.75rem;
|
|
953
|
+
--home-project-icon-count: 6;
|
|
954
|
+
display: flex;
|
|
955
|
+
flex-direction: column;
|
|
956
|
+
align-items: stretch;
|
|
957
|
+
gap: var(--space-md);
|
|
962
958
|
}
|
|
963
959
|
|
|
964
960
|
.home-project-specimen {
|
|
965
961
|
position: relative;
|
|
962
|
+
display: flex;
|
|
963
|
+
flex-direction: column;
|
|
966
964
|
gap: var(--space-sm);
|
|
967
965
|
padding: var(--space-md);
|
|
968
966
|
max-width: none;
|
|
969
967
|
width: 100%;
|
|
970
|
-
|
|
968
|
+
height: var(--home-specimen-height);
|
|
969
|
+
overflow: hidden;
|
|
971
970
|
border: 0;
|
|
972
971
|
background: var(--color-panel-contrast);
|
|
972
|
+
box-sizing: border-box;
|
|
973
973
|
}
|
|
974
974
|
|
|
975
975
|
:root:not([data-theme="dark"]) .home-project-specimen,
|
|
@@ -980,10 +980,20 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
980
980
|
|
|
981
981
|
.home-project-specimen>.ledger-poster,
|
|
982
982
|
.home-project-specimen>.projects-plate {
|
|
983
|
+
flex: 0 0 auto;
|
|
983
984
|
width: auto;
|
|
984
985
|
margin: calc(var(--space-md) * -1) calc(var(--space-md) * -1) 0;
|
|
985
986
|
aspect-ratio: 16 / 9;
|
|
987
|
+
max-height: calc(var(--home-specimen-height) * 0.58);
|
|
986
988
|
position: relative;
|
|
989
|
+
overflow: hidden;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
.home-project-specimen>.ledger-poster img,
|
|
993
|
+
.home-project-specimen>.ledger-poster video {
|
|
994
|
+
width: 100%;
|
|
995
|
+
height: 100%;
|
|
996
|
+
object-fit: cover;
|
|
987
997
|
}
|
|
988
998
|
|
|
989
999
|
/* Glyph plates have no .ledger-poster::after — mirror the image corners. */
|
|
@@ -1006,77 +1016,6 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1006
1016
|
linear-gradient(var(--color-primary), var(--color-primary)) bottom right / var(--frame-corner-thickness) var(--frame-corner-size) no-repeat;
|
|
1007
1017
|
}
|
|
1008
1018
|
|
|
1009
|
-
@media (max-width: 899px) {
|
|
1010
|
-
.home-projects-bench {
|
|
1011
|
-
display: flex;
|
|
1012
|
-
flex-direction: column;
|
|
1013
|
-
align-items: stretch;
|
|
1014
|
-
gap: var(--space-md);
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
.home-project-specimen {
|
|
1018
|
-
max-width: none;
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
/* Icon strip under the specimen: equal buttons spanning the band width. */
|
|
1022
|
-
.home-project-inventory {
|
|
1023
|
-
display: grid;
|
|
1024
|
-
grid-template-columns: repeat(var(--home-project-icon-count, 6), minmax(0, 1fr));
|
|
1025
|
-
gap: var(--space-xs);
|
|
1026
|
-
height: auto !important;
|
|
1027
|
-
min-height: 0;
|
|
1028
|
-
overflow: visible;
|
|
1029
|
-
background: transparent;
|
|
1030
|
-
border: 0;
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
.home-project-inventory-row {
|
|
1034
|
-
display: block;
|
|
1035
|
-
flex: none;
|
|
1036
|
-
min-height: 0;
|
|
1037
|
-
padding: 0;
|
|
1038
|
-
border: 1px solid var(--border-gentle-divider);
|
|
1039
|
-
border-bottom-color: var(--border-gentle-divider);
|
|
1040
|
-
background: var(--color-panel-contrast);
|
|
1041
|
-
aspect-ratio: 1;
|
|
1042
|
-
box-shadow: none;
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
.home-project-inventory-row:last-child {
|
|
1046
|
-
border-bottom: 1px solid var(--border-gentle-divider);
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
|
-
.home-project-inventory-index,
|
|
1050
|
-
.home-project-inventory-body,
|
|
1051
|
-
.home-project-inventory-glyph {
|
|
1052
|
-
display: none;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
.home-project-inventory-media {
|
|
1056
|
-
width: 100%;
|
|
1057
|
-
height: 100%;
|
|
1058
|
-
aspect-ratio: auto;
|
|
1059
|
-
border-right: 0;
|
|
1060
|
-
}
|
|
1061
|
-
|
|
1062
|
-
.home-project-inventory-media .ledger-poster,
|
|
1063
|
-
.home-project-inventory-mark {
|
|
1064
|
-
aspect-ratio: 1;
|
|
1065
|
-
height: 100%;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
.home-project-inventory-media .ledger-poster::after {
|
|
1069
|
-
display: none;
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
.home-project-inventory-row.is-selected {
|
|
1073
|
-
border-color: var(--color-primary);
|
|
1074
|
-
outline: 1px solid var(--color-primary);
|
|
1075
|
-
outline-offset: -1px;
|
|
1076
|
-
background: var(--color-panel-contrast);
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
1019
|
.home-project-specimen .projects-plate--mark {
|
|
1081
1020
|
display: flex;
|
|
1082
1021
|
align-items: center;
|
|
@@ -1095,12 +1034,18 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1095
1034
|
|
|
1096
1035
|
.home-project-specimen .ledger-card-title,
|
|
1097
1036
|
.home-project-specimen .ledger-card-title a {
|
|
1037
|
+
flex: 0 0 auto;
|
|
1098
1038
|
font-family: var(--font-content-title);
|
|
1099
1039
|
font-size: var(--type-card-lg);
|
|
1100
1040
|
font-weight: var(--weight-title);
|
|
1101
1041
|
font-synthesis: none;
|
|
1102
1042
|
line-height: 1.2;
|
|
1103
1043
|
color: var(--color-on-surface);
|
|
1044
|
+
min-height: calc(1.2em * 1);
|
|
1045
|
+
margin: 0;
|
|
1046
|
+
overflow: hidden;
|
|
1047
|
+
text-overflow: ellipsis;
|
|
1048
|
+
white-space: nowrap;
|
|
1104
1049
|
}
|
|
1105
1050
|
|
|
1106
1051
|
.home-project-specimen:hover .ledger-card-title a,
|
|
@@ -1109,6 +1054,7 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1109
1054
|
}
|
|
1110
1055
|
|
|
1111
1056
|
.home-project-specimen .ledger-card-copy {
|
|
1057
|
+
flex: 0 0 auto;
|
|
1112
1058
|
font-family: var(--font-body);
|
|
1113
1059
|
font-size: var(--type-body);
|
|
1114
1060
|
font-weight: var(--weight-body);
|
|
@@ -1119,48 +1065,80 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1119
1065
|
-webkit-line-clamp: 3;
|
|
1120
1066
|
line-clamp: 3;
|
|
1121
1067
|
overflow: hidden;
|
|
1068
|
+
min-height: calc(var(--type-body) * var(--leading-body) * 3);
|
|
1069
|
+
margin: 0;
|
|
1122
1070
|
}
|
|
1123
1071
|
|
|
1124
|
-
/* Tags replace the old label/status strip; outbound links stay off. */
|
|
1125
1072
|
.home-project-specimen .ledger-chip-row {
|
|
1126
1073
|
display: flex;
|
|
1127
1074
|
flex-wrap: wrap;
|
|
1128
1075
|
gap: var(--space-xs);
|
|
1129
1076
|
margin: 0;
|
|
1077
|
+
margin-top: auto;
|
|
1078
|
+
max-height: 4.5rem;
|
|
1079
|
+
overflow: hidden;
|
|
1130
1080
|
}
|
|
1131
1081
|
|
|
1132
1082
|
.home-project-specimen .ledger-card-links {
|
|
1133
1083
|
display: none;
|
|
1134
1084
|
}
|
|
1135
1085
|
|
|
1086
|
+
/* Mobile: six equal icon slots, fixed button height (empty slots stay empty). */
|
|
1136
1087
|
.home-project-inventory {
|
|
1137
|
-
display:
|
|
1138
|
-
|
|
1088
|
+
display: grid;
|
|
1089
|
+
grid-template-columns: repeat(var(--home-project-icon-count, 6), minmax(0, 1fr));
|
|
1090
|
+
gap: var(--space-xs);
|
|
1139
1091
|
min-width: 0;
|
|
1140
1092
|
min-height: 0;
|
|
1093
|
+
height: auto !important;
|
|
1094
|
+
overflow: visible;
|
|
1141
1095
|
background: transparent;
|
|
1142
1096
|
border: 0;
|
|
1143
|
-
|
|
1097
|
+
padding: 0;
|
|
1144
1098
|
}
|
|
1145
1099
|
|
|
1146
1100
|
.home-project-inventory-row {
|
|
1147
1101
|
position: relative;
|
|
1148
1102
|
display: flex;
|
|
1149
|
-
flex-direction: row;
|
|
1150
1103
|
align-items: center;
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1104
|
+
justify-content: center;
|
|
1105
|
+
flex: none;
|
|
1106
|
+
width: auto;
|
|
1107
|
+
min-width: 0;
|
|
1108
|
+
height: var(--home-icon-btn-size);
|
|
1109
|
+
aspect-ratio: auto;
|
|
1110
|
+
gap: 0;
|
|
1111
|
+
padding: 0;
|
|
1112
|
+
border: 1px solid var(--border-gentle-divider);
|
|
1113
|
+
background: var(--color-panel-contrast);
|
|
1158
1114
|
cursor: pointer;
|
|
1159
|
-
|
|
1115
|
+
box-shadow: none;
|
|
1116
|
+
transition: background-color var(--motion-duration-fast) var(--motion-ease-default),
|
|
1117
|
+
border-color var(--motion-duration-fast) var(--motion-ease-default);
|
|
1160
1118
|
}
|
|
1161
1119
|
|
|
1162
|
-
.home-project-inventory-
|
|
1163
|
-
|
|
1120
|
+
.home-project-inventory-index,
|
|
1121
|
+
.home-project-inventory-media,
|
|
1122
|
+
.home-project-inventory-body {
|
|
1123
|
+
display: none;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
.home-project-inventory-glyph {
|
|
1127
|
+
display: inline-flex;
|
|
1128
|
+
align-items: center;
|
|
1129
|
+
justify-content: center;
|
|
1130
|
+
width: auto;
|
|
1131
|
+
height: auto;
|
|
1132
|
+
margin: 0;
|
|
1133
|
+
font-size: 1.25rem;
|
|
1134
|
+
line-height: 1;
|
|
1135
|
+
color: var(--color-on-surface-variant);
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
.home-project-inventory-glyph--initial {
|
|
1139
|
+
font-family: var(--font-content-title);
|
|
1140
|
+
font-size: var(--type-subtitle);
|
|
1141
|
+
font-weight: var(--weight-title);
|
|
1164
1142
|
}
|
|
1165
1143
|
|
|
1166
1144
|
.home-project-inventory-row:hover,
|
|
@@ -1170,8 +1148,17 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1170
1148
|
}
|
|
1171
1149
|
|
|
1172
1150
|
.home-project-inventory-row.is-selected {
|
|
1151
|
+
border-color: var(--color-primary);
|
|
1152
|
+
outline: 1px solid var(--color-primary);
|
|
1153
|
+
outline-offset: -1px;
|
|
1173
1154
|
background: var(--color-surface-high);
|
|
1174
|
-
box-shadow:
|
|
1155
|
+
box-shadow: none;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
.home-project-inventory-row.is-selected .home-project-inventory-glyph,
|
|
1159
|
+
.home-project-inventory-row:hover .home-project-inventory-glyph,
|
|
1160
|
+
.home-project-inventory-row:focus-visible .home-project-inventory-glyph {
|
|
1161
|
+
color: var(--color-primary);
|
|
1175
1162
|
}
|
|
1176
1163
|
|
|
1177
1164
|
.home-band--contrast .home-project-inventory-row:hover,
|
|
@@ -1180,132 +1167,173 @@ html[data-theme="light"] .home-project-specimen,
|
|
|
1180
1167
|
background: var(--color-surface-high-contrast);
|
|
1181
1168
|
}
|
|
1182
1169
|
|
|
1183
|
-
.home-project-inventory-
|
|
1184
|
-
|
|
1185
|
-
font-family: var(--font-mono);
|
|
1186
|
-
font-size: var(--type-caption);
|
|
1187
|
-
letter-spacing: 0.04em;
|
|
1188
|
-
color: var(--color-on-surface-variant);
|
|
1189
|
-
line-height: 1;
|
|
1190
|
-
text-align: right;
|
|
1170
|
+
.home-project-inventory-row .ledger-meta {
|
|
1171
|
+
display: none;
|
|
1191
1172
|
}
|
|
1192
1173
|
|
|
1193
|
-
|
|
1194
|
-
.home-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1174
|
+
@media (min-width: 900px) {
|
|
1175
|
+
.home-projects-bench {
|
|
1176
|
+
--home-specimen-height: 28rem;
|
|
1177
|
+
display: grid;
|
|
1178
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
|
|
1179
|
+
gap: var(--space-xl);
|
|
1180
|
+
align-items: stretch;
|
|
1181
|
+
}
|
|
1198
1182
|
|
|
1199
|
-
.home-project-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
align-self: center;
|
|
1203
|
-
height: auto;
|
|
1204
|
-
min-width: 0;
|
|
1205
|
-
min-height: 0;
|
|
1206
|
-
aspect-ratio: 16 / 9;
|
|
1207
|
-
overflow: hidden;
|
|
1208
|
-
background: var(--color-surface-high);
|
|
1209
|
-
border: 1px solid var(--border-gentle-subtle);
|
|
1210
|
-
}
|
|
1183
|
+
.home-project-specimen {
|
|
1184
|
+
height: var(--home-specimen-height);
|
|
1185
|
+
}
|
|
1211
1186
|
|
|
1212
|
-
.
|
|
1213
|
-
.home-project-inventory
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1187
|
+
/* Panel container over the tiled band — not bare rows on the grid. */
|
|
1188
|
+
.home-project-inventory {
|
|
1189
|
+
display: flex;
|
|
1190
|
+
flex-direction: column;
|
|
1191
|
+
height: var(--home-specimen-height);
|
|
1192
|
+
overflow: hidden;
|
|
1193
|
+
gap: 0;
|
|
1194
|
+
padding: 0;
|
|
1195
|
+
background: var(--color-panel-contrast);
|
|
1196
|
+
border: 1px solid var(--border-gentle-divider);
|
|
1197
|
+
}
|
|
1221
1198
|
|
|
1222
|
-
.home-project-inventory-
|
|
1223
|
-
|
|
1224
|
-
|
|
1199
|
+
.home-project-inventory-row {
|
|
1200
|
+
display: flex;
|
|
1201
|
+
flex-direction: row;
|
|
1202
|
+
align-items: center;
|
|
1203
|
+
justify-content: flex-start;
|
|
1204
|
+
flex: 1 1 0;
|
|
1205
|
+
width: auto;
|
|
1206
|
+
height: auto;
|
|
1207
|
+
min-height: 0;
|
|
1208
|
+
aspect-ratio: auto;
|
|
1209
|
+
gap: var(--space-md);
|
|
1210
|
+
padding: var(--space-sm) var(--space-md);
|
|
1211
|
+
border: 0;
|
|
1212
|
+
border-bottom: 1px solid var(--border-gentle-divider);
|
|
1213
|
+
background: transparent;
|
|
1214
|
+
outline: none;
|
|
1215
|
+
}
|
|
1225
1216
|
|
|
1226
|
-
.home-project-inventory-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
object-fit: cover;
|
|
1230
|
-
display: block;
|
|
1231
|
-
}
|
|
1217
|
+
.home-project-inventory-row:last-child {
|
|
1218
|
+
border-bottom: 0;
|
|
1219
|
+
}
|
|
1232
1220
|
|
|
1233
|
-
.home-project-inventory-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
}
|
|
1221
|
+
.home-project-inventory-row.is-selected {
|
|
1222
|
+
background: var(--color-surface-high);
|
|
1223
|
+
border-color: transparent;
|
|
1224
|
+
outline: none;
|
|
1225
|
+
box-shadow: inset 3px 0 0 var(--color-primary);
|
|
1226
|
+
}
|
|
1239
1227
|
|
|
1240
|
-
.home-project-inventory-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
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
|
+
}
|
|
1247
1238
|
|
|
1248
|
-
.home-project-inventory-
|
|
1249
|
-
|
|
1250
|
-
|
|
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
|
+
}
|
|
1251
1244
|
|
|
1252
|
-
.home-project-inventory-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1245
|
+
.home-project-inventory-media {
|
|
1246
|
+
display: block;
|
|
1247
|
+
flex: 0 0 auto;
|
|
1248
|
+
width: 5.5rem;
|
|
1249
|
+
align-self: center;
|
|
1250
|
+
height: auto;
|
|
1251
|
+
min-width: 0;
|
|
1252
|
+
min-height: 0;
|
|
1253
|
+
aspect-ratio: 16 / 9;
|
|
1254
|
+
overflow: hidden;
|
|
1255
|
+
background: var(--color-surface-high);
|
|
1256
|
+
border: 1px solid var(--border-gentle-subtle);
|
|
1257
|
+
}
|
|
1261
1258
|
|
|
1262
|
-
.home-project-inventory-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
}
|
|
1259
|
+
.home-project-inventory-media .ledger-poster,
|
|
1260
|
+
.home-project-inventory-mark {
|
|
1261
|
+
width: 100%;
|
|
1262
|
+
height: 100%;
|
|
1263
|
+
aspect-ratio: auto;
|
|
1264
|
+
border: 0;
|
|
1265
|
+
overflow: hidden;
|
|
1266
|
+
background: var(--color-surface-high);
|
|
1267
|
+
}
|
|
1271
1268
|
|
|
1272
|
-
.home-project-inventory-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
}
|
|
1269
|
+
.home-project-inventory-media .ledger-poster::after {
|
|
1270
|
+
display: none;
|
|
1271
|
+
}
|
|
1276
1272
|
|
|
1277
|
-
.home-project-inventory-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1273
|
+
.home-project-inventory-media .ledger-poster img {
|
|
1274
|
+
width: 100%;
|
|
1275
|
+
height: 100%;
|
|
1276
|
+
object-fit: cover;
|
|
1277
|
+
display: block;
|
|
1278
|
+
}
|
|
1282
1279
|
|
|
1283
|
-
.home-project-inventory-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
height: 1.75rem;
|
|
1290
|
-
margin-left: auto;
|
|
1291
|
-
color: var(--color-on-surface-variant);
|
|
1292
|
-
font-size: 1.25rem;
|
|
1293
|
-
line-height: 1;
|
|
1294
|
-
}
|
|
1280
|
+
.home-project-inventory-mark {
|
|
1281
|
+
display: flex;
|
|
1282
|
+
align-items: center;
|
|
1283
|
+
justify-content: center;
|
|
1284
|
+
color: var(--color-primary);
|
|
1285
|
+
}
|
|
1295
1286
|
|
|
1296
|
-
.home-project-inventory-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1287
|
+
.home-project-inventory-mark--initial {
|
|
1288
|
+
font-family: var(--font-content-title);
|
|
1289
|
+
font-size: var(--type-card);
|
|
1290
|
+
font-weight: var(--weight-title);
|
|
1291
|
+
line-height: 1;
|
|
1292
|
+
color: var(--color-on-surface);
|
|
1293
|
+
}
|
|
1301
1294
|
|
|
1302
|
-
.home-project-inventory-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
}
|
|
1295
|
+
.home-project-inventory-mark .material-symbols-outlined {
|
|
1296
|
+
font-size: 1.25rem;
|
|
1297
|
+
}
|
|
1306
1298
|
|
|
1307
|
-
.home-project-inventory-
|
|
1308
|
-
|
|
1299
|
+
.home-project-inventory-body {
|
|
1300
|
+
display: flex;
|
|
1301
|
+
flex-direction: column;
|
|
1302
|
+
justify-content: center;
|
|
1303
|
+
gap: 0;
|
|
1304
|
+
flex: 1 1 0;
|
|
1305
|
+
min-width: 0;
|
|
1306
|
+
padding: 0;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
.home-project-inventory-title {
|
|
1310
|
+
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;
|
|
1315
|
+
line-height: 1.25;
|
|
1316
|
+
color: var(--color-on-surface);
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
.home-project-inventory-title a {
|
|
1320
|
+
color: inherit;
|
|
1321
|
+
text-decoration: none;
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
.home-project-inventory-row:hover .home-project-inventory-title,
|
|
1325
|
+
.home-project-inventory-row:focus-visible .home-project-inventory-title,
|
|
1326
|
+
.home-project-inventory-row.is-selected .home-project-inventory-title {
|
|
1327
|
+
color: var(--color-primary);
|
|
1328
|
+
}
|
|
1329
|
+
|
|
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;
|
|
1336
|
+
}
|
|
1309
1337
|
}
|
|
1310
1338
|
|
|
1311
1339
|
|
|
@@ -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.
|
|
27
|
+
# GitHub tag: gem "pandorga", github: "alexandrelheinen/pandorga", tag: "v1.3.5"
|
|
28
28
|
gem "csv"
|
|
29
29
|
gem "base64"
|
|
30
30
|
RUBY
|
data/lib/pandorga/version.rb
CHANGED