@synopackageland/ui 0.19.11 → 0.20.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.20.0 (2026-11-04)
4
+
5
+ - `PageContent height="fill"` gives its height to a `SectionTabs fill` or a `SettingsPage` however deeply the App wraps it: every element between the page body and that component becomes a flex column that takes the room its siblings leave, so an App needs no CSS of its own to pass the height through its page wrappers. A hidden wrapper (`v-show`, `hidden`) stays hidden.
6
+ - In such a page, a `SectionTabs fill` tab that is not a `SettingsPage` scrolls under the fixed strip instead of running past the page's bottom; a `SettingsPage` tab still scrolls only its own body over its footer.
7
+ - [Layout rules](docs/layout-rules.md) describe the current page layout: no page title under a sidebar that names the page, the page's buttons in a bar above it, and only the content scrolling. A migration section lists the CSS an App can drop.
8
+ - Fix long `Select` and `Combobox` lists showing no scrollbar, so a list that scrolls no longer looked cut off. Reka hides the native bar inside its list viewports; the DSM scrollbar is drawn there again, in light and dark, while `ScrollArea` keeps hiding its own bar.
9
+
3
10
  ## 0.19.11 (2026-11-03)
4
11
 
5
12
  - `Progress` draws its track as a faint tint of its own tone (`--ui-primary-soft`, `--ui-success-soft`, `--ui-warning-soft`, `--ui-danger-soft`) instead of the grey border colour, so a bar never sits on a grey track.
package/README.md CHANGED
@@ -437,6 +437,12 @@ under its sticky header, with the pager always in view. Pages that are not
437
437
  `fill` in the same layout scroll as before. In the SDK's `AppShell`, the same
438
438
  is a page's `fill: true`.
439
439
 
440
+ A settings page fills the same way: `PageContent height="fill"` gives the
441
+ height to a `SectionTabs fill` or a `SettingsPage` through the App's own
442
+ wrapper elements, with no CSS of their own. The tab strip and the footer stay,
443
+ only the sections scroll, and a tab that is not a `SettingsPage` scrolls under
444
+ the strip. The SDK's `AppShell` fills such a page by itself.
445
+
440
446
  ```vue
441
447
  <AppLayout height="fill" min-height="0">
442
448
  <template #sidebar>…</template>
@@ -964,8 +970,8 @@ Use the pnpm version specified in `package.json`.
964
970
  ```bash
965
971
  pnpm story # component workbench
966
972
  pnpm dev # rebuild dist when library source changes
967
- pnpm check # production build, then lint, typecheck and tests in parallel, then the package audit
968
- pnpm check:fast # as check, but only the tests the changes since origin/master reach (vitest --changed)
973
+ npm run gates # basic build, lint, typecheck, unit tests, notices and package audit
974
+ npm run gates:full # optional browser/workbench/registry integrations, only when requested
969
975
  pnpm story:build # build the component workbench
970
976
  pnpm check:host # after pnpm build: DSM host simulation screenshots (Chrome)
971
977
  pnpm check:date-picker # after pnpm build: app-local calendars, Dialog Escape and full-bleed pages (ego-browser)
@@ -973,8 +979,9 @@ pnpm check:switch # after pnpm build: Switch knob geometry and click toggling (C
973
979
  pnpm check:topology # after pnpm build: ConnectionTopology motion, keyboard and narrow layout (Chrome)
974
980
  ```
975
981
 
976
- Use `pnpm check:fast` while developing (`SYNOPKGLAND_GATE_BASE` sets the base),
977
- and `pnpm check` once before a release: the full run is the release gate.
982
+ Use `npm run gates` for development and release. Extended checks require an
983
+ explicit `npm run gates:full`; full is optional. `pnpm check` and `check:fast`
984
+ are basic aliases. See [release checks](docs/release-checks.md).
978
985
  `check` prints one line per passing task and a failing task's whole log.
979
986
 
980
987
  With `SYNOPKGLAND_DOCKER_SSH=<ssh host>`, `pnpm check`, `check:fast` and
@@ -1044,12 +1051,11 @@ See the [documentation](https://www.varvis.me/docs/) for usage.
1044
1051
 
1045
1052
  ### CI and tag releases
1046
1053
 
1047
- GitHub Actions runs on Ubuntu for pushes to `master` and `ci/**`, pull requests,
1048
- and manual dispatch. Both workflows share `.github/actions/verify`: a frozen
1049
- pnpm install from npmjs, `pnpm check` (build, lint, typecheck, unit tests and the
1050
- package-content audit), `notices:check`, responsive/host/switch/layout/motion
1051
- browser checks, and the Histoire workbench build. pnpm and Playwright Chromium
1052
- are cached. Browser screenshots and measurements are retained for seven days.
1054
+ Automatic CI runs basic checks. The disabled CI/release workflow templates
1055
+ share `.github/actions/verify`: frozen dependency installation and
1056
+ `npm run gates` (build, lint, typecheck, unit tests, notices and package audit).
1057
+ Browser integrations, workbench builds and registry consumer smoke require
1058
+ `npm run gates:full` only when explicitly requested.
1053
1059
 
1054
1060
  To release the package:
1055
1061
 
@@ -1066,8 +1072,8 @@ To release the package:
1066
1072
  ```
1067
1073
 
1068
1074
  The release workflow checks the exact tag/version, default-branch ancestry,
1069
- nonempty changelog section and npm version availability. It runs the same full
1070
- CI gates, stages the package into an empty directory, packs it, and audits
1075
+ nonempty changelog section and npm version availability. It runs the same basic
1076
+ checks, stages the package into an empty directory, packs it, and audits
1071
1077
  the actual tarball (every exported dist file, MIT license, notices, bundled Reka,
1072
1078
  package name and no `publishConfig`). A separate job rechecks the artifact and
1073
1079
  registry before publishing with `NPM_TOKEN`, then creates a GitHub Release from
@@ -1077,7 +1083,7 @@ If npm publication succeeds but GitHub Release creation fails, create the Releas
1077
1083
  from the changelog separately; rerunning publishing intentionally refuses the
1078
1084
  already published version.
1079
1085
 
1080
- On branches and PRs, the release workflow performs the full pipeline through
1086
+ On branches and PRs, the release workflow performs basic validation through
1081
1087
  `npm publish <tgz> --dry-run --access public --ignore-scripts`, without npm
1082
1088
  credentials or creating a GitHub Release. An existing npm version is allowed only
1083
1089
  in dry-run mode and is reported explicitly; npm 11 also rejects duplicate versions