@blackwork/docs 0.4.2 → 0.5.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.
Files changed (120) hide show
  1. package/README.md +55 -25
  2. package/dist/_virtual/_rolldown/runtime.cjs +1 -1
  3. package/dist/config/defaults.cjs +1 -1
  4. package/dist/config/defaults.mjs +1 -1
  5. package/dist/config/define-config.cjs +2 -2
  6. package/dist/config/define-config.mjs +2 -2
  7. package/dist/config/define-docs-config.cjs +1 -1
  8. package/dist/config/define-docs-config.mjs +1 -1
  9. package/dist/config/load-content-config.cjs +2 -2
  10. package/dist/config/load-content-config.mjs +2 -2
  11. package/dist/config/types.d.mts +33 -3
  12. package/dist/config/types.d.ts +33 -3
  13. package/dist/export/process-exported-docs.cjs +1 -1
  14. package/dist/export/process-exported-docs.mjs +1 -1
  15. package/dist/index.cjs +2 -2
  16. package/dist/index.d.mts +3 -2
  17. package/dist/index.d.ts +3 -2
  18. package/dist/index.mjs +2 -2
  19. package/dist/mdx/default-docs-components.cjs +3 -2
  20. package/dist/mdx/default-docs-components.mjs +3 -2
  21. package/dist/mdx/merge-docs-components.cjs +1 -1
  22. package/dist/mdx/merge-docs-components.mjs +1 -1
  23. package/dist/metadata/create-doc-metadata.cjs +1 -1
  24. package/dist/metadata/create-doc-metadata.mjs +1 -1
  25. package/dist/navigation/build-header-nav.cjs +9 -0
  26. package/dist/navigation/build-header-nav.d.mts +20 -0
  27. package/dist/navigation/build-header-nav.d.ts +20 -0
  28. package/dist/navigation/build-header-nav.mjs +9 -0
  29. package/dist/navigation/build-locale-links.cjs +1 -1
  30. package/dist/navigation/build-locale-links.mjs +1 -1
  31. package/dist/navigation/build-pager.cjs +1 -1
  32. package/dist/navigation/build-pager.mjs +1 -1
  33. package/dist/navigation/build-sidebar.cjs +1 -1
  34. package/dist/navigation/build-sidebar.mjs +1 -1
  35. package/dist/navigation/resolve-sidebar.cjs +1 -1
  36. package/dist/navigation/resolve-sidebar.mjs +1 -1
  37. package/dist/next/context.cjs +1 -1
  38. package/dist/next/context.mjs +1 -1
  39. package/dist/next/document-lang-sync.cjs +1 -1
  40. package/dist/next/document-lang-sync.mjs +1 -1
  41. package/dist/next/load-doc-content.cjs +2 -2
  42. package/dist/next/load-doc-content.mjs +2 -2
  43. package/dist/next/load-generated-manifest.cjs +1 -1
  44. package/dist/next/load-generated-manifest.mjs +1 -1
  45. package/dist/next/metadata.cjs +1 -1
  46. package/dist/next/metadata.mjs +1 -1
  47. package/dist/next/page.cjs +1 -1
  48. package/dist/next/page.mjs +1 -1
  49. package/dist/next/render-route.cjs +2 -2
  50. package/dist/next/render-route.mjs +2 -2
  51. package/dist/next/resolve-document-lang.cjs +1 -1
  52. package/dist/next/resolve-document-lang.mjs +1 -1
  53. package/dist/next/root-layout.cjs +2 -2
  54. package/dist/next/root-layout.d.mts +2 -2
  55. package/dist/next/root-layout.d.ts +2 -2
  56. package/dist/next/root-layout.mjs +2 -2
  57. package/dist/next-plugin/generate.cjs +1 -1
  58. package/dist/next-plugin/generate.mjs +1 -1
  59. package/dist/next.cjs +1 -1
  60. package/dist/next.mjs +1 -1
  61. package/dist/routing/build-static-params.cjs +1 -1
  62. package/dist/routing/build-static-params.mjs +1 -1
  63. package/dist/routing/resolve-docs-route.cjs +1 -1
  64. package/dist/routing/resolve-docs-route.mjs +1 -1
  65. package/dist/runtime.cjs +1 -1
  66. package/dist/runtime.mjs +1 -1
  67. package/dist/source/build-docs-source.cjs +1 -1
  68. package/dist/source/build-docs-source.mjs +1 -1
  69. package/dist/source/collect-docs-manifest.cjs +1 -1
  70. package/dist/source/collect-docs-manifest.mjs +1 -1
  71. package/dist/source/create-docs-source-from-manifest.cjs +1 -1
  72. package/dist/source/create-docs-source-from-manifest.mjs +1 -1
  73. package/dist/source/create-docs-source.cjs +1 -1
  74. package/dist/source/create-docs-source.mjs +1 -1
  75. package/dist/tailwind.css +2 -0
  76. package/dist/theme/components/content-layout.cjs +1 -1
  77. package/dist/theme/components/content-layout.mjs +1 -1
  78. package/dist/theme/components/content-shell.cjs +2 -2
  79. package/dist/theme/components/content-shell.mjs +2 -2
  80. package/dist/theme/components/docs-rail-scroll-state.cjs +1 -1
  81. package/dist/theme/components/docs-rail-scroll-state.mjs +1 -1
  82. package/dist/theme/components/docs-rail-scroll.cjs +1 -1
  83. package/dist/theme/components/docs-rail-scroll.mjs +1 -1
  84. package/dist/theme/components/docs-scroll-reset.cjs +1 -1
  85. package/dist/theme/components/docs-scroll-reset.mjs +1 -1
  86. package/dist/theme/components/docs-scroll-to-top.cjs +2 -2
  87. package/dist/theme/components/docs-scroll-to-top.mjs +2 -2
  88. package/dist/theme/components/docs-shell.cjs +2 -2
  89. package/dist/theme/components/docs-shell.mjs +2 -2
  90. package/dist/theme/components/docs-toc-geometry.cjs +1 -1
  91. package/dist/theme/components/docs-toc-geometry.mjs +1 -1
  92. package/dist/theme/components/docs-toc.cjs +2 -2
  93. package/dist/theme/components/docs-toc.mjs +2 -2
  94. package/dist/theme/components/floating-actions.cjs +1 -1
  95. package/dist/theme/components/floating-actions.mjs +1 -1
  96. package/dist/theme/components/footer.cjs +2 -2
  97. package/dist/theme/components/footer.mjs +2 -2
  98. package/dist/theme/components/header.cjs +2 -2
  99. package/dist/theme/components/header.d.mts +4 -0
  100. package/dist/theme/components/header.d.ts +4 -0
  101. package/dist/theme/components/header.mjs +2 -2
  102. package/dist/theme/components/home-shell.cjs +2 -2
  103. package/dist/theme/components/home-shell.mjs +2 -2
  104. package/dist/theme/components/link.cjs +1 -1
  105. package/dist/theme/components/link.mjs +1 -1
  106. package/dist/theme/components/shell-shared.cjs +2 -2
  107. package/dist/theme/components/shell-shared.d.mts +22 -0
  108. package/dist/theme/components/shell-shared.d.ts +22 -0
  109. package/dist/theme/components/shell-shared.mjs +2 -2
  110. package/dist/theme/create-home-data.cjs +2 -2
  111. package/dist/theme/create-home-data.mjs +2 -2
  112. package/dist/theme/slots.cjs +1 -1
  113. package/dist/theme/slots.mjs +1 -1
  114. package/dist/theme/types.d.mts +29 -9
  115. package/dist/theme/types.d.ts +29 -9
  116. package/dist/theme.cjs +2 -2
  117. package/dist/theme.d.mts +1 -1
  118. package/dist/theme.d.ts +1 -1
  119. package/dist/theme.mjs +2 -2
  120. package/package.json +15 -9
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
7
7
  * license: MIT
8
8
  */
9
- const e=require(`../config/define-config.cjs`),t=e=>typeof e==`object`&&!!e,n=e=>typeof e==`string`&&e.trim()||void 0,r=e=>{if(e!==!1)return n(e)},i=e=>{let t=e.search(/[?#]/u);return t<0?{pathname:e,suffix:``}:{pathname:e.slice(0,t),suffix:e.slice(t)}},a=(e,t)=>{let[,n]=e.match(/^\/([^/]+)(?:\/|$)/u)??[];return t.getLocaleCodes().find(e=>e===n)},o=(e,t,n)=>{if(!e.startsWith(`/`)||e.startsWith(`//`))return e;let{pathname:r,suffix:o}=i(e);if(a(r,n))return e;let s=n.getDefaultLocale(),c=s?n.getEntries(s).find(e=>e.href===r):n.getLocaleCodes().flatMap(e=>n.getEntries(e)).find(e=>e.href===r);if(!c)return e;let l=n.getEntry(t,c.slugSegments);return l?`${l.href}${o}`:e},s=(e,r,i)=>{if(!t(e))return;let a=n(e.href),s=n(e.label);if(!(!a||!s))return{href:o(a,r,i),label:s}},c=(e,r,i)=>{if(e===!1)return[];if(Array.isArray(e))return e.flatMap(e=>{if(!t(e))return[];let a=n(e.href),s=n(e.title),c=n(e.description);return a&&s&&c?[{href:o(a,r,i),title:s,description:c}]:[]})},l=e=>e.site.title||`Documentation`,u=(e,t,n)=>{let r=n.getEntries(t),i=n.getCanonicalHref(t,[]),a=n.getEntry(t,[])??r[0],o=r.find(e=>e.href!==a?.href),s=e.site.description||a?.description||`Browse the available documentation.`;return{mode:`auto`,badge:`${r.length} page${r.length===1?``:`s`}`,eyebrow:a?.title||`Documentation`,title:l(e),description:s,homeHref:i,primaryAction:{href:a?.href??i,label:a?`Read ${a.title}`:`Browse docs`},...o?{secondaryAction:{href:o.href,label:o.title}}:{},highlights:[]}},d=e=>[e.badge,e.eyebrow,e.title,e.description,e.primaryAction,e.secondaryAction,e.highlights].some(e=>e!==void 0);function f({config:t,locale:i,source:a}){let o=e.defineConfig(t),l=u(o,i,a);return d(o.home)?{...l,mode:`configured`,badge:r(o.home.badge),eyebrow:r(o.home.eyebrow),title:n(o.home.title)||l.title,description:n(o.home.description)||l.description,primaryAction:s(o.home.primaryAction,i,a)||l.primaryAction,secondaryAction:s(o.home.secondaryAction,i,a)||l.secondaryAction,highlights:c(o.home.highlights,i,a)??[]}:l}exports.createHomeData=f;
9
+ const e=require(`../config/define-config.cjs`),t=e=>typeof e==`object`&&!!e,n=e=>typeof e==`string`&&e.trim()||void 0,r=(e,r)=>t(e)?n(e[r]):n(e),i=(e,t)=>{if(e!==!1)return r(e,t)},a=(e,i)=>{if(e!==!1){if(t(e)&&`src`in e){let t=r(e.alt,i),a=n(e.href),o=n(e.src);return!t||!o?void 0:{alt:t,...a?{href:a}:{},src:o}}return r(e,i)}},o=e=>{let t=e.search(/[?#]/u);return t<0?{pathname:e,suffix:``}:{pathname:e.slice(0,t),suffix:e.slice(t)}},s=(e,t)=>{let[,n]=e.match(/^\/([^/]+)(?:\/|$)/u)??[];return t.getLocaleCodes().find(e=>e===n)},c=(e,t,n)=>{if(!e.startsWith(`/`)||e.startsWith(`//`))return e;let{pathname:r,suffix:i}=o(e);if(s(r,n))return e;let a=n.getDefaultLocale(),c=a?n.getEntries(a).find(e=>e.href===r):n.getLocaleCodes().flatMap(e=>n.getEntries(e)).find(e=>e.href===r);if(!c)return e;let l=n.getEntry(t,c.slugSegments);return l?`${l.href}${i}`:e},l=(e,i,a)=>{if(!t(e))return;let o=n(e.href),s=r(e.label,i);if(!(!o||!s))return{href:c(o,i,a),label:s}},u=(e,i,a)=>{if(e===!1)return[];if(Array.isArray(e))return e.flatMap(e=>{if(!t(e))return[];let o=n(e.href),s=r(e.title,i),l=r(e.description,i);return o&&s&&l?[{href:c(o,i,a),title:s,description:l}]:[]})},d=e=>e.site.title||`Documentation`,f=(e,t,n)=>{let r=n.getEntries(t),i=n.getCanonicalHref(t,[]),a=n.getEntry(t,[])??r[0],o=r.find(e=>e.href!==a?.href),s=e.site.description||a?.description||`Browse the available documentation.`;return{mode:`auto`,badge:`${r.length} page${r.length===1?``:`s`}`,eyebrow:a?.title||`Documentation`,title:d(e),description:s,homeHref:i,primaryAction:{href:a?.href??i,label:a?`Read ${a.title}`:`Browse docs`},...o?{secondaryAction:{href:o.href,label:o.title}}:{},highlights:[]}},p=e=>[e.badge,e.eyebrow,e.title,e.description,e.primaryAction,e.secondaryAction,e.highlights].some(e=>e!==void 0);function m({config:t,locale:n,source:o}){let s=e.defineConfig(t),c=f(s,n,o);return p(s.home)?{...c,mode:`configured`,badge:a(s.home.badge,n),eyebrow:i(s.home.eyebrow,n),title:r(s.home.title,n)||c.title,description:r(s.home.description,n)||c.description,primaryAction:l(s.home.primaryAction,n,o)||c.primaryAction,secondaryAction:l(s.home.secondaryAction,n,o)||c.secondaryAction,highlights:u(s.home.highlights,n,o)??[]}:c}exports.createHomeData=m;
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
7
7
  * license: MIT
8
8
  */
9
- import{defineConfig as e}from"../config/define-config.mjs";const t=e=>typeof e==`object`&&!!e,n=e=>typeof e==`string`&&e.trim()||void 0,r=e=>{if(e!==!1)return n(e)},i=e=>{let t=e.search(/[?#]/u);return t<0?{pathname:e,suffix:``}:{pathname:e.slice(0,t),suffix:e.slice(t)}},a=(e,t)=>{let[,n]=e.match(/^\/([^/]+)(?:\/|$)/u)??[];return t.getLocaleCodes().find(e=>e===n)},o=(e,t,n)=>{if(!e.startsWith(`/`)||e.startsWith(`//`))return e;let{pathname:r,suffix:o}=i(e);if(a(r,n))return e;let s=n.getDefaultLocale(),c=s?n.getEntries(s).find(e=>e.href===r):n.getLocaleCodes().flatMap(e=>n.getEntries(e)).find(e=>e.href===r);if(!c)return e;let l=n.getEntry(t,c.slugSegments);return l?`${l.href}${o}`:e},s=(e,r,i)=>{if(!t(e))return;let a=n(e.href),s=n(e.label);if(!(!a||!s))return{href:o(a,r,i),label:s}},c=(e,r,i)=>{if(e===!1)return[];if(Array.isArray(e))return e.flatMap(e=>{if(!t(e))return[];let a=n(e.href),s=n(e.title),c=n(e.description);return a&&s&&c?[{href:o(a,r,i),title:s,description:c}]:[]})},l=e=>e.site.title||`Documentation`,u=(e,t,n)=>{let r=n.getEntries(t),i=n.getCanonicalHref(t,[]),a=n.getEntry(t,[])??r[0],o=r.find(e=>e.href!==a?.href),s=e.site.description||a?.description||`Browse the available documentation.`;return{mode:`auto`,badge:`${r.length} page${r.length===1?``:`s`}`,eyebrow:a?.title||`Documentation`,title:l(e),description:s,homeHref:i,primaryAction:{href:a?.href??i,label:a?`Read ${a.title}`:`Browse docs`},...o?{secondaryAction:{href:o.href,label:o.title}}:{},highlights:[]}},d=e=>[e.badge,e.eyebrow,e.title,e.description,e.primaryAction,e.secondaryAction,e.highlights].some(e=>e!==void 0);function f({config:t,locale:i,source:a}){let o=e(t),l=u(o,i,a);return d(o.home)?{...l,mode:`configured`,badge:r(o.home.badge),eyebrow:r(o.home.eyebrow),title:n(o.home.title)||l.title,description:n(o.home.description)||l.description,primaryAction:s(o.home.primaryAction,i,a)||l.primaryAction,secondaryAction:s(o.home.secondaryAction,i,a)||l.secondaryAction,highlights:c(o.home.highlights,i,a)??[]}:l}export{f as createHomeData};
9
+ import{defineConfig as e}from"../config/define-config.mjs";const t=e=>typeof e==`object`&&!!e,n=e=>typeof e==`string`&&e.trim()||void 0,r=(e,r)=>t(e)?n(e[r]):n(e),i=(e,t)=>{if(e!==!1)return r(e,t)},a=(e,i)=>{if(e!==!1){if(t(e)&&`src`in e){let t=r(e.alt,i),a=n(e.href),o=n(e.src);return!t||!o?void 0:{alt:t,...a?{href:a}:{},src:o}}return r(e,i)}},o=e=>{let t=e.search(/[?#]/u);return t<0?{pathname:e,suffix:``}:{pathname:e.slice(0,t),suffix:e.slice(t)}},s=(e,t)=>{let[,n]=e.match(/^\/([^/]+)(?:\/|$)/u)??[];return t.getLocaleCodes().find(e=>e===n)},c=(e,t,n)=>{if(!e.startsWith(`/`)||e.startsWith(`//`))return e;let{pathname:r,suffix:i}=o(e);if(s(r,n))return e;let a=n.getDefaultLocale(),c=a?n.getEntries(a).find(e=>e.href===r):n.getLocaleCodes().flatMap(e=>n.getEntries(e)).find(e=>e.href===r);if(!c)return e;let l=n.getEntry(t,c.slugSegments);return l?`${l.href}${i}`:e},l=(e,i,a)=>{if(!t(e))return;let o=n(e.href),s=r(e.label,i);if(!(!o||!s))return{href:c(o,i,a),label:s}},u=(e,i,a)=>{if(e===!1)return[];if(Array.isArray(e))return e.flatMap(e=>{if(!t(e))return[];let o=n(e.href),s=r(e.title,i),l=r(e.description,i);return o&&s&&l?[{href:c(o,i,a),title:s,description:l}]:[]})},d=e=>e.site.title||`Documentation`,f=(e,t,n)=>{let r=n.getEntries(t),i=n.getCanonicalHref(t,[]),a=n.getEntry(t,[])??r[0],o=r.find(e=>e.href!==a?.href),s=e.site.description||a?.description||`Browse the available documentation.`;return{mode:`auto`,badge:`${r.length} page${r.length===1?``:`s`}`,eyebrow:a?.title||`Documentation`,title:d(e),description:s,homeHref:i,primaryAction:{href:a?.href??i,label:a?`Read ${a.title}`:`Browse docs`},...o?{secondaryAction:{href:o.href,label:o.title}}:{},highlights:[]}},p=e=>[e.badge,e.eyebrow,e.title,e.description,e.primaryAction,e.secondaryAction,e.highlights].some(e=>e!==void 0);function m({config:t,locale:n,source:o}){let s=e(t),c=f(s,n,o);return p(s.home)?{...c,mode:`configured`,badge:a(s.home.badge,n),eyebrow:i(s.home.eyebrow,n),title:r(s.home.title,n)||c.title,description:r(s.home.description,n)||c.description,primaryAction:l(s.home.primaryAction,n,o)||c.primaryAction,secondaryAction:l(s.home.secondaryAction,n,o)||c.secondaryAction,highlights:u(s.home.highlights,n,o)??[]}:c}export{m as createHomeData};
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
@@ -52,8 +52,13 @@ interface DocsThemeHomeHighlight {
52
52
  title: string;
53
53
  description: string;
54
54
  }
55
+ interface DocsThemeHomeBadgeImage {
56
+ alt: string;
57
+ href?: string;
58
+ src: string;
59
+ }
55
60
  interface DocsThemeHomeData {
56
- badge?: string;
61
+ badge?: string | DocsThemeHomeBadgeImage;
57
62
  description: string;
58
63
  eyebrow?: string;
59
64
  highlights: DocsThemeHomeHighlight[];
@@ -63,15 +68,30 @@ interface DocsThemeHomeData {
63
68
  secondaryAction?: DocsThemeHomeAction;
64
69
  title: string;
65
70
  }
71
+ type DocsThemeLocalizedText = string | Record<string, string>;
72
+ interface DocsHomeBadgeImageConfig {
73
+ alt: DocsThemeLocalizedText;
74
+ href?: string;
75
+ src: string;
76
+ }
77
+ interface DocsHomeActionConfig {
78
+ href: string;
79
+ label: DocsThemeLocalizedText;
80
+ }
81
+ interface DocsHomeHighlightConfig {
82
+ href: string;
83
+ title: DocsThemeLocalizedText;
84
+ description: DocsThemeLocalizedText;
85
+ }
66
86
  interface DocsHomeConfig {
67
- badge?: string | false;
68
- eyebrow?: string | false;
69
- title?: string;
70
- description?: string;
71
- primaryAction?: DocsThemeHomeAction;
72
- secondaryAction?: DocsThemeHomeAction;
73
- highlights?: DocsThemeHomeHighlight[] | false;
87
+ badge?: DocsHomeBadgeImageConfig | DocsThemeLocalizedText | false;
88
+ eyebrow?: DocsThemeLocalizedText | false;
89
+ title?: DocsThemeLocalizedText;
90
+ description?: DocsThemeLocalizedText;
91
+ primaryAction?: DocsHomeActionConfig;
92
+ secondaryAction?: DocsHomeActionConfig;
93
+ highlights?: DocsHomeHighlightConfig[] | false;
74
94
  }
75
95
  type DocsSlotsConfig = DocsThemeSlots;
76
96
  //#endregion
77
- export { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeNavItem, DocsThemeSlots };
97
+ export { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeLocalizedText, DocsThemeNavItem, DocsThemeSlots };
@@ -52,8 +52,13 @@ interface DocsThemeHomeHighlight {
52
52
  title: string;
53
53
  description: string;
54
54
  }
55
+ interface DocsThemeHomeBadgeImage {
56
+ alt: string;
57
+ href?: string;
58
+ src: string;
59
+ }
55
60
  interface DocsThemeHomeData {
56
- badge?: string;
61
+ badge?: string | DocsThemeHomeBadgeImage;
57
62
  description: string;
58
63
  eyebrow?: string;
59
64
  highlights: DocsThemeHomeHighlight[];
@@ -63,15 +68,30 @@ interface DocsThemeHomeData {
63
68
  secondaryAction?: DocsThemeHomeAction;
64
69
  title: string;
65
70
  }
71
+ type DocsThemeLocalizedText = string | Record<string, string>;
72
+ interface DocsHomeBadgeImageConfig {
73
+ alt: DocsThemeLocalizedText;
74
+ href?: string;
75
+ src: string;
76
+ }
77
+ interface DocsHomeActionConfig {
78
+ href: string;
79
+ label: DocsThemeLocalizedText;
80
+ }
81
+ interface DocsHomeHighlightConfig {
82
+ href: string;
83
+ title: DocsThemeLocalizedText;
84
+ description: DocsThemeLocalizedText;
85
+ }
66
86
  interface DocsHomeConfig {
67
- badge?: string | false;
68
- eyebrow?: string | false;
69
- title?: string;
70
- description?: string;
71
- primaryAction?: DocsThemeHomeAction;
72
- secondaryAction?: DocsThemeHomeAction;
73
- highlights?: DocsThemeHomeHighlight[] | false;
87
+ badge?: DocsHomeBadgeImageConfig | DocsThemeLocalizedText | false;
88
+ eyebrow?: DocsThemeLocalizedText | false;
89
+ title?: DocsThemeLocalizedText;
90
+ description?: DocsThemeLocalizedText;
91
+ primaryAction?: DocsHomeActionConfig;
92
+ secondaryAction?: DocsHomeActionConfig;
93
+ highlights?: DocsHomeHighlightConfig[] | false;
74
94
  }
75
95
  type DocsSlotsConfig = DocsThemeSlots;
76
96
  //#endregion
77
- export { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeNavItem, DocsThemeSlots };
97
+ export { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeLocalizedText, DocsThemeNavItem, DocsThemeSlots };
package/dist/theme.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
7
7
  * license: MIT
8
8
  */
9
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme/components/link.cjs`),t=require(`./theme/components/footer.cjs`),n=require(`./theme/components/header.cjs`),r=require(`./theme/components/docs-toc.cjs`),i=require(`./theme/components/content-layout.cjs`),a=require(`./theme/slots.cjs`),o=require(`./theme/components/content-shell.cjs`),s=require(`./theme/components/docs-shell.cjs`),c=require(`./theme/create-home-data.cjs`),l=require(`./theme/components/home-shell.cjs`);exports.DefaultContentLayout=i.DefaultContentLayout,exports.DefaultContentShell=o.DefaultContentShell,exports.DefaultDocsFooter=t.DefaultDocsFooter,exports.DefaultDocsHeader=n.DefaultDocsHeader,exports.DefaultDocsLink=e.DefaultDocsLink,exports.DefaultDocsShell=s.DefaultDocsShell,exports.DefaultDocsToc=r.DefaultDocsToc,exports.DefaultHomeShell=l.DefaultHomeShell,exports.MobileDocsToc=r.MobileDocsToc,exports.createHomeData=c.createHomeData,exports.resolveThemeSlots=a.resolveThemeSlots;
9
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme/components/footer.cjs`),t=require(`./theme/components/link.cjs`),n=require(`./theme/components/header.cjs`),r=require(`./theme/components/docs-toc.cjs`),i=require(`./theme/components/content-layout.cjs`),a=require(`./theme/slots.cjs`),o=require(`./theme/components/content-shell.cjs`),s=require(`./theme/components/docs-shell.cjs`),c=require(`./theme/create-home-data.cjs`),l=require(`./theme/components/home-shell.cjs`);exports.DefaultContentLayout=i.DefaultContentLayout,exports.DefaultContentShell=o.DefaultContentShell,exports.DefaultDocsFooter=e.DefaultDocsFooter,exports.DefaultDocsHeader=n.DefaultDocsHeader,exports.DefaultDocsLink=t.DefaultDocsLink,exports.DefaultDocsShell=s.DefaultDocsShell,exports.DefaultDocsToc=r.DefaultDocsToc,exports.DefaultHomeShell=l.DefaultHomeShell,exports.MobileDocsToc=r.MobileDocsToc,exports.createHomeData=c.createHomeData,exports.resolveThemeSlots=a.resolveThemeSlots;
package/dist/theme.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  import { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeNavItem, DocsThemeSlots } from "./theme/types.mjs";
3
3
  import { DefaultDocsFooter, DefaultDocsFooterProps } from "./theme/components/footer.mjs";
4
+ import { DefaultDocsToc, DefaultDocsTocProps, DocsTocHeading, MobileDocsToc, MobileDocsTocProps } from "./theme/components/docs-toc.mjs";
4
5
  import { DefaultDocsHeader, DefaultDocsHeaderProps } from "./theme/components/header.mjs";
5
6
  import { DefaultDocsLink, DefaultDocsLinkProps } from "./theme/components/link.mjs";
6
- import { DefaultDocsToc, DefaultDocsTocProps, DocsTocHeading, MobileDocsToc, MobileDocsTocProps } from "./theme/components/docs-toc.mjs";
7
7
  import { DefaultContentLayout, DefaultContentLayoutProps } from "./theme/components/content-layout.mjs";
8
8
  import { DefaultContentShell, DefaultContentShellProps } from "./theme/components/content-shell.mjs";
9
9
  import { DefaultDocsShell, DefaultDocsShellProps } from "./theme/components/docs-shell.mjs";
package/dist/theme.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  import { DocsHomeConfig, DocsSlotsConfig, DocsThemeContentHeaderMetaProps, DocsThemeFooterSlotProps, DocsThemeHeaderActionsProps, DocsThemeHomeAction, DocsThemeHomeData, DocsThemeHomeHighlight, DocsThemeLinkComponent, DocsThemeLinkProps, DocsThemeLocaleLink, DocsThemeNavItem, DocsThemeSlots } from "./theme/types.js";
3
3
  import { DefaultDocsFooter, DefaultDocsFooterProps } from "./theme/components/footer.js";
4
+ import { DefaultDocsToc, DefaultDocsTocProps, DocsTocHeading, MobileDocsToc, MobileDocsTocProps } from "./theme/components/docs-toc.js";
4
5
  import { DefaultDocsHeader, DefaultDocsHeaderProps } from "./theme/components/header.js";
5
6
  import { DefaultDocsLink, DefaultDocsLinkProps } from "./theme/components/link.js";
6
- import { DefaultDocsToc, DefaultDocsTocProps, DocsTocHeading, MobileDocsToc, MobileDocsTocProps } from "./theme/components/docs-toc.js";
7
7
  import { DefaultContentLayout, DefaultContentLayoutProps } from "./theme/components/content-layout.js";
8
8
  import { DefaultContentShell, DefaultContentShellProps } from "./theme/components/content-shell.js";
9
9
  import { DefaultDocsShell, DefaultDocsShellProps } from "./theme/components/docs-shell.js";
package/dist/theme.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * name: @blackwork/docs
3
- * version: v0.4.2
3
+ * version: v0.5.0
4
4
  * description: Next-first documentation framework for Blackwork projects.
5
5
  * author: chengpeiquan <chengpeiquan@chengpeiquan.com>
6
6
  * homepage: https://chengpeiquan.com
7
7
  * license: MIT
8
8
  */
9
- import{DefaultDocsLink as e}from"./theme/components/link.mjs";import{DefaultDocsFooter as t}from"./theme/components/footer.mjs";import{DefaultDocsHeader as n}from"./theme/components/header.mjs";import{DefaultDocsToc as r,MobileDocsToc as i}from"./theme/components/docs-toc.mjs";import{DefaultContentLayout as a}from"./theme/components/content-layout.mjs";import{resolveThemeSlots as o}from"./theme/slots.mjs";import{DefaultContentShell as s}from"./theme/components/content-shell.mjs";import{DefaultDocsShell as c}from"./theme/components/docs-shell.mjs";import{createHomeData as l}from"./theme/create-home-data.mjs";import{DefaultHomeShell as u}from"./theme/components/home-shell.mjs";export{a as DefaultContentLayout,s as DefaultContentShell,t as DefaultDocsFooter,n as DefaultDocsHeader,e as DefaultDocsLink,c as DefaultDocsShell,r as DefaultDocsToc,u as DefaultHomeShell,i as MobileDocsToc,l as createHomeData,o as resolveThemeSlots};
9
+ import{DefaultDocsFooter as e}from"./theme/components/footer.mjs";import{DefaultDocsLink as t}from"./theme/components/link.mjs";import{DefaultDocsHeader as n}from"./theme/components/header.mjs";import{DefaultDocsToc as r,MobileDocsToc as i}from"./theme/components/docs-toc.mjs";import{DefaultContentLayout as a}from"./theme/components/content-layout.mjs";import{resolveThemeSlots as o}from"./theme/slots.mjs";import{DefaultContentShell as s}from"./theme/components/content-shell.mjs";import{DefaultDocsShell as c}from"./theme/components/docs-shell.mjs";import{createHomeData as l}from"./theme/create-home-data.mjs";import{DefaultHomeShell as u}from"./theme/components/home-shell.mjs";export{a as DefaultContentLayout,s as DefaultContentShell,e as DefaultDocsFooter,n as DefaultDocsHeader,t as DefaultDocsLink,c as DefaultDocsShell,r as DefaultDocsToc,u as DefaultHomeShell,i as MobileDocsToc,l as createHomeData,o as resolveThemeSlots};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackwork/docs",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "Next-first documentation framework for Blackwork projects.",
5
5
  "author": "chengpeiquan <chengpeiquan@chengpeiquan.com>",
6
6
  "homepage": "https://chengpeiquan.com",
@@ -52,10 +52,11 @@
52
52
  "dependencies": {
53
53
  "chokidar": "^4.0.3",
54
54
  "jiti": "^1.21.7",
55
- "@blackwork/machine": "0.2.1"
55
+ "lucide-react": "^1.31.0",
56
+ "@blackwork/machine": "0.2.2"
56
57
  },
57
58
  "peerDependencies": {
58
- "blackwork": ">=0.11.0",
59
+ "blackwork": ">=0.12.0",
59
60
  "next": ">=16.0.0",
60
61
  "react": ">=19.0.0",
61
62
  "react-dom": ">=19.0.0"
@@ -63,13 +64,18 @@
63
64
  "devDependencies": {
64
65
  "@bassist/build-config": "^0.2.0",
65
66
  "@bassist/tsconfig": "^0.1.1",
66
- "@types/node": "^25.5.2",
67
- "eslint": "^10.2.1",
67
+ "@types/node": "^25.9.5",
68
+ "@types/react": "^19.2.18",
69
+ "@types/react-dom": "^19.2.4",
70
+ "eslint": "^10.8.1",
68
71
  "jsdom": "^26.1.0",
69
- "tsdown": "^0.21.7",
70
- "typescript": "^6.0.2",
71
- "vitest": "^4.0.7",
72
- "blackwork": "0.11.0"
72
+ "next": "^16.3.1",
73
+ "react": "^19.2.8",
74
+ "react-dom": "^19.2.8",
75
+ "tsdown": "^0.21.10",
76
+ "typescript": "^6.0.3",
77
+ "vitest": "^4.1.10",
78
+ "blackwork": "0.12.0"
73
79
  },
74
80
  "scripts": {
75
81
  "build": "tsdown && node ./scripts/copy-css.mjs",