rastrillo / fiesta Public

Tell readers rst-side takes its width from its parent

rst-side answers to its own width, so it cannot take that width from
its content: as a flex item sized by its content it is zero wide, and
a page that put it in a flex row would show nothing, with no error. The
CSS comment said so, where a reader of the gallery never looks. The
side-nav example now carries the approved note, prose.side-nav.width,
byte for byte: "rst-side takes its width from its parent. In a flex
row, give it flex: 1 1 0, or it can shrink to nothing."
TestASideInAFlexRowIsGivenItsWidth (af340e7) holds both halves of it.

The note is written into examples/prose.json directly, as the other
1.1 state notes are, not into the exporter's approvedProse: that table
answers slots rastrillo's prose queued, and refuses one rastrillo never
had ("approved but was never queued"); side-nav has no rastrillo
counterpart.

Its translations in the eleven gallery catalogs are machine drafts from
the approved English, not reviewed; drafts.json names them. The note is
on the example's page, not in its frame, so the frame heights stay as
they were; the height drives pass unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev ae5272b87c214a7841f812d8e446598ff8a52fd0 parent 015906d
13 files changed, +31 −1
  • examples/prose.json +4 −1
  • internal/gallery/i18n/ar.json +1 −0
  • internal/gallery/i18n/bn.json +1 −0
  • internal/gallery/i18n/drafts.json +16 −0
  • internal/gallery/i18n/es.json +1 −0
  • internal/gallery/i18n/ga.json +1 −0
  • internal/gallery/i18n/hi.json +1 −0
  • internal/gallery/i18n/ja.json +1 −0
  • internal/gallery/i18n/pt-PT.json +1 −0
  • internal/gallery/i18n/ru.json +1 −0
  • internal/gallery/i18n/vi.json +1 −0
  • internal/gallery/i18n/yue.json +1 −0
  • internal/gallery/i18n/zh-Hans.json +1 −0

CI passed — run details

CI log
=== gofmt ===
=== no-rastrillo ===
go test -run '^(TestFiestaNeverImportsRastrillo|TestThePublicPackagesLinkNoBrowser)$' -count=1 .
go: downloading go1.26.10 (linux/arm64)
ok  	amadan.net/rastrillo/fiesta	1.023s
=== size ===
go test ./internal/build -run '^TestTheOneLinkIsUnder25KiBGzipped$' -count=1 -v
=== RUN   TestTheOneLinkIsUnder25KiBGzipped
    build_test.go:138: fiesta-plain.css: 158347 bytes, 23102 bytes gzipped (22.6 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta-signal.css: 158442 bytes, 23216 bytes gzipped (22.7 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta.css: 161261 bytes, 23822 bytes gzipped (23.3 KiB of the 25.0 KiB limit)
--- PASS: TestTheOneLinkIsUnder25KiBGzipped (0.02s)
PASS
ok  	amadan.net/rastrillo/fiesta/internal/build	0.026s
=== history ===
history: 33 commits; release tags: v1.0.0
=== suite ===
--- shard 0 of 48 ---
==> shard 0 of 48: make root
go build ./...
go vet ./...
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh root 'internal/gallery@3 cmd/fiesta@2 internal/www@2'
ok  	amadan.net/rastrillo/fiesta	4.326s
ok  	amadan.net/rastrillo/fiesta/check	7.773s
ok  	amadan.net/rastrillo/fiesta/example	0.145s
?   	amadan.net/rastrillo/fiesta/hack/seed/english	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/axe	0.307s
ok  	amadan.net/rastrillo/fiesta/internal/build	2.170s
ok  	amadan.net/rastrillo/fiesta/internal/codeview	0.015s
?   	amadan.net/rastrillo/fiesta/internal/harness	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/markup	0.027s
ok  	amadan.net/rastrillo/fiesta/internal/nodetest	0.435s
ok  	amadan.net/rastrillo/fiesta/internal/site	3.871s
ok  	amadan.net/rastrillo/fiesta/internal/tokens	0.032s
suite: root took 41s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m22.890000s 0m4.380000s
--- shard 1 of 48 ---
==> shard 1 of 48: make test.internal.gallery~1of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~1of3'
gotest: slice 1 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	73.366s
suite: test.internal.gallery~1of3 took 96s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m54.780000s 0m2.000000s
--- shard 2 of 48 ---
==> shard 2 of 48: make test.internal.gallery~2of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~2of3'
gotest: slice 2 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	75.631s
suite: test.internal.gallery~2of3 took 98s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m57.350000s 0m1.960000s
--- shard 3 of 48 ---
==> shard 3 of 48: make test.internal.gallery~3of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~3of3'
gotest: slice 3 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	70.275s
suite: test.internal.gallery~3of3 took 93s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m52.910000s 0m2.000000s
--- shard 4 of 48 ---
==> shard 4 of 48: make test.cmd.fiesta~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~1of2'
gotest: slice 1 of 2 of ./cmd/fiesta/ runs 7 of 12 test tests
ok  	amadan.net/rastrillo/fiesta/cmd/fiesta	55.726s
suite: test.cmd.fiesta~1of2 took 78s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.240000s 0m2.800000s
--- shard 5 of 48 ---
==> shard 5 of 48: make test.cmd.fiesta~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~2of2'
gotest: slice 2 of 2 of ./cmd/fiesta/ runs 5 of 12 test tests
ok  	amadan.net/rastrillo/fiesta/cmd/fiesta	58.270s
suite: test.cmd.fiesta~2of2 took 80s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.510000s 0m2.930000s
--- shard 6 of 48 ---
==> shard 6 of 48: make test.internal.www~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~1of2'
gotest: slice 1 of 2 of ./internal/www/ runs 11 of 25 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	64.753s
suite: test.internal.www~1of2 took 94s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m1.030000s 0m3.670000s
--- shard 7 of 48 ---
==> shard 7 of 48: make test.internal.www~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~2of2'
gotest: slice 2 of 2 of ./internal/www/ runs 14 of 25 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	62.757s
suite: test.internal.www~2of2 took 92s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m58.820000s 0m3.470000s
--- shard 8 of 48 ---
==> shard 8 of 48: make staticcheck
go run honnef.co/go/tools/cmd/staticcheck@v0.8.2 -tags browser ./...
go: downloading honnef.co/go/tools v0.8.2
go: downloading golang.org/x/tools v0.51.0
go: downloading github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c
go: downloading golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678
go: downloading golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
suite: staticcheck took 44s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m45.360000s 0m5.630000s
--- shard 9 of 48 ---
==> shard 9 of 48: make govulncheck
go run golang.org/x/vuln/cmd/govulncheck@v1.8.0 ./...
go: downloading golang.org/x/vuln v1.8.0
go: downloading golang.org/x/telemetry v0.0.0-20260908163034-4bcc4b2ee518
go: downloading golang.org/x/tools v0.50.0
go: downloading golang.org/x/sync v0.23.0
go: downloading golang.org/x/mod v0.41.0
=== Symbol Results ===

No vulnerabilities found.

Your code is affected by 0 vulnerabilities.
This scan also found 2 vulnerabilities in packages you import and 5
vulnerabilities in modules you require, but your code doesn't appear to call
these vulnerabilities.
Use '-show verbose' for more details.
suite: govulncheck took 35s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m17.840000s 0m2.350000s
--- shard 10 of 48 ---
==> shard 10 of 48: make gitleaks
go run github.com/zricethezav/gitleaks/v8@v8.30.1 git --no-banner --redact --log-opts='--full-history --diff-filter=tuxdb HEAD' .
go: downloading github.com/zricethezav/gitleaks/v8 v8.30.1
go: downloading github.com/spf13/viper v1.19.0
go: downloading github.com/spf13/cobra v1.9.1
go: downloading github.com/rs/zerolog v1.33.0
go: downloading github.com/h2non/filetype v1.1.3
go: downloading github.com/mholt/archives v0.1.2
go: downloading golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa
go: downloading github.com/hashicorp/go-version v1.7.0
go: downloading github.com/Masterminds/sprig/v3 v3.3.0
go: downloading github.com/fatih/semgroup v1.2.0
go: downloading github.com/gitleaks/go-gitdiff v0.9.1
go: downloading github.com/BobuSumisu/aho-corasick v1.0.3
go: downloading github.com/charmbracelet/lipgloss v0.5.0
go: downloading golang.org/x/text v0.22.0
go: downloading github.com/STARRY-S/zip v0.2.1
go: downloading github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3
go: downloading github.com/klauspost/compress v1.17.11
go: downloading github.com/bodgit/sevenzip v1.6.0
go: downloading github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707
go: downloading golang.org/x/sync v0.11.0
go: downloading github.com/pierrec/lz4/v4 v4.1.21
go: downloading github.com/klauspost/pgzip v1.2.6
go: downloading github.com/minio/minlz v1.0.0
go: downloading github.com/nwaples/rardecode/v2 v2.1.0
go: downloading github.com/therootcompany/xz v1.0.1
go: downloading github.com/sorairolake/lzip-go v0.3.5
go: downloading github.com/ulikunitz/xz v0.5.12
go: downloading github.com/spf13/cast v1.7.1
go: downloading github.com/fsnotify/fsnotify v1.8.0
go: downloading github.com/spf13/pflag v1.0.6
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/mitchellh/mapstructure v1.5.0
go: downloading github.com/spf13/afero v1.12.0
go: downloading github.com/sagikazarmark/slog-shim v0.1.0
go: downloading github.com/mattn/go-runewidth v0.0.14
go: downloading github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68
go: downloading github.com/muesli/termenv v0.15.1
go: downloading dario.cat/mergo v1.0.1
go: downloading github.com/Masterminds/goutils v1.1.1
go: downloading github.com/Masterminds/semver/v3 v3.3.0
go: downloading github.com/google/uuid v1.6.0
go: downloading github.com/huandu/xstrings v1.5.0
go: downloading github.com/mitchellh/copystructure v1.2.0
go: downloading github.com/shopspring/decimal v1.4.0
go: downloading golang.org/x/crypto v0.35.0
go: downloading github.com/subosito/gotenv v1.6.0
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading gopkg.in/ini.v1 v1.67.0
go: downloading github.com/magiconair/properties v1.8.9
go: downloading github.com/pelletier/go-toml/v2 v2.2.3
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/mattn/go-colorable v0.1.14
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/bodgit/plumbing v1.3.0
go: downloading github.com/bodgit/windows v1.0.1
go: downloading github.com/hashicorp/go-multierror v1.1.1
go: downloading go4.org v0.0.0-20230225012048-214862532bf5
go: downloading github.com/mitchellh/reflectwalk v1.0.2
go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading golang.org/x/sys v0.30.0
go: downloading github.com/hashicorp/errwrap v1.1.0
8:25AM INF Unknown SCM platform. Use --platform to include links in findings. host=amadan.net
8:25AM INF 33 commits scanned.
8:25AM INF scanned ~8420821 bytes (8.42 MB) in 3.35s
8:25AM INF no leaks found
suite: gitleaks took 38s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m30.740000s 0m3.670000s
--- shard 11 of 48 ---
==> shard 11 of 48: make browser.internal.harness
./hack/gotest.sh browser 'internal.harness'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: ./internal/harness/ runs its 10 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/harness	7.805s
suite: browser.internal.harness took 39s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m18.210000s 0m3.850000s
--- shard 12 of 48 ---
==> shard 12 of 48: make browser.check~1of13
./hack/gotest.sh browser 'check~1of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 1 of 13 of ./check/ runs 17 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	92.135s
suite: browser.check~1of13 took 130s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m4.490000s 0m16.690000s
--- shard 13 of 48 ---
==> shard 13 of 48: make browser.check~2of13
./hack/gotest.sh browser 'check~2of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 2 of 13 of ./check/ runs 17 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	95.775s
suite: browser.check~2of13 took 134s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m7.820000s 0m16.170000s
--- shard 14 of 48 ---
==> shard 14 of 48: make browser.check~3of13
./hack/gotest.sh browser 'check~3of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 3 of 13 of ./check/ runs 16 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	93.640s
suite: browser.check~3of13 took 132s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m56.690000s 0m13.910000s
--- shard 15 of 48 ---
==> shard 15 of 48: make browser.check~4of13
./hack/gotest.sh browser 'check~4of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 4 of 13 of ./check/ runs 16 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	91.248s
suite: browser.check~4of13 took 129s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m10.820000s 0m18.950000s
--- shard 16 of 48 ---
==> shard 16 of 48: make browser.check~5of13
./hack/gotest.sh browser 'check~5of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 5 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	84.109s
suite: browser.check~5of13 took 122s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m56.740000s 0m16.780000s
--- shard 17 of 48 ---
==> shard 17 of 48: make browser.check~6of13
./hack/gotest.sh browser 'check~6of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 6 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	80.406s
suite: browser.check~6of13 took 119s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m57.620000s 0m16.540000s
--- shard 18 of 48 ---
==> shard 18 of 48: make browser.check~7of13
./hack/gotest.sh browser 'check~7of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 7 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	83.487s
suite: browser.check~7of13 took 122s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m57.910000s 0m15.940000s
--- shard 19 of 48 ---
==> shard 19 of 48: make browser.check~8of13
./hack/gotest.sh browser 'check~8of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 8 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	91.851s
suite: browser.check~8of13 took 130s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m3.160000s 0m18.980000s
--- shard 20 of 48 ---
==> shard 20 of 48: make browser.check~9of13
./hack/gotest.sh browser 'check~9of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 9 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	80.063s
suite: browser.check~9of13 took 118s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m47.110000s 0m12.400000s
--- shard 21 of 48 ---
==> shard 21 of 48: make browser.check~10of13
./hack/gotest.sh browser 'check~10of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 10 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	83.222s
suite: browser.check~10of13 took 122s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m52.810000s 0m14.520000s
--- shard 22 of 48 ---
==> shard 22 of 48: make browser.check~11of13
./hack/gotest.sh browser 'check~11of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 11 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	84.783s
suite: browser.check~11of13 took 123s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m58.230000s 0m17.070000s
--- shard 23 of 48 ---
==> shard 23 of 48: make browser.check~12of13
./hack/gotest.sh browser 'check~12of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 12 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	85.101s
suite: browser.check~12of13 took 123s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m2.380000s 0m18.600000s
--- shard 24 of 48 ---
==> shard 24 of 48: make browser.check~13of13
./hack/gotest.sh browser 'check~13of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 13 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	82.021s
suite: browser.check~13of13 took 120s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m53.080000s 0m13.380000s
--- shard 25 of 48 ---
==> shard 25 of 48: make browser.internal.gallery~1of18
./hack/gotest.sh browser 'internal.gallery~1of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	39.794s
suite: browser.internal.gallery~1of18 took 77s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.380000s 0m6.400000s
--- shard 26 of 48 ---
==> shard 26 of 48: make browser.internal.gallery~2of18
./hack/gotest.sh browser 'internal.gallery~2of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	48.711s
suite: browser.internal.gallery~2of18 took 85s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.980000s 0m5.330000s
--- shard 27 of 48 ---
==> shard 27 of 48: make browser.internal.gallery~3of18
./hack/gotest.sh browser 'internal.gallery~3of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	59.210s
suite: browser.internal.gallery~3of18 took 96s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.200000s 0m6.480000s
--- shard 28 of 48 ---
==> shard 28 of 48: make browser.internal.gallery~4of18
./hack/gotest.sh browser 'internal.gallery~4of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	51.569s
suite: browser.internal.gallery~4of18 took 88s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.100000s 0m5.610000s
--- shard 29 of 48 ---
==> shard 29 of 48: make browser.internal.gallery~5of18
./hack/gotest.sh browser 'internal.gallery~5of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 5 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	62.579s
suite: browser.internal.gallery~5of18 took 100s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.550000s 0m8.030000s
--- shard 30 of 48 ---
==> shard 30 of 48: make browser.internal.gallery~6of18
./hack/gotest.sh browser 'internal.gallery~6of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 6 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	57.565s
suite: browser.internal.gallery~6of18 took 94s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m34.120000s 0m6.630000s
--- shard 31 of 48 ---
==> shard 31 of 48: make browser.internal.gallery~7of18
./hack/gotest.sh browser 'internal.gallery~7of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 7 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	56.269s
suite: browser.internal.gallery~7of18 took 93s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m31.810000s 0m5.370000s
--- shard 32 of 48 ---
==> shard 32 of 48: make browser.internal.gallery~8of18
./hack/gotest.sh browser 'internal.gallery~8of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 8 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	60.802s
suite: browser.internal.gallery~8of18 took 96s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.400000s 0m7.470000s
--- shard 33 of 48 ---
==> shard 33 of 48: make browser.internal.gallery~9of18
./hack/gotest.sh browser 'internal.gallery~9of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 9 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	67.849s
suite: browser.internal.gallery~9of18 took 105s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m41.960000s 0m10.340000s
--- shard 34 of 48 ---
==> shard 34 of 48: make browser.internal.gallery~10of18
./hack/gotest.sh browser 'internal.gallery~10of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 10 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	63.937s
suite: browser.internal.gallery~10of18 took 101s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m31.600000s 0m5.050000s
--- shard 35 of 48 ---
==> shard 35 of 48: make browser.internal.gallery~11of18
./hack/gotest.sh browser 'internal.gallery~11of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 11 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	65.279s
suite: browser.internal.gallery~11of18 took 102s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.870000s 0m5.780000s
--- shard 36 of 48 ---
==> shard 36 of 48: make browser.internal.gallery~12of18
./hack/gotest.sh browser 'internal.gallery~12of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 12 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	66.807s
suite: browser.internal.gallery~12of18 took 104s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.910000s 0m7.920000s
--- shard 37 of 48 ---
==> shard 37 of 48: make browser.internal.gallery~13of18
./hack/gotest.sh browser 'internal.gallery~13of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 13 of 18 of ./internal/gallery/ runs 4 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	66.333s
suite: browser.internal.gallery~13of18 took 104s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.800000s 0m7.990000s
--- shard 38 of 48 ---
==> shard 38 of 48: make browser.internal.gallery~14of18
./hack/gotest.sh browser 'internal.gallery~14of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 14 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	69.934s
suite: browser.internal.gallery~14of18 took 107s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.470000s 0m8.060000s
--- shard 39 of 48 ---
==> shard 39 of 48: make browser.internal.gallery~15of18
./hack/gotest.sh browser 'internal.gallery~15of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 15 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	70.148s
suite: browser.internal.gallery~15of18 took 107s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.890000s 0m8.520000s
--- shard 40 of 48 ---
==> shard 40 of 48: make browser.internal.gallery~16of18
./hack/gotest.sh browser 'internal.gallery~16of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 16 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	64.392s
suite: browser.internal.gallery~16of18 took 101s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.920000s 0m7.330000s
--- shard 41 of 48 ---
==> shard 41 of 48: make browser.internal.gallery~17of18
./hack/gotest.sh browser 'internal.gallery~17of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 17 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	70.154s
suite: browser.internal.gallery~17of18 took 106s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.440000s 0m8.250000s
--- shard 42 of 48 ---
==> shard 42 of 48: make browser.internal.gallery~18of18
./hack/gotest.sh browser 'internal.gallery~18of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 18 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	71.243s
suite: browser.internal.gallery~18of18 took 108s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m40.660000s 0m9.540000s
--- shard 43 of 48 ---
==> shard 43 of 48: make browser.internal.gallery.history
./hack/gotest.sh browser 'internal.gallery.history'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: ./internal/gallery/history/ runs its 3 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery/history	36.079s
suite: browser.internal.gallery.history took 68s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m40.890000s 0m5.070000s
--- shard 44 of 48 ---
==> shard 44 of 48: make browser.internal.www~1of4
./hack/gotest.sh browser 'internal.www~1of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 4 of ./internal/www/ runs 4 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	70.735s
suite: browser.internal.www~1of4 took 106s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m48.310000s 0m4.300000s
--- shard 45 of 48 ---
==> shard 45 of 48: make browser.internal.www~2of4
./hack/gotest.sh browser 'internal.www~2of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	69.432s
suite: browser.internal.www~2of4 took 103s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m4.530000s 0m5.420000s
--- shard 46 of 48 ---
==> shard 46 of 48: make browser.internal.www~3of4
./hack/gotest.sh browser 'internal.www~3of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	82.856s
suite: browser.internal.www~3of4 took 118s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m12.150000s 0m5.890000s
--- shard 47 of 48 ---
==> shard 47 of 48: make browser.internal.www~4of4
./hack/gotest.sh browser 'internal.www~4of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	77.800s
suite: browser.internal.www~4of4 took 112s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m5.180000s 0m5.890000s
diff --git a/examples/prose.json b/examples/prose.json
index 985e229..3fc22b8 100644
--- a/examples/prose.json
+++ b/examples/prose.json
@@ -327,7 +327,10 @@
"blurb": "The topbar shell's own chrome, as markup. The whole page it belongs to is layout-topbar, under Shells."
},
"side-nav": {
- "blurb": "A sidebar inside a panel: a column of links beside the panel's content. In a narrow panel the links become a row that scrolls sideways."
+ "blurb": "A sidebar inside a panel: a column of links beside the panel's content. In a narrow panel the links become a row that scrolls sideways.",
+ "states": {
+ "four-sections-the-first-open": "rst-side takes its width from its parent. In a flex row, give it flex: 1 1 0, or it can shrink to nothing."
+ }
},
"signin": {
"blurb": "The sign-in screen in every state it passes through: asking for an address, coming back, after the link is sent, when something went wrong, and the other ways in.",
diff --git a/internal/gallery/i18n/ar.json b/internal/gallery/i18n/ar.json
index 4225bf9..1cb0ea6 100644
--- a/internal/gallery/i18n/ar.json
+++ b/internal/gallery/i18n/ar.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "إطار الهيكل sidebar في صفحة محتوى: على الهاتف، عنصر للرجوع إلى الفهرس.",
"examples.shell-topbar.blurb": "إطار الهيكل ذي الشريط العلوي نفسه، كترميز. والصفحة الكاملة التي ينتمي إليها هي layout-topbar، تحت الهياكل.",
"examples.side-nav.blurb": "شريط جانبي داخل لوحة: عمود من الروابط بجانب محتوى اللوحة. في اللوحة الضيقة تصير الروابط صفًا يُمرَّر أفقيًا.",
+ "examples.side-nav.states.four-sections-the-first-open": "يأخذ rst-side عرضه من العنصر الأب. في صف flex، أعطه flex: 1 1 0، وإلا فقد ينكمش حتى يختفي.",
"examples.signin.blurb": "شاشة تسجيل الدخول في كل حالة تمرّ بها: طلب العنوان، والعودة، وبعد إرسال الرابط، وحين يقع خطأ، والطرق الأخرى للدخول.",
"examples.signin.states.a-passkey": "أسرع طريق للدخول لمن يملكه، ولا شيء يُكتب. وقدّم طريقة ثانية أيضًا: الناس يفقدون أجهزتهم، والمفتاح الذي لا يعمل باب موصد.",
"examples.signin.states.after-the-link-is-sent": "أعد عرض العنوان كما كُتب. فهي الفرصة الوحيدة لملاحظة خطأ مطبعي قبل انتظار رسالة لن تصل أبدًا.",
diff --git a/internal/gallery/i18n/bn.json b/internal/gallery/i18n/bn.json
index 6a5538f..986b6b2 100644
--- a/internal/gallery/i18n/bn.json
+++ b/internal/gallery/i18n/bn.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "কোনো কনটেন্ট পাতায় sidebar শেলের কাঠামো: ফোনে, সূচিতে ফিরে যাওয়ার একটি নিয়ন্ত্রণ।",
"examples.shell-topbar.blurb": "টপবার শেলের নিজের কাঠামো, মার্কআপ হিসেবে। যে পুরো পাতার অংশ এটি, সেটি layout-topbar, শেলের নিচে।",
"examples.side-nav.blurb": "একটি প্যানেলের ভেতরে সাইডবার: প্যানেলের বিষয়বস্তুর পাশে লিঙ্কের একটি কলাম। সরু প্যানেলে লিঙ্কগুলো একটি সারি হয়ে যায়, যা পাশে স্ক্রল করে।",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side তার প্রস্থ নেয় তার প্যারেন্ট থেকে। flex সারিতে এটিকে flex: 1 1 0 দিন, নইলে এটি সংকুচিত হয়ে মিলিয়ে যেতে পারে।",
"examples.signin.blurb": "সাইন-ইন স্ক্রিনের প্রতিটি অবস্থা, যার মধ্য দিয়ে এটি যায়: ঠিকানা চাওয়া, ফিরে আসা, লিঙ্ক পাঠানোর পরে, কিছু ভুল হলে, আর ঢোকার অন্য উপায়গুলো।",
"examples.signin.states.a-passkey": "যাঁর একটি আছে তাঁর জন্য এটিই দ্রুততম পথ, টাইপ করার কিছু নেই। দ্বিতীয় একটি পথও রাখুন: মানুষ যন্ত্র হারায়, আর যে পাসকি কাজ করে না সেটি একটি তালাবদ্ধ দরজা।",
"examples.signin.states.after-the-link-is-sent": "ঠিকানাটি হুবহু ফিরিয়ে দেখান। যে ইমেল কোনওদিন আসবে না তার জন্য অপেক্ষা করার আগে বানান ভুল ধরার এটিই একমাত্র সুযোগ।",
diff --git a/internal/gallery/i18n/drafts.json b/internal/gallery/i18n/drafts.json
index 95e7ace..9016e3c 100644
--- a/internal/gallery/i18n/drafts.json
+++ b/internal/gallery/i18n/drafts.json
@@ -767,6 +767,22 @@
"zh-Hans"
]
},
+ "examples.side-nav.states.four-sections-the-first-open": {
+ "english": "rst-side takes its width from its parent. In a flex row, give it flex: 1 1 0, or it can shrink to nothing.",
+ "locales": [
+ "ar",
+ "bn",
+ "es",
+ "ga",
+ "hi",
+ "ja",
+ "pt-PT",
+ "ru",
+ "vi",
+ "yue",
+ "zh-Hans"
+ ]
+ },
"examples.signin.blurb": {
"english": "The sign-in screen in every state it passes through: asking for an address, coming back, after the link is sent, when something went wrong, and the other ways in.",
"locales": [
diff --git a/internal/gallery/i18n/es.json b/internal/gallery/i18n/es.json
index a65f479..e7dfcf3 100644
--- a/internal/gallery/i18n/es.json
+++ b/internal/gallery/i18n/es.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "El armazón del shell sidebar en una página de contenido: en un teléfono, un control para volver al índice.",
"examples.shell-topbar.blurb": "El armazón propio del contenedor con barra superior, como marcado. La página entera a la que pertenece es layout-topbar, en Armazones.",
"examples.side-nav.blurb": "Una barra lateral dentro de un panel: una columna de enlaces junto al contenido del panel. En un panel estrecho, los enlaces pasan a ser una fila que se desplaza en horizontal.",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side toma su ancho de su elemento padre. En una fila flex, dale flex: 1 1 0, o puede encogerse hasta desaparecer.",
"examples.signin.blurb": "La pantalla de inicio de sesión en cada estado por el que pasa: pidiendo una dirección, al volver, después de enviar el enlace, cuando algo ha ido mal y las otras formas de entrar.",
"examples.signin.states.a-passkey": "La vía más rápida para quien ya tiene una, y no hay nada que teclear. Ofrece también una segunda vía: la gente pierde dispositivos, y una clave de acceso que no funciona es una puerta cerrada.",
"examples.signin.states.after-the-link-is-sent": "Repite la dirección tal cual. Es la única oportunidad de detectar una errata antes de quedarse esperando un correo que nunca llegará.",
diff --git a/internal/gallery/i18n/ga.json b/internal/gallery/i18n/ga.json
index b3c4fb2..55c7eda 100644
--- a/internal/gallery/i18n/ga.json
+++ b/internal/gallery/i18n/ga.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "Creatlach na blaoisce sidebar ar leathanach ábhair: ar fhón, rialtán ar ais chuig an innéacs.",
"examples.shell-topbar.blurb": "Fráma féin an bhlaoisc barra barr, mar mharcáil. Is é layout-topbar an leathanach iomlán lena mbaineann sé, faoi Blaoscanna.",
"examples.side-nav.blurb": "Barra taoibh laistigh de phainéal: colún nasc in aice le hábhar an phainéil. I bpainéal caol, déantar ró de na naisc a scrollaíonn ó thaobh go taobh.",
+ "examples.side-nav.states.four-sections-the-first-open": "Faigheann rst-side a leithead óna thuismitheoir. I ró flex, tabhair flex: 1 1 0 dó, nó d'fhéadfadh sé crapadh go dtí nach mbeidh faic fágtha.",
"examples.signin.blurb": "An scáileán sínithe isteach i ngach staid a ngabhann sé tríd: ag iarraidh seoladh, ag teacht ar ais, tar éis an nasc a sheoladh, nuair a chuaigh rud éigin mícheart, agus na bealaí eile isteach.",
"examples.signin.states.a-passkey": "An bealach isteach is tapúla don duine a bhfuil ceann aige, gan aon rud le clóscríobh. Tairg dara bealach freisin: cailleann daoine gléasanna, agus is doras faoi ghlas í eochair rochtana nach n-oibríonn.",
"examples.signin.states.after-the-link-is-sent": "Athdheimhnigh an seoladh. Sin an t-aon seans botún clóscríofa a thabhairt faoi deara sula bhfanfaidh duine le ríomhphost nach dtiocfaidh choíche.",
diff --git a/internal/gallery/i18n/hi.json b/internal/gallery/i18n/hi.json
index e06afd3..b70b523 100644
--- a/internal/gallery/i18n/hi.json
+++ b/internal/gallery/i18n/hi.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "किसी सामग्री पृष्ठ पर sidebar शेल का ढाँचा: फ़ोन पर, सूची पर वापस जाने का एक नियंत्रण।",
"examples.shell-topbar.blurb": "टॉपबार शेल का अपना ढाँचा, मार्कअप के रूप में। जिस पूरे पेज का यह हिस्सा है, वह layout-topbar है, शेल के अंतर्गत।",
"examples.side-nav.blurb": "किसी पैनल के अंदर साइडबार: पैनल की सामग्री के बगल में लिंक का एक कॉलम। संकरे पैनल में लिंक एक पंक्ति बन जाते हैं, जो दाएँ-बाएँ स्क्रॉल होती है।",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side अपनी चौड़ाई अपने पैरेंट से लेता है। flex पंक्ति में इसे flex: 1 1 0 दें, वरना यह सिकुड़कर ग़ायब हो सकता है।",
"examples.signin.blurb": "साइन-इन स्क्रीन, हर उस स्थिति में जिससे वह गुज़रती है: पता माँगते हुए, लौटने पर, लिंक भेजे जाने के बाद, कुछ गड़बड़ होने पर, और अंदर आने के दूसरे रास्ते।",
"examples.signin.states.a-passkey": "जिसके पास पहले से है, उसके लिए यह सबसे तेज़ रास्ता है और टाइप करने को कुछ नहीं। दूसरा रास्ता भी दें: लोग डिवाइस खो देते हैं, और जो पासकी काम न करे वह बंद दरवाज़ा है।",
"examples.signin.states.after-the-link-is-sent": "पता वापस दिखाएँ। ऐसे ईमेल का इंतज़ार करने से पहले, जो कभी आएगा ही नहीं, टाइपो पकड़ने का यही एकमात्र मौका है।",
diff --git a/internal/gallery/i18n/ja.json b/internal/gallery/i18n/ja.json
index 072788b..18bffa7 100644
--- a/internal/gallery/i18n/ja.json
+++ b/internal/gallery/i18n/ja.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "コンテンツページでの sidebar シェルの枠です。スマートフォンでは、目次へ戻る操作になります。",
"examples.shell-topbar.blurb": "トップバーのシェル自身の枠組みを、マークアップとして示したもの。これが属するページ全体は、シェルの下の layout-topbar です。",
"examples.side-nav.blurb": "パネルの中のサイドバーです。パネルの内容の横に、リンクを縦一列に並べます。幅の狭いパネルでは、リンクは横一列になり、横にスクロールします。",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side の幅は親要素から決まります。flex の行の中では flex: 1 1 0 を指定してください。指定しないと、幅がなくなるまで縮むことがあります。",
"examples.signin.blurb": "サインイン画面が通るすべての状態です。アドレスを尋ねるとき、戻ってきたとき、リンクを送ったあと、何かがうまくいかなかったとき、そしてほかの入りかた。",
"examples.signin.states.a-passkey": "持っている人にとっては最速で、入力するものもありません。第二の方法も用意してください。端末はなくなるものですし、使えないパスキーは施錠された扉です。",
"examples.signin.states.after-the-link-is-sent": "入力されたアドレスをそのまま返して見せます。決して届かないメールを待ち始める前に、打ち間違いに気づける唯一の機会です。",
diff --git a/internal/gallery/i18n/pt-PT.json b/internal/gallery/i18n/pt-PT.json
index d7c57fb..2791291 100644
--- a/internal/gallery/i18n/pt-PT.json
+++ b/internal/gallery/i18n/pt-PT.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "A moldura do invólucro sidebar numa página de conteúdo: num telemóvel, um controlo para voltar ao índice.",
"examples.shell-topbar.blurb": "A estrutura própria do invólucro com barra superior, como marcação. A página inteira a que pertence é layout-topbar, em Invólucros.",
"examples.side-nav.blurb": "Uma barra lateral dentro de um painel: uma coluna de ligações ao lado do conteúdo do painel. Num painel estreito, as ligações passam a ser uma fila que se desloca na horizontal.",
+ "examples.side-nav.states.four-sections-the-first-open": "O rst-side recebe a largura do elemento pai. Numa fila flex, dê-lhe flex: 1 1 0, ou pode encolher até desaparecer.",
"examples.signin.blurb": "O ecrã de início de sessão em cada estado por que passa: a pedir um endereço, ao voltar, depois de enviada a ligação, quando algo correu mal, e as outras formas de entrar.",
"examples.signin.states.a-passkey": "A via mais rápida para quem já tem uma, e não há nada para escrever. Ofereça também uma segunda via: as pessoas perdem dispositivos, e uma chave de acesso que não funciona é uma porta trancada.",
"examples.signin.states.after-the-link-is-sent": "Repita o endereço tal como foi escrito. É a única oportunidade de detetar uma gralha antes de ficar à espera de um email que nunca chegará.",
diff --git a/internal/gallery/i18n/ru.json b/internal/gallery/i18n/ru.json
index 909690f..0087405 100644
--- a/internal/gallery/i18n/ru.json
+++ b/internal/gallery/i18n/ru.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "Обрамление оболочки sidebar на странице с содержимым: на телефоне это кнопка возврата к оглавлению.",
"examples.shell-topbar.blurb": "Собственная обвязка оболочки с верхней панелью, в виде разметки. Целая страница, к которой она относится, — layout-topbar в разделе «Оболочки».",
"examples.side-nav.blurb": "Боковое меню внутри панели: столбец ссылок рядом с содержимым панели. В узкой панели ссылки выстраиваются в строку, которая прокручивается вбок.",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side берёт ширину у родителя. В flex-строке задайте ему flex: 1 1 0, иначе он может сжаться до нуля.",
"examples.signin.blurb": "Экран входа во всех состояниях, через которые он проходит: просьба ввести адрес, возвращение, после отправки ссылки, когда что-то пошло не так, и другие способы войти.",
"examples.signin.states.a-passkey": "Самый быстрый вход для того, у кого он есть, и ничего не нужно печатать. Предложите и второй способ: люди теряют устройства, а ключ, который не срабатывает, — это запертая дверь.",
"examples.signin.states.after-the-link-is-sent": "Повторите адрес как есть. Это единственный шанс заметить опечатку до того, как человек начнёт ждать письмо, которое никогда не придёт.",
diff --git a/internal/gallery/i18n/vi.json b/internal/gallery/i18n/vi.json
index a262516..cd2c524 100644
--- a/internal/gallery/i18n/vi.json
+++ b/internal/gallery/i18n/vi.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "Bộ khung của shell sidebar trên một trang nội dung: trên điện thoại, đó là nút quay lại trang mục lục.",
"examples.shell-topbar.blurb": "Phần khung riêng của vỏ thanh trên cùng, dưới dạng mã đánh dấu. Trang hoàn chỉnh mà nó thuộc về là layout-topbar, trong mục Khung trang.",
"examples.side-nav.blurb": "Một thanh bên nằm trong một khung: một cột liên kết cạnh nội dung của khung. Trong khung hẹp, các liên kết thành một hàng cuộn ngang.",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side lấy chiều rộng từ phần tử cha. Trong một hàng flex, hãy đặt flex: 1 1 0 cho nó, nếu không nó có thể co lại đến mức biến mất.",
"examples.signin.blurb": "Màn hình đăng nhập ở mọi trạng thái nó trải qua: hỏi địa chỉ, khi quay lại, sau khi gửi liên kết, khi có gì đó trục trặc, và những cách vào khác.",
"examples.signin.states.a-passkey": "Cách vào nhanh nhất với người đã có, và không phải gõ gì cả. Hãy cung cấp thêm một cách thứ hai: người ta làm mất thiết bị, và một passkey không dùng được là một cánh cửa khoá.",
"examples.signin.states.after-the-link-is-sent": "Hiển thị lại đúng địa chỉ vừa nhập. Đó là cơ hội duy nhất để phát hiện lỗi gõ trước khi ngồi chờ một email không bao giờ tới.",
diff --git a/internal/gallery/i18n/yue.json b/internal/gallery/i18n/yue.json
index 7886091..3280887 100644
--- a/internal/gallery/i18n/yue.json
+++ b/internal/gallery/i18n/yue.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "sidebar 外殼喺內容頁上嘅框架:喺手機上,係一個返去目錄嘅控制。",
"examples.shell-topbar.blurb": "頂欄外殼自己嘅框架,以標記形式呈現。佢所屬嘅成版係頁面外殼下面嘅 layout-topbar。",
"examples.side-nav.blurb": "面板入面嘅側欄:一列連結,喺面板內容旁邊。面板窄嘅時候,啲連結會變成一行,可以左右捲動。",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side 嘅闊度由佢嘅父元素決定。喺 flex 行入面,要畀佢 flex: 1 1 0,唔係佢可能會縮到冇咗。",
"examples.signin.blurb": "登入畫面經歷嘅每個狀態:問地址、返嚟、寄咗連結之後、出咗錯嗰陣,同埋其他入嚟嘅方法。",
"examples.signin.states.a-passkey": "對已經有嘅人嚟講係最快,亦冇嘢要打。但都要俾多一個方法:人會唔見咗部機,而一條用唔到嘅通行密鑰就係一道鎖死咗嘅門。",
"examples.signin.states.after-the-link-is-sent": "將個地址原樣顯示返。喺等一封永遠唔會嚟嘅電郵之前,呢個係唯一發現打錯字嘅機會。",
diff --git a/internal/gallery/i18n/zh-Hans.json b/internal/gallery/i18n/zh-Hans.json
index 41c2d98..0a3db71 100644
--- a/internal/gallery/i18n/zh-Hans.json
+++ b/internal/gallery/i18n/zh-Hans.json
@@ -102,6 +102,7 @@
"examples.shell-sidebar.blurb": "sidebar 外壳在内容页上的框架:在手机上,是一个返回目录的控件。",
"examples.shell-topbar.blurb": "顶栏外壳自己的框架,以标记形式呈现。它所属的整页是页面外壳下的 layout-topbar。",
"examples.side-nav.blurb": "面板里的侧边栏:一列链接,位于面板内容旁边。面板较窄时,链接变成一行,可以左右滚动。",
+ "examples.side-nav.states.four-sections-the-first-open": "rst-side 的宽度由父元素决定。在 flex 行中,请给它 flex: 1 1 0,否则它可能会缩到没有宽度。",
"examples.signin.blurb": "登录屏幕经历的每一种状态:询问地址、回来时、链接寄出之后、出了问题时,以及其他进入方式。",
"examples.signin.states.a-passkey": "对已经有通行密钥的人来说这是最快的方式,什么都不用输。但也要提供第二种方式:人会弄丢设备,而一把用不了的通行密钥就是一道锁死的门。",
"examples.signin.states.after-the-link-is-sent": "把地址原样显示回去。这是在苦等一封永远不会来的邮件之前,唯一能发现打错字的机会。",