@shadow-shard-tools/docs-core 1.0.15 → 1.0.17

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 (80) hide show
  1. package/dist/browser/serverOnly.d.ts +15 -0
  2. package/dist/browser/serverOnly.d.ts.map +1 -0
  3. package/dist/browser/serverOnly.js +33 -0
  4. package/dist/browser/serverOnly.js.map +1 -0
  5. package/dist/browser.d.ts +38 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +45 -0
  8. package/dist/browser.js.map +1 -0
  9. package/dist/configs/clientConfig.d.ts +18 -0
  10. package/dist/configs/clientConfig.d.ts.map +1 -0
  11. package/dist/configs/clientConfig.js +58 -0
  12. package/dist/configs/clientConfig.js.map +1 -0
  13. package/dist/configs/index.d.ts +4 -2
  14. package/dist/configs/index.d.ts.map +1 -1
  15. package/dist/configs/index.js +4 -2
  16. package/dist/configs/index.js.map +1 -1
  17. package/dist/configs/sstDocsConfig.d.ts +4 -5
  18. package/dist/configs/sstDocsConfig.d.ts.map +1 -1
  19. package/dist/configs/sstDocsConfig.js +141 -51
  20. package/dist/configs/sstDocsConfig.js.map +1 -1
  21. package/dist/configs/sstDocsConfig.shared.d.ts +8 -0
  22. package/dist/configs/sstDocsConfig.shared.d.ts.map +1 -0
  23. package/dist/configs/sstDocsConfig.shared.js +86 -0
  24. package/dist/configs/sstDocsConfig.shared.js.map +1 -0
  25. package/dist/configs/{styles/320/241onfig.d.ts → stylesConfig.d.ts} +1 -1
  26. package/dist/configs/stylesConfig.d.ts.map +1 -0
  27. package/dist/configs/stylesConfig.js +8 -0
  28. package/dist/configs/stylesConfig.js.map +1 -0
  29. package/dist/constants/{aligmentClasses.d.ts → alignmentClasses.d.ts} +1 -1
  30. package/dist/constants/alignmentClasses.d.ts.map +1 -0
  31. package/dist/constants/{aligmentClasses.js → alignmentClasses.js} +1 -1
  32. package/dist/constants/alignmentClasses.js.map +1 -0
  33. package/dist/constants/index.d.ts +1 -1
  34. package/dist/constants/index.d.ts.map +1 -1
  35. package/dist/constants/index.js +1 -1
  36. package/dist/constants/index.js.map +1 -1
  37. package/dist/data/buildTree.d.ts +14 -2
  38. package/dist/data/buildTree.d.ts.map +1 -1
  39. package/dist/data/buildTree.js +162 -79
  40. package/dist/data/buildTree.js.map +1 -1
  41. package/dist/styles/themes.css +1 -0
  42. package/dist/styles/themes.css.map +1 -0
  43. package/dist/themes/baseThemeClasses.d.ts +106 -0
  44. package/dist/themes/baseThemeClasses.d.ts.map +1 -0
  45. package/dist/themes/baseThemeClasses.js +106 -0
  46. package/dist/themes/baseThemeClasses.js.map +1 -0
  47. package/dist/themes/darkTheme.d.ts +1 -1
  48. package/dist/themes/darkTheme.d.ts.map +1 -1
  49. package/dist/themes/darkTheme.js +41 -118
  50. package/dist/themes/darkTheme.js.map +1 -1
  51. package/dist/themes/index.d.ts +1 -0
  52. package/dist/themes/index.d.ts.map +1 -1
  53. package/dist/themes/index.js +1 -0
  54. package/dist/themes/index.js.map +1 -1
  55. package/dist/themes/lightTheme.d.ts +1 -1
  56. package/dist/themes/lightTheme.d.ts.map +1 -1
  57. package/dist/themes/lightTheme.js +41 -118
  58. package/dist/themes/lightTheme.js.map +1 -1
  59. package/dist/themes/themeRegistry.d.ts +11 -0
  60. package/dist/themes/themeRegistry.d.ts.map +1 -0
  61. package/dist/themes/themeRegistry.js +18 -0
  62. package/dist/themes/themeRegistry.js.map +1 -0
  63. package/dist/types/ClientVisibleSstDocsConfig.d.ts +8 -0
  64. package/dist/types/ClientVisibleSstDocsConfig.d.ts.map +1 -0
  65. package/dist/types/ClientVisibleSstDocsConfig.js +2 -0
  66. package/dist/types/ClientVisibleSstDocsConfig.js.map +1 -0
  67. package/dist/types/HtmlGeneratorSettings.d.ts +17 -1
  68. package/dist/types/HtmlGeneratorSettings.d.ts.map +1 -1
  69. package/dist/types/SstDocsConfig.d.ts +2 -2
  70. package/dist/types/SstDocsConfig.d.ts.map +1 -1
  71. package/dist/types/StyleTheme.d.ts +131 -16
  72. package/dist/types/StyleTheme.d.ts.map +1 -1
  73. package/dist/types/index.d.ts +2 -0
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/package.json +27 -4
  76. package/dist/configs/styles/320/241onfig.d.ts.map +0 -1
  77. package/dist/configs/styles/320/241onfig.js +0 -9
  78. package/dist/configs/styles/320/241onfig.js.map +0 -1
  79. package/dist/constants/aligmentClasses.d.ts.map +0 -1
  80. package/dist/constants/aligmentClasses.js.map +0 -1
@@ -0,0 +1,86 @@
1
+ import { normalizeSystemPath } from "../utilities/string/normalizeSystemPath.js";
2
+ export const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
3
+ export class SstDocsConfigError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = "SstDocsConfigError";
7
+ }
8
+ }
9
+ export function derivePublicDataPath(fsDataPath) {
10
+ const normalized = normalizeSystemPath(fsDataPath.trim());
11
+ let candidate = normalized;
12
+ // Strip leading relative markers like "./"
13
+ candidate = candidate.replace(/^\.\/*/, "/");
14
+ // Try to locate the /public segment and drop everything up to it.
15
+ const publicSegmentIndex = candidate.indexOf("/public");
16
+ if (publicSegmentIndex !== -1) {
17
+ candidate = candidate.slice(publicSegmentIndex + "/public".length);
18
+ }
19
+ else if (candidate.startsWith("public/")) {
20
+ candidate = candidate.slice("public".length);
21
+ }
22
+ if (candidate.length === 0 || candidate === "/") {
23
+ return "/";
24
+ }
25
+ if (!candidate.startsWith("/")) {
26
+ candidate = `/${candidate}`;
27
+ }
28
+ if (!candidate.endsWith("/")) {
29
+ candidate = `${candidate}/`;
30
+ }
31
+ return candidate;
32
+ }
33
+ export function resolvePublicDataPath(baseUrl, config) {
34
+ const publicPath = typeof config === "string" ? config : config.PUBLIC_DATA_PATH;
35
+ const normalizedPublicPath = normalizePublicPath(publicPath);
36
+ if (!baseUrl) {
37
+ return normalizedPublicPath;
38
+ }
39
+ if (isAbsoluteUrl(baseUrl)) {
40
+ const url = new URL(baseUrl);
41
+ url.pathname = joinUrlPaths(ensureLeadingAndTrailingSlash(url.pathname || "/"), normalizedPublicPath);
42
+ return url.toString();
43
+ }
44
+ const normalizedBase = ensureLeadingAndTrailingSlash(normalizeSystemPath(baseUrl.trim() || "/"));
45
+ return joinUrlPaths(normalizedBase, normalizedPublicPath);
46
+ }
47
+ function normalizePublicPath(value) {
48
+ const normalized = normalizeSystemPath(value.trim());
49
+ if (normalized.length === 0) {
50
+ return "/";
51
+ }
52
+ const withLeading = normalized.startsWith("/")
53
+ ? normalized
54
+ : `/${normalized}`;
55
+ return withLeading.endsWith("/") ? withLeading : `${withLeading}/`;
56
+ }
57
+ function ensureLeadingAndTrailingSlash(value) {
58
+ const normalized = normalizeSystemPath(value.trim());
59
+ if (normalized.length === 0) {
60
+ return "/";
61
+ }
62
+ let result = normalized.startsWith("/")
63
+ ? normalized
64
+ : `/${normalized}`;
65
+ if (!result.endsWith("/")) {
66
+ result = `${result}/`;
67
+ }
68
+ return result;
69
+ }
70
+ function joinUrlPaths(base, child) {
71
+ const normalizedBase = base.endsWith("/") ? base : `${base}/`;
72
+ const normalizedChild = child.startsWith("/")
73
+ ? child.slice(1)
74
+ : child;
75
+ return `${normalizedBase}${normalizedChild}`;
76
+ }
77
+ function isAbsoluteUrl(value) {
78
+ try {
79
+ new URL(value);
80
+ return true;
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ }
86
+ //# sourceMappingURL=sstDocsConfig.shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sstDocsConfig.shared.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.shared.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { StylesConfig } from "../index.js";
2
2
  export declare const stylesConfig: StylesConfig;
3
- //# sourceMappingURL=styles%D0%A1onfig.d.ts.map
3
+ //# sourceMappingURL=stylesConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylesConfig.d.ts","sourceRoot":"","sources":["../../src/configs/stylesConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { DOCS_CORE_THEME_PRESETS } from "../themes/themeRegistry.js";
2
+ export const stylesConfig = {
3
+ themes: {
4
+ light: DOCS_CORE_THEME_PRESETS.light,
5
+ dark: DOCS_CORE_THEME_PRESETS.dark,
6
+ },
7
+ };
8
+ //# sourceMappingURL=stylesConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylesConfig.js","sourceRoot":"","sources":["../../src/configs/stylesConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,MAAM,EAAE;QACN,KAAK,EAAE,uBAAuB,CAAC,KAAK;QACpC,IAAI,EAAE,uBAAuB,CAAC,IAAI;KACnC;CACF,CAAC"}
@@ -12,4 +12,4 @@ export declare const ALIGNMENT_CLASSES: {
12
12
  readonly container: "ml-auto";
13
13
  };
14
14
  };
15
- //# sourceMappingURL=aligmentClasses.d.ts.map
15
+ //# sourceMappingURL=alignmentClasses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignmentClasses.d.ts","sourceRoot":"","sources":["../../src/constants/alignmentClasses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC"}
@@ -12,4 +12,4 @@ export const ALIGNMENT_CLASSES = {
12
12
  container: "ml-auto",
13
13
  },
14
14
  };
15
- //# sourceMappingURL=aligmentClasses.js.map
15
+ //# sourceMappingURL=alignmentClasses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignmentClasses.js","sourceRoot":"","sources":["../../src/constants/alignmentClasses.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,SAAS;KACrB;CACO,CAAC"}
@@ -1,3 +1,3 @@
1
- export { ALIGNMENT_CLASSES } from "./aligmentClasses.js";
1
+ export { ALIGNMENT_CLASSES } from "./alignmentClasses.js";
2
2
  export { SPACING_CLASSES } from "./spacingClasses.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { ALIGNMENT_CLASSES } from "./aligmentClasses.js";
1
+ export { ALIGNMENT_CLASSES } from "./alignmentClasses.js";
2
2
  export { SPACING_CLASSES } from "./spacingClasses.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,8 +1,20 @@
1
1
  import type { Category } from "../types/Category.js";
2
2
  import type { DocItem } from "../types/DocItem.js";
3
3
  import type { RawCategory } from "../types/RawCategory.js";
4
- export declare function buildTree(rawMap: Record<string, RawCategory>, allDocs: DocItem[]): {
4
+ type BuildTreeIssueType = "invalidCategoryId" | "invalidChildrenField" | "invalidChildId" | "missingCategory" | "invalidDocsField" | "invalidDocId" | "missingDoc" | "cycle";
5
+ export interface BuildTreeIssue {
6
+ type: BuildTreeIssueType;
7
+ categoryId?: string;
8
+ childId?: string;
9
+ docId?: string;
10
+ path?: string[];
11
+ message: string;
12
+ }
13
+ export interface BuildTreeResult {
5
14
  tree: Category[];
6
15
  usedDocIds: Set<string>;
7
- };
16
+ errors: BuildTreeIssue[];
17
+ }
18
+ export declare function buildTree(rawMap: Record<string, RawCategory>, allDocs: DocItem[]): BuildTreeResult;
19
+ export {};
8
20
  //# sourceMappingURL=buildTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTree.d.ts","sourceRoot":"","sources":["../../src/data/buildTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA2F3D,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,EAAE,OAAO,EAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA8C/C"}
1
+ {"version":3,"file":"buildTree.d.ts","sourceRoot":"","sources":["../../src/data/buildTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,YAAY,GACZ,OAAO,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAUD,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,EAAE,OAAO,EAAE,GACjB,eAAe,CAuMjB"}
@@ -1,91 +1,174 @@
1
- function convertCategory(raw, rawMap, docLookup, usedDocIds, included, visiting) {
2
- if (visiting.has(raw.id)) {
3
- console.warn(`Detected circular category reference at ${raw.id}.`);
4
- return null;
1
+ export function buildTree(rawMap, allDocs) {
2
+ const errors = [];
3
+ const docLookup = new Map(allDocs.map((d) => [d.id, d]));
4
+ const usedDocIds = new Set();
5
+ // First pass: collect valid category ids.
6
+ const categoryIds = new Set();
7
+ for (const raw of Object.values(rawMap)) {
8
+ const id = typeof raw?.id === "string" ? raw.id.trim() : "";
9
+ if (id.length === 0) {
10
+ errors.push({
11
+ type: "invalidCategoryId",
12
+ message: "Encountered category with missing or invalid id.",
13
+ });
14
+ continue;
15
+ }
16
+ if (categoryIds.has(id)) {
17
+ errors.push({
18
+ type: "invalidCategoryId",
19
+ categoryId: id,
20
+ message: `Duplicate category id "${id}" encountered.`,
21
+ });
22
+ continue;
23
+ }
24
+ categoryIds.add(id);
5
25
  }
6
- visiting.add(raw.id);
7
- let docs;
8
- const docIds = Array.isArray(raw.docs) ? raw.docs : [];
9
- if (docIds.length > 0) {
10
- const validDocs = docIds
11
- .map((rawId) => {
12
- if (typeof rawId !== "string" || rawId.length === 0) {
13
- console.warn(`Invalid doc id in category ${raw.id}:`, rawId);
14
- return null;
26
+ // Second pass: prepare categories, docs, and adjacency once.
27
+ const prepared = new Map();
28
+ const referencedAsChild = new Map();
29
+ for (const raw of Object.values(rawMap)) {
30
+ const id = typeof raw?.id === "string" ? raw.id.trim() : "";
31
+ if (!categoryIds.has(id)) {
32
+ continue;
33
+ }
34
+ let docs;
35
+ if (raw.docs !== undefined && !Array.isArray(raw.docs)) {
36
+ errors.push({
37
+ type: "invalidDocsField",
38
+ categoryId: id,
39
+ message: `Category "${id}" has an invalid docs field (expected array).`,
40
+ });
41
+ }
42
+ else if (Array.isArray(raw.docs)) {
43
+ const collected = [];
44
+ for (const rawDocId of raw.docs) {
45
+ if (typeof rawDocId !== "string" || rawDocId.trim().length === 0) {
46
+ errors.push({
47
+ type: "invalidDocId",
48
+ categoryId: id,
49
+ docId: rawDocId,
50
+ message: `Category "${id}" references an invalid doc id.`,
51
+ });
52
+ continue;
53
+ }
54
+ const docId = rawDocId.trim();
55
+ const doc = docLookup.get(docId);
56
+ if (!doc) {
57
+ errors.push({
58
+ type: "missingDoc",
59
+ categoryId: id,
60
+ docId,
61
+ message: `Doc id "${docId}" referenced in category "${id}" was not found.`,
62
+ });
63
+ continue;
64
+ }
65
+ collected.push(doc);
66
+ usedDocIds.add(docId);
15
67
  }
16
- const doc = docLookup.get(rawId);
17
- if (!doc) {
18
- console.warn(`Doc id ${rawId} referenced in category ${raw.id} not found.`);
19
- return null;
68
+ if (collected.length > 0) {
69
+ docs = collected;
20
70
  }
21
- usedDocIds.add(rawId);
22
- return doc;
23
- })
24
- .filter((doc) => doc !== null);
25
- if (validDocs.length > 0) {
26
- docs = validDocs;
27
71
  }
28
- }
29
- let children;
30
- const childIds = Array.isArray(raw.children) ? raw.children : [];
31
- if (childIds.length > 0) {
32
- const validChildren = childIds
33
- .map((rawChildId) => {
34
- if (typeof rawChildId !== "string" || rawChildId.length === 0) {
35
- console.warn(`Invalid child category id in ${raw.id}:`, rawChildId);
36
- return null;
37
- }
38
- const childRaw = rawMap[rawChildId];
39
- if (!childRaw) {
40
- console.warn(`Child category ${rawChildId} referenced in ${raw.id} not found.`);
41
- return null;
72
+ const childIds = [];
73
+ if (raw.children !== undefined && !Array.isArray(raw.children)) {
74
+ errors.push({
75
+ type: "invalidChildrenField",
76
+ categoryId: id,
77
+ message: `Category "${id}" has an invalid children field (expected array).`,
78
+ });
79
+ }
80
+ else if (Array.isArray(raw.children)) {
81
+ for (const rawChildId of raw.children) {
82
+ if (typeof rawChildId !== "string" ||
83
+ rawChildId.trim().length === 0) {
84
+ errors.push({
85
+ type: "invalidChildId",
86
+ categoryId: id,
87
+ childId: rawChildId,
88
+ message: `Category "${id}" references an invalid child category id.`,
89
+ });
90
+ continue;
91
+ }
92
+ const childId = rawChildId.trim();
93
+ if (!categoryIds.has(childId)) {
94
+ errors.push({
95
+ type: "missingCategory",
96
+ categoryId: id,
97
+ childId,
98
+ message: `Child category "${childId}" referenced in "${id}" was not found.`,
99
+ });
100
+ continue;
101
+ }
102
+ childIds.push(childId);
103
+ referencedAsChild.set(childId, (referencedAsChild.get(childId) ?? 0) + 1);
42
104
  }
43
- return convertCategory(childRaw, rawMap, docLookup, usedDocIds, included, visiting);
44
- })
45
- .filter((child) => child !== null);
46
- if (validChildren.length > 0) {
47
- children = validChildren;
48
105
  }
106
+ prepared.set(id, { raw, docs, childIds });
49
107
  }
50
- visiting.delete(raw.id);
51
- included.add(raw.id);
52
- return {
53
- id: raw.id,
54
- title: raw.title,
55
- description: raw.description,
56
- content: raw.content ?? [],
57
- docs,
58
- children,
59
- };
60
- }
61
- export function buildTree(rawMap, allDocs) {
62
- const docLookup = new Map(allDocs.map((d) => [d.id, d]));
63
- const usedDocIds = new Set();
64
- const includedIds = new Set();
65
- const childCategoryIds = new Set();
66
- Object.values(rawMap).forEach((category) => {
67
- if (Array.isArray(category?.children)) {
68
- category.children.forEach((childId) => {
69
- if (typeof childId === "string" && childId.length > 0) {
70
- childCategoryIds.add(childId);
71
- }
108
+ const allValidIds = Array.from(prepared.keys());
109
+ const rootIds = allValidIds.filter((id) => !referencedAsChild.has(id));
110
+ const rootsToUse = rootIds.length > 0 ? rootIds : allValidIds;
111
+ const state = new Map();
112
+ const built = new Map();
113
+ const buildNode = (id, stack) => {
114
+ const current = state.get(id) ?? "unvisited";
115
+ if (current === "visiting") {
116
+ const cyclePath = [...stack, id];
117
+ errors.push({
118
+ type: "cycle",
119
+ path: cyclePath,
120
+ message: `Detected circular category reference: ${cyclePath.join(" -> ")}`,
72
121
  });
122
+ return null;
73
123
  }
74
- });
75
- let rootCandidates = Object.values(rawMap).filter((category) => category &&
76
- typeof category.id === "string" &&
77
- category.id.length > 0 &&
78
- !childCategoryIds.has(category.id));
79
- if (rootCandidates.length === 0) {
80
- rootCandidates = Object.values(rawMap).filter((category) => category && typeof category.id === "string" && category.id.length > 0);
81
- }
82
- const tree = rootCandidates
83
- .map((rootCategory) => {
84
- if (includedIds.has(rootCategory.id))
124
+ if (current === "visited") {
125
+ return built.get(id) ?? null;
126
+ }
127
+ const preparedCategory = prepared.get(id);
128
+ if (!preparedCategory) {
129
+ errors.push({
130
+ type: "missingCategory",
131
+ categoryId: id,
132
+ message: `Category "${id}" was referenced but not defined.`,
133
+ });
85
134
  return null;
86
- return convertCategory(rootCategory, rawMap, docLookup, usedDocIds, includedIds, new Set());
87
- })
88
- .filter((category) => category !== null);
89
- return { tree, usedDocIds };
135
+ }
136
+ state.set(id, "visiting");
137
+ stack.push(id);
138
+ const children = [];
139
+ for (const childId of preparedCategory.childIds) {
140
+ const childNode = buildNode(childId, stack);
141
+ if (childNode) {
142
+ children.push(childNode);
143
+ }
144
+ }
145
+ const node = {
146
+ id: preparedCategory.raw.id,
147
+ title: preparedCategory.raw.title,
148
+ description: preparedCategory.raw.description,
149
+ content: preparedCategory.raw.content ?? [],
150
+ };
151
+ if (preparedCategory.docs && preparedCategory.docs.length > 0) {
152
+ node.docs = preparedCategory.docs;
153
+ }
154
+ if (children.length > 0) {
155
+ node.children = children;
156
+ }
157
+ built.set(id, node);
158
+ state.set(id, "visited");
159
+ stack.pop();
160
+ return node;
161
+ };
162
+ const tree = [];
163
+ for (const id of rootsToUse) {
164
+ if ((state.get(id) ?? "unvisited") === "visited") {
165
+ continue;
166
+ }
167
+ const node = buildNode(id, []);
168
+ if (node) {
169
+ tree.push(node);
170
+ }
171
+ }
172
+ return { tree, usedDocIds, errors };
90
173
  }
91
174
  //# sourceMappingURL=buildTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTree.js","sourceRoot":"","sources":["../../src/data/buildTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildTree.js","sourceRoot":"","sources":["../../src/data/buildTree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .sst-site-background{min-height:100vh;background-color:var(--sst-site-bg);color:inherit;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}.sst-site-borders{border-left:1px solid var(--sst-site-border);border-right:1px solid var(--sst-site-border)}.sst-header-background{background-color:var(--sst-header-bg);border-bottom:1px solid var(--sst-header-border);box-shadow:var(--sst-shadow-soft)}.sst-header-mobile-bg{background-color:var(--sst-header-mobile-bg);border-bottom:1px solid var(--sst-header-border);box-shadow:var(--sst-shadow-soft)}.sst-sidebar-bg{background-color:var(--sst-sidebar-bg);border-right:1px solid var(--sst-header-border)}.sst-document-header-bg{background-color:var(--sst-doc-header-bg);border-bottom:1px solid var(--sst-header-border)}.sst-content-bg{background-color:var(--sst-content-bg)}.sst-header-nav-toggle,.sst-header-menu-toggle{color:var(--sst-header-toggle);transition:color 150ms ease}.sst-header-nav-toggle:hover,.sst-header-menu-toggle:hover{color:var(--sst-header-toggle-hover)}.sst-category-empty{color:var(--sst-category-empty);text-align:center}.sst-category-card{background-color:var(--sst-category-card-bg);border:1px solid var(--sst-category-card-border);border-radius:var(--sst-radius-xl);text-align:left;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}.sst-category-card:hover{background-color:var(--sst-category-card-bg-hover)}.sst-category-header{color:var(--sst-category-header);font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.sst-category-desc{color:var(--sst-category-desc);font-size:.875rem;line-height:1.25rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sst-nav-row{color:var(--sst-nav-row);line-height:1.25}.sst-nav-row-active{color:var(--sst-nav-row-active-text);background-color:var(--sst-nav-row-active-bg);border-left:2px solid var(--sst-nav-row-active-border);font-weight:600;transition:background-color 150ms ease,color 150ms ease}.sst-nav-row-focused{outline:2px solid var(--sst-nav-row-focus);outline-offset:2px}.sst-nav-row-hover{transition:color 150ms ease}.sst-nav-row-hover:hover{color:var(--sst-nav-hover)}.sst-nav-hints{color:var(--sst-nav-hints);transition:color 150ms ease,text-decoration-color 150ms ease}.sst-nav-hints:hover,.sst-nav-hints:focus{text-decoration:underline;outline:none}.sst-search-bg{background-color:var(--sst-search-bg)}.sst-search-empty,.sst-search-none{color:var(--sst-search-text-muted);font-size:.875rem;text-align:center}.sst-search-header{background-color:var(--sst-search-header-bg);color:var(--sst-search-text-muted)}.sst-search-footer{background-color:var(--sst-search-footer-bg)}.sst-search-borders{border-color:var(--sst-search-border)}.sst-search-item{border-bottom:1px solid var(--sst-search-item-border);transition:background-color 150ms ease}.sst-search-item:hover{background-color:var(--sst-search-item-hover-bg)}.sst-search-item-selected{background-color:var(--sst-search-item-selected-bg);border-top:1px solid var(--sst-search-item-border);border-bottom:1px solid var(--sst-search-item-border)}.sst-search-item-header{color:var(--sst-search-item-header);font-weight:700}.sst-search-item-found{color:var(--sst-search-item-found);font-size:.75rem;margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sst-search-item-tags{background-color:var(--sst-search-item-tag-bg);color:var(--sst-search-item-tag-text);font-size:.6875rem;font-style:italic;padding:.125rem .5rem;border-radius:9999px;margin-top:.125rem;display:inline-block;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sst-input{font-size:.875rem;color:var(--sst-input-text);border:1px solid var(--sst-input-border);border-radius:var(--sst-radius-md);padding:.5rem .75rem;transition:border-color 150ms ease,box-shadow 150ms ease;background-color:#fff}.sst-input:focus{outline:none;border-color:var(--sst-input-focus);box-shadow:0 0 0 2px rgba(59,130,246,.3)}.sst-text-logo{color:var(--sst-text-logo);font-size:1.25rem;font-weight:600}.sst-text-doc-title{color:var(--sst-text-doc-title);font-size:2rem;font-weight:700;line-height:1.2}.sst-text-breadcrumb{color:var(--sst-text-breadcrumb);font-size:.875rem}.sst-text-title-1{color:var(--sst-text-title1);font-size:1.875rem;font-weight:700;margin-top:2rem;margin-bottom:.75rem}.sst-text-title-2{color:var(--sst-text-title2);font-size:1.5rem;font-weight:600;margin-top:2rem;margin-bottom:1rem}.sst-text-title-3{color:var(--sst-text-title3);font-size:1.25rem;font-weight:500;margin-top:1.5rem;margin-bottom:.75rem}.sst-text-anchor{color:var(--sst-text-anchor);transition:color 150ms ease}.sst-text-anchor:hover{color:var(--sst-text-anchor-hover)}.sst-text-general{color:var(--sst-text-general);font-size:1rem;line-height:1.5rem}.sst-text-alternative{color:var(--sst-text-alt);font-size:.875rem;font-style:italic;text-align:center;margin-top:.5rem}.sst-text-list{color:var(--sst-text-list);list-style-position:inside;font-size:1rem;line-height:1.5rem}.sst-text-math{color:var(--sst-text-math);font-size:1.125rem}.sst-hints-text{color:var(--sst-hints-text);font-size:.75rem}.sst-hints-key{color:var(--sst-hints-key);font-size:.75rem;border:1px solid var(--sst-hints-key-border);border-radius:var(--sst-radius-md);padding:.125rem .375rem}.sst-divider-border{border-color:var(--sst-divider-border)}.sst-divider-gradient{background-image:var(--sst-divider-gradient);height:1px;border:none}.sst-divider-text{color:var(--sst-divider-text);font-size:.875rem}.sst-btn,.sst-btn-small,.sst-btn-tab,.sst-btn-tab-active{border-radius:var(--sst-radius-md);transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}.sst-btn,.sst-btn-small{color:var(--sst-btn-text);background-color:var(--sst-btn-bg);border:1px solid var(--sst-btn-border)}.sst-btn{font-weight:700}.sst-btn-small{font-size:.75rem;font-weight:600}.sst-btn:hover,.sst-btn-small:hover{background-color:var(--sst-btn-hover-bg)}.sst-btn-tab{font-size:.75rem;font-weight:600;color:var(--sst-btn-tab-text);background-color:var(--sst-btn-tab-bg);border:1px solid var(--sst-btn-tab-border)}.sst-btn-tab:hover{background-color:var(--sst-btn-tab-hover-bg)}.sst-btn-tab-active{font-size:.75rem;font-weight:600;color:var(--sst-btn-tab-active-text);background-color:var(--sst-btn-tab-active-bg);border:1px solid var(--sst-btn-tab-active-border)}.sst-dropdown{background-color:var(--sst-dropdown-bg);border:1px solid var(--sst-dropdown-border);border-radius:var(--sst-radius-md);box-shadow:var(--sst-shadow-strong)}.sst-dropdown-item{color:inherit;text-align:left;white-space:nowrap;transition:background-color 150ms ease,color 150ms ease}.sst-dropdown-item:hover{background-color:var(--sst-dropdown-item-hover)}.sst-dropdown-item-active{background-color:var(--sst-dropdown-item-active-bg);border-left:2px solid var(--sst-dropdown-border);font-weight:700;color:var(--sst-dropdown-item-active-text)}.sst-msg-info{background-color:var(--sst-msg-info-bg);color:var(--sst-msg-info-text);border:1px solid var(--sst-msg-info-border)}.sst-msg-warning{background-color:var(--sst-msg-warning-bg);color:var(--sst-msg-warning-text);border:1px solid var(--sst-msg-warning-border)}.sst-msg-error{background-color:var(--sst-msg-error-bg);color:var(--sst-msg-error-text);border:1px solid var(--sst-msg-error-border)}.sst-msg-success{background-color:var(--sst-msg-success-bg);color:var(--sst-msg-success-text);border:1px solid var(--sst-msg-success-border)}.sst-msg-neutral{background-color:var(--sst-msg-neutral-bg);color:var(--sst-msg-neutral-text);border:1px solid var(--sst-msg-neutral-border)}.sst-msg-quote{background-color:var(--sst-msg-quote-bg);color:var(--sst-msg-quote-text);border-left:4px solid var(--sst-msg-quote-border);font-style:italic}.sst-table-corner{background-color:var(--sst-table-corner-bg);color:#e5e7eb;font-weight:700;font-size:1.125rem}.sst-table-headers{background-color:var(--sst-table-header-bg);color:#e5e7eb;font-weight:600;font-size:1.125rem}.sst-table-rows{background-color:var(--sst-table-row-bg);color:var(--sst-table-row-text)}.sst-table-border{border:1px solid var(--sst-table-border)}.sst-table-empty{color:var(--sst-table-empty);text-align:center}.sst-code-header{background-color:var(--sst-code-header-bg);color:var(--sst-code-header-text);border-bottom:1px solid var(--sst-code-border)}.sst-code-language{color:var(--sst-code-language);font-size:.75rem;font-weight:600;margin-top:.25rem;text-align:right}.sst-code-lines{color:var(--sst-code-lines-text);font-size:.875rem;border-right:1px solid #d1d5db}.sst-code-empty{background-color:var(--sst-code-empty-bg);color:var(--sst-code-empty-text);text-align:center;font-size:.875rem;border:1px solid var(--sst-code-border)}.sst-audio{background-color:var(--sst-audio-bg);border-radius:var(--sst-radius-md)}.sst-audio-play{background-color:var(--sst-audio-btn-bg);color:var(--sst-audio-btn-text);transition:background-color 150ms ease,color 150ms ease}.sst-audio-play:hover{background-color:var(--sst-audio-btn-hover)}.sst-audio-time{color:var(--sst-audio-time);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:center}.sst-audio-slider{background:rgba(0,0,0,0)}.sst-audio-slider-thumb{appearance:none;height:4px;width:100%;background:linear-gradient(90deg, var(--sst-audio-btn-bg), var(--sst-audio-btn-hover));border-radius:9999px}.sst-audio-slider-thumb::-webkit-slider-thumb{appearance:none;height:14px;width:14px;border-radius:9999px;background-color:var(--sst-audio-slider-thumb);box-shadow:0 0 0 3px rgba(0,0,0,.15)}.sst-audio-slider-thumb::-moz-range-thumb{appearance:none;height:14px;width:14px;border-radius:9999px;background-color:var(--sst-audio-slider-thumb);border:none;box-shadow:0 0 0 3px rgba(0,0,0,.15)}.sst-theme-light{--sst-radius-md: 0.375rem;--sst-radius-lg: 0.5rem;--sst-radius-xl: 0.75rem;--sst-shadow-soft: 0 2px 4px rgba(0, 0, 0, 0.08);--sst-shadow-strong: 0 10px 20px rgba(0, 0, 0, 0.2);--sst-site-bg: #a8a29e;--sst-site-border: #57534e;--sst-header-bg: #fafaf9;--sst-header-border: #a8a29e;--sst-header-mobile-bg: #fafaf9;--sst-sidebar-bg: #fafaf9;--sst-doc-header-bg: #e7e5e4;--sst-content-bg: #f3f4f6;--sst-header-toggle: #78716c;--sst-header-toggle-hover: #44403c;--sst-category-empty: #6b7280;--sst-category-card-bg: #e7e5e4;--sst-category-card-bg-hover: #d6d3d1;--sst-category-card-border: #a8a29e;--sst-category-header: #44403c;--sst-category-desc: #4b5563;--sst-nav-row: #111827;--sst-nav-row-active-text: #44403c;--sst-nav-row-active-bg: #e7e5e4;--sst-nav-row-active-border: #78716c;--sst-nav-row-focus: #78716c;--sst-nav-hover: #78716c;--sst-nav-hints: #57534e;--sst-search-bg: #f5f5f4;--sst-search-text-muted: #9ca3af;--sst-search-header-bg: #f9fafb;--sst-search-footer-bg: #f9fafb;--sst-search-border: #111827;--sst-search-item-border: #d6d3d1;--sst-search-item-hover-bg: rgba(214, 211, 209, 0.7);--sst-search-item-selected-bg: #d6d3d1;--sst-search-item-header: #57534e;--sst-search-item-found: #374151;--sst-search-item-tag-bg: #a8a29e;--sst-search-item-tag-text: #f9fafb;--sst-input-text: #57534e;--sst-input-border: #d1d5db;--sst-input-focus: #3b82f6;--sst-text-logo: #111827;--sst-text-doc-title: #44403c;--sst-text-breadcrumb: #57534e;--sst-text-title1: #44403c;--sst-text-title2: #1f2937;--sst-text-title3: #374151;--sst-text-anchor: #a8a29e;--sst-text-anchor-hover: #3b82f6;--sst-text-general: #374151;--sst-text-alt: #9ca3af;--sst-text-list: #374151;--sst-text-math: #1f2937;--sst-hints-text: #57534e;--sst-hints-key: #57534e;--sst-hints-key-border: #a8a29e;--sst-divider-border: #a8a29e;--sst-divider-text: #a8a29e;--sst-divider-gradient: linear-gradient(to right, transparent, #a8a29e, transparent);--sst-btn-bg: #e7e5e4;--sst-btn-border: #a8a29e;--sst-btn-text: #44403c;--sst-btn-hover-bg: #d6d3d1;--sst-btn-tab-bg: #44403c;--sst-btn-tab-text: #d6d3d1;--sst-btn-tab-border: #d6d3d1;--sst-btn-tab-hover-bg: #57534e;--sst-btn-tab-active-bg: #84cc16;--sst-btn-tab-active-text: #1c1917;--sst-btn-tab-active-border: #bef264;--sst-dropdown-bg: #f9fafb;--sst-dropdown-border: #d6d3d1;--sst-dropdown-item-hover: rgba(214, 211, 209, 0.5);--sst-dropdown-item-active-bg: #e7e5e4;--sst-dropdown-item-active-text: #44403c;--sst-msg-info-bg: #dbeafe;--sst-msg-info-text: #1e3a8a;--sst-msg-info-border: #93c5fd;--sst-msg-warning-bg: #fef9c3;--sst-msg-warning-text: #854d0e;--sst-msg-warning-border: #facc15;--sst-msg-error-bg: #fee2e2;--sst-msg-error-text: #b91c1c;--sst-msg-error-border: #fca5a5;--sst-msg-success-bg: #dcfce7;--sst-msg-success-text: #166534;--sst-msg-success-border: #86efac;--sst-msg-neutral-bg: #f5f5f4;--sst-msg-neutral-text: #374151;--sst-msg-neutral-border: #d1d5db;--sst-msg-quote-bg: #d6d3d1;--sst-msg-quote-border: #a8a29e;--sst-msg-quote-text: #374151;--sst-table-corner-bg: rgba(28, 25, 23, 0.8);--sst-table-header-bg: rgba(68, 64, 60, 0.8);--sst-table-row-bg: #fafaf9;--sst-table-row-text: #374151;--sst-table-border: #a8a29e;--sst-table-empty: #6b7280;--sst-code-header-bg: rgba(68, 64, 60, 0.8);--sst-code-header-text: #e5e7eb;--sst-code-border: #d6d3d1;--sst-code-language: #d6d3d1;--sst-code-lines-text: #6b7280;--sst-code-empty-bg: #f9fafb;--sst-code-empty-text: #6b7280;--sst-audio-bg: #d1d5db;--sst-audio-btn-bg: #44403c;--sst-audio-btn-hover: #57534e;--sst-audio-btn-text: #ffffff;--sst-audio-time: #374151;--sst-audio-slider-thumb: #57534e}.sst-theme-dark{--sst-radius-md: 0.375rem;--sst-radius-lg: 0.5rem;--sst-radius-xl: 0.75rem;--sst-shadow-soft: 0 2px 4px rgba(0, 0, 0, 0.08);--sst-shadow-strong: 0 10px 20px rgba(0, 0, 0, 0.2);--sst-site-bg: #020617;--sst-site-border: #374151;--sst-header-bg: #18181b;--sst-header-border: #374151;--sst-header-mobile-bg: #18181b;--sst-sidebar-bg: #18181b;--sst-doc-header-bg: rgba(49, 46, 129, 0.6);--sst-content-bg: #1c1c1f;--sst-header-toggle: #6b7280;--sst-header-toggle-hover: #374151;--sst-category-empty: #6b7280;--sst-category-card-bg: rgba(49, 46, 129, 0.5);--sst-category-card-bg-hover: rgba(67, 56, 202, 0.7);--sst-category-card-border: #3730a3;--sst-category-header: #f9fafb;--sst-category-desc: #818cf8;--sst-nav-row: #f9fafb;--sst-nav-row-active-text: #f9fafb;--sst-nav-row-active-bg: rgba(49, 46, 129, 0.6);--sst-nav-row-active-border: #ffffff;--sst-nav-row-focus: #4f46e5;--sst-nav-hover: #6366f1;--sst-nav-hints: #6366f1;--sst-search-bg: #18181b;--sst-search-text-muted: #9ca3af;--sst-search-header-bg: #1c1c1f;--sst-search-footer-bg: #1c1c1f;--sst-search-border: #6b7280;--sst-search-item-border: rgba(129, 140, 248, 0.3);--sst-search-item-hover-bg: rgba(49, 46, 129, 0.8);--sst-search-item-selected-bg: rgba(49, 46, 129, 0.6);--sst-search-item-header: #818cf8;--sst-search-item-found: #d1d5db;--sst-search-item-tag-bg: rgba(129, 140, 248, 0.4);--sst-search-item-tag-text: #f3f4f6;--sst-input-text: #9ca3af;--sst-input-border: #d1d5db;--sst-input-focus: #3b82f6;--sst-text-logo: #f9fafb;--sst-text-doc-title: #d1d5db;--sst-text-breadcrumb: #9ca3af;--sst-text-title1: #818cf8;--sst-text-title2: #f3f4f6;--sst-text-title3: #e5e7eb;--sst-text-anchor: #9ca3af;--sst-text-anchor-hover: #3b82f6;--sst-text-general: #d1d5db;--sst-text-alt: #9ca3af;--sst-text-list: #d1d5db;--sst-text-math: #e5e7eb;--sst-hints-text: #9ca3af;--sst-hints-key: #9ca3af;--sst-hints-key-border: #4b5563;--sst-divider-border: #6b7280;--sst-divider-text: #6b7280;--sst-divider-gradient: linear-gradient(to right, transparent, #6b7280, transparent);--sst-btn-bg: rgba(49, 46, 129, 0.5);--sst-btn-border: #3730a3;--sst-btn-text: #f3f4f6;--sst-btn-hover-bg: rgba(67, 56, 202, 0.7);--sst-btn-tab-bg: #1e1b4b;--sst-btn-tab-text: #a5b4fc;--sst-btn-tab-border: #4f46e5;--sst-btn-tab-hover-bg: rgba(67, 56, 202, 0.7);--sst-btn-tab-active-bg: #84cc16;--sst-btn-tab-active-text: #1f2937;--sst-btn-tab-active-border: #bef264;--sst-dropdown-bg: #1f2937;--sst-dropdown-border: #4f46e5;--sst-dropdown-item-hover: rgba(79, 70, 229, 0.5);--sst-dropdown-item-active-bg: rgba(49, 46, 129, 0.6);--sst-dropdown-item-active-text: #ffffff;--sst-msg-info-bg: rgba(30, 64, 175, 0.4);--sst-msg-info-text: #bfdbfe;--sst-msg-info-border: rgba(147, 197, 253, 0.6);--sst-msg-warning-bg: rgba(133, 77, 14, 0.4);--sst-msg-warning-text: #fef08a;--sst-msg-warning-border: rgba(250, 204, 21, 0.6);--sst-msg-error-bg: rgba(185, 28, 28, 0.4);--sst-msg-error-text: #fecdd3;--sst-msg-error-border: rgba(252, 165, 165, 0.6);--sst-msg-success-bg: rgba(22, 101, 52, 0.4);--sst-msg-success-text: #bbf7d0;--sst-msg-success-border: rgba(74, 222, 128, 0.6);--sst-msg-neutral-bg: rgba(165, 180, 252, 0.2);--sst-msg-neutral-text: #e5e7eb;--sst-msg-neutral-border: #6b7280;--sst-msg-quote-bg: rgba(49, 46, 129, 0.5);--sst-msg-quote-border: #ffffff;--sst-msg-quote-text: #ffffff;--sst-table-corner-bg: rgba(49, 46, 129, 0.5);--sst-table-header-bg: rgba(49, 46, 129, 0.8);--sst-table-row-bg: rgba(30, 27, 75, 0.05);--sst-table-row-text: #e5e7eb;--sst-table-border: #4338ca;--sst-table-empty: #6b7280;--sst-code-header-bg: rgba(49, 46, 129, 0.8);--sst-code-header-text: #ffffff;--sst-code-border: #6366f1;--sst-code-language: #a5b4fc;--sst-code-lines-text: #6b7280;--sst-code-empty-bg: #f9fafb;--sst-code-empty-text: #6b7280;--sst-audio-bg: rgba(49, 46, 129, 0.5);--sst-audio-btn-bg: #4338ca;--sst-audio-btn-hover: #4f46e5;--sst-audio-btn-text: #ffffff;--sst-audio-time: #9ca3af;--sst-audio-slider-thumb: #818cf8}/*# sourceMappingURL=themes.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/themes/_components.scss","../../src/styles/themes/_mixins.scss"],"names":[],"mappings":"AAEA,qBACE,iBACA,oCACA,cACA,gFAIF,kBACE,6CACA,8CAGF,uBACE,sCACA,iDACA,kCAGF,sBACE,6CACA,iDACA,kCAGF,gBACE,uCACA,gDAGF,wBACE,0CACA,iDAGF,gBACE,uCAGF,+CAEE,+BACA,4BAGF,2DAEE,qCAGF,oBACE,gCACA,kBAGF,mBACE,6CACA,iDACA,mCACA,gBACA,gFAIF,yBACE,mDAGF,qBACE,iCACA,mBACA,gBACA,qBAGF,mBACE,+BACA,kBACA,oBACA,oBACA,qBACA,4BACA,gBAGF,aACE,yBACA,iBAGF,oBACE,qCACA,8CACA,uDACA,gBACA,wDAGF,qBACE,2CACA,mBAGF,mBACE,4BAGF,yBACE,2BAGF,eACE,2BACA,6DAGF,0CAEE,0BACA,aAGF,eACE,sCAGF,mCAEE,mCACA,kBACA,kBAGF,mBACE,6CACA,mCAGF,mBACE,6CAGF,oBACE,sCAGF,iBACE,sDACA,uCAGF,uBACE,iDAGF,0BACE,oDACA,mDACA,sDAGF,wBACE,oCACA,gBAGF,uBACE,mCACA,iBACA,kBACA,oBACA,qBACA,4BACA,gBAGF,sBACE,+CACA,sCACA,mBACA,kBACA,sBACA,qBACA,mBACA,qBACA,eACA,mBACA,uBACA,gBAGF,WACE,kBACA,4BACA,yCACA,mCACA,qBACA,yDACA,sBAGF,iBACE,aACA,oCACA,yCAGF,eACE,2BACA,kBACA,gBAGF,oBACE,gCACA,eACA,gBACA,gBAGF,qBACE,iCACA,kBAGF,kBACE,6BACA,mBACA,gBACA,gBACA,qBAGF,kBACE,6BACA,iBACA,gBACA,gBACA,mBAGF,kBACE,6BACA,kBACA,gBACA,kBACA,qBAGF,iBACE,6BACA,4BAGF,uBACE,mCAGF,kBACE,8BACA,eACA,mBAGF,sBACE,0BACA,kBACA,kBACA,kBACA,iBAGF,eACE,2BACA,2BACA,eACA,mBAGF,eACE,2BACA,mBAGF,gBACE,4BACA,iBAGF,eACE,2BACA,iBACA,6CACA,mCACA,wBAGF,oBACE,uCAGF,sBACE,6CACA,WACA,YAGF,kBACE,8BACA,kBAGF,yDAIE,mCACA,gFAIF,wBAEE,0BACA,mCACA,uCAGF,SACE,gBAGF,eACE,iBACA,gBAGF,oCAEE,yCAGF,aACE,iBACA,gBACA,8BACA,uCACA,2CAGF,mBACE,6CAGF,oBACE,iBACA,gBACA,qCACA,8CACA,kDAGF,cACE,wCACA,4CACA,mCACA,oCAGF,mBACE,cACA,gBACA,mBACA,wDAGF,yBACE,gDAGF,0BACE,oDACA,iDACA,gBACA,2CAGF,cACE,wCACA,+BACA,4CAGF,iBACE,2CACA,kCACA,+CAGF,eACE,yCACA,gCACA,6CAGF,iBACE,2CACA,kCACA,+CAGF,iBACE,2CACA,kCACA,+CAGF,eACE,yCACA,gCACA,kDACA,kBAGF,kBACE,4CACA,cACA,gBACA,mBAGF,mBACE,4CACA,cACA,gBACA,mBAGF,gBACE,yCACA,gCAGF,kBACE,yCAGF,iBACE,6BACA,kBAGF,iBACE,2CACA,kCACA,+CAGF,mBACE,+BACA,iBACA,gBACA,kBACA,iBAGF,gBACE,iCACA,kBACA,+BAGF,gBACE,0CACA,iCACA,kBACA,kBACA,wCAGF,WACE,qCACA,mCAGF,gBACE,yCACA,gCACA,wDAGF,sBACE,4CAGF,gBACE,4BACA,iBACA,kCACA,kBAGF,kBACE,yBAGF,wBACE,gBACA,WACA,WACA,uFAKA,qBAGF,8CACE,gBACA,YACA,WACA,qBACA,+CACA,qCAGF,0CACE,gBACA,YACA,WACA,qBACA,+CACA,YACA,qCCphBA,iBAEI,gLAIA,u0GANJ,gBAEI,gLAIA","file":"themes.css"}