@bongos/core 1.21.10 → 1.21.11
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/.bongos-core.json +33 -23
- package/docs/copy-inventory.md +19 -15
- package/docs/copy-registry.json +64 -18
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-inventory.json +14 -2
- package/docs/page-readings.json +188 -33
- package/modules/hall-ui/public/street-draw.js +14 -8
- package/modules/hall-ui/public/street-inside.js +568 -0
- package/modules/hall-ui/public/street.css +132 -3
- package/modules/hall-ui/public/street.html +82 -7
- package/modules/hall-ui/public/street.js +327 -9
- package/modules/hall-ui/public/street.states.json +339 -18
- package/modules/hall-ui/records/governor-street.md +21 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/src/module-api.js +1 -1
- package/tests/hall_street.mjs +1 -1
- package/tests/hall_street_inside.mjs +519 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* modules/hall-ui/public/street.css — THE STREET (task 1004525, goal 1000125,
|
|
2
|
-
R03). The street branch of the <style> and template of
|
|
2
|
+
R03), and inside every building and district (task 1004526, R04). The street branch of the <style> and template of
|
|
3
3
|
docs/design/mocks/governor-city/Street.dc.html: the same header strip, names
|
|
4
4
|
and state lines, group brackets, pins with their labels, crates, doors, six
|
|
5
5
|
readings and card, at the same sizes, and the same keyframes (ring, enter,
|
|
@@ -175,14 +175,143 @@ html:has(body[data-page="street"]) { height: 100%; }
|
|
|
175
175
|
.street-card { left: 16px; right: 16px; width: auto; }
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
+
/* ── INSIDE (task 1004526): a building in section, or a district's work ──
|
|
179
|
+
The isBuilding / isDistrict halves of the prototype's template, at the same
|
|
180
|
+
sizes on the same 1440 x 708 artboard (street.js scales it as it scales the
|
|
181
|
+
street). The drawing is SVG data from street-inside.js; everything here is
|
|
182
|
+
on the hall's tokens. Under 900 px the artboard gives way to a column: the
|
|
183
|
+
drawing in its own sideways strip, the panel below it. */
|
|
184
|
+
.inside { position: absolute; inset: 0; display: flex; overflow-x: auto; overflow-y: auto; background: var(--bg); }
|
|
185
|
+
.inside[hidden], .inside-annex[hidden], .inside-dhead[hidden], .inside-legend[hidden], .inside-table[hidden], .inside-open[hidden], .inside-note[hidden], .inside-panel[hidden], .inside-more[hidden] { display: none; }
|
|
186
|
+
.inside-sizer { position: relative; margin: auto; flex: none; overflow: hidden; }
|
|
187
|
+
.inside-board { position: absolute; left: 0; top: 0; width: 1440px; height: 708px; transform-origin: 0 0; transform: scale(var(--inside-scale, 1)); color: var(--ink); }
|
|
188
|
+
.inside-head { position: absolute; left: 32px; top: 16px; display: flex; align-items: center; gap: 16px; z-index: 2; }
|
|
189
|
+
.inside-back { display: inline-flex; align-items: center; min-height: 24px; padding: 6px 0; font-size: 14px; color: var(--street-accent-text); text-decoration: underline; text-underline-offset: 4px; }
|
|
190
|
+
|
|
191
|
+
/* the drawing: 800 wide for a building, the whole board for a district */
|
|
192
|
+
.inside-art { position: absolute; left: 0; top: 0; width: 800px; height: 708px; }
|
|
193
|
+
.inside[data-kind="district"] .inside-art { width: 1440px; }
|
|
194
|
+
.inside-art__span { display: block; width: 0; height: 0; }
|
|
195
|
+
.inside-art__box { position: absolute; left: 0; top: 0; width: 100%; height: 708px; transform-origin: 0 0; transform: scale(var(--inside-art-scale, 1)); }
|
|
196
|
+
.inside-svg { position: absolute; left: 0; top: 0; pointer-events: none; overflow: visible; }
|
|
197
|
+
.inside-svg .inside-sym { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
|
|
198
|
+
.inside-svg text { font-family: var(--font-body); font-variant-numeric: tabular-nums; }
|
|
199
|
+
.inside-svg text.inside-mono { font-family: var(--font-mono); }
|
|
200
|
+
.inside-layer { position: absolute; left: 0; top: 0; width: 100%; height: 708px; pointer-events: none; }
|
|
201
|
+
.inside-layer > * { pointer-events: auto; }
|
|
202
|
+
.inside-floor { position: absolute; background: transparent; border: 0; padding: 0; margin: 0; cursor: pointer; border-radius: 0; }
|
|
203
|
+
.inside-floor:hover { outline: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: -3px; }
|
|
204
|
+
|
|
205
|
+
/* the lift: it slides to the chosen floor */
|
|
206
|
+
.inside-lift { position: absolute; width: 18px; border-radius: 3px; background: var(--accent); display: flex; align-items: center; justify-content: center; pointer-events: none; transition: transform 650ms cubic-bezier(.2,.7,.3,1); }
|
|
207
|
+
.inside-lift[hidden] { display: none; }
|
|
208
|
+
.inside-lift__bar { width: 8px; height: 2px; border-radius: 1px; background: var(--accent-on); }
|
|
209
|
+
.inside-annex { position: absolute; box-sizing: border-box; border: 1px dashed var(--street-rule-strong); display: flex; align-items: flex-end; justify-content: center; padding: 12px; text-align: center; font-size: 12.5px; line-height: 1.4; color: var(--ink-faint); }
|
|
210
|
+
|
|
211
|
+
/* a district: its name, its work labelled on the road, the two-line legend */
|
|
212
|
+
.inside-dhead { position: absolute; left: 32px; top: 58px; display: flex; flex-direction: column; gap: 6px; max-width: 1100px; }
|
|
213
|
+
.inside-dline { margin: 0; font-size: 15.5px; color: var(--ink-soft); }
|
|
214
|
+
.inside-item { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; color: var(--ink); text-decoration: none; border-radius: 8px; padding: 2px 0; }
|
|
215
|
+
.inside-item:hover .inside-item__name { text-decoration: underline; text-underline-offset: 3px; }
|
|
216
|
+
.inside-item__name { font-size: 13.5px; line-height: 1.3; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
217
|
+
.inside-item__meta { font-size: 12px; color: var(--ink-faint); }
|
|
218
|
+
.inside-item__stage { font-size: 12px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--street-rule-strong); color: var(--ink-soft); white-space: nowrap; }
|
|
219
|
+
.inside-item--shipped .inside-item__stage { color: var(--ink); }
|
|
220
|
+
.inside-legend { position: absolute; left: 32px; right: 32px; top: 642px; display: flex; gap: 26px; flex-wrap: wrap; }
|
|
221
|
+
.inside-legend span { font-size: 12.5px; color: var(--ink-soft); }
|
|
222
|
+
.inside-more { display: inline-flex; align-items: center; min-height: 24px; font-size: 12.5px; color: var(--street-accent-text); text-decoration: underline; text-underline-offset: 4px; }
|
|
223
|
+
|
|
224
|
+
/* the right panel */
|
|
225
|
+
.inside-panel { position: absolute; left: 840px; top: 58px; width: 568px; bottom: 8px; overflow-x: hidden; overflow-y: auto; display: flex; flex-direction: column; gap: 18px; }
|
|
226
|
+
.inside-title { display: flex; flex-direction: column; gap: 6px; }
|
|
227
|
+
.inside-name { margin: 0; font-size: 40px; font-weight: 300; letter-spacing: -0.04em; line-height: 1; }
|
|
228
|
+
.inside-holds { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--ink-soft); }
|
|
229
|
+
.inside-gov { display: flex; flex-direction: column; gap: 10px; padding: 14px 0; border-top: 1px solid var(--street-rule); border-bottom: 1px solid var(--street-rule); }
|
|
230
|
+
.inside-gov__row { display: flex; align-items: center; gap: 12px; }
|
|
231
|
+
.inside-gov__row + .inside-gov__row { gap: 10px; }
|
|
232
|
+
.inside-gov__text { font-size: 14.5px; }
|
|
233
|
+
.inside-gov__fill { flex-grow: 1; }
|
|
234
|
+
.inside-seats { display: flex; gap: 5px; flex: none; }
|
|
235
|
+
.inside-seat { width: 28px; height: 28px; border-radius: 999px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 500; background: var(--ink); color: var(--bg-card); }
|
|
236
|
+
.inside-seat--you { background: transparent; color: var(--street-accent-text); border: 2px solid var(--accent); }
|
|
237
|
+
.inside-seat--open { background: transparent; color: var(--ink-faint); border: 1px dashed color-mix(in srgb, var(--ink) 40%, transparent); }
|
|
238
|
+
.inside-glyph { display: block; flex-shrink: 0; }
|
|
239
|
+
.inside-glyph path { fill: var(--ink); }
|
|
240
|
+
.inside-glyph path + path { fill: none; stroke: var(--ink); stroke-width: 1.4; }
|
|
241
|
+
.inside-textbtn { background: none; border: 0; padding: 6px 0; min-height: 24px; text-decoration: underline; text-underline-offset: 4px; font-family: var(--font-body); font-size: 14px; cursor: pointer; text-align: left; color: var(--street-accent-text); flex: none; }
|
|
242
|
+
.inside-note { margin: 0; font-size: 13px; line-height: 1.45; color: var(--ink-soft); }
|
|
243
|
+
.inside-meter { display: flex; flex-direction: column; gap: 6px; }
|
|
244
|
+
.inside-meter__track { height: 6px; border-radius: 999px; background: var(--street-wash); overflow: hidden; }
|
|
245
|
+
.inside-meter__fill { height: 6px; width: 0; background: color-mix(in srgb, var(--ink) 30%, var(--bg)); }
|
|
246
|
+
.inside-meter__fill--full { background: var(--accent); }
|
|
247
|
+
.inside-meter__line { font-size: 13px; color: var(--ink-soft); line-height: 1.45; }
|
|
248
|
+
.inside-table { display: flex; flex-direction: column; gap: 8px; }
|
|
249
|
+
.inside-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; background: none; border: 0; border-top: 1px solid var(--street-rule); padding: 10px 0; cursor: pointer; font-family: var(--font-body); font-size: 15px; text-align: left; color: var(--ink); }
|
|
250
|
+
.inside-row--needs { color: var(--street-accent-text); }
|
|
251
|
+
.inside-row__status { font-size: 12.5px; color: var(--ink-faint); white-space: nowrap; }
|
|
252
|
+
|
|
253
|
+
/* the chosen floor, its sign large; the block re-enters on every pick */
|
|
254
|
+
.inside-open { display: flex; flex-direction: column; gap: 10px; }
|
|
255
|
+
.inside-open__head { display: flex; align-items: center; gap: 16px; }
|
|
256
|
+
.inside-plate { width: 64px; height: 64px; flex-shrink: 0; box-sizing: border-box; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); display: flex; align-items: center; justify-content: center; }
|
|
257
|
+
.inside-plate svg { display: block; }
|
|
258
|
+
.inside-plate path { fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
|
|
259
|
+
.inside-plate path + path { fill: var(--accent); stroke: none; }
|
|
260
|
+
.inside-open__words { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
|
|
261
|
+
.inside-open__kicker { font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--street-accent-text); }
|
|
262
|
+
.inside-open__title { margin: 0; font-size: 21px; font-weight: 300; letter-spacing: -0.02em; }
|
|
263
|
+
.inside-line { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-top: 1px solid var(--street-rule); font-size: 14.5px; line-height: 1.4; }
|
|
264
|
+
.inside-line__meta { color: var(--ink-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
|
|
265
|
+
|
|
266
|
+
/* the record: one filing drawer a month */
|
|
267
|
+
.inside-record { display: flex; flex-direction: column; gap: 10px; }
|
|
268
|
+
.inside-record__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
|
|
269
|
+
.inside-record__onfile { font-size: 13px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
|
|
270
|
+
.inside-drawers { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
271
|
+
.inside-drawer { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 8px; cursor: pointer; font-family: var(--font-body); min-width: 84px; background: transparent; border: 1px solid var(--street-rule-strong); color: var(--ink); }
|
|
272
|
+
.inside-drawer__handle { width: 22px; height: 3px; border-radius: 2px; background: var(--street-rule-strong); }
|
|
273
|
+
.inside-drawer__label { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
|
|
274
|
+
.inside-drawer__count { font-size: 12px; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
|
|
275
|
+
.inside-drawer[aria-pressed="true"] { background: var(--street-wash); border-color: var(--ink); }
|
|
276
|
+
.inside-drawer[aria-pressed="true"] .inside-drawer__handle { background: var(--ink); }
|
|
277
|
+
.inside-ditem { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-top: 1px solid var(--street-rule); font-size: 14px; line-height: 1.4; }
|
|
278
|
+
.inside-ditem__meta { color: var(--ink-faint); white-space: nowrap; }
|
|
279
|
+
|
|
280
|
+
.inside-back:focus-visible, .inside-textbtn:focus-visible, .inside-row:focus-visible, .inside-drawer:focus-visible, .inside-item:focus-visible, .inside-more:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
|
|
281
|
+
.inside-floor:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
|
|
282
|
+
.inside-name:focus { outline: none; }
|
|
283
|
+
.inside-name:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
|
|
284
|
+
|
|
285
|
+
/* narrow: the drawing in its own sideways strip, the panel below it */
|
|
286
|
+
@media (max-width: 899px) {
|
|
287
|
+
.inside { display: block; overflow-x: hidden; overflow-y: auto; }
|
|
288
|
+
.inside-sizer { width: auto !important; height: auto !important; margin: 0; overflow: visible; }
|
|
289
|
+
.inside-board { position: static; width: auto; height: auto; transform: none; display: flex; flex-direction: column; gap: 16px; padding: 8px 16px 24px; }
|
|
290
|
+
.inside-head { position: static; flex-wrap: wrap; row-gap: 0; }
|
|
291
|
+
.inside-art, .inside[data-kind="district"] .inside-art { position: relative; width: auto; height: var(--inside-art-h, 425px); overflow-x: auto; overflow-y: hidden; order: 2; }
|
|
292
|
+
.inside-art__box { width: 800px; }
|
|
293
|
+
.inside[data-kind="district"] .inside-art__box { width: 1440px; }
|
|
294
|
+
.inside-dhead, .inside-legend, .inside-panel { position: static; width: auto; max-width: none; }
|
|
295
|
+
.inside-dhead { order: 1; }
|
|
296
|
+
.inside-legend { order: 3; flex-direction: column; gap: 8px; }
|
|
297
|
+
.inside-panel { order: 3; overflow: visible; }
|
|
298
|
+
.inside-name { font-size: 32px; }
|
|
299
|
+
.inside-gov__row { flex-wrap: wrap; row-gap: 4px; }
|
|
300
|
+
}
|
|
301
|
+
|
|
178
302
|
/* the prototype's motion, verbatim */
|
|
179
303
|
@keyframes street-ring { 0% { transform: scale(.8); opacity: .9; } 100% { transform: scale(2.3); opacity: 0; } }
|
|
180
304
|
@keyframes street-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
|
|
181
305
|
.street-pin__ring { animation: street-ring 2.8s cubic-bezier(.2,.7,.3,1) infinite; }
|
|
182
|
-
.street-card, .street-evening { animation: street-enter 320ms cubic-bezier(.16,1,.3,1) both; }
|
|
306
|
+
.street-card, .street-evening, .inside-open { animation: street-enter 320ms cubic-bezier(.16,1,.3,1) both; }
|
|
307
|
+
/* the prototype's zoom on stepping inside, on the individual scale property so
|
|
308
|
+
it composes with the board's fit-to-window transform instead of fighting it */
|
|
309
|
+
@keyframes street-zoom { from { opacity: 0; scale: .97; } to { opacity: 1; scale: 1; } }
|
|
310
|
+
.inside-board { animation: street-zoom 420ms cubic-bezier(.16,1,.3,1) both; }
|
|
183
311
|
|
|
184
312
|
/* The Kill Switch: under reduced motion nothing moves. The rest frame is the
|
|
185
|
-
whole street with its pins standing still
|
|
313
|
+
whole street with its pins standing still, and inside a building the lift
|
|
314
|
+
standing at the chosen floor without travelling there. */
|
|
186
315
|
@media (prefers-reduced-motion: reduce) {
|
|
187
316
|
body[data-page="street"] *, body[data-page="street"] *::before, body[data-page="street"] *::after { animation: none !important; transition: none !important; }
|
|
188
317
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
links, injected into this head by the server like every hall page's
|
|
12
12
|
(tests/hall_tokens.mjs: no hall page hardcodes a web-font stylesheet). -->
|
|
13
13
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
14
|
-
<link rel="stylesheet" href="/builders/street.css?v=2026-10-02-
|
|
14
|
+
<link rel="stylesheet" href="/builders/street.css?v=2026-10-02-inside1">
|
|
15
15
|
</head>
|
|
16
16
|
<!-- THE STREET (task 1004525, goal 1000125, R03). The street view of
|
|
17
17
|
docs/design/mocks/governor-city/Street.dc.html (renderVals' street branch,
|
|
@@ -27,14 +27,16 @@
|
|
|
27
27
|
the kicker, needs you, moving, your share, the light/dark switch), the
|
|
28
28
|
street drawn on its 1440-wide artboard (street.js scales it to the
|
|
29
29
|
window), and the six readings along the bottom. Every
|
|
30
|
-
building and district is a door (an <a>) to
|
|
31
|
-
/builders/street#building=<key> and #district=<goal id> (README
|
|
32
|
-
screens live"; task 1004526
|
|
33
|
-
card (task 1004528
|
|
30
|
+
building and district is a door (an <a>) to its interior, a view of this
|
|
31
|
+
page: /builders/street#building=<key> and #district=<goal id> (README
|
|
32
|
+
"Where the screens live"; task 1004526, #streetInside below). A pin, or a
|
|
33
|
+
row on a building's table, opens the matter's short card (task 1004528
|
|
34
|
+
makes it act).
|
|
34
35
|
|
|
35
36
|
The drawing is street-draw.js (the prototype's front-on kit, verbatim, as
|
|
36
37
|
pure data) over city-draw.js (the glyphs and the seeded random, shared with
|
|
37
|
-
the city); street.js
|
|
38
|
+
the city); street-inside.js is the interiors as data (buildingView and
|
|
39
|
+
districtView, verbatim); street.js reads the feeds and builds the nodes; street.css is
|
|
38
40
|
the template's <style> on the hall's tokens.
|
|
39
41
|
|
|
40
42
|
The page is gated on board.vote.cast (src/bongos/serve-internal.js), the
|
|
@@ -89,6 +91,78 @@
|
|
|
89
91
|
<div class="street-layer" id="streetPins"></div>
|
|
90
92
|
</div>
|
|
91
93
|
</div>
|
|
94
|
+
|
|
95
|
+
<!-- INSIDE (task 1004526): a building in section, or a district's work, when
|
|
96
|
+
the address names one (#building=<key> / #district=<goal id>). The
|
|
97
|
+
prototype's buildingView() and districtView() on the same 1440 x 708
|
|
98
|
+
artboard; street-inside.js draws them, street.js builds the nodes. -->
|
|
99
|
+
<section class="inside" id="streetInside" aria-labelledby="insideName" hidden>
|
|
100
|
+
<div class="inside-sizer" id="insideSizer">
|
|
101
|
+
<div class="inside-board" id="insideBoard">
|
|
102
|
+
<div class="inside-head">
|
|
103
|
+
<a class="inside-back" id="insideBack" href="/builders/street">back to the street</a>
|
|
104
|
+
<span class="street-label" id="insideKicker"></span>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="inside-art" id="insideArt">
|
|
107
|
+
<span class="inside-art__span" id="insideArtSpan"></span>
|
|
108
|
+
<div class="inside-art__box" id="insideArtBox">
|
|
109
|
+
<svg class="inside-svg" id="insideSvg" width="800" height="708" viewBox="0 0 800 708" role="img" aria-label="">
|
|
110
|
+
<g id="insideShapes"></g>
|
|
111
|
+
<g id="insideSyms"></g>
|
|
112
|
+
<g id="insideTexts"></g>
|
|
113
|
+
</svg>
|
|
114
|
+
<div class="inside-layer" id="insideFloors"></div>
|
|
115
|
+
<div class="inside-lift" id="insideLift" aria-hidden="true"><span class="inside-lift__bar"></span></div>
|
|
116
|
+
<div class="inside-annex" id="insideAnnex" hidden><span id="insideAnnexText"></span></div>
|
|
117
|
+
<div class="inside-layer" id="insideItems"></div>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="inside-dhead" id="insideDHead" hidden>
|
|
121
|
+
<h2 class="inside-name" id="insideDName"></h2>
|
|
122
|
+
<p class="inside-dline" id="insideDLine"></p>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="inside-legend" id="insideLegend" hidden></div>
|
|
125
|
+
|
|
126
|
+
<div class="inside-panel" id="insidePanel">
|
|
127
|
+
<div class="inside-title">
|
|
128
|
+
<h2 class="inside-name" id="insideName" tabindex="-1"></h2>
|
|
129
|
+
<p class="inside-holds" id="insideHolds"></p>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="inside-gov">
|
|
132
|
+
<div class="inside-gov__row">
|
|
133
|
+
<span class="inside-seats" id="insideSeats"></span>
|
|
134
|
+
<span class="inside-gov__text" id="insideWho"></span>
|
|
135
|
+
</div>
|
|
136
|
+
<div class="inside-gov__row">
|
|
137
|
+
<svg class="inside-glyph" width="18" height="18" aria-hidden="true" focusable="false"><path id="insideGlyphF" d=""></path><path id="insideGlyphL" d=""></path></svg>
|
|
138
|
+
<span class="inside-gov__text" id="insideHow"></span>
|
|
139
|
+
<span class="inside-gov__fill"></span>
|
|
140
|
+
<button type="button" class="inside-textbtn" id="insideAmend" aria-describedby="insideAmendNote">change how this works</button>
|
|
141
|
+
</div>
|
|
142
|
+
<p class="inside-note" id="insideAmendNote" role="status" hidden></p>
|
|
143
|
+
<div class="inside-meter">
|
|
144
|
+
<div class="inside-meter__track"><div class="inside-meter__fill" id="insideFill"></div></div>
|
|
145
|
+
<span class="inside-meter__line" id="insideGrowth"></span>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
<div class="inside-table" id="insideTableWrap" hidden>
|
|
149
|
+
<span class="street-label">on the table here</span>
|
|
150
|
+
<div id="insideTable"></div>
|
|
151
|
+
</div>
|
|
152
|
+
<div class="inside-open" id="insideOpenA"></div>
|
|
153
|
+
<div class="inside-open" id="insideOpenB" hidden></div>
|
|
154
|
+
<div class="inside-record">
|
|
155
|
+
<div class="inside-record__head">
|
|
156
|
+
<span class="street-label">the record</span>
|
|
157
|
+
<span class="inside-record__onfile" id="insideOnFile"></span>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="inside-drawers" id="insideDrawers"></div>
|
|
160
|
+
<div id="insideDrawerItems"></div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</section>
|
|
92
166
|
</main>
|
|
93
167
|
|
|
94
168
|
<nav class="street-signs" id="streetSigns" aria-label="The six readings"></nav>
|
|
@@ -113,6 +187,7 @@
|
|
|
113
187
|
|
|
114
188
|
<script src="/builders/city-draw.js?v=2026-10-02-street1"></script>
|
|
115
189
|
<script src="/builders/street-draw.js?v=2026-10-02-street1"></script>
|
|
116
|
-
<script src="/builders/street.js?v=2026-10-02-
|
|
190
|
+
<script src="/builders/street-inside.js?v=2026-10-02-inside1"></script>
|
|
191
|
+
<script src="/builders/street.js?v=2026-10-02-inside1"></script>
|
|
117
192
|
</body>
|
|
118
193
|
</html>
|