@jskit-ai/agent-docs 0.1.118 → 0.1.119
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.
|
@@ -681,13 +681,21 @@ navigation.
|
|
|
681
681
|
|
|
682
682
|
The open drawer is content-aware by default. After the visible semantic
|
|
683
683
|
placements and fonts settle, `ShellLayout` measures the rendered labels and
|
|
684
|
-
uses one `navigationItemSpacing` value for
|
|
685
|
-
|
|
686
|
-
can be set from 8–24px. The
|
|
687
|
-
|
|
688
|
-
unusually long labels to a safe range. The
|
|
689
|
-
|
|
690
|
-
|
|
684
|
+
uses Material's 12px outer item inset and one `navigationItemSpacing` value for
|
|
685
|
+
the icon-to-label gap and the space between the widest label and the drawer
|
|
686
|
+
edge. The spacing defaults to 12 CSS pixels and can be set from 8–24px. The
|
|
687
|
+
shell remeasures when placements, localization, fonts, spacing, the active
|
|
688
|
+
surface, or the window layout change, and clamps unusually long labels to a safe range. The
|
|
689
|
+
surface label appears once in the top app bar; the drawer starts with its
|
|
690
|
+
destinations instead of repeating that label as an uppercase subheader.
|
|
691
|
+
|
|
692
|
+
The closed desktop rail remains 80 CSS pixels wide by default, with every icon
|
|
693
|
+
and its Material selected-state indicator centred in the rail. The expanded
|
|
694
|
+
drawer uses the same icon centreline, so toggling the drawer reveals or hides
|
|
695
|
+
labels without making the icons jump sideways. The empty space around a 24px
|
|
696
|
+
icon in the default rail is intentional Material touch/indicator space, not a
|
|
697
|
+
second drawer padding. Products that deliberately need a denser rail can set
|
|
698
|
+
`railWidth`; the shell still enforces a 48px minimum target. Rail tooltips use
|
|
691
699
|
one explicit opaque theme color pair and open on pointer hover or keyboard
|
|
692
700
|
focus.
|
|
693
701
|
|
|
@@ -720,6 +728,21 @@ unsafe share of the viewport or shrink below its touch targets. The app-owned
|
|
|
720
728
|
`navigation-item-spacing`, so an application does not need to copy or restyle
|
|
721
729
|
the drawer implementation.
|
|
722
730
|
|
|
731
|
+
### Updating an existing shell app
|
|
732
|
+
|
|
733
|
+
Commit the app's work and run:
|
|
734
|
+
|
|
735
|
+
```bash
|
|
736
|
+
npm run jskit:update
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
Keep the generated/app-owned `src/components/ShellLayout.vue` wrapper and let
|
|
740
|
+
it continue forwarding attributes to the package component. No copied drawer,
|
|
741
|
+
`.v-navigation-drawer` CSS, duplicate surface heading, or replacement smoke
|
|
742
|
+
test is required. If the product intentionally wants a denser desktop rail,
|
|
743
|
+
set the supported prop in that wrapper, for example `:rail-width="64"`; omit it
|
|
744
|
+
to keep the Material 3 80px default.
|
|
745
|
+
|
|
723
746
|
`useShellErrorPresentationStore()` exposes the current banner, snackbar, and dialog presentation state behind `ShellErrorHost`.
|
|
724
747
|
|
|
725
748
|
The simplest direct store usage looks like this:
|
package/package.json
CHANGED
package/patterns/placements.md
CHANGED
|
@@ -58,8 +58,8 @@ Runtime behavior:
|
|
|
58
58
|
- Runtime resolves the component token as `entry.componentToken || variant.renderers[entry.kind]`.
|
|
59
59
|
- Entries without a resolvable component token do not render.
|
|
60
60
|
- `when()` receives placement context including `app`, `surface`, `target`, `layoutClass`, runtime context, local outlet context, and context contributors.
|
|
61
|
-
- The standard `ShellLayout` uses one `navigationItemSpacing` value (12px by default) for the icon-to-label gap and
|
|
62
|
-
- On medium and expanded layouts, closing the standard drawer produces an 80px Material navigation rail by default. Use `railWidth` to configure
|
|
61
|
+
- The standard `ShellLayout` uses Material's 12px outer item inset and one `navigationItemSpacing` value (12px by default) for the icon-to-label gap and widest label's logical-end gap. It remeasures its content-aware width after placement, locale, font, surface, spacing, and layout changes. The surface label belongs once in the top app bar; do not add or restore a duplicate drawer subheader. Use `drawerWidth` only when a product needs a fixed width; do not add consumer `.v-navigation-drawer` overrides.
|
|
62
|
+
- On medium and expanded layouts, closing the standard drawer produces an 80px Material navigation rail by default. Expanded and collapsed icons share one centreline. Use `railWidth` to configure an intentionally denser rail, or `desktopDrawerClosedMode="hidden"` only when another discoverable navigation surface exists.
|
|
63
63
|
- The shell link renderers own rail centring, selected-state treatment, and opaque theme-aware tooltips. Applications should keep supplying the same semantic placement records rather than creating rail-only links or tooltip CSS.
|
|
64
64
|
|
|
65
65
|
CLI and generators:
|
|
@@ -41,17 +41,18 @@ Doctor must continue to report a missing managed test.
|
|
|
41
41
|
|
|
42
42
|
## Adaptive shell drawer
|
|
43
43
|
|
|
44
|
-
Use Vuetify Material navigation. Compact close dismisses the temporary drawer
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
Use Vuetify Material navigation. Compact close dismisses the temporary drawer;
|
|
45
|
+
wide layouts default to `desktopDrawerClosedMode="rail"`. Use `hidden` only
|
|
46
|
+
with another navigation affordance.
|
|
47
|
+
|
|
48
|
+
The drawer omits the app bar's surface label. Open and rail icons share a
|
|
49
|
+
centreline. It uses a 12px outer item inset; `navigationItemSpacing` (12px)
|
|
50
|
+
controls icon/label and label/end gaps. The 80px rail centres 48px targets; set
|
|
51
|
+
`railWidth` (for example, `64`) for a denser rail or `drawerWidth` for a fixed
|
|
52
|
+
drawer. The wrapper forwards these props; never override its CSS.
|
|
53
|
+
|
|
54
|
+
Existing apps: commit work and run `npm run jskit:update`. Keep and adapt
|
|
55
|
+
the app-owned shell wrapper and smoke test; do not copy or delete them.
|
|
55
56
|
|
|
56
57
|
## Browser verification
|
|
57
58
|
|