@publier/shell 4.0.0 → 4.1.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/README.md CHANGED
@@ -60,8 +60,9 @@ Below 1024px, the button named **Open navigation menu** has
60
60
  native dialog; the browser owns modal focus, focus restoration and Escape.
61
61
  The close button is named **Close navigation menu**. The menu container has
62
62
  `data-publier-nav-mobile`; each mobile group is also a `<details>` with the same
63
- group and menu attributes. Escape closes an open group first, then the containing
64
- dialog. Links and close buttons dismiss the dialog. Client-router navigation and
63
+ group and menu attributes. With focus inside an open group, Escape closes that
64
+ group first; a subsequent Escape dismisses the dialog. With focus elsewhere in
65
+ the dialog, Escape dismisses the dialog directly. Links and close buttons dismiss the dialog. Client-router navigation and
65
66
  crossing into the desktop layout clear open menus.
66
67
 
67
68
  The active destination uses `aria-current="page"`, chosen by longest local-path
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { h as docsShell, i as DocsShellOptions } from "./integration-BNKc2flb.mjs";
1
+ import { g as docsShell, i as DocsShellOptions } from "./integration-B_QSCkLI.mjs";
2
2
  import "astro/zod";
3
3
  //#region src/build/headers.d.ts
4
4
  /**
@@ -182,7 +182,23 @@ interface NavCta {
182
182
  label: string;
183
183
  href: string;
184
184
  }
185
+ interface NavProduct {
186
+ label: string;
187
+ /** Local product URL prefix used to resolve the current selection. */
188
+ path: string;
189
+ /** Landing destination. Defaults to path. */
190
+ href?: string;
191
+ /** Omit for a product without versioned documentation. */
192
+ versions?: {
193
+ label: string;
194
+ path: string;
195
+ badge?: string;
196
+ default?: boolean;
197
+ }[];
198
+ }
185
199
  interface NavVariant {
200
+ /** Optional product selector and independent version lists. */
201
+ products?: NavProduct[];
186
202
  brand: string;
187
203
  logo: {
188
204
  light?: string;
@@ -204,4 +220,4 @@ interface NavConfig {
204
220
  }
205
221
  declare function docsShell(options?: DocsShellOptions): AstroIntegration;
206
222
  //#endregion
207
- export { publierCascadeHoistPlugin as _, DocsSidebarMetaOverride as a, NavCta as c, NavPathRule as d, NavVariant as f, hoistMediaOutOfUtilitiesLayer as g, docsShell as h, DocsShellOptions as i, NavItem as l, SiteConfig as m, DocVersionConfig as n, LlmsConfig as o, SidebarAnchorConfig as p, DocsConfig as r, NavConfig as s, AnnouncementConfig as t, NavLink as u };
223
+ export { hoistMediaOutOfUtilitiesLayer as _, DocsSidebarMetaOverride as a, NavCta as c, NavPathRule as d, NavProduct as f, docsShell as g, SiteConfig as h, DocsShellOptions as i, NavItem as l, SidebarAnchorConfig as m, DocVersionConfig as n, LlmsConfig as o, NavVariant as p, DocsConfig as r, NavConfig as s, AnnouncementConfig as t, NavLink as u, publierCascadeHoistPlugin as v };
@@ -1,2 +1,2 @@
1
- import { _ as publierCascadeHoistPlugin, a as DocsSidebarMetaOverride, c as NavCta, d as NavPathRule, f as NavVariant, g as hoistMediaOutOfUtilitiesLayer, h as docsShell, i as DocsShellOptions, l as NavItem, m as SiteConfig, n as DocVersionConfig, o as LlmsConfig, p as SidebarAnchorConfig, r as DocsConfig, s as NavConfig, t as AnnouncementConfig, u as NavLink } from "./integration-BNKc2flb.mjs";
2
- export { AnnouncementConfig, DocVersionConfig, DocsConfig, DocsShellOptions, DocsSidebarMetaOverride, LlmsConfig, NavConfig, NavCta, NavItem, NavLink, NavPathRule, NavVariant, SidebarAnchorConfig, SiteConfig, docsShell, hoistMediaOutOfUtilitiesLayer, publierCascadeHoistPlugin };
1
+ import { _ as hoistMediaOutOfUtilitiesLayer, a as DocsSidebarMetaOverride, c as NavCta, d as NavPathRule, f as NavProduct, g as docsShell, h as SiteConfig, i as DocsShellOptions, l as NavItem, m as SidebarAnchorConfig, n as DocVersionConfig, o as LlmsConfig, p as NavVariant, r as DocsConfig, s as NavConfig, t as AnnouncementConfig, u as NavLink, v as publierCascadeHoistPlugin } from "./integration-B_QSCkLI.mjs";
2
+ export { AnnouncementConfig, DocVersionConfig, DocsConfig, DocsShellOptions, DocsSidebarMetaOverride, LlmsConfig, NavConfig, NavCta, NavItem, NavLink, NavPathRule, NavProduct, NavVariant, SidebarAnchorConfig, SiteConfig, docsShell, hoistMediaOutOfUtilitiesLayer, publierCascadeHoistPlugin };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@publier/shell",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Qwik + Astro docs layout for Publier sites.",
6
6
  "type": "module",
@@ -115,7 +115,7 @@
115
115
  "@github/details-menu-element": "^1.0.13",
116
116
  "@github/relative-time-element": "^5.3.1",
117
117
  "@github/tab-container-element": "^4.9.0",
118
- "@publier/native": "4.0.0",
118
+ "@publier/native": "5.0.0",
119
119
  "@tailwindcss/typography": "^0.5.20",
120
120
  "astro-pagefind": "^2.0.1",
121
121
  "daisyui": "^5.7.22",
@@ -163,6 +163,21 @@ h6 {
163
163
  background-color: color-mix(in oklab, var(--color-primary) 12%, transparent);
164
164
  }
165
165
 
166
+ /* DaisyUI button summaries hide the native marker; retain a visual menu cue. */
167
+ [data-publier-top-nav] details[data-publier-nav-group].dropdown > summary::after {
168
+ content: "";
169
+ width: 0.4rem;
170
+ height: 0.4rem;
171
+ margin-left: 0.25rem;
172
+ border-right: 1.5px solid currentColor;
173
+ border-bottom: 1.5px solid currentColor;
174
+ transform: translateY(-0.1rem) rotate(45deg);
175
+ }
176
+
177
+ [data-publier-top-nav] details[data-publier-nav-group].dropdown[open] > summary::after {
178
+ transform: translateY(0.1rem) rotate(225deg);
179
+ }
180
+
166
181
  /* ─── SkipLink ───────────────────────────────────────────── */
167
182
  .publier-skip-link {
168
183
  position: fixed;
@@ -44,7 +44,19 @@ declare module 'virtual:publier-nav-config' {
44
44
  href: string;
45
45
  }
46
46
 
47
+ export interface NavProduct {
48
+ label: string;
49
+ /** Local product URL prefix used to resolve the current selection. */
50
+ path: string;
51
+ /** Landing destination. Defaults to path. */
52
+ href?: string;
53
+ /** Omit for a product without versioned documentation. */
54
+ versions?: { label: string; path: string; badge?: string; default?: boolean }[];
55
+ }
56
+
47
57
  export interface NavVariant {
58
+ /** Optional product selector and independent version lists. */
59
+ products?: NavProduct[];
48
60
  /** Brand text next to (or replacing) the logo. */
49
61
  brand: string;
50
62
  /** Logo paths. Null when no logo configured. */