@shadow-shard-tools/docs-core 1.0.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 (231) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/dist/configs/code-languages-config.d.ts +128 -0
  4. package/dist/configs/code-languages-config.d.ts.map +1 -0
  5. package/dist/configs/code-languages-config.js +34 -0
  6. package/dist/configs/code-languages-config.js.map +1 -0
  7. package/dist/configs/index.d.ts +3 -0
  8. package/dist/configs/index.d.ts.map +1 -0
  9. package/dist/configs/index.js +3 -0
  10. package/dist/configs/index.js.map +1 -0
  11. package/dist/configs/styles-config.d.ts +3 -0
  12. package/dist/configs/styles-config.d.ts.map +1 -0
  13. package/dist/configs/styles-config.js +9 -0
  14. package/dist/configs/styles-config.js.map +1 -0
  15. package/dist/data/buildTree.d.ts +8 -0
  16. package/dist/data/buildTree.d.ts.map +1 -0
  17. package/dist/data/buildTree.js +75 -0
  18. package/dist/data/buildTree.js.map +1 -0
  19. package/dist/data/index.d.ts +6 -0
  20. package/dist/data/index.d.ts.map +1 -0
  21. package/dist/data/index.js +6 -0
  22. package/dist/data/index.js.map +1 -0
  23. package/dist/data/loadAllCategories.d.ts +4 -0
  24. package/dist/data/loadAllCategories.d.ts.map +1 -0
  25. package/dist/data/loadAllCategories.js +18 -0
  26. package/dist/data/loadAllCategories.js.map +1 -0
  27. package/dist/data/loadAllItems.d.ts +4 -0
  28. package/dist/data/loadAllItems.d.ts.map +1 -0
  29. package/dist/data/loadAllItems.js +12 -0
  30. package/dist/data/loadAllItems.js.map +1 -0
  31. package/dist/data/loadVersionData.d.ts +9 -0
  32. package/dist/data/loadVersionData.d.ts.map +1 -0
  33. package/dist/data/loadVersionData.js +14 -0
  34. package/dist/data/loadVersionData.js.map +1 -0
  35. package/dist/data/loadVersions.d.ts +4 -0
  36. package/dist/data/loadVersions.d.ts.map +1 -0
  37. package/dist/data/loadVersions.js +4 -0
  38. package/dist/data/loadVersions.js.map +1 -0
  39. package/dist/index.d.ts +6 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +6 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/themes/darkTheme.d.ts +3 -0
  44. package/dist/themes/darkTheme.d.ts.map +1 -0
  45. package/dist/themes/darkTheme.js +119 -0
  46. package/dist/themes/darkTheme.js.map +1 -0
  47. package/dist/themes/index.d.ts +3 -0
  48. package/dist/themes/index.d.ts.map +1 -0
  49. package/dist/themes/index.js +3 -0
  50. package/dist/themes/index.js.map +1 -0
  51. package/dist/themes/lightTheme.d.ts +3 -0
  52. package/dist/themes/lightTheme.d.ts.map +1 -0
  53. package/dist/themes/lightTheme.js +119 -0
  54. package/dist/themes/lightTheme.js.map +1 -0
  55. package/dist/types/AudioData.d.ts +6 -0
  56. package/dist/types/AudioData.d.ts.map +1 -0
  57. package/dist/types/AudioData.js +2 -0
  58. package/dist/types/AudioData.js.map +1 -0
  59. package/dist/types/BaseImage.d.ts +5 -0
  60. package/dist/types/BaseImage.d.ts.map +1 -0
  61. package/dist/types/BaseImage.js +2 -0
  62. package/dist/types/BaseImage.js.map +1 -0
  63. package/dist/types/Category.d.ts +11 -0
  64. package/dist/types/Category.d.ts.map +1 -0
  65. package/dist/types/Category.js +2 -0
  66. package/dist/types/Category.js.map +1 -0
  67. package/dist/types/CategoryTitleData.d.ts +7 -0
  68. package/dist/types/CategoryTitleData.d.ts.map +1 -0
  69. package/dist/types/CategoryTitleData.js +2 -0
  70. package/dist/types/CategoryTitleData.js.map +1 -0
  71. package/dist/types/ChartData.d.ts +14 -0
  72. package/dist/types/ChartData.d.ts.map +1 -0
  73. package/dist/types/ChartData.js +2 -0
  74. package/dist/types/ChartData.js.map +1 -0
  75. package/dist/types/CodeData.d.ts +19 -0
  76. package/dist/types/CodeData.d.ts.map +1 -0
  77. package/dist/types/CodeData.js +2 -0
  78. package/dist/types/CodeData.js.map +1 -0
  79. package/dist/types/Content.d.ts +32 -0
  80. package/dist/types/Content.d.ts.map +1 -0
  81. package/dist/types/Content.js +2 -0
  82. package/dist/types/Content.js.map +1 -0
  83. package/dist/types/DataProvider.d.ts +5 -0
  84. package/dist/types/DataProvider.d.ts.map +1 -0
  85. package/dist/types/DataProvider.js +2 -0
  86. package/dist/types/DataProvider.js.map +1 -0
  87. package/dist/types/DividerData.d.ts +6 -0
  88. package/dist/types/DividerData.d.ts.map +1 -0
  89. package/dist/types/DividerData.js +2 -0
  90. package/dist/types/DividerData.js.map +1 -0
  91. package/dist/types/DocItem.d.ts +9 -0
  92. package/dist/types/DocItem.d.ts.map +1 -0
  93. package/dist/types/DocItem.js +2 -0
  94. package/dist/types/DocItem.js.map +1 -0
  95. package/dist/types/ImageCarouselData.d.ts +15 -0
  96. package/dist/types/ImageCarouselData.d.ts.map +1 -0
  97. package/dist/types/ImageCarouselData.js +2 -0
  98. package/dist/types/ImageCarouselData.js.map +1 -0
  99. package/dist/types/ImageCompareData.d.ts +11 -0
  100. package/dist/types/ImageCompareData.d.ts.map +1 -0
  101. package/dist/types/ImageCompareData.js +2 -0
  102. package/dist/types/ImageCompareData.js.map +1 -0
  103. package/dist/types/ImageData.d.ts +7 -0
  104. package/dist/types/ImageData.d.ts.map +1 -0
  105. package/dist/types/ImageData.js +2 -0
  106. package/dist/types/ImageData.js.map +1 -0
  107. package/dist/types/ImageGridData.d.ts +7 -0
  108. package/dist/types/ImageGridData.d.ts.map +1 -0
  109. package/dist/types/ImageGridData.js +2 -0
  110. package/dist/types/ImageGridData.js.map +1 -0
  111. package/dist/types/IndexJson.d.ts +5 -0
  112. package/dist/types/IndexJson.d.ts.map +1 -0
  113. package/dist/types/IndexJson.js +2 -0
  114. package/dist/types/IndexJson.js.map +1 -0
  115. package/dist/types/ListData.d.ts +9 -0
  116. package/dist/types/ListData.d.ts.map +1 -0
  117. package/dist/types/ListData.js +2 -0
  118. package/dist/types/ListData.js.map +1 -0
  119. package/dist/types/MathData.d.ts +5 -0
  120. package/dist/types/MathData.d.ts.map +1 -0
  121. package/dist/types/MathData.js +2 -0
  122. package/dist/types/MathData.js.map +1 -0
  123. package/dist/types/MessageBoxData.d.ts +9 -0
  124. package/dist/types/MessageBoxData.d.ts.map +1 -0
  125. package/dist/types/MessageBoxData.js +2 -0
  126. package/dist/types/MessageBoxData.js.map +1 -0
  127. package/dist/types/RawCategory.d.ts +10 -0
  128. package/dist/types/RawCategory.d.ts.map +1 -0
  129. package/dist/types/RawCategory.js +2 -0
  130. package/dist/types/RawCategory.js.map +1 -0
  131. package/dist/types/StyleTheme.d.ts +20 -0
  132. package/dist/types/StyleTheme.d.ts.map +1 -0
  133. package/dist/types/StyleTheme.js +2 -0
  134. package/dist/types/StyleTheme.js.map +1 -0
  135. package/dist/types/StylesConfig.d.ts +8 -0
  136. package/dist/types/StylesConfig.d.ts.map +1 -0
  137. package/dist/types/StylesConfig.js +2 -0
  138. package/dist/types/StylesConfig.js.map +1 -0
  139. package/dist/types/TableData.d.ts +10 -0
  140. package/dist/types/TableData.d.ts.map +1 -0
  141. package/dist/types/TableData.js +2 -0
  142. package/dist/types/TableData.js.map +1 -0
  143. package/dist/types/TextData.d.ts +6 -0
  144. package/dist/types/TextData.d.ts.map +1 -0
  145. package/dist/types/TextData.js +2 -0
  146. package/dist/types/TextData.js.map +1 -0
  147. package/dist/types/TitleData.d.ts +9 -0
  148. package/dist/types/TitleData.d.ts.map +1 -0
  149. package/dist/types/TitleData.js +2 -0
  150. package/dist/types/TitleData.js.map +1 -0
  151. package/dist/types/Version.d.ts +5 -0
  152. package/dist/types/Version.d.ts.map +1 -0
  153. package/dist/types/Version.js +2 -0
  154. package/dist/types/Version.js.map +1 -0
  155. package/dist/types/YoutubeData.d.ts +7 -0
  156. package/dist/types/YoutubeData.d.ts.map +1 -0
  157. package/dist/types/YoutubeData.js +2 -0
  158. package/dist/types/YoutubeData.js.map +1 -0
  159. package/dist/types/index.d.ts +25 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/index.js +2 -0
  162. package/dist/types/index.js.map +1 -0
  163. package/dist/utilities/dom/getResponsiveWidth.d.ts +3 -0
  164. package/dist/utilities/dom/getResponsiveWidth.d.ts.map +1 -0
  165. package/dist/utilities/dom/getResponsiveWidth.js +8 -0
  166. package/dist/utilities/dom/getResponsiveWidth.js.map +1 -0
  167. package/dist/utilities/dom/processListItems.d.ts +3 -0
  168. package/dist/utilities/dom/processListItems.d.ts.map +1 -0
  169. package/dist/utilities/dom/processListItems.js +7 -0
  170. package/dist/utilities/dom/processListItems.js.map +1 -0
  171. package/dist/utilities/file/copyToClipboard.d.ts +3 -0
  172. package/dist/utilities/file/copyToClipboard.d.ts.map +1 -0
  173. package/dist/utilities/file/copyToClipboard.js +22 -0
  174. package/dist/utilities/file/copyToClipboard.js.map +1 -0
  175. package/dist/utilities/file/downloadTextFile.d.ts +3 -0
  176. package/dist/utilities/file/downloadTextFile.d.ts.map +1 -0
  177. package/dist/utilities/file/downloadTextFile.js +20 -0
  178. package/dist/utilities/file/downloadTextFile.js.map +1 -0
  179. package/dist/utilities/file/getFileExtension.d.ts +3 -0
  180. package/dist/utilities/file/getFileExtension.d.ts.map +1 -0
  181. package/dist/utilities/file/getFileExtension.js +6 -0
  182. package/dist/utilities/file/getFileExtension.js.map +1 -0
  183. package/dist/utilities/index.d.ts +17 -0
  184. package/dist/utilities/index.d.ts.map +1 -0
  185. package/dist/utilities/index.js +22 -0
  186. package/dist/utilities/index.js.map +1 -0
  187. package/dist/utilities/string/extractYouTubeId.d.ts +3 -0
  188. package/dist/utilities/string/extractYouTubeId.d.ts.map +1 -0
  189. package/dist/utilities/string/extractYouTubeId.js +15 -0
  190. package/dist/utilities/string/extractYouTubeId.js.map +1 -0
  191. package/dist/utilities/string/sanitizeFilename.d.ts +3 -0
  192. package/dist/utilities/string/sanitizeFilename.d.ts.map +1 -0
  193. package/dist/utilities/string/sanitizeFilename.js +10 -0
  194. package/dist/utilities/string/sanitizeFilename.js.map +1 -0
  195. package/dist/utilities/string/slugify.d.ts +3 -0
  196. package/dist/utilities/string/slugify.d.ts.map +1 -0
  197. package/dist/utilities/string/slugify.js +9 -0
  198. package/dist/utilities/string/slugify.js.map +1 -0
  199. package/dist/utilities/string/withBasePath.d.ts +2 -0
  200. package/dist/utilities/string/withBasePath.d.ts.map +1 -0
  201. package/dist/utilities/string/withBasePath.js +11 -0
  202. package/dist/utilities/string/withBasePath.js.map +1 -0
  203. package/dist/utilities/system/createTimeout.d.ts +5 -0
  204. package/dist/utilities/system/createTimeout.d.ts.map +1 -0
  205. package/dist/utilities/system/createTimeout.js +8 -0
  206. package/dist/utilities/system/createTimeout.js.map +1 -0
  207. package/dist/utilities/system/formatTime.d.ts +3 -0
  208. package/dist/utilities/system/formatTime.d.ts.map +1 -0
  209. package/dist/utilities/system/formatTime.js +9 -0
  210. package/dist/utilities/system/formatTime.js.map +1 -0
  211. package/dist/utilities/validation/isMobileDevice.d.ts +3 -0
  212. package/dist/utilities/validation/isMobileDevice.d.ts.map +1 -0
  213. package/dist/utilities/validation/isMobileDevice.js +5 -0
  214. package/dist/utilities/validation/isMobileDevice.js.map +1 -0
  215. package/dist/utilities/validation/isValidColor.d.ts +3 -0
  216. package/dist/utilities/validation/isValidColor.d.ts.map +1 -0
  217. package/dist/utilities/validation/isValidColor.js +7 -0
  218. package/dist/utilities/validation/isValidColor.js.map +1 -0
  219. package/dist/utilities/validation/isValidImageUrl.d.ts +3 -0
  220. package/dist/utilities/validation/isValidImageUrl.d.ts.map +1 -0
  221. package/dist/utilities/validation/isValidImageUrl.js +14 -0
  222. package/dist/utilities/validation/isValidImageUrl.js.map +1 -0
  223. package/dist/utilities/validation/isValidYouTubeId.d.ts +3 -0
  224. package/dist/utilities/validation/isValidYouTubeId.d.ts.map +1 -0
  225. package/dist/utilities/validation/isValidYouTubeId.js +6 -0
  226. package/dist/utilities/validation/isValidYouTubeId.js.map +1 -0
  227. package/dist/utilities/validation/validateScale.d.ts +3 -0
  228. package/dist/utilities/validation/validateScale.d.ts.map +1 -0
  229. package/dist/utilities/validation/validateScale.js +5 -0
  230. package/dist/utilities/validation/validateScale.js.map +1 -0
  231. package/package.json +109 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ShadowShardTools
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # SST Docs Core
2
+ Core runtime for the Shadow Shard Tools documentation stack. It gathers the shared themes, configuration objects, navigation helpers, typed content models, and browser-friendly utilities relied on by the site and generator projects.
3
+
4
+ ## Contents
5
+ - `configs`: Tailwind-friendly theme wiring plus code-language metadata (`CODE_LANGUAGE_CONFIG`, `stylesConfig`).
6
+ - `data`: File-system drivers for loading doc versions, category trees, and item payloads (`loadVersions`, `loadVersionData`, `buildTree`, etc.).
7
+ - `themes`: Prebuilt light/dark `StyleTheme` definitions used by the Tailwind bridge.
8
+ - `types`: Source-of-truth TypeScript contracts for doc content, theme structures, and provider interfaces.
9
+ - `utilities`: DOM, validation, string, and file helpers that the site and exporters share (e.g. `slugify`, `withBasePath`, `isValidImageUrl`).
10
+
11
+ ## Usage
12
+ ```ts
13
+ import {
14
+ darkTheme,
15
+ lightTheme,
16
+ stylesConfig,
17
+ loadVersions,
18
+ loadVersionData,
19
+ slugify,
20
+ type Content,
21
+ type Version,
22
+ } from "@shadow-shard-tools/docs-core";
23
+
24
+ // Or import a focused module:
25
+ import { CODE_LANGUAGE_CONFIG } from "@shadow-shard-tools/docs-core/configs/index.js";
26
+ ```
27
+ Everything ships as native ESM with TypeScript declarations in `dist/`. Install with `npm install @shadow-shard-tools/docs-core` (or link locally) and cherry-pick the helpers and contracts you need.
28
+
29
+ ## Development
30
+ ```bash
31
+ npm install
32
+ npm run build
33
+ ```
34
+ `tsc` compiles everything under `src/` into `dist/` with source and declaration maps. Build before publishing or updating dependents so the published artifacts stay in sync.
@@ -0,0 +1,128 @@
1
+ export declare const CODE_LANGUAGE_CONFIG: {
2
+ readonly javascript: {
3
+ readonly name: "JavaScript";
4
+ readonly ext: "js";
5
+ };
6
+ readonly typescript: {
7
+ readonly name: "TypeScript";
8
+ readonly ext: "ts";
9
+ };
10
+ readonly python: {
11
+ readonly name: "Python";
12
+ readonly ext: "py";
13
+ };
14
+ readonly java: {
15
+ readonly name: "Java";
16
+ readonly ext: "java";
17
+ };
18
+ readonly csharp: {
19
+ readonly name: "C#";
20
+ readonly ext: "cs";
21
+ };
22
+ readonly cpp: {
23
+ readonly name: "C++";
24
+ readonly ext: "cpp";
25
+ };
26
+ readonly c: {
27
+ readonly name: "C";
28
+ readonly ext: "c";
29
+ };
30
+ readonly php: {
31
+ readonly name: "PHP";
32
+ readonly ext: "php";
33
+ };
34
+ readonly ruby: {
35
+ readonly name: "Ruby";
36
+ readonly ext: "rb";
37
+ };
38
+ readonly go: {
39
+ readonly name: "Go";
40
+ readonly ext: "go";
41
+ };
42
+ readonly rust: {
43
+ readonly name: "Rust";
44
+ readonly ext: "rs";
45
+ };
46
+ readonly swift: {
47
+ readonly name: "Swift";
48
+ readonly ext: "swift";
49
+ };
50
+ readonly kotlin: {
51
+ readonly name: "Kotlin";
52
+ readonly ext: "kt";
53
+ };
54
+ readonly scala: {
55
+ readonly name: "Scala";
56
+ readonly ext: "scala";
57
+ };
58
+ readonly html: {
59
+ readonly name: "HTML";
60
+ readonly ext: "html";
61
+ };
62
+ readonly css: {
63
+ readonly name: "CSS";
64
+ readonly ext: "css";
65
+ };
66
+ readonly scss: {
67
+ readonly name: "SCSS";
68
+ readonly ext: "scss";
69
+ };
70
+ readonly sass: {
71
+ readonly name: "Sass";
72
+ readonly ext: "sass";
73
+ };
74
+ readonly less: {
75
+ readonly name: "Less";
76
+ readonly ext: "less";
77
+ };
78
+ readonly json: {
79
+ readonly name: "JSON";
80
+ readonly ext: "json";
81
+ };
82
+ readonly xml: {
83
+ readonly name: "XML";
84
+ readonly ext: "xml";
85
+ };
86
+ readonly yaml: {
87
+ readonly name: "YAML";
88
+ readonly ext: "yml";
89
+ };
90
+ readonly toml: {
91
+ readonly name: "TOML";
92
+ readonly ext: "toml";
93
+ };
94
+ readonly sql: {
95
+ readonly name: "SQL";
96
+ readonly ext: "sql";
97
+ };
98
+ readonly bash: {
99
+ readonly name: "Bash";
100
+ readonly ext: "sh";
101
+ };
102
+ readonly powershell: {
103
+ readonly name: "PowerShell";
104
+ readonly ext: "ps1";
105
+ };
106
+ readonly dockerfile: {
107
+ readonly name: "Dockerfile";
108
+ readonly ext: "dockerfile";
109
+ };
110
+ readonly markdown: {
111
+ readonly name: "Markdown";
112
+ readonly ext: "md";
113
+ };
114
+ readonly latex: {
115
+ readonly name: "LaTeX";
116
+ readonly ext: "tex";
117
+ };
118
+ readonly plaintext: {
119
+ readonly name: "Plain Text";
120
+ readonly ext: "txt";
121
+ };
122
+ readonly text: {
123
+ readonly name: "Text";
124
+ readonly ext: "txt";
125
+ };
126
+ };
127
+ export type SupportedLanguage = keyof typeof CODE_LANGUAGE_CONFIG;
128
+ //# sourceMappingURL=code-languages-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-languages-config.d.ts","sourceRoot":"","sources":["../../src/configs/code-languages-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,oBAAoB,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const CODE_LANGUAGE_CONFIG = {
2
+ javascript: { name: "JavaScript", ext: "js" },
3
+ typescript: { name: "TypeScript", ext: "ts" },
4
+ python: { name: "Python", ext: "py" },
5
+ java: { name: "Java", ext: "java" },
6
+ csharp: { name: "C#", ext: "cs" },
7
+ cpp: { name: "C++", ext: "cpp" },
8
+ c: { name: "C", ext: "c" },
9
+ php: { name: "PHP", ext: "php" },
10
+ ruby: { name: "Ruby", ext: "rb" },
11
+ go: { name: "Go", ext: "go" },
12
+ rust: { name: "Rust", ext: "rs" },
13
+ swift: { name: "Swift", ext: "swift" },
14
+ kotlin: { name: "Kotlin", ext: "kt" },
15
+ scala: { name: "Scala", ext: "scala" },
16
+ html: { name: "HTML", ext: "html" },
17
+ css: { name: "CSS", ext: "css" },
18
+ scss: { name: "SCSS", ext: "scss" },
19
+ sass: { name: "Sass", ext: "sass" },
20
+ less: { name: "Less", ext: "less" },
21
+ json: { name: "JSON", ext: "json" },
22
+ xml: { name: "XML", ext: "xml" },
23
+ yaml: { name: "YAML", ext: "yml" },
24
+ toml: { name: "TOML", ext: "toml" },
25
+ sql: { name: "SQL", ext: "sql" },
26
+ bash: { name: "Bash", ext: "sh" },
27
+ powershell: { name: "PowerShell", ext: "ps1" },
28
+ dockerfile: { name: "Dockerfile", ext: "dockerfile" },
29
+ markdown: { name: "Markdown", ext: "md" },
30
+ latex: { name: "LaTeX", ext: "tex" },
31
+ plaintext: { name: "Plain Text", ext: "txt" },
32
+ text: { name: "Text", ext: "txt" },
33
+ };
34
+ //# sourceMappingURL=code-languages-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-languages-config.js","sourceRoot":"","sources":["../../src/configs/code-languages-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE;IAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE;IAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;IACrC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;IACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;IACrC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;IACtC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;IAClC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IACnC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAChC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE;IACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;IACpC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE;IAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;CAC1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CODE_LANGUAGE_CONFIG, type SupportedLanguage, } from "./code-languages-config.js";
2
+ export { stylesConfig } from "./styles-config.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CODE_LANGUAGE_CONFIG, } from "./code-languages-config.js";
2
+ export { stylesConfig } from "./styles-config.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { StylesConfig } from "../index.js";
2
+ export declare const stylesConfig: StylesConfig;
3
+ //# sourceMappingURL=styles-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-config.d.ts","sourceRoot":"","sources":["../../src/configs/styles-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { darkTheme } from "../themes/darkTheme.js";
2
+ import { lightTheme } from "../themes/lightTheme.js";
3
+ export const stylesConfig = {
4
+ themes: {
5
+ light: lightTheme,
6
+ dark: darkTheme,
7
+ },
8
+ };
9
+ //# sourceMappingURL=styles-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-config.js","sourceRoot":"","sources":["../../src/configs/styles-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,MAAM,EAAE;QACN,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,SAAS;KAChB;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Category } from "../types/Category.js";
2
+ import type { DocItem } from "../types/DocItem.js";
3
+ import type { RawCategory } from "../types/RawCategory.js";
4
+ export declare function buildTree(rawMap: Record<string, RawCategory>, allDocs: DocItem[]): {
5
+ tree: Category[];
6
+ usedDocIds: Set<string>;
7
+ };
8
+ //# sourceMappingURL=buildTree.d.ts.map
@@ -0,0 +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;AAE3D,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,CA8F/C"}
@@ -0,0 +1,75 @@
1
+ export function buildTree(rawMap, allDocs) {
2
+ const docLookup = new Map(allDocs.map((d) => [d.id, d]));
3
+ const used = new Set();
4
+ const convert = (raw) => {
5
+ let docs;
6
+ const docIds = Array.isArray(raw.docs) ? raw.docs : [];
7
+ if (docIds.length > 0) {
8
+ const validDocs = docIds
9
+ .map((rawId) => {
10
+ if (typeof rawId !== "string" || rawId.length === 0) {
11
+ console.warn(`Invalid doc id in category ${raw.id}:`, rawId);
12
+ return null;
13
+ }
14
+ const doc = docLookup.get(rawId);
15
+ if (!doc) {
16
+ console.warn(`Doc id ${rawId} referenced in category ${raw.id} not found.`);
17
+ return null;
18
+ }
19
+ used.add(rawId);
20
+ return doc;
21
+ })
22
+ .filter((doc) => doc !== null);
23
+ if (validDocs.length > 0) {
24
+ docs = validDocs;
25
+ }
26
+ }
27
+ let children;
28
+ const childIds = Array.isArray(raw.children) ? raw.children : [];
29
+ if (childIds.length > 0) {
30
+ const validChildren = childIds
31
+ .map((rawChildId) => {
32
+ if (typeof rawChildId !== "string" || rawChildId.length === 0) {
33
+ console.warn(`Invalid child category id in ${raw.id}:`, rawChildId);
34
+ return null;
35
+ }
36
+ const childRaw = rawMap[rawChildId];
37
+ if (!childRaw) {
38
+ console.warn(`Child category ${rawChildId} referenced in ${raw.id} not found.`);
39
+ return null;
40
+ }
41
+ return convert(childRaw);
42
+ })
43
+ .filter((child) => child !== null);
44
+ if (validChildren.length > 0) {
45
+ children = validChildren;
46
+ }
47
+ }
48
+ return {
49
+ id: raw.id,
50
+ title: raw.title,
51
+ description: raw.description,
52
+ content: raw.content ?? [],
53
+ docs,
54
+ children,
55
+ };
56
+ };
57
+ const childCategoryIds = new Set();
58
+ Object.values(rawMap).forEach((category) => {
59
+ if (Array.isArray(category?.children)) {
60
+ category.children.forEach((childId) => {
61
+ if (typeof childId === "string" && childId.length > 0) {
62
+ childCategoryIds.add(childId);
63
+ }
64
+ });
65
+ }
66
+ });
67
+ const tree = Object.values(rawMap)
68
+ .filter((category) => category &&
69
+ typeof category.id === "string" &&
70
+ category.id.length > 0 &&
71
+ !childCategoryIds.has(category.id))
72
+ .map(convert);
73
+ return { tree, usedDocIds: used };
74
+ }
75
+ //# sourceMappingURL=buildTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTree.js","sourceRoot":"","sources":["../../src/data/buildTree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { buildTree } from "./buildTree.js";
2
+ export { loadAllCategories } from "./loadAllCategories.js";
3
+ export { loadAllItems } from "./loadAllItems.js";
4
+ export { loadVersionData } from "./loadVersionData.js";
5
+ export { loadVersions } from "./loadVersions.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { buildTree } from "./buildTree.js";
2
+ export { loadAllCategories } from "./loadAllCategories.js";
3
+ export { loadAllItems } from "./loadAllItems.js";
4
+ export { loadVersionData } from "./loadVersionData.js";
5
+ export { loadVersions } from "./loadVersions.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DataProvider } from "../types/DataProvider.js";
2
+ import type { RawCategory } from "../types/RawCategory.js";
3
+ export declare function loadAllCategories(provider: DataProvider, versionRootAbs: string, ids: string[]): Promise<Record<string, RawCategory>>;
4
+ //# sourceMappingURL=loadAllCategories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadAllCategories.d.ts","sourceRoot":"","sources":["../../src/data/loadAllCategories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkBtC"}
@@ -0,0 +1,18 @@
1
+ export async function loadAllCategories(provider, versionRootAbs, ids) {
2
+ const results = await Promise.allSettled(ids.map(async (id) => {
3
+ const p = `${versionRootAbs}/categories/${id}.json`;
4
+ const data = await provider.readJson(p);
5
+ return { id, data };
6
+ }));
7
+ const map = {};
8
+ results.forEach((res, i) => {
9
+ if (res.status === "fulfilled") {
10
+ map[res.value.id] = res.value.data;
11
+ }
12
+ else {
13
+ console.warn(`Failed to load category ${ids[i]}:`, res.reason);
14
+ }
15
+ });
16
+ return map;
17
+ }
18
+ //# sourceMappingURL=loadAllCategories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadAllCategories.js","sourceRoot":"","sources":["../../src/data/loadAllCategories.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAsB,EACtB,cAAsB,EACtB,GAAa;IAEb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACnB,MAAM,CAAC,GAAG,GAAG,cAAc,eAAe,EAAE,OAAO,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAc,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,GAAG,GAAgC,EAAE,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DataProvider } from "../types/DataProvider.js";
2
+ import type { DocItem } from "../types/DocItem.js";
3
+ export declare function loadAllItems(provider: DataProvider, versionRootAbs: string, ids: string[]): Promise<DocItem[]>;
4
+ //# sourceMappingURL=loadAllItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadAllItems.d.ts","sourceRoot":"","sources":["../../src/data/loadAllItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,OAAO,EAAE,CAAC,CAapB"}
@@ -0,0 +1,12 @@
1
+ export async function loadAllItems(provider, versionRootAbs, ids) {
2
+ const results = await Promise.allSettled(ids.map((id) => provider.readJson(`${versionRootAbs}/items/${id}.json`)));
3
+ const list = [];
4
+ results.forEach((res, i) => {
5
+ if (res.status === "fulfilled")
6
+ list.push(res.value);
7
+ else
8
+ console.warn(`Failed to load item ${ids[i]}:`, res.reason);
9
+ });
10
+ return list;
11
+ }
12
+ //# sourceMappingURL=loadAllItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadAllItems.js","sourceRoot":"","sources":["../../src/data/loadAllItems.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAsB,EACtB,cAAsB,EACtB,GAAa;IAEb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACb,QAAQ,CAAC,QAAQ,CAAU,GAAG,cAAc,UAAU,EAAE,OAAO,CAAC,CACjE,CACF,CAAC;IAEF,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;YAChD,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Category } from "../types/Category.js";
2
+ import type { DataProvider } from "../types/DataProvider.js";
3
+ import type { DocItem } from "../types/DocItem.js";
4
+ export declare function loadVersionData(provider: DataProvider, versionRootAbs: string): Promise<{
5
+ items: DocItem[];
6
+ tree: Category[];
7
+ standaloneDocs: DocItem[];
8
+ }>;
9
+ //# sourceMappingURL=loadVersionData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadVersionData.d.ts","sourceRoot":"","sources":["../../src/data/loadVersionData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMnD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,cAAc,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAa5E"}
@@ -0,0 +1,14 @@
1
+ import { buildTree } from "./buildTree.js";
2
+ import { loadAllCategories } from "./loadAllCategories.js";
3
+ import { loadAllItems } from "./loadAllItems.js";
4
+ export async function loadVersionData(provider, versionRootAbs) {
5
+ const index = await provider.readJson(`${versionRootAbs}/index.json`);
6
+ const [rawCats, items] = await Promise.all([
7
+ loadAllCategories(provider, versionRootAbs, index.categories),
8
+ loadAllItems(provider, versionRootAbs, index.items),
9
+ ]);
10
+ const { tree, usedDocIds } = buildTree(rawCats, items);
11
+ const standaloneDocs = items.filter((d) => !usedDocIds.has(d.id));
12
+ return { items, tree, standaloneDocs };
13
+ }
14
+ //# sourceMappingURL=loadVersionData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadVersionData.js","sourceRoot":"","sources":["../../src/data/loadVersionData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAsB,EACtB,cAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACnC,GAAG,cAAc,aAAa,CAC/B,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC;QAC7D,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AACzC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DataProvider } from "../types/DataProvider.js";
2
+ import type { Version } from "../types/Version.js";
3
+ export declare function loadVersions(provider: DataProvider, dataRootAbs: string): Promise<Version[]>;
4
+ //# sourceMappingURL=loadVersions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadVersions.d.ts","sourceRoot":"","sources":["../../src/data/loadVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,EAAE,CAAC,CAEpB"}
@@ -0,0 +1,4 @@
1
+ export async function loadVersions(provider, dataRootAbs) {
2
+ return provider.readJson(`${dataRootAbs}/versions.json`);
3
+ }
4
+ //# sourceMappingURL=loadVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadVersions.js","sourceRoot":"","sources":["../../src/data/loadVersions.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAsB,EACtB,WAAmB;IAEnB,OAAO,QAAQ,CAAC,QAAQ,CAAY,GAAG,WAAW,gBAAgB,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./configs/index.js";
2
+ export * from "./themes/index.js";
3
+ export * from "./types/index.js";
4
+ export * from "./data/index.js";
5
+ export * from "./utilities/index.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from "./configs/index.js";
2
+ export * from "./themes/index.js";
3
+ export * from "./types/index.js";
4
+ export * from "./data/index.js";
5
+ export * from "./utilities/index.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { StyleTheme } from "../types/index.js";
2
+ export declare const darkTheme: StyleTheme;
3
+ //# sourceMappingURL=darkTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"darkTheme.d.ts","sourceRoot":"","sources":["../../src/themes/darkTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,UAiIvB,CAAC"}