@jskit-ai/agent-docs 0.1.117 → 0.1.118
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,9 +681,11 @@ 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
|
-
|
|
685
|
-
|
|
686
|
-
|
|
684
|
+
uses one `navigationItemSpacing` value for the icon-to-label gap and the space
|
|
685
|
+
between the widest label and the drawer edge. It defaults to 12 CSS pixels and
|
|
686
|
+
can be set from 8–24px. The shell remeasures when placements, localization,
|
|
687
|
+
fonts, spacing, the active surface, or the window layout change, and clamps
|
|
688
|
+
unusually long labels to a safe range. The
|
|
687
689
|
closed desktop rail remains 80 CSS pixels wide by default, with every icon and
|
|
688
690
|
its Material selected-state indicator centred in the rail. Rail tooltips use
|
|
689
691
|
one explicit opaque theme color pair and open on pointer hover or keyboard
|
|
@@ -701,11 +703,11 @@ product has another discoverable navigation affordance:
|
|
|
701
703
|
The default is `desktop-drawer-closed-mode="rail"`. Prefer that Material 3
|
|
702
704
|
pattern; do not imitate a rail with custom CSS or a second menu registry.
|
|
703
705
|
|
|
704
|
-
Applications that need
|
|
705
|
-
|
|
706
|
+
Applications that need product-specific dimensions or spacing can use the
|
|
707
|
+
public props instead of overriding Vuetify drawer CSS:
|
|
706
708
|
|
|
707
709
|
```vue
|
|
708
|
-
<ShellLayout :drawer-width="280" :rail-width="
|
|
710
|
+
<ShellLayout :drawer-width="280" :rail-width="64" :navigation-item-spacing="12">
|
|
709
711
|
<RouterView />
|
|
710
712
|
</ShellLayout>
|
|
711
713
|
```
|
|
@@ -714,9 +716,9 @@ Omit `drawer-width` to retain content-aware sizing. Omit `rail-width` to retain
|
|
|
714
716
|
the 80px Material navigation-rail default. Drawer overrides are clamped to
|
|
715
717
|
120–360px and rail overrides to 48–160px so shell navigation cannot consume an
|
|
716
718
|
unsafe share of the viewport or shrink below its touch targets. The app-owned
|
|
717
|
-
`src/components/ShellLayout.vue` wrapper forwards
|
|
718
|
-
|
|
719
|
-
drawer implementation.
|
|
719
|
+
`src/components/ShellLayout.vue` wrapper also forwards
|
|
720
|
+
`navigation-item-spacing`, so an application does not need to copy or restyle
|
|
721
|
+
the drawer implementation.
|
|
720
722
|
|
|
721
723
|
`useShellErrorPresentationStore()` exposes the current banner, snackbar, and dialog presentation state behind `ShellErrorHost`.
|
|
722
724
|
|
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`
|
|
62
|
-
- On medium and expanded layouts, closing the standard drawer produces an 80px navigation rail by default. Use `railWidth` to configure that width, or `desktopDrawerClosedMode="hidden"` only when another discoverable navigation surface exists.
|
|
61
|
+
- The standard `ShellLayout` uses one `navigationItemSpacing` value (12px by default) for the icon-to-label gap and the widest label's logical-end gap. It remeasures its content-aware width after placement, locale, font, surface, spacing, and layout changes. 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. Use `railWidth` to configure that width, 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:
|
|
@@ -430,13 +430,14 @@ Exports
|
|
|
430
430
|
### `src/client/support/drawerWidth.js`
|
|
431
431
|
Exports
|
|
432
432
|
- `DEFAULT_SHELL_DRAWER_WIDTH`
|
|
433
|
+
- `DEFAULT_SHELL_NAVIGATION_ITEM_SPACING`
|
|
433
434
|
- `DEFAULT_SHELL_RAIL_WIDTH`
|
|
434
435
|
- `MAXIMUM_SHELL_DRAWER_WIDTH`
|
|
435
436
|
- `MINIMUM_SHELL_DRAWER_WIDTH`
|
|
436
|
-
- `SHELL_DRAWER_LABEL_END_GAP`
|
|
437
437
|
- `normalizeShellDrawerWidth(value, fallback = DEFAULT_SHELL_DRAWER_WIDTH)`
|
|
438
|
+
- `normalizeShellNavigationItemSpacing(value, fallback = DEFAULT_SHELL_NAVIGATION_ITEM_SPACING)`
|
|
438
439
|
- `normalizeShellRailWidth(value, fallback = DEFAULT_SHELL_RAIL_WIDTH)`
|
|
439
|
-
- `resolveContentAwareDrawerWidth(measurements = [], { endGap =
|
|
440
|
+
- `resolveContentAwareDrawerWidth(measurements = [], { endGap = DEFAULT_SHELL_NAVIGATION_ITEM_SPACING, minimum = MINIMUM_SHELL_DRAWER_WIDTH, maximum = MAXIMUM_SHELL_DRAWER_WIDTH, fallback = DEFAULT_SHELL_DRAWER_WIDTH } = {})`
|
|
440
441
|
Local functions
|
|
441
442
|
- `clampNumber(value, minimum, maximum)`
|
|
442
443
|
|
|
@@ -47,10 +47,11 @@ navigation as a rail. Use `desktopDrawerClosedMode="hidden"` only when another
|
|
|
47
47
|
discoverable navigation affordance exists. Do not create a second drawer/menu
|
|
48
48
|
registry or imitate the rail with CSS.
|
|
49
49
|
|
|
50
|
-
The
|
|
51
|
-
|
|
52
|
-
Set `
|
|
53
|
-
|
|
50
|
+
The drawer uses `navigationItemSpacing` (12px) for icon/label and widest-label/
|
|
51
|
+
edge gaps. Its 80px rail centres complete 48px targets and theme-owned
|
|
52
|
+
tooltips. Set `railWidth` (for example, `64`) for another density, or
|
|
53
|
+
`drawerWidth` for a fixed open width. The app wrapper forwards all three; never
|
|
54
|
+
override `.v-navigation-drawer` in an app.
|
|
54
55
|
|
|
55
56
|
## Browser verification
|
|
56
57
|
|