@kywi-software/core 0.6.7 → 0.7.1

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.
Files changed (102) hide show
  1. package/AGENT-PATTERNS.md +58 -2
  2. package/dist/admin/registry.d.ts +2 -2
  3. package/dist/admin/registry.d.ts.map +1 -1
  4. package/dist/admin/registry.js +41 -19
  5. package/dist/admin/registry.js.map +1 -1
  6. package/dist/admin/styles/admin.css +130 -0
  7. package/dist/admin/surfaces/menus/menu-editor.d.ts +3 -0
  8. package/dist/admin/surfaces/menus/menu-editor.d.ts.map +1 -0
  9. package/dist/admin/surfaces/menus/menu-editor.js +260 -0
  10. package/dist/admin/surfaces/menus/menu-editor.js.map +1 -0
  11. package/dist/admin/surfaces/menus/menu-tree.d.ts +123 -0
  12. package/dist/admin/surfaces/menus/menu-tree.d.ts.map +1 -0
  13. package/dist/admin/surfaces/menus/menu-tree.js +292 -0
  14. package/dist/admin/surfaces/menus/menu-tree.js.map +1 -0
  15. package/dist/admin/surfaces/menus/menus-data.d.ts +101 -0
  16. package/dist/admin/surfaces/menus/menus-data.d.ts.map +1 -0
  17. package/dist/admin/surfaces/menus/menus-data.js +98 -0
  18. package/dist/admin/surfaces/menus/menus-data.js.map +1 -0
  19. package/dist/admin/surfaces/menus/menus-list.d.ts +3 -0
  20. package/dist/admin/surfaces/menus/menus-list.d.ts.map +1 -0
  21. package/dist/admin/surfaces/menus/menus-list.js +105 -0
  22. package/dist/admin/surfaces/menus/menus-list.js.map +1 -0
  23. package/dist/admin/surfaces/menus/page-picker.d.ts +10 -0
  24. package/dist/admin/surfaces/menus/page-picker.d.ts.map +1 -0
  25. package/dist/admin/surfaces/menus/page-picker.js +38 -0
  26. package/dist/admin/surfaces/menus/page-picker.js.map +1 -0
  27. package/dist/admin/surfaces/settings/admin-features.d.ts.map +1 -1
  28. package/dist/admin/surfaces/settings/admin-features.js +1 -0
  29. package/dist/admin/surfaces/settings/admin-features.js.map +1 -1
  30. package/dist/api/feed-routes.d.ts +2 -2
  31. package/dist/api/index.d.ts +1 -0
  32. package/dist/api/index.d.ts.map +1 -1
  33. package/dist/api/index.js +5 -0
  34. package/dist/api/index.js.map +1 -1
  35. package/dist/api/menu-routes.d.ts +46 -0
  36. package/dist/api/menu-routes.d.ts.map +1 -0
  37. package/dist/api/menu-routes.js +247 -0
  38. package/dist/api/menu-routes.js.map +1 -0
  39. package/dist/api/openapi.d.ts.map +1 -1
  40. package/dist/api/openapi.js +105 -0
  41. package/dist/api/openapi.js.map +1 -1
  42. package/dist/cache/cached-queries.d.ts +22 -0
  43. package/dist/cache/cached-queries.d.ts.map +1 -1
  44. package/dist/cache/cached-queries.js +31 -1
  45. package/dist/cache/cached-queries.js.map +1 -1
  46. package/dist/cache/keys.d.ts +2 -0
  47. package/dist/cache/keys.d.ts.map +1 -1
  48. package/dist/cache/keys.js +4 -0
  49. package/dist/cache/keys.js.map +1 -1
  50. package/dist/db/index.d.ts +1 -0
  51. package/dist/db/index.d.ts.map +1 -1
  52. package/dist/db/index.js +1 -0
  53. package/dist/db/index.js.map +1 -1
  54. package/dist/db/menu-queries.d.ts +182 -0
  55. package/dist/db/menu-queries.d.ts.map +1 -0
  56. package/dist/db/menu-queries.js +326 -0
  57. package/dist/db/menu-queries.js.map +1 -0
  58. package/dist/layout/index.d.ts +1 -0
  59. package/dist/layout/index.d.ts.map +1 -1
  60. package/dist/layout/index.js +1 -0
  61. package/dist/layout/index.js.map +1 -1
  62. package/dist/layout/modules-extended.d.ts +32 -2
  63. package/dist/layout/modules-extended.d.ts.map +1 -1
  64. package/dist/layout/modules-extended.js +159 -39
  65. package/dist/layout/modules-extended.js.map +1 -1
  66. package/dist/layout/nav-hydration.d.ts +62 -0
  67. package/dist/layout/nav-hydration.d.ts.map +1 -0
  68. package/dist/layout/nav-hydration.js +149 -0
  69. package/dist/layout/nav-hydration.js.map +1 -0
  70. package/dist/layout/registry.d.ts +0 -26
  71. package/dist/layout/registry.d.ts.map +1 -1
  72. package/dist/layout/registry.js +22 -8
  73. package/dist/layout/registry.js.map +1 -1
  74. package/dist/nav/builder.d.ts +16 -0
  75. package/dist/nav/builder.d.ts.map +1 -1
  76. package/dist/nav/builder.js +21 -2
  77. package/dist/nav/builder.js.map +1 -1
  78. package/dist/nav/index.d.ts +1 -0
  79. package/dist/nav/index.d.ts.map +1 -1
  80. package/dist/nav/index.js +1 -0
  81. package/dist/nav/index.js.map +1 -1
  82. package/dist/nav/menu-resolver.d.ts +52 -0
  83. package/dist/nav/menu-resolver.d.ts.map +1 -0
  84. package/dist/nav/menu-resolver.js +113 -0
  85. package/dist/nav/menu-resolver.js.map +1 -0
  86. package/dist/nav/types.d.ts +30 -0
  87. package/dist/nav/types.d.ts.map +1 -1
  88. package/dist/schema/base.d.ts +331 -0
  89. package/dist/schema/base.d.ts.map +1 -1
  90. package/dist/schema/base.js +45 -0
  91. package/dist/schema/base.js.map +1 -1
  92. package/dist/schema/mysql-tables.d.ts +303 -0
  93. package/dist/schema/mysql-tables.d.ts.map +1 -1
  94. package/dist/schema/mysql-tables.js +25 -0
  95. package/dist/schema/mysql-tables.js.map +1 -1
  96. package/dist/scope/create-scope.d.ts.map +1 -1
  97. package/dist/scope/create-scope.js +27 -1
  98. package/dist/scope/create-scope.js.map +1 -1
  99. package/dist/scope/types.d.ts +28 -1
  100. package/dist/scope/types.d.ts.map +1 -1
  101. package/dist/site/styles.css +380 -0
  102. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-hydration.js","sourceRoot":"","sources":["../../src/layout/nav-hydration.ts"],"names":[],"mappings":"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"}
@@ -2,32 +2,6 @@ import type { ModuleConfig } from '../config/types.js';
2
2
  export interface ModuleRegistryEntry extends ModuleConfig {
3
3
  isBuiltIn: boolean;
4
4
  }
5
- /**
6
- * Module palette categories (spec):
7
- * Layout — section, container, columns, spacer, divider
8
- * Elements — richText, heading, text, image, button, html, blockquote, badge, icon, video, embed
9
- * Objects — card, accordion, tabs, carousel, testimonial, hero, cta, pricing, faq, alert,
10
- * countdown, feedDisplay, tagCloud, relatedContent, categorySummary, categoryList,
11
- * comments
12
- * Navigation — breadcrumbs, navMenu, navigation, siteMap, searchBox, search
13
- * Personalization — variantContainer, personalizationBadge, socialShare, map
14
- * Compliance — cookieConsent
15
- * Saved — component, form, formEmbed
16
- *
17
- * BUILT_IN_MODULES below is the authority; the agent-guidance module catalog
18
- * (docs/agents/AGENT-PATTERNS.md §5) and the MCP list_module_types tool are
19
- * both derived from it, and a coverage test fails if the guidance doc omits a
20
- * module added here.
21
- *
22
- * `select` props carry `options` only where the renderer closes the set —
23
- * heading.level, columns.preset, search.method, variantContainer.mode, and the
24
- * two button-variant props (whose classes the shipped site stylesheet defines).
25
- * alert.type, badge.variant, navigation.variant and the three `layout` props
26
- * (feedDisplay, relatedContent, categoryList) are deliberately option-less:
27
- * each is interpolated straight into a class name (`kywi-alert-${type}`) that
28
- * only the active theme's CSS gives meaning, so there is no closed set to
29
- * publish. Give them options once a theme-variant contract exists.
30
- */
31
5
  export declare const BUILT_IN_MODULES: ModuleConfig[];
32
6
  export interface ModuleRegistry {
33
7
  get(name: string): ModuleRegistryEntry | null;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/layout/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,SAAS,EAAE,OAAO,CAAA;CACnB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA2lB1C,CAAA;AAID,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAA;IAC7C,IAAI,IAAI,mBAAmB,EAAE,CAAA;IAC7B,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;CACrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,cAAc,CA6BhF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/layout/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,SAAS,EAAE,OAAO,CAAA;CACnB;AA6CD,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA4lB1C,CAAA;AAID,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAA;IAC7C,IAAI,IAAI,mBAAmB,EAAE,CAAA;IAC7B,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;CACrD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,cAAc,CA6BhF"}
@@ -17,14 +17,27 @@
17
17
  * module added here.
18
18
  *
19
19
  * `select` props carry `options` only where the renderer closes the set —
20
- * heading.level, columns.preset, search.method, variantContainer.mode, and the
21
- * two button-variant props (whose classes the shipped site stylesheet defines).
22
- * alert.type, badge.variant, navigation.variant and the three `layout` props
23
- * (feedDisplay, relatedContent, categoryList) are deliberately option-less:
24
- * each is interpolated straight into a class name (`kywi-alert-${type}`) that
25
- * only the active theme's CSS gives meaning, so there is no closed set to
26
- * publish. Give them options once a theme-variant contract exists.
20
+ * heading.level, columns.preset, search.method, variantContainer.mode, the nav
21
+ * variants (below), and the two button-variant props (whose classes the shipped
22
+ * site stylesheet defines). alert.type, badge.variant and the three `layout`
23
+ * props (feedDisplay, relatedContent, categoryList) are deliberately
24
+ * option-less: each is interpolated straight into a class name
25
+ * (`kywi-alert-${type}`) that only the active theme's CSS gives meaning, so
26
+ * there is no closed set to publish. Give them options once a theme-variant
27
+ * contract exists.
27
28
  */
29
+ /**
30
+ * navMenu / navigation presentation variants. Closed set: each one selects a
31
+ * different renderer branch (`renderNavRoot` in modules-extended) and the
32
+ * shipped site stylesheet styles all four. `navigation`'s pre-#111 values
33
+ * (`primary`, `sub`) still render — they alias to horizontal / vertical.
34
+ */
35
+ const NAV_VARIANT_OPTIONS = [
36
+ { value: 'horizontal', label: 'Horizontal bar (dropdowns)' },
37
+ { value: 'mega', label: 'Mega menu (full-width columns)' },
38
+ { value: 'vertical', label: 'Vertical side nav (fly-outs)' },
39
+ { value: 'footer', label: 'Footer columns' },
40
+ ];
28
41
  export const BUILT_IN_MODULES = [
29
42
  // ── Layout ──────────────────────────────────────────────────────────────────
30
43
  {
@@ -467,6 +480,7 @@ export const BUILT_IN_MODULES = [
467
480
  category: 'Navigation',
468
481
  props: {
469
482
  menuSlug: { type: 'slug', label: 'Menu Slug' },
483
+ variant: { type: 'select', label: 'Variant', defaultValue: 'horizontal', options: NAV_VARIANT_OPTIONS },
470
484
  depth: { type: 'number', label: 'Max Depth', defaultValue: 2 },
471
485
  items: { type: 'textarea', label: 'Items (JSON array)' },
472
486
  },
@@ -477,7 +491,7 @@ export const BUILT_IN_MODULES = [
477
491
  component: '@kywi-software/modules/Navigation',
478
492
  category: 'Navigation',
479
493
  props: {
480
- variant: { type: 'select', label: 'Variant', defaultValue: 'primary' },
494
+ variant: { type: 'select', label: 'Variant', defaultValue: 'horizontal', options: NAV_VARIANT_OPTIONS },
481
495
  ariaLabel: { type: 'text', label: 'Aria Label', defaultValue: 'Navigation' },
482
496
  depth: { type: 'number', label: 'Max Depth', defaultValue: 3 },
483
497
  items: { type: 'textarea', label: 'Items (JSON array)' },
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/layout/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/layout/registry.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,16 @@ export declare function prefixHrefWithLocale(path: string, locale: string): stri
38
38
  * English (untranslated) parent still nests correctly.
39
39
  */
40
40
  export declare function selectLocaleNavRows<T extends NavRow>(rows: T[], locale: string, defaultLocale: string): T[];
41
+ /**
42
+ * The label a nav entry renders under: the editor's `menuTitle` when they set
43
+ * one, otherwise the page title. A blank `menuTitle` (an emptied admin input
44
+ * saved as `''`) counts as unset — otherwise the entry renders as a nameless
45
+ * link.
46
+ *
47
+ * Shared by {@link buildNavTree} and {@link buildBreadcrumbs} so the same page
48
+ * can never appear under two different names in the same navigation (#110).
49
+ */
50
+ export declare function navLabel(row: Pick<NavRow, 'title' | 'menuTitle'>): string;
41
51
  export interface BuildNavTreeOptions {
42
52
  /** Only include rows with these statuses. Defaults to ['published']. Pass null to disable. */
43
53
  statuses?: string[] | null;
@@ -57,6 +67,12 @@ export declare function buildNavTree(rows: NavRow[], currentPath: string, opts?:
57
67
  /**
58
68
  * Build breadcrumbs for a given nodeId by walking up the parentId chain.
59
69
  * Returns ordered root→target. Returns empty array for unknown nodeId.
70
+ *
71
+ * Labels come from {@link navLabel} — same rule as {@link buildNavTree}. This
72
+ * used to read `row.title` directly (#110), so a page whose editor had set a
73
+ * short `menuTitle` ("Pricing") showed the long page title ("Plans and Pricing
74
+ * for Teams") in the breadcrumb while the nav menu right above it showed the
75
+ * short one.
60
76
  */
61
77
  export declare function buildBreadcrumbs(rows: NavRow[], nodeId: string): KywiNavNode[];
62
78
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/nav/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,CAAC,EAAE,CAwBL;AAED,MAAM,WAAW,mBAAmB;IAClC,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC1B,yGAAyG;IACzG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,WAAW,EAAE,CAmE3G;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CA4B9E"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/nav/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,CAAC,EAAE,CAwBL;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,CAGzE;AAED,MAAM,WAAW,mBAAmB;IAClC,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC1B,yGAAyG;IACzG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,WAAW,EAAE,CAmE3G;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CA4B9E"}
@@ -58,6 +58,19 @@ export function selectLocaleNavRows(rows, locale, defaultLocale) {
58
58
  }
59
59
  return picked;
60
60
  }
61
+ /**
62
+ * The label a nav entry renders under: the editor's `menuTitle` when they set
63
+ * one, otherwise the page title. A blank `menuTitle` (an emptied admin input
64
+ * saved as `''`) counts as unset — otherwise the entry renders as a nameless
65
+ * link.
66
+ *
67
+ * Shared by {@link buildNavTree} and {@link buildBreadcrumbs} so the same page
68
+ * can never appear under two different names in the same navigation (#110).
69
+ */
70
+ export function navLabel(row) {
71
+ const menuTitle = row.menuTitle;
72
+ return typeof menuTitle === 'string' && menuTitle.trim() !== '' ? menuTitle : row.title;
73
+ }
61
74
  /**
62
75
  * Build a nav tree from flat rows, filtering out isNav=false,
63
76
  * and marking isActive/isAncestor based on currentPath.
@@ -110,7 +123,7 @@ export function buildNavTree(rows, currentPath, opts) {
110
123
  const isAncestor = !isActive && currentPath.startsWith(row.path);
111
124
  return {
112
125
  id: row.id,
113
- title: row.menuTitle ?? row.title,
126
+ title: navLabel(row),
114
127
  href: row.path,
115
128
  slug: row.slug,
116
129
  depth: row.depth,
@@ -128,6 +141,12 @@ export function buildNavTree(rows, currentPath, opts) {
128
141
  /**
129
142
  * Build breadcrumbs for a given nodeId by walking up the parentId chain.
130
143
  * Returns ordered root→target. Returns empty array for unknown nodeId.
144
+ *
145
+ * Labels come from {@link navLabel} — same rule as {@link buildNavTree}. This
146
+ * used to read `row.title` directly (#110), so a page whose editor had set a
147
+ * short `menuTitle` ("Pricing") showed the long page title ("Plans and Pricing
148
+ * for Teams") in the breadcrumb while the nav menu right above it showed the
149
+ * short one.
131
150
  */
132
151
  export function buildBreadcrumbs(rows, nodeId) {
133
152
  const rowMap = new Map();
@@ -147,7 +166,7 @@ export function buildBreadcrumbs(rows, nodeId) {
147
166
  }
148
167
  return chain.map(row => ({
149
168
  id: row.id,
150
- title: row.title,
169
+ title: navLabel(row),
151
170
  href: row.path,
152
171
  slug: row.slug,
153
172
  depth: row.depth,
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/nav/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/nav/builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './types.js';
2
2
  export * from './builder.js';
3
+ export * from './menu-resolver.js';
3
4
  export { resolveContentByPath, resolveContentBySegments, normalizePath, pathToSegments, pageFirstOrdering, PAGE_LIKE_BASE_TYPES, type ResolvedContent, } from './url-resolver.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAO5B,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAOlC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAA"}
package/dist/nav/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './types.js';
2
2
  export * from './builder.js';
3
+ export * from './menu-resolver.js';
3
4
  // Public path-based content resolution (kywi-cms#30): resolve a content node by
4
5
  // its full materialized path (honouring the Site Tree hierarchy) instead of by a
5
6
  // bare last-segment slug, so `/a/b/<slug>` cannot serve a top-level `<slug>`.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,kBAAkB;AAClB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,kBAAkB;AAClB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * menu-resolver.ts
3
+ *
4
+ * Turns stored navigation into the render-ready {@link NavMenuItem} tree the
5
+ * nav modules consume (#110).
6
+ *
7
+ * Two sources feed the same shape:
8
+ * - {@link resolveMenu} — a named menu from `kywi_menus`/`kywi_menu_items`.
9
+ * - {@link navTreeToMenuItems} — the site content tree from `nav/builder.ts`.
10
+ *
11
+ * Keeping one output shape is the whole point: a renderer never needs to know
12
+ * whether the owner hand-built a menu or the tree produced it.
13
+ */
14
+ import type { KywiDb } from '../db/client.js';
15
+ import type { MenuItemAdminNode } from '../db/menu-queries.js';
16
+ import type { KywiNavNode, NavMenuItem } from './types.js';
17
+ export interface ResolveMenuOptions {
18
+ /** Locale to render hrefs for. Non-default locales get a `/xx` href prefix. */
19
+ locale?: string | undefined;
20
+ /** The site's default locale, which is served un-prefixed. Defaults to `'en'`. */
21
+ defaultLocale?: string | undefined;
22
+ }
23
+ /**
24
+ * Map admin item nodes to public {@link NavMenuItem}s.
25
+ *
26
+ * Items that cannot resolve — their linked page is unpublished, soft-deleted or
27
+ * gone — are dropped **with their children**. Promoting an orphaned subtree
28
+ * would silently restructure the owner's navigation; hiding the branch is the
29
+ * predictable choice, and the admin read still shows the branch flagged so the
30
+ * breakage is visible where it can be fixed.
31
+ */
32
+ export declare function menuItemsToNavItems(nodes: MenuItemAdminNode[], currentPath: string, opts?: ResolveMenuOptions): NavMenuItem[];
33
+ /**
34
+ * Resolve a named menu to its public item tree. Returns `null` when the site
35
+ * has no menu with that slug — the caller distinguishes "no such menu"
36
+ * (a layout referencing a menu that was never created) from "menu is empty".
37
+ */
38
+ export declare function resolveMenu(db: KywiDb, siteId: string, slug: string, currentPath: string, opts?: ResolveMenuOptions): Promise<NavMenuItem[] | null>;
39
+ /**
40
+ * Trim a nav tree to at most `depth` levels (1 = roots only). A non-positive or
41
+ * non-finite depth returns the tree untouched, so a module that omits its
42
+ * `depth` prop renders everything.
43
+ */
44
+ export declare function limitNavItemDepth(items: NavMenuItem[], depth?: number): NavMenuItem[];
45
+ /**
46
+ * Adapt a site-tree nav (`buildNavTree`) to the shared {@link NavMenuItem}
47
+ * shape, so `navigation`/`siteMap` modules render from the same contract as a
48
+ * named menu. `isActive`/`isAncestor` are already computed by the builder and
49
+ * pass straight through.
50
+ */
51
+ export declare function navTreeToMenuItems(nodes: KywiNavNode[]): NavMenuItem[];
52
+ //# sourceMappingURL=menu-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-resolver.d.ts","sourceRoot":"","sources":["../../src/nav/menu-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1D,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,kBAAkB,GACxB,WAAW,EAAE,CA4Bf;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAK/B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAIrF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CActE"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * menu-resolver.ts
3
+ *
4
+ * Turns stored navigation into the render-ready {@link NavMenuItem} tree the
5
+ * nav modules consume (#110).
6
+ *
7
+ * Two sources feed the same shape:
8
+ * - {@link resolveMenu} — a named menu from `kywi_menus`/`kywi_menu_items`.
9
+ * - {@link navTreeToMenuItems} — the site content tree from `nav/builder.ts`.
10
+ *
11
+ * Keeping one output shape is the whole point: a renderer never needs to know
12
+ * whether the owner hand-built a menu or the tree produced it.
13
+ */
14
+ import { getMenuBySlug, getMenuItemRows, assembleMenuItemTree } from '../db/menu-queries.js';
15
+ import { prefixHrefWithLocale } from './builder.js';
16
+ /** Root-relative hrefs participate in active/ancestor matching; absolute URLs do not. */
17
+ function isInternalHref(href) {
18
+ return href.startsWith('/');
19
+ }
20
+ /**
21
+ * Compute `isActive`/`isAncestor` exactly the way `buildNavTree` does, so a
22
+ * named menu and the site tree highlight the same item on the same page.
23
+ */
24
+ function matchState(href, currentPath) {
25
+ if (!isInternalHref(href))
26
+ return { isActive: false, isAncestor: false };
27
+ const isActive = href === currentPath;
28
+ return { isActive, isAncestor: !isActive && currentPath.startsWith(href) };
29
+ }
30
+ /**
31
+ * Map admin item nodes to public {@link NavMenuItem}s.
32
+ *
33
+ * Items that cannot resolve — their linked page is unpublished, soft-deleted or
34
+ * gone — are dropped **with their children**. Promoting an orphaned subtree
35
+ * would silently restructure the owner's navigation; hiding the branch is the
36
+ * predictable choice, and the admin read still shows the branch flagged so the
37
+ * breakage is visible where it can be fixed.
38
+ */
39
+ export function menuItemsToNavItems(nodes, currentPath, opts) {
40
+ const defaultLocale = opts?.defaultLocale ?? 'en';
41
+ const locale = opts?.locale ?? defaultLocale;
42
+ const out = [];
43
+ for (const node of nodes) {
44
+ if (!node.resolvable || node.href === null)
45
+ continue;
46
+ // Only internal (content-linked) hrefs get a locale prefix; an external URL
47
+ // is whatever the owner typed.
48
+ const href = isInternalHref(node.href) && locale !== defaultLocale
49
+ ? prefixHrefWithLocale(node.href, locale)
50
+ : node.href;
51
+ const item = {
52
+ id: node.id,
53
+ label: node.label,
54
+ href,
55
+ ...matchState(href, currentPath),
56
+ children: menuItemsToNavItems(node.children, currentPath, opts),
57
+ };
58
+ if (node.openInNewWindow)
59
+ item.target = '_blank';
60
+ if (node.description != null && node.description !== '')
61
+ item.description = node.description;
62
+ out.push(item);
63
+ }
64
+ return out;
65
+ }
66
+ /**
67
+ * Resolve a named menu to its public item tree. Returns `null` when the site
68
+ * has no menu with that slug — the caller distinguishes "no such menu"
69
+ * (a layout referencing a menu that was never created) from "menu is empty".
70
+ */
71
+ export async function resolveMenu(db, siteId, slug, currentPath, opts) {
72
+ const menu = await getMenuBySlug(db, siteId, slug);
73
+ if (!menu)
74
+ return null;
75
+ const rows = await getMenuItemRows(db, menu.id);
76
+ return menuItemsToNavItems(assembleMenuItemTree(rows), currentPath, opts);
77
+ }
78
+ /**
79
+ * Trim a nav tree to at most `depth` levels (1 = roots only). A non-positive or
80
+ * non-finite depth returns the tree untouched, so a module that omits its
81
+ * `depth` prop renders everything.
82
+ */
83
+ export function limitNavItemDepth(items, depth) {
84
+ if (depth === undefined || !Number.isFinite(depth) || depth <= 0)
85
+ return items;
86
+ if (depth === 1)
87
+ return items.map(item => ({ ...item, children: [] }));
88
+ return items.map(item => ({ ...item, children: limitNavItemDepth(item.children, depth - 1) }));
89
+ }
90
+ /**
91
+ * Adapt a site-tree nav (`buildNavTree`) to the shared {@link NavMenuItem}
92
+ * shape, so `navigation`/`siteMap` modules render from the same contract as a
93
+ * named menu. `isActive`/`isAncestor` are already computed by the builder and
94
+ * pass straight through.
95
+ */
96
+ export function navTreeToMenuItems(nodes) {
97
+ return nodes.map(node => {
98
+ const item = {
99
+ id: node.id,
100
+ label: node.title,
101
+ href: node.href,
102
+ isActive: node.isActive,
103
+ isAncestor: node.isAncestor,
104
+ children: navTreeToMenuItems(node.children),
105
+ };
106
+ if (node.target)
107
+ item.target = node.target;
108
+ if (node.description != null && node.description !== '')
109
+ item.description = node.description;
110
+ return item;
111
+ });
112
+ }
113
+ //# sourceMappingURL=menu-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-resolver.js","sourceRoot":"","sources":["../../src/nav/menu-resolver.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,35 @@ export interface KywiNavNode {
8
8
  isActive: boolean;
9
9
  isAncestor: boolean;
10
10
  children: KywiNavNode[];
11
+ /**
12
+ * `'_blank'` when this entry opens in a new window (#110). Additive and
13
+ * optional — nav trees built from the site tree omit it entirely.
14
+ */
15
+ target?: '_blank';
16
+ /** Optional supporting copy, rendered by mega-menu panels (#110). */
17
+ description?: string;
18
+ }
19
+ /**
20
+ * The render-ready navigation item shared by every nav module (#110).
21
+ *
22
+ * This is the single shape the `navMenu`, `navigation` and `siteMap` renderers
23
+ * consume, whichever source produced it: a named menu (`kywi_menus`, via
24
+ * `nav/menu-resolver.ts`) or the site content tree (via `nav/builder.ts`).
25
+ * Every field is a plain serializable value, so a hydrated layout document can
26
+ * cross the server → client boundary as props.
27
+ */
28
+ export interface NavMenuItem {
29
+ id: string;
30
+ label: string;
31
+ href: string;
32
+ /** Present only when the link should open in a new window. */
33
+ target?: '_blank';
34
+ /** Optional supporting copy for mega-menu panels. */
35
+ description?: string;
36
+ /** True when this item's href is the page currently being rendered. */
37
+ isActive: boolean;
38
+ /** True when the current page lives underneath this item. */
39
+ isAncestor: boolean;
40
+ children: NavMenuItem[];
11
41
  }
12
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/nav/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/nav/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,8DAA8D;IAC9D,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAA;IACjB,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB"}