@vezham/start 26.0.0-alpha.5 → 26.0.0-alpha.6

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 (140) hide show
  1. package/README.md +2 -0
  2. package/dist/lib/layouts/app/index.d.ts +15 -0
  3. package/dist/lib/layouts/app/index.d.ts.map +1 -0
  4. package/dist/lib/layouts/app/index.js +44 -0
  5. package/dist/lib/layouts/docs/components.d.ts +4 -0
  6. package/dist/lib/layouts/docs/components.d.ts.map +1 -0
  7. package/dist/lib/layouts/docs/components.js +29 -0
  8. package/dist/lib/layouts/docs/index.d.ts +3 -0
  9. package/dist/lib/layouts/docs/index.d.ts.map +1 -0
  10. package/dist/lib/layouts/docs/index.js +2 -0
  11. package/dist/lib/layouts/docs/layout-components.d.ts +9 -0
  12. package/dist/lib/layouts/docs/layout-components.d.ts.map +1 -0
  13. package/dist/lib/layouts/docs/layout-components.js +81 -0
  14. package/dist/lib/layouts/docs/layouts.d.ts +6 -0
  15. package/dist/lib/layouts/docs/layouts.d.ts.map +1 -0
  16. package/dist/lib/layouts/docs/layouts.js +11 -0
  17. package/dist/lib/layouts/docs/page-actions.d.ts +4 -0
  18. package/dist/lib/layouts/docs/page-actions.d.ts.map +1 -0
  19. package/dist/lib/layouts/docs/page-actions.js +154 -0
  20. package/dist/lib/layouts/docs/page-actions.variants.d.ts +44 -0
  21. package/dist/lib/layouts/docs/page-actions.variants.d.ts.map +1 -0
  22. package/dist/lib/layouts/docs/page-actions.variants.js +17 -0
  23. package/dist/lib/layouts/docs/page-content.d.ts +11 -0
  24. package/dist/lib/layouts/docs/page-content.d.ts.map +1 -0
  25. package/dist/lib/layouts/docs/page-content.js +13 -0
  26. package/dist/lib/layouts/docs/pages.d.ts +57 -0
  27. package/dist/lib/layouts/docs/pages.d.ts.map +1 -0
  28. package/dist/lib/layouts/docs/pages.js +36 -0
  29. package/dist/lib/layouts/docs/types.d.ts +21 -0
  30. package/dist/lib/layouts/docs/types.d.ts.map +1 -0
  31. package/dist/lib/mdx/index.d.ts +26 -0
  32. package/dist/lib/mdx/index.d.ts.map +1 -0
  33. package/dist/lib/mdx/index.js +10 -0
  34. package/dist/lib/pages/docs/openapi/index.d.ts +2 -0
  35. package/dist/lib/pages/docs/openapi/index.d.ts.map +1 -0
  36. package/dist/lib/pages/docs/openapi/index.js +5 -0
  37. package/dist/lib/pages/docs/route/index.d.ts +35 -0
  38. package/dist/lib/pages/docs/route/index.d.ts.map +1 -0
  39. package/dist/lib/pages/docs/route/index.js +59 -0
  40. package/dist/lib/provider/next/config.d.ts +3 -0
  41. package/dist/lib/provider/next/config.d.ts.map +1 -0
  42. package/dist/lib/provider/next/config.js +6 -0
  43. package/dist/lib/provider/next/index.d.ts +3 -0
  44. package/dist/lib/provider/next/index.d.ts.map +1 -0
  45. package/dist/lib/provider/next/index.js +3 -0
  46. package/dist/lib/provider/next/provider.d.ts +3 -0
  47. package/dist/lib/provider/next/provider.d.ts.map +1 -0
  48. package/dist/lib/provider/next/provider.js +24 -0
  49. package/dist/lib/provider/next/root-document.d.ts +3 -0
  50. package/dist/lib/provider/next/root-document.d.ts.map +1 -0
  51. package/dist/lib/provider/next/root-document.js +27 -0
  52. package/dist/lib/provider/shared/config.d.ts +4 -0
  53. package/dist/lib/provider/shared/config.d.ts.map +1 -0
  54. package/dist/lib/provider/shared/config.js +10 -0
  55. package/dist/lib/provider/shared/devtools.d.ts +10 -0
  56. package/dist/lib/provider/shared/devtools.d.ts.map +1 -0
  57. package/dist/lib/provider/shared/devtools.js +24 -0
  58. package/dist/lib/provider/shared/provider.d.ts +13 -0
  59. package/dist/lib/provider/shared/provider.d.ts.map +1 -0
  60. package/dist/lib/provider/shared/provider.js +40 -0
  61. package/dist/lib/provider/shared/types.d.ts +32 -0
  62. package/dist/lib/provider/shared/types.d.ts.map +1 -0
  63. package/dist/lib/provider/shared/types.js +4 -0
  64. package/dist/lib/provider/tanstack/config.d.ts +4 -0
  65. package/dist/lib/provider/tanstack/config.d.ts.map +1 -0
  66. package/dist/lib/provider/tanstack/config.js +11 -0
  67. package/dist/lib/provider/tanstack/index.d.ts +4 -0
  68. package/dist/lib/provider/tanstack/index.d.ts.map +1 -0
  69. package/dist/lib/provider/tanstack/index.js +4 -0
  70. package/dist/lib/provider/tanstack/provider.d.ts +3 -0
  71. package/dist/lib/provider/tanstack/provider.d.ts.map +1 -0
  72. package/dist/lib/provider/tanstack/provider.js +22 -0
  73. package/dist/lib/provider/tanstack/root-document.d.ts +8 -0
  74. package/dist/lib/provider/tanstack/root-document.d.ts.map +1 -0
  75. package/dist/lib/provider/tanstack/root-document.js +28 -0
  76. package/dist/lib/provider/tanstack-docs/config.d.ts +14 -0
  77. package/dist/lib/provider/tanstack-docs/config.d.ts.map +1 -0
  78. package/dist/lib/provider/tanstack-docs/config.js +39 -0
  79. package/dist/lib/provider/tanstack-docs/i18n.d.ts +4 -0
  80. package/dist/lib/provider/tanstack-docs/i18n.d.ts.map +1 -0
  81. package/dist/lib/provider/tanstack-docs/i18n.js +30 -0
  82. package/dist/lib/provider/tanstack-docs/index.d.ts +5 -0
  83. package/dist/lib/provider/tanstack-docs/index.d.ts.map +1 -0
  84. package/dist/lib/provider/tanstack-docs/index.js +5 -0
  85. package/dist/lib/provider/tanstack-docs/routes.d.ts +13 -0
  86. package/dist/lib/provider/tanstack-docs/routes.d.ts.map +1 -0
  87. package/dist/lib/provider/tanstack-docs/routes.js +23 -0
  88. package/dist/lib/provider/tanstack-docs/search.d.ts +4 -0
  89. package/dist/lib/provider/tanstack-docs/search.d.ts.map +1 -0
  90. package/dist/lib/provider/tanstack-docs/search.js +24 -0
  91. package/dist/lib/provider/vite/config.d.ts +3 -0
  92. package/dist/lib/provider/vite/config.d.ts.map +1 -0
  93. package/dist/lib/provider/vite/config.js +29 -0
  94. package/dist/lib/provider/vite/index.d.ts +4 -0
  95. package/dist/lib/provider/vite/index.d.ts.map +1 -0
  96. package/dist/lib/provider/vite/index.js +4 -0
  97. package/dist/lib/provider/vite/provider.d.ts +3 -0
  98. package/dist/lib/provider/vite/provider.d.ts.map +1 -0
  99. package/dist/lib/provider/vite/provider.js +13 -0
  100. package/dist/lib/router/tanstack/index.d.ts +3 -0
  101. package/dist/lib/router/tanstack/index.d.ts.map +1 -0
  102. package/dist/lib/router/tanstack/index.js +3 -0
  103. package/dist/lib/router/tanstack/root.d.ts +3 -0
  104. package/dist/lib/router/tanstack/root.d.ts.map +1 -0
  105. package/dist/lib/router/tanstack/root.js +22 -0
  106. package/dist/lib/router/tanstack/router.d.ts +3 -0
  107. package/dist/lib/router/tanstack/router.d.ts.map +1 -0
  108. package/dist/lib/router/tanstack/router.js +22 -0
  109. package/dist/lib/runtime/docs/head.d.ts +46 -0
  110. package/dist/lib/runtime/docs/head.d.ts.map +1 -0
  111. package/dist/lib/runtime/docs/head.js +80 -0
  112. package/dist/lib/runtime/docs/i18n.d.ts +33 -0
  113. package/dist/lib/runtime/docs/i18n.d.ts.map +1 -0
  114. package/dist/lib/runtime/docs/i18n.js +41 -0
  115. package/dist/lib/runtime/docs/icons.d.ts +26 -0
  116. package/dist/lib/runtime/docs/icons.d.ts.map +1 -0
  117. package/dist/lib/runtime/docs/icons.js +103 -0
  118. package/dist/lib/runtime/docs/index.d.ts +9 -0
  119. package/dist/lib/runtime/docs/index.d.ts.map +1 -0
  120. package/dist/lib/runtime/docs/index.js +9 -0
  121. package/dist/lib/runtime/docs/openapi.d.ts +41 -0
  122. package/dist/lib/runtime/docs/openapi.d.ts.map +1 -0
  123. package/dist/lib/runtime/docs/openapi.js +40 -0
  124. package/dist/lib/runtime/docs/pages.d.ts +98 -0
  125. package/dist/lib/runtime/docs/pages.d.ts.map +1 -0
  126. package/dist/lib/runtime/docs/pages.js +89 -0
  127. package/dist/lib/runtime/docs/routes.d.ts +17 -0
  128. package/dist/lib/runtime/docs/routes.d.ts.map +1 -0
  129. package/dist/lib/runtime/docs/routes.js +45 -0
  130. package/dist/lib/runtime/docs/runtime.d.ts +185 -0
  131. package/dist/lib/runtime/docs/runtime.d.ts.map +1 -0
  132. package/dist/lib/runtime/docs/runtime.js +55 -0
  133. package/dist/lib/runtime/docs/static.d.ts +16 -0
  134. package/dist/lib/runtime/docs/static.d.ts.map +1 -0
  135. package/dist/lib/runtime/docs/static.js +20 -0
  136. package/dist/lib/story/index.d.ts +2 -0
  137. package/dist/lib/story/index.d.ts.map +1 -0
  138. package/dist/lib/story/index.js +5 -0
  139. package/dist/styles/docs/index.css +2 -0
  140. package/package.json +78 -2
@@ -0,0 +1,30 @@
1
+ //#region src/lib/provider/tanstack-docs/i18n.ts
2
+ var displayNameLanguageCode = (language) => {
3
+ return language === "cn" ? "zh" : language;
4
+ };
5
+ var displayNames = /* @__PURE__ */ new Map();
6
+ var getDisplayNames = (languageCode) => {
7
+ const cached = displayNames.get(languageCode);
8
+ if (cached) return cached;
9
+ const formatter = new Intl.DisplayNames([languageCode], { type: "language" });
10
+ displayNames.set(languageCode, formatter);
11
+ return formatter;
12
+ };
13
+ var getLanguageDisplayName = (language) => {
14
+ const languageCode = displayNameLanguageCode(language);
15
+ try {
16
+ return getDisplayNames(languageCode).of(languageCode) ?? language;
17
+ } catch {
18
+ return language;
19
+ }
20
+ };
21
+ var createDocsTranslations = (i18n, overrides) => {
22
+ const translations = {};
23
+ for (const language of i18n.languages) translations[language] = {
24
+ displayName: getLanguageDisplayName(language),
25
+ ...overrides?.[language]
26
+ };
27
+ return translations;
28
+ };
29
+ //#endregion
30
+ export { createDocsTranslations, getLanguageDisplayName };
@@ -0,0 +1,5 @@
1
+ export { createRootComponent, defineConfig } from './config';
2
+ export { getLanguageDisplayName } from './i18n';
3
+ export { assertRouteLocale, parseRouteLocale, redirectDefaultLocale } from './routes';
4
+ export { DocsSearchDialog } from './search';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/tanstack-docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { getLanguageDisplayName } from "./i18n.js";
2
+ import { DocsSearchDialog } from "./search.js";
3
+ import { createRootComponent, defineConfig } from "./config.js";
4
+ import { assertRouteLocale, parseRouteLocale, redirectDefaultLocale } from "./routes.js";
5
+ export { DocsSearchDialog, assertRouteLocale, createRootComponent, defineConfig, getLanguageDisplayName, parseRouteLocale, redirectDefaultLocale };
@@ -0,0 +1,13 @@
1
+ import { I18nAPI } from '@vezham/docs-core/i18n';
2
+ export declare const parseRouteLocale: <Language extends string, Params extends {
3
+ lang?: string;
4
+ }>(i18n: I18nAPI<Language>, params: Params) => false | Params;
5
+ export declare const assertRouteLocale: <Language extends string, Params extends {
6
+ lang?: string;
7
+ }>(i18n: I18nAPI<Language>, params: Params, location: {
8
+ href: string;
9
+ }) => void;
10
+ export declare const redirectDefaultLocale: <Language extends string>(i18n: I18nAPI<Language>, location: {
11
+ href: string;
12
+ }) => void;
13
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/tanstack-docs/routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAOrD,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAEhC,MAAM,OAAO,CAAC,QAAQ,CAAC,EACvB,QAAQ,MAAM,mBAGf,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAEhC,MAAM,OAAO,CAAC,QAAQ,CAAC,EACvB,QAAQ,MAAM,EACd,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,SAc3B,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,MAAM,EAC3D,MAAM,OAAO,CAAC,QAAQ,CAAC,EACvB,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,SAU3B,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { getDefaultLocaleRedirectHref, isOptionalLocaleParam } from "../../runtime/docs/i18n.js";
2
+ import { notFound, redirect } from "@tanstack/react-router";
3
+ //#region src/lib/provider/tanstack-docs/routes.ts
4
+ var parseRouteLocale = (i18n, params) => {
5
+ return isOptionalLocaleParam(i18n, params.lang) ? params : false;
6
+ };
7
+ var assertRouteLocale = (i18n, params, location) => {
8
+ if (!isOptionalLocaleParam(i18n, params.lang)) throw notFound();
9
+ const redirectHref = getDefaultLocaleRedirectHref(i18n, location.href);
10
+ if (redirectHref) throw redirect({
11
+ href: redirectHref,
12
+ statusCode: 301
13
+ });
14
+ };
15
+ var redirectDefaultLocale = (i18n, location) => {
16
+ const redirectHref = getDefaultLocaleRedirectHref(i18n, location.href);
17
+ if (redirectHref) throw redirect({
18
+ href: redirectHref,
19
+ statusCode: 301
20
+ });
21
+ };
22
+ //#endregion
23
+ export { assertRouteLocale, parseRouteLocale, redirectDefaultLocale };
@@ -0,0 +1,4 @@
1
+ import { SharedProps } from '@vezham/docs-react/components/dialog/search';
2
+ declare const DocsSearchDialog: (props: SharedProps) => import("react").JSX.Element;
3
+ export { DocsSearchDialog };
4
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/tanstack-docs/search.tsx"],"names":[],"mappings":"AAIA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,6CAA6C,CAAA;AAGpD,QAAA,MAAM,gBAAgB,GAAI,OAAO,WAAW,gCAyB3C,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useDocsSearch } from "@vezham/docs-core/search/client";
4
+ import { staticClient } from "@vezham/docs-core/search/client/orama-static";
5
+ import { SearchDialog, SearchDialogClose, SearchDialogContent, SearchDialogHeader, SearchDialogIcon, SearchDialogInput, SearchDialogList, SearchDialogOverlay } from "@vezham/docs-react/components/dialog/search";
6
+ import { useI18n } from "@vezham/docs-react/contexts/i18n";
7
+ //#region src/lib/provider/tanstack-docs/search.tsx
8
+ var DocsSearchDialog = (props) => {
9
+ const { locale } = useI18n();
10
+ const { search, setSearch, query } = useDocsSearch({ client: staticClient({ locale }) });
11
+ return /* @__PURE__ */ jsxs(SearchDialog, {
12
+ search,
13
+ onSearchChange: setSearch,
14
+ isLoading: query.isLoading,
15
+ ...props,
16
+ children: [/* @__PURE__ */ jsx(SearchDialogOverlay, {}), /* @__PURE__ */ jsxs(SearchDialogContent, { children: [/* @__PURE__ */ jsxs(SearchDialogHeader, { children: [
17
+ /* @__PURE__ */ jsx(SearchDialogIcon, {}),
18
+ /* @__PURE__ */ jsx(SearchDialogInput, {}),
19
+ /* @__PURE__ */ jsx(SearchDialogClose, {})
20
+ ] }), /* @__PURE__ */ jsx(SearchDialogList, { items: query.data !== "empty" ? query.data : null })] })]
21
+ });
22
+ };
23
+ //#endregion
24
+ export { DocsSearchDialog };
@@ -0,0 +1,3 @@
1
+ import { Props } from '../shared/types';
2
+ export declare const defineConfig: (props: Props) => void;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/vite/config.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAGvD,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,SAqBxC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { config, preConfig } from "../shared/config.js";
2
+ import { NAMESPACE } from "../shared/types.js";
3
+ import { Provider } from "./provider.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import ReactDOM from "react-dom/client";
6
+ import { APP_ID, APP_NAME, APP_VER } from "@vezham/env/vite";
7
+ import { useLogger } from "@vezham/use-logger";
8
+ //#region src/lib/provider/vite/config.tsx
9
+ var defineConfig = (props) => {
10
+ const options = {
11
+ ...props,
12
+ id: props.id || APP_ID,
13
+ name: props.name || APP_NAME,
14
+ version: props.version || APP_VER
15
+ };
16
+ const el = document.getElementById("root");
17
+ if (el && !el.getAttribute("data-vx-app")) {
18
+ document.documentElement.lang = options.lang ?? "en";
19
+ preConfig(options);
20
+ ReactDOM.createRoot(el).render(/* @__PURE__ */ jsx(Provider, {
21
+ ...options,
22
+ runtime: "vite"
23
+ }));
24
+ el.setAttribute("data-vx-app", options.name || "");
25
+ config(options);
26
+ } else useLogger.log(NAMESPACE, "[provider] | root el is missing");
27
+ };
28
+ //#endregion
29
+ export { defineConfig };
@@ -0,0 +1,4 @@
1
+ export { ClientDevtools } from '../shared/devtools';
2
+ export { defineConfig } from './config';
3
+ export { Provider } from './provider';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ClientDevtools } from "../shared/devtools.js";
2
+ import { Provider } from "./provider.js";
3
+ import { defineConfig } from "./config.js";
4
+ export { ClientDevtools, Provider, defineConfig };
@@ -0,0 +1,3 @@
1
+ declare const Provider: import('react').FC<import('../shared/types').Props>;
2
+ export { Provider };
3
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/provider/vite/provider.tsx"],"names":[],"mappings":"AAWA,QAAA,MAAM,QAAQ,qDAEZ,CAAA;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { createProvider } from "../shared/provider.js";
2
+ import { APP_ENV, APP_ID, APP_NAME, APP_VER, __DEBUG__, __DEV__ } from "@vezham/env/vite";
3
+ //#region src/lib/provider/vite/provider.tsx
4
+ var Provider = createProvider({ env: {
5
+ APP_ID,
6
+ APP_NAME,
7
+ APP_VER,
8
+ APP_ENV,
9
+ __DEBUG__,
10
+ __DEV__
11
+ } });
12
+ //#endregion
13
+ export { Provider };
@@ -0,0 +1,3 @@
1
+ export { RouterRoot } from './root';
2
+ export { createRouter } from './router';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/router/tanstack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RouterRoot } from "./root.js";
2
+ import { createRouter } from "./router.js";
3
+ export { RouterRoot, createRouter };
@@ -0,0 +1,3 @@
1
+ export declare const RouterRoot: () => import("react").JSX.Element;
2
+ export declare const DefaultNotFound: () => import("react").JSX.Element;
3
+ //# sourceMappingURL=root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/lib/router/tanstack/root.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,mCActB,CAAA;AAED,eAAO,MAAM,eAAe,mCAE3B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ClientDevtools } from "../../provider/shared/devtools.js";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { APP_ENV, APP_ID, APP_NAME, APP_VER, __DEV__ } from "@vezham/env/vite";
4
+ import { Outlet } from "@tanstack/react-router";
5
+ import { NotFound } from "@vezham/template/components";
6
+ //#region src/lib/router/tanstack/root.tsx
7
+ var RouterRoot = () => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Outlet, {}), /* @__PURE__ */ jsx(ClientDevtools, {
8
+ app: {
9
+ id: APP_ID,
10
+ name: APP_NAME,
11
+ version: APP_VER,
12
+ environment: APP_ENV,
13
+ runtime: "vite"
14
+ },
15
+ env: __DEV__
16
+ })] });
17
+ var DefaultNotFound = () => /* @__PURE__ */ jsx(NotFound, {
18
+ app: APP_NAME,
19
+ version: APP_VER
20
+ });
21
+ //#endregion
22
+ export { DefaultNotFound, RouterRoot };
@@ -0,0 +1,3 @@
1
+ import { createRouter as createTanstackRouter } from '@tanstack/react-router';
2
+ export declare const createRouter: typeof createTanstackRouter;
3
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/lib/router/tanstack/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,IAAI,oBAAoB,EACrC,MAAM,wBAAwB,CAAA;AAM/B,eAAO,MAAM,YAAY,EAAE,OAAO,oBAkBjC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { DefaultNotFound } from "./root.js";
2
+ import { createRouter } from "@tanstack/react-router";
3
+ import { ErrorPage, Loading } from "@vezham/template/components";
4
+ //#region src/lib/router/tanstack/router.ts
5
+ var createRouter$1 = (options) => {
6
+ const notFoundComponent = options.defaultNotFoundComponent ?? DefaultNotFound;
7
+ const configureRoute = (route) => {
8
+ if (route !== options.routeTree && !route.options.notFoundComponent) route.update({ notFoundComponent });
9
+ route.children?.forEach(configureRoute);
10
+ };
11
+ if (options.routeTree) configureRoute(options.routeTree);
12
+ return createRouter({
13
+ scrollRestoration: true,
14
+ defaultPreload: "intent",
15
+ defaultPendingComponent: Loading,
16
+ defaultErrorComponent: ErrorPage,
17
+ defaultNotFoundComponent: notFoundComponent,
18
+ ...options
19
+ });
20
+ };
21
+ //#endregion
22
+ export { createRouter$1 as createRouter };
@@ -0,0 +1,46 @@
1
+ export type DocsRouteHeadData = {
2
+ description?: string;
3
+ locale: string;
4
+ routePath: string;
5
+ title?: string;
6
+ };
7
+ export type DocsRouteHeadOptions = {
8
+ appName: string;
9
+ defaultLanguage: string;
10
+ docsImageRoute?: string;
11
+ docsRoute?: string;
12
+ languages: readonly string[];
13
+ openGraphImage: string;
14
+ openGraphImageSource?: string;
15
+ siteDescription: string;
16
+ siteUrl: string;
17
+ };
18
+ export declare const getDocsOgImagePath: ({ docsImageRoute, docsRoute, languages, openGraphImage, openGraphImageSource, routePath }: {
19
+ docsImageRoute?: string;
20
+ docsRoute?: string;
21
+ languages: readonly string[];
22
+ openGraphImage: string;
23
+ openGraphImageSource?: string;
24
+ routePath: string;
25
+ }) => string;
26
+ export declare const getDocsRouteHead: (data: DocsRouteHeadData | undefined, { appName, defaultLanguage, docsImageRoute, docsRoute, languages, openGraphImage, openGraphImageSource, siteDescription, siteUrl }: DocsRouteHeadOptions) => {
27
+ meta?: undefined;
28
+ } | {
29
+ meta: ({
30
+ title: string;
31
+ name?: undefined;
32
+ content?: undefined;
33
+ property?: undefined;
34
+ } | {
35
+ name: string;
36
+ content: string;
37
+ title?: undefined;
38
+ property?: undefined;
39
+ } | {
40
+ property: string;
41
+ content: string;
42
+ title?: undefined;
43
+ name?: undefined;
44
+ })[];
45
+ };
46
+ //# sourceMappingURL=head.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../../src/lib/runtime/docs/head.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,2FAOhC;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB,WAkBA,CAAA;AAMD,eAAO,MAAM,gBAAgB,GAC3B,MAAM,iBAAiB,GAAG,SAAS,EACnC,oIAUG,oBAAoB;;;;;;;;;;;;;;;;;;;CAsCxB,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { defaultDocsImageRoute, defaultDocsRoute, normalizeDocsRoutePath } from "./routes.js";
2
+ //#region src/lib/runtime/docs/head.ts
3
+ var getDocsOgImagePath = ({ docsImageRoute = defaultDocsImageRoute, docsRoute = defaultDocsRoute, languages, openGraphImage, openGraphImageSource, routePath }) => {
4
+ if (!(openGraphImageSource === "default" || openGraphImage === "/og/image.png")) return openGraphImage;
5
+ const docsPath = normalizeDocsRoutePath({
6
+ docsRoute,
7
+ languages,
8
+ routePath
9
+ });
10
+ const docsImageRouteRoot = docsImageRoute.split("/").slice(0, -1).join("/");
11
+ if (docsPath !== docsRoute && !docsPath.startsWith(`${docsRoute}/`)) return `${docsImageRouteRoot}${docsPath}/image.png`;
12
+ return `${docsImageRoute}${docsPath === docsRoute ? "" : docsPath.slice(docsRoute.length)}/image.png`;
13
+ };
14
+ var absoluteSiteUrl = (pathname, siteUrl) => {
15
+ return new URL(pathname, `${siteUrl}/`).toString();
16
+ };
17
+ var getDocsRouteHead = (data, { appName, defaultLanguage, docsImageRoute, docsRoute = defaultDocsRoute, languages, openGraphImage, openGraphImageSource, siteDescription, siteUrl }) => {
18
+ if (!data) return {};
19
+ const title = data.title ? `${data.title} | ${appName}` : appName;
20
+ const description = data.description ?? siteDescription;
21
+ const docsPath = normalizeDocsRoutePath({
22
+ docsRoute,
23
+ languages,
24
+ routePath: data.routePath
25
+ });
26
+ const pageUrl = data.locale === defaultLanguage ? docsPath : `/${data.locale}${docsPath}`;
27
+ const imageUrl = getDocsOgImagePath({
28
+ docsImageRoute,
29
+ docsRoute,
30
+ languages,
31
+ openGraphImage,
32
+ openGraphImageSource,
33
+ routePath: docsPath
34
+ });
35
+ return { meta: [
36
+ { title },
37
+ {
38
+ name: "description",
39
+ content: description
40
+ },
41
+ {
42
+ property: "og:title",
43
+ content: title
44
+ },
45
+ {
46
+ property: "og:description",
47
+ content: description
48
+ },
49
+ {
50
+ property: "og:image",
51
+ content: imageUrl
52
+ },
53
+ {
54
+ property: "og:url",
55
+ content: absoluteSiteUrl(pageUrl, siteUrl)
56
+ },
57
+ {
58
+ name: "twitter:title",
59
+ content: title
60
+ },
61
+ {
62
+ name: "twitter:description",
63
+ content: description
64
+ },
65
+ {
66
+ name: "twitter:image",
67
+ content: imageUrl
68
+ },
69
+ {
70
+ name: "twitter:url",
71
+ content: absoluteSiteUrl(pageUrl, siteUrl)
72
+ },
73
+ {
74
+ name: "twitter:card",
75
+ content: "summary_large_image"
76
+ }
77
+ ] };
78
+ };
79
+ //#endregion
80
+ export { getDocsOgImagePath, getDocsRouteHead };
@@ -0,0 +1,33 @@
1
+ import { I18nConfig } from '@vezham/docs-core/i18n';
2
+ export type DocsI18nInput<Languages extends readonly string[]> = {
3
+ defaultLanguage: Languages[number];
4
+ hideLocale?: I18nConfig<Languages[number]>['hideLocale'];
5
+ languages: Languages;
6
+ };
7
+ export declare const createDocsI18n: <const Languages extends readonly string[]>(config: DocsI18nInput<Languages>) => import('@vezham/docs-core/i18n').I18nAPI<Languages[number]>;
8
+ export declare const normalizeLocale: <Locale extends string>(i18n: {
9
+ defaultLanguage: Locale;
10
+ languages: readonly Locale[];
11
+ }, lang?: string) => Locale;
12
+ export declare const isOptionalLocaleParam: <Locale extends string>(i18n: {
13
+ languages: readonly Locale[];
14
+ }, lang?: string) => lang is Locale | undefined;
15
+ export declare const isDefaultLocaleParam: <Locale extends string>(i18n: {
16
+ defaultLanguage: Locale;
17
+ }, lang?: string) => lang is Locale;
18
+ export declare const getDefaultLocaleRedirectHref: <Locale extends string>(i18n: {
19
+ defaultLanguage: Locale;
20
+ }, href: string) => string | undefined;
21
+ export declare const localizedUrl: <Locale extends string>(i18n: {
22
+ defaultLanguage: Locale;
23
+ }, locale: Locale, path: string) => string;
24
+ export declare const localizedRouteParam: <Locale extends string>(i18n: {
25
+ defaultLanguage: Locale;
26
+ }, locale?: Locale) => Locale | undefined;
27
+ export declare const localizeRouteBase: <Locale extends string>({ defaultLanguage, lang, languages, routeBase }: {
28
+ defaultLanguage?: Locale;
29
+ lang?: string;
30
+ languages: readonly Locale[];
31
+ routeBase: string;
32
+ }) => string;
33
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/lib/runtime/docs/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,wBAAwB,CAAA;AAEpE,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,SAAS,MAAM,EAAE,IAAI;IAC/D,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IACxD,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,CAAC,SAAS,SAAS,SAAS,MAAM,EAAE,EACtE,QAAQ,aAAa,CAAC,SAAS,CAAC,gEASjC,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EACnD,MAAM;IACJ,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,EACD,OAAO,MAAM,KACZ,MAIF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,MAAM,EACzD,MAAM;IACJ,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,EACD,OAAO,MAAM,KACZ,IAAI,IAAI,MAAM,GAAG,SAEnB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,MAAM,EACxD,MAAM;IACJ,eAAe,EAAE,MAAM,CAAA;CACxB,EACD,OAAO,MAAM,KACZ,IAAI,IAAI,MAEV,CAAA;AAMD,eAAO,MAAM,4BAA4B,GAAI,MAAM,SAAS,MAAM,EAChE,MAAM;IACJ,eAAe,EAAE,MAAM,CAAA;CACxB,EACD,MAAM,MAAM,uBAYb,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAChD,MAAM;IACJ,eAAe,EAAE,MAAM,CAAA;CACxB,EACD,QAAQ,MAAM,EACd,MAAM,MAAM,WAOb,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,SAAS,MAAM,EACvD,MAAM;IACJ,eAAe,EAAE,MAAM,CAAA;CACxB,EACD,SAAS,MAAM,uBAGhB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,MAAM,EAAE,iDAKtD;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,WAMA,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { defineI18n } from "@vezham/docs-core/i18n";
2
+ //#region src/lib/runtime/docs/i18n.ts
3
+ var createDocsI18n = (config) => {
4
+ const { hideLocale = "default-locale", languages, ...i18nConfig } = config;
5
+ return defineI18n({
6
+ ...i18nConfig,
7
+ hideLocale,
8
+ languages: [...languages]
9
+ });
10
+ };
11
+ var normalizeLocale = (i18n, lang) => {
12
+ return i18n.languages.includes(lang) ? lang : i18n.defaultLanguage;
13
+ };
14
+ var isOptionalLocaleParam = (i18n, lang) => {
15
+ return !lang || i18n.languages.includes(lang);
16
+ };
17
+ var isDefaultLocaleParam = (i18n, lang) => {
18
+ return lang === i18n.defaultLanguage;
19
+ };
20
+ var escapeRegExp = (value) => {
21
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
22
+ };
23
+ var getDefaultLocaleRedirectHref = (i18n, href) => {
24
+ const defaultLocalePattern = escapeRegExp(i18n.defaultLanguage);
25
+ const defaultLocalePrefix = new RegExp(`^/${defaultLocalePattern}(?=/|\\?|#|$)`);
26
+ if (!defaultLocalePrefix.test(href)) return;
27
+ return href.replace(defaultLocalePrefix, "") || "/";
28
+ };
29
+ var localizedUrl = (i18n, locale, path) => {
30
+ const normalizedPath = path.startsWith("/") ? path : `/${path}`;
31
+ return locale === i18n.defaultLanguage ? normalizedPath : `/${locale}${normalizedPath}`;
32
+ };
33
+ var localizedRouteParam = (i18n, locale) => {
34
+ return locale && locale !== i18n.defaultLanguage ? locale : void 0;
35
+ };
36
+ var localizeRouteBase = ({ defaultLanguage, lang, languages, routeBase }) => {
37
+ const locale = languages.find((language) => language === lang);
38
+ return locale && locale !== defaultLanguage ? `/${locale}${routeBase}` : routeBase;
39
+ };
40
+ //#endregion
41
+ export { createDocsI18n, getDefaultLocaleRedirectHref, isDefaultLocaleParam, isOptionalLocaleParam, localizeRouteBase, localizedRouteParam, localizedUrl, normalizeLocale };
@@ -0,0 +1,26 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { LoaderPlugin } from '@vezham/docs-core/source';
3
+ import { metaSchema, pageSchema } from '@vezham/docs-core/source/schema';
4
+ export declare const defaultDocsIconAssetBaseUrl = "https://cdn.jsdelivr.net/npm/@vezham/icons@1.0.7/dist/cdn/icons";
5
+ export type DocsIconName = string;
6
+ export type DocsIconWeight = 'outline' | 'filled' | 'duotone';
7
+ export type DocsIconAlt = string | ((iconName: DocsIconName) => string);
8
+ export type DocsIconFrontmatter = {
9
+ iconAlt?: string;
10
+ iconColor?: CSSProperties['color'];
11
+ iconWeight?: DocsIconWeight;
12
+ };
13
+ export type DocsIconResolverOptions = {
14
+ alt?: DocsIconAlt;
15
+ assetBaseUrl?: string;
16
+ color?: CSSProperties['color'];
17
+ defaultIcon?: DocsIconName;
18
+ size?: number | string;
19
+ weight?: DocsIconWeight;
20
+ };
21
+ export declare const docsPageSchema: typeof pageSchema;
22
+ export declare const docsMetaSchema: typeof metaSchema;
23
+ export declare const toDocsIconName: (value: string) => string;
24
+ export declare const createDocsIconResolver: ({ alt, assetBaseUrl, color, defaultIcon, size, weight }?: DocsIconResolverOptions) => (icon?: string) => ReactNode;
25
+ export declare const docsIconsPlugin: (options?: DocsIconResolverOptions) => LoaderPlugin;
26
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/lib/runtime/docs/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAExE,eAAO,MAAM,2BAA2B,oEAC2B,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,CAAA;AAEvE,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,cAAc,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,cAAc,EAIV,OAAO,UAAU,CAAA;AAElC,eAAO,MAAM,cAAc,EAIV,OAAO,UAAU,CAAA;AAUlC,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,WAE3C,CAAA;AAuBD,eAAO,MAAM,sBAAsB,GAAI,0DAOpC,uBAA4B,MACrB,OAAO,MAAM,KAAG,SAoCzB,CAAA;AAgDD,eAAO,MAAM,eAAe,GAC1B,UAAS,uBAA4B,KACpC,YAuBD,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { createElement } from "react";
2
+ import { metaSchema, pageSchema } from "@vezham/docs-core/source/schema";
3
+ //#region src/lib/runtime/docs/icons.ts
4
+ var defaultDocsIconAssetBaseUrl = "https://cdn.jsdelivr.net/npm/@vezham/icons@1.0.7/dist/cdn/icons";
5
+ var docsPageSchema = pageSchema.extend({
6
+ iconAlt: pageSchema.shape.description,
7
+ iconColor: pageSchema.shape.description,
8
+ iconWeight: pageSchema.shape.description
9
+ });
10
+ var docsMetaSchema = metaSchema.extend({
11
+ iconAlt: metaSchema.shape.description,
12
+ iconColor: metaSchema.shape.description,
13
+ iconWeight: metaSchema.shape.description
14
+ });
15
+ var toKebabIconName = (value) => {
16
+ return value.replace(/_/g, "-").replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2").toLowerCase();
17
+ };
18
+ var toDocsIconName = (value) => {
19
+ return toKebabIconName(value);
20
+ };
21
+ var isDocsIconWeight = (value) => {
22
+ return value === "outline" || value === "filled" || value === "duotone";
23
+ };
24
+ var getDocsIconAlt = (alt, iconName) => {
25
+ return typeof alt === "function" ? alt(iconName) : alt;
26
+ };
27
+ var getDocsIconAssetUrl = (iconName, weight, assetBaseUrl) => {
28
+ const suffix = weight === "filled" || weight === "duotone" ? `-${weight}` : "";
29
+ return `${assetBaseUrl.replace(/\/$/, "")}/${iconName}${suffix}.svg`;
30
+ };
31
+ var createDocsIconResolver = ({ alt, assetBaseUrl = defaultDocsIconAssetBaseUrl, color, defaultIcon, size = 16, weight } = {}) => {
32
+ return (icon) => {
33
+ const iconName = icon ?? defaultIcon;
34
+ if (iconName === void 0) return;
35
+ const normalizedIconName = toDocsIconName(iconName);
36
+ const iconSize = typeof size === "number" ? `${size}px` : size;
37
+ const iconUrl = getDocsIconAssetUrl(normalizedIconName, weight, assetBaseUrl);
38
+ const altText = getDocsIconAlt(alt, normalizedIconName);
39
+ const style = {
40
+ WebkitMask: `url("${iconUrl}") center / contain no-repeat`,
41
+ backgroundColor: "currentColor",
42
+ color,
43
+ display: "inline-block",
44
+ flexShrink: 0,
45
+ height: iconSize,
46
+ mask: `url("${iconUrl}") center / contain no-repeat`,
47
+ verticalAlign: "middle",
48
+ width: iconSize
49
+ };
50
+ return createElement("span", {
51
+ ...altText ? {
52
+ "aria-label": altText,
53
+ role: "img"
54
+ } : { "aria-hidden": true },
55
+ "data-vx-icon": normalizedIconName,
56
+ "data-vx-icon-weight": weight,
57
+ style
58
+ });
59
+ };
60
+ };
61
+ var getString = (value) => {
62
+ return typeof value === "string" ? value : void 0;
63
+ };
64
+ var getDocsIconFrontmatter = (data) => {
65
+ if (!data || typeof data !== "object") return {};
66
+ const frontmatter = data;
67
+ const iconWeight = frontmatter.iconWeight;
68
+ return {
69
+ iconAlt: getString(frontmatter.iconAlt),
70
+ iconColor: getString(frontmatter.iconColor),
71
+ iconWeight: isDocsIconWeight(iconWeight) ? iconWeight : void 0
72
+ };
73
+ };
74
+ var createFrontmatterDocsIconResolver = (frontmatter, options) => {
75
+ return createDocsIconResolver({
76
+ ...options,
77
+ alt: frontmatter.iconAlt ?? options.alt,
78
+ color: frontmatter.iconColor ?? options.color,
79
+ weight: frontmatter.iconWeight ?? options.weight
80
+ });
81
+ };
82
+ var resolveDocsNodeIcon = (node, options, frontmatter = {}) => {
83
+ if (node.icon === void 0 || typeof node.icon === "string") node.icon = createFrontmatterDocsIconResolver(frontmatter, options)(node.icon);
84
+ return node;
85
+ };
86
+ var docsIconsPlugin = (options = {}) => ({
87
+ name: "vezham:docs-icons",
88
+ transformPageTree: {
89
+ file(node, filePath) {
90
+ const file = filePath ? this.storage.read(filePath) : void 0;
91
+ return resolveDocsNodeIcon(node, options, file?.format === "page" ? getDocsIconFrontmatter(file.data) : void 0);
92
+ },
93
+ folder(node, _folderPath, metaPath) {
94
+ const file = metaPath ? this.storage.read(metaPath) : void 0;
95
+ return resolveDocsNodeIcon(node, options, file?.format === "meta" ? getDocsIconFrontmatter(file.data) : void 0);
96
+ },
97
+ separator(node) {
98
+ return resolveDocsNodeIcon(node, options);
99
+ }
100
+ }
101
+ });
102
+ //#endregion
103
+ export { createDocsIconResolver, defaultDocsIconAssetBaseUrl, docsIconsPlugin, docsMetaSchema, docsPageSchema, toDocsIconName };
@@ -0,0 +1,9 @@
1
+ export * from './runtime';
2
+ export * from './icons';
3
+ export * from './i18n';
4
+ export * from './routes';
5
+ export * from './head';
6
+ export * from './openapi';
7
+ export * from './pages';
8
+ export * from './static';
9
+ //# sourceMappingURL=index.d.ts.map