omni-viewer-core 0.1.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 (387) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -0
  3. package/THIRD_PARTY_NOTICES.md +49 -0
  4. package/dist/assets/audio-engine/audio_engine.mjs +2 -0
  5. package/dist/assets/audio-engine/audio_engine.wasm +0 -0
  6. package/dist/assets/pdfjs/pdf.worker.min.mjs +21 -0
  7. package/dist/host/index.d.ts +133 -0
  8. package/dist/host/index.js +10 -0
  9. package/dist/i18n/catalog.en.d.ts +1 -0
  10. package/dist/i18n/catalog.en.js +411 -0
  11. package/dist/i18n/catalog.ko.d.ts +1 -0
  12. package/dist/i18n/catalog.ko.js +68 -0
  13. package/dist/i18n/index.d.ts +18 -0
  14. package/dist/i18n/index.js +41 -0
  15. package/dist/licenses/emscripten.txt +101 -0
  16. package/dist/licenses/kissfft.txt +28 -0
  17. package/dist/licenses/pdfjs-dist.txt +177 -0
  18. package/dist/parsers/a2l/index.d.ts +1 -0
  19. package/dist/parsers/a2l/index.js +1 -0
  20. package/dist/parsers/archive/index.d.ts +22 -0
  21. package/dist/parsers/archive/index.js +46 -0
  22. package/dist/parsers/archive/model.d.ts +29 -0
  23. package/dist/parsers/archive/model.js +1 -0
  24. package/dist/parsers/archive/worker.d.ts +21 -0
  25. package/dist/parsers/archive/worker.js +1 -0
  26. package/dist/parsers/arxml/index.d.ts +1 -0
  27. package/dist/parsers/arxml/index.js +1 -0
  28. package/dist/parsers/asc/index.d.ts +1 -0
  29. package/dist/parsers/asc/index.js +1 -0
  30. package/dist/parsers/audio/index.d.ts +9 -0
  31. package/dist/parsers/audio/index.js +46 -0
  32. package/dist/parsers/automotive/index.d.ts +33 -0
  33. package/dist/parsers/automotive/index.js +973 -0
  34. package/dist/parsers/blf/index.d.ts +1 -0
  35. package/dist/parsers/blf/index.js +1 -0
  36. package/dist/parsers/csv/delimiter.d.ts +31 -0
  37. package/dist/parsers/csv/delimiter.js +151 -0
  38. package/dist/parsers/csv/index.d.ts +30 -0
  39. package/dist/parsers/csv/index.js +108 -0
  40. package/dist/parsers/csv/parseText.d.ts +20 -0
  41. package/dist/parsers/csv/parseText.js +108 -0
  42. package/dist/parsers/csv/sort.d.ts +26 -0
  43. package/dist/parsers/csv/sort.js +224 -0
  44. package/dist/parsers/csv/statistics.d.ts +49 -0
  45. package/dist/parsers/csv/statistics.js +150 -0
  46. package/dist/parsers/dbc/index.d.ts +56 -0
  47. package/dist/parsers/dbc/index.js +94 -0
  48. package/dist/parsers/doc-binary/index.d.ts +35 -0
  49. package/dist/parsers/doc-binary/index.js +267 -0
  50. package/dist/parsers/doc-binary/vscode-parser.d.ts +142 -0
  51. package/dist/parsers/doc-binary/vscode-parser.js +3747 -0
  52. package/dist/parsers/excel/index.d.ts +17 -0
  53. package/dist/parsers/excel/index.js +406 -0
  54. package/dist/parsers/excel/model.d.ts +80 -0
  55. package/dist/parsers/excel/model.js +48 -0
  56. package/dist/parsers/excel/serialize.d.ts +3 -0
  57. package/dist/parsers/excel/serialize.js +78 -0
  58. package/dist/parsers/hdf5/index.d.ts +75 -0
  59. package/dist/parsers/hdf5/index.js +658 -0
  60. package/dist/parsers/hdf5/node.d.ts +21 -0
  61. package/dist/parsers/hdf5/node.js +95 -0
  62. package/dist/parsers/json/index.d.ts +15 -0
  63. package/dist/parsers/json/index.js +102 -0
  64. package/dist/parsers/json/model.d.ts +42 -0
  65. package/dist/parsers/json/model.js +140 -0
  66. package/dist/parsers/json/parse.d.ts +22 -0
  67. package/dist/parsers/json/parse.js +279 -0
  68. package/dist/parsers/json/tokenizer.d.ts +17 -0
  69. package/dist/parsers/json/tokenizer.js +175 -0
  70. package/dist/parsers/jsonl/index.d.ts +14 -0
  71. package/dist/parsers/jsonl/index.js +18 -0
  72. package/dist/parsers/jsonl/model.d.ts +23 -0
  73. package/dist/parsers/jsonl/model.js +1 -0
  74. package/dist/parsers/jsonl/parse.d.ts +7 -0
  75. package/dist/parsers/jsonl/parse.js +34 -0
  76. package/dist/parsers/markdown/index.d.ts +37 -0
  77. package/dist/parsers/markdown/index.js +59 -0
  78. package/dist/parsers/mat/index.d.ts +31 -0
  79. package/dist/parsers/mat/index.js +426 -0
  80. package/dist/parsers/mermaid/index.d.ts +5 -0
  81. package/dist/parsers/mermaid/index.js +3 -0
  82. package/dist/parsers/mf4/index.d.ts +1 -0
  83. package/dist/parsers/mf4/index.js +1 -0
  84. package/dist/parsers/parquet/index.d.ts +21 -0
  85. package/dist/parsers/parquet/index.js +68 -0
  86. package/dist/parsers/pcap/index.d.ts +1 -0
  87. package/dist/parsers/pcap/index.js +1 -0
  88. package/dist/parsers/pcapng/index.d.ts +1 -0
  89. package/dist/parsers/pcapng/index.js +1 -0
  90. package/dist/parsers/plantuml/index.d.ts +5 -0
  91. package/dist/parsers/plantuml/index.js +4 -0
  92. package/dist/parsers/ppt-binary/index.d.ts +5 -0
  93. package/dist/parsers/ppt-binary/index.js +62 -0
  94. package/dist/parsers/ppt-binary/pptBinaryBuildContext.d.ts +12 -0
  95. package/dist/parsers/ppt-binary/pptBinaryBuildContext.js +40 -0
  96. package/dist/parsers/ppt-binary/pptBinaryContainer.d.ts +4 -0
  97. package/dist/parsers/ppt-binary/pptBinaryContainer.js +174 -0
  98. package/dist/parsers/ppt-binary/pptBinaryTypes.d.ts +125 -0
  99. package/dist/parsers/ppt-binary/pptBinaryTypes.js +1 -0
  100. package/dist/parsers/ppt-binary/pptSlideLayouts.d.ts +9 -0
  101. package/dist/parsers/ppt-binary/pptSlideLayouts.js +510 -0
  102. package/dist/parsers/ppt-binary/vscode-parser.d.ts +116 -0
  103. package/dist/parsers/ppt-binary/vscode-parser.js +2853 -0
  104. package/dist/parsers/ppt-binary/vscode.d.ts +4 -0
  105. package/dist/parsers/ppt-binary/vscode.js +12 -0
  106. package/dist/parsers/pptx/index.d.ts +15 -0
  107. package/dist/parsers/pptx/index.js +88 -0
  108. package/dist/parsers/pptx/vscode-parser.d.ts +167 -0
  109. package/dist/parsers/pptx/vscode-parser.js +1503 -0
  110. package/dist/parsers/pptx/vscode.d.ts +4 -0
  111. package/dist/parsers/pptx/vscode.js +18 -0
  112. package/dist/parsers/pptx/zip-reader.d.ts +3 -0
  113. package/dist/parsers/pptx/zip-reader.js +20 -0
  114. package/dist/parsers/proto/index.d.ts +90 -0
  115. package/dist/parsers/proto/index.js +197 -0
  116. package/dist/parsers/psd/index.d.ts +16 -0
  117. package/dist/parsers/psd/index.js +10 -0
  118. package/dist/parsers/shapefile/dbf.d.ts +23 -0
  119. package/dist/parsers/shapefile/dbf.js +112 -0
  120. package/dist/parsers/shapefile/index.d.ts +44 -0
  121. package/dist/parsers/shapefile/index.js +119 -0
  122. package/dist/parsers/shapefile/reproject.d.ts +10 -0
  123. package/dist/parsers/shapefile/reproject.js +41 -0
  124. package/dist/parsers/slide-model.d.ts +106 -0
  125. package/dist/parsers/slide-model.js +1 -0
  126. package/dist/parsers/toml/index.d.ts +15 -0
  127. package/dist/parsers/toml/index.js +18 -0
  128. package/dist/parsers/toml/model.d.ts +15 -0
  129. package/dist/parsers/toml/model.js +1 -0
  130. package/dist/parsers/toml/parse.d.ts +16 -0
  131. package/dist/parsers/toml/parse.js +266 -0
  132. package/dist/parsers/types.d.ts +103 -0
  133. package/dist/parsers/types.js +106 -0
  134. package/dist/parsers/video/index.d.ts +6 -0
  135. package/dist/parsers/video/index.js +2 -0
  136. package/dist/parsers/yaml/index.d.ts +16 -0
  137. package/dist/parsers/yaml/index.js +58 -0
  138. package/dist/parsers/yaml/model.d.ts +22 -0
  139. package/dist/parsers/yaml/model.js +1 -0
  140. package/dist/parsers/yaml/self-loading.d.ts +3 -0
  141. package/dist/parsers/yaml/self-loading.js +19 -0
  142. package/dist/parsers/zip-scan.d.ts +8 -0
  143. package/dist/parsers/zip-scan.js +80 -0
  144. package/dist/registry/container.d.ts +17 -0
  145. package/dist/registry/container.js +49 -0
  146. package/dist/registry/index.d.ts +133 -0
  147. package/dist/registry/index.js +348 -0
  148. package/dist/registry/probe.d.ts +3 -0
  149. package/dist/registry/probe.js +177 -0
  150. package/dist/registry/sniff.d.ts +17 -0
  151. package/dist/registry/sniff.js +57 -0
  152. package/dist/styles/archive.css +10 -0
  153. package/dist/styles/audio.css +66 -0
  154. package/dist/styles/automotive.css +1 -0
  155. package/dist/styles/csv.css +262 -0
  156. package/dist/styles/excel.css +212 -0
  157. package/dist/styles/fallback.css +48 -0
  158. package/dist/styles/hdf5.css +3 -0
  159. package/dist/styles/hwp.css +12 -0
  160. package/dist/styles/image.css +115 -0
  161. package/dist/styles/json.css +342 -0
  162. package/dist/styles/jsonl.css +1 -0
  163. package/dist/styles/markdown.css +10 -0
  164. package/dist/styles/mat.css +2 -0
  165. package/dist/styles/mermaid.css +1 -0
  166. package/dist/styles/parquet.css +2 -0
  167. package/dist/styles/pdf.css +551 -0
  168. package/dist/styles/plantuml.css +1 -0
  169. package/dist/styles/ppt.css +1 -0
  170. package/dist/styles/proto.css +2 -0
  171. package/dist/styles/psd.css +1 -0
  172. package/dist/styles/shapefile.css +25 -0
  173. package/dist/styles/toml.css +1 -0
  174. package/dist/styles/video.css +74 -0
  175. package/dist/styles/word.css +685 -0
  176. package/dist/styles/yaml.css +1 -0
  177. package/dist/viewers/a2l/index.d.ts +15 -0
  178. package/dist/viewers/a2l/index.js +5 -0
  179. package/dist/viewers/archive/archive-preview-decoder.d.ts +4 -0
  180. package/dist/viewers/archive/archive-preview-decoder.js +223 -0
  181. package/dist/viewers/archive/controller.d.ts +24 -0
  182. package/dist/viewers/archive/controller.js +18 -0
  183. package/dist/viewers/archive/index.d.ts +25 -0
  184. package/dist/viewers/archive/index.js +230 -0
  185. package/dist/viewers/archive/preview.d.ts +2 -0
  186. package/dist/viewers/archive/preview.js +2 -0
  187. package/dist/viewers/archive/styles.d.ts +1 -0
  188. package/dist/viewers/archive/styles.js +11 -0
  189. package/dist/viewers/arxml/index.d.ts +15 -0
  190. package/dist/viewers/arxml/index.js +5 -0
  191. package/dist/viewers/asc/index.d.ts +15 -0
  192. package/dist/viewers/asc/index.js +5 -0
  193. package/dist/viewers/audio/controller.d.ts +33 -0
  194. package/dist/viewers/audio/controller.js +49 -0
  195. package/dist/viewers/audio/engine.d.ts +44 -0
  196. package/dist/viewers/audio/engine.js +108 -0
  197. package/dist/viewers/audio/index.d.ts +92 -0
  198. package/dist/viewers/audio/index.js +448 -0
  199. package/dist/viewers/audio/self-loading.d.ts +7 -0
  200. package/dist/viewers/audio/self-loading.js +42 -0
  201. package/dist/viewers/audio/styles.d.ts +1 -0
  202. package/dist/viewers/audio/styles.js +73 -0
  203. package/dist/viewers/automotive/index.d.ts +8 -0
  204. package/dist/viewers/automotive/index.js +152 -0
  205. package/dist/viewers/automotive/styles.d.ts +1 -0
  206. package/dist/viewers/automotive/styles.js +1 -0
  207. package/dist/viewers/avro/index.d.ts +15 -0
  208. package/dist/viewers/avro/index.js +5 -0
  209. package/dist/viewers/bag/index.d.ts +15 -0
  210. package/dist/viewers/bag/index.js +5 -0
  211. package/dist/viewers/blf/index.d.ts +15 -0
  212. package/dist/viewers/blf/index.js +5 -0
  213. package/dist/viewers/csv/controller.d.ts +126 -0
  214. package/dist/viewers/csv/controller.js +598 -0
  215. package/dist/viewers/csv/index.d.ts +48 -0
  216. package/dist/viewers/csv/index.js +846 -0
  217. package/dist/viewers/csv/styles.d.ts +1 -0
  218. package/dist/viewers/csv/styles.js +267 -0
  219. package/dist/viewers/db3/index.d.ts +15 -0
  220. package/dist/viewers/db3/index.js +5 -0
  221. package/dist/viewers/dbc/index.d.ts +15 -0
  222. package/dist/viewers/dbc/index.js +5 -0
  223. package/dist/viewers/diagram.d.ts +14 -0
  224. package/dist/viewers/diagram.js +95 -0
  225. package/dist/viewers/excel/controller.d.ts +108 -0
  226. package/dist/viewers/excel/controller.js +548 -0
  227. package/dist/viewers/excel/grid.d.ts +28 -0
  228. package/dist/viewers/excel/grid.js +99 -0
  229. package/dist/viewers/excel/index.d.ts +37 -0
  230. package/dist/viewers/excel/index.js +620 -0
  231. package/dist/viewers/excel/self-loading.d.ts +6 -0
  232. package/dist/viewers/excel/self-loading.js +13 -0
  233. package/dist/viewers/excel/styles.d.ts +1 -0
  234. package/dist/viewers/excel/styles.js +216 -0
  235. package/dist/viewers/fallback/index.d.ts +17 -0
  236. package/dist/viewers/fallback/index.js +130 -0
  237. package/dist/viewers/fallback/styles.d.ts +1 -0
  238. package/dist/viewers/fallback/styles.js +49 -0
  239. package/dist/viewers/hdf5/index.d.ts +19 -0
  240. package/dist/viewers/hdf5/index.js +170 -0
  241. package/dist/viewers/hdf5/styles.d.ts +1 -0
  242. package/dist/viewers/hdf5/styles.js +4 -0
  243. package/dist/viewers/hwp/controller.d.ts +19 -0
  244. package/dist/viewers/hwp/controller.js +22 -0
  245. package/dist/viewers/hwp/index.d.ts +39 -0
  246. package/dist/viewers/hwp/index.js +271 -0
  247. package/dist/viewers/hwp/self-loading.d.ts +2 -0
  248. package/dist/viewers/hwp/self-loading.js +6 -0
  249. package/dist/viewers/hwp/styles.d.ts +1 -0
  250. package/dist/viewers/hwp/styles.js +13 -0
  251. package/dist/viewers/image/controller.d.ts +210 -0
  252. package/dist/viewers/image/controller.js +336 -0
  253. package/dist/viewers/image/decode.d.ts +54 -0
  254. package/dist/viewers/image/decode.js +150 -0
  255. package/dist/viewers/image/index.d.ts +38 -0
  256. package/dist/viewers/image/index.js +749 -0
  257. package/dist/viewers/image/limits.d.ts +18 -0
  258. package/dist/viewers/image/limits.js +20 -0
  259. package/dist/viewers/image/styles.d.ts +1 -0
  260. package/dist/viewers/image/styles.js +119 -0
  261. package/dist/viewers/json/controller.d.ts +89 -0
  262. package/dist/viewers/json/controller.js +411 -0
  263. package/dist/viewers/json/index.d.ts +25 -0
  264. package/dist/viewers/json/index.js +503 -0
  265. package/dist/viewers/json/styles.d.ts +1 -0
  266. package/dist/viewers/json/styles.js +346 -0
  267. package/dist/viewers/json/transforms.d.ts +27 -0
  268. package/dist/viewers/json/transforms.js +253 -0
  269. package/dist/viewers/jsonl/controller.d.ts +48 -0
  270. package/dist/viewers/jsonl/controller.js +136 -0
  271. package/dist/viewers/jsonl/index.d.ts +22 -0
  272. package/dist/viewers/jsonl/index.js +184 -0
  273. package/dist/viewers/jsonl/styles.d.ts +1 -0
  274. package/dist/viewers/jsonl/styles.js +1 -0
  275. package/dist/viewers/markdown/controller.d.ts +50 -0
  276. package/dist/viewers/markdown/controller.js +62 -0
  277. package/dist/viewers/markdown/index.d.ts +64 -0
  278. package/dist/viewers/markdown/index.js +425 -0
  279. package/dist/viewers/markdown/math.d.ts +21 -0
  280. package/dist/viewers/markdown/math.js +100 -0
  281. package/dist/viewers/markdown/self-loading.d.ts +5 -0
  282. package/dist/viewers/markdown/self-loading.js +48 -0
  283. package/dist/viewers/markdown/styles.d.ts +1 -0
  284. package/dist/viewers/markdown/styles.js +11 -0
  285. package/dist/viewers/mat/index.d.ts +19 -0
  286. package/dist/viewers/mat/index.js +113 -0
  287. package/dist/viewers/mat/styles.d.ts +1 -0
  288. package/dist/viewers/mat/styles.js +3 -0
  289. package/dist/viewers/media.d.ts +9 -0
  290. package/dist/viewers/media.js +77 -0
  291. package/dist/viewers/mermaid/index.d.ts +17 -0
  292. package/dist/viewers/mermaid/index.js +6 -0
  293. package/dist/viewers/mermaid/self-loading.d.ts +2 -0
  294. package/dist/viewers/mermaid/self-loading.js +2 -0
  295. package/dist/viewers/mf4/index.d.ts +15 -0
  296. package/dist/viewers/mf4/index.js +5 -0
  297. package/dist/viewers/parquet/controller.d.ts +37 -0
  298. package/dist/viewers/parquet/controller.js +26 -0
  299. package/dist/viewers/parquet/index.d.ts +23 -0
  300. package/dist/viewers/parquet/index.js +134 -0
  301. package/dist/viewers/parquet/styles.d.ts +1 -0
  302. package/dist/viewers/parquet/styles.js +3 -0
  303. package/dist/viewers/pcap/index.d.ts +15 -0
  304. package/dist/viewers/pcap/index.js +5 -0
  305. package/dist/viewers/pcapng/index.d.ts +15 -0
  306. package/dist/viewers/pcapng/index.js +5 -0
  307. package/dist/viewers/pdf/controller.d.ts +120 -0
  308. package/dist/viewers/pdf/controller.js +191 -0
  309. package/dist/viewers/pdf/editing.d.ts +26 -0
  310. package/dist/viewers/pdf/editing.js +265 -0
  311. package/dist/viewers/pdf/index.d.ts +88 -0
  312. package/dist/viewers/pdf/index.js +1400 -0
  313. package/dist/viewers/pdf/self-loading.d.ts +6 -0
  314. package/dist/viewers/pdf/self-loading.js +14 -0
  315. package/dist/viewers/pdf/styles.d.ts +1 -0
  316. package/dist/viewers/pdf/styles.js +555 -0
  317. package/dist/viewers/plantuml/index.d.ts +17 -0
  318. package/dist/viewers/plantuml/index.js +6 -0
  319. package/dist/viewers/plantuml/self-loading.d.ts +2 -0
  320. package/dist/viewers/plantuml/self-loading.js +2 -0
  321. package/dist/viewers/ppt/chart.d.ts +8 -0
  322. package/dist/viewers/ppt/chart.js +83 -0
  323. package/dist/viewers/ppt/controller.d.ts +34 -0
  324. package/dist/viewers/ppt/controller.js +27 -0
  325. package/dist/viewers/ppt/index.d.ts +33 -0
  326. package/dist/viewers/ppt/index.js +101 -0
  327. package/dist/viewers/ppt/render.d.ts +5 -0
  328. package/dist/viewers/ppt/render.js +144 -0
  329. package/dist/viewers/ppt/self-loading.d.ts +9 -0
  330. package/dist/viewers/ppt/self-loading.js +4 -0
  331. package/dist/viewers/ppt/styles.d.ts +1 -0
  332. package/dist/viewers/ppt/styles.js +1 -0
  333. package/dist/viewers/proto/index.d.ts +17 -0
  334. package/dist/viewers/proto/index.js +170 -0
  335. package/dist/viewers/proto/styles.d.ts +1 -0
  336. package/dist/viewers/proto/styles.js +2 -0
  337. package/dist/viewers/psd/index.d.ts +27 -0
  338. package/dist/viewers/psd/index.js +39 -0
  339. package/dist/viewers/psd/self-loading.d.ts +10 -0
  340. package/dist/viewers/psd/self-loading.js +20 -0
  341. package/dist/viewers/psd/styles.d.ts +1 -0
  342. package/dist/viewers/psd/styles.js +1 -0
  343. package/dist/viewers/reqif/index.d.ts +15 -0
  344. package/dist/viewers/reqif/index.js +5 -0
  345. package/dist/viewers/shapefile/index.d.ts +35 -0
  346. package/dist/viewers/shapefile/index.js +336 -0
  347. package/dist/viewers/shapefile/self-loading.d.ts +7 -0
  348. package/dist/viewers/shapefile/self-loading.js +32 -0
  349. package/dist/viewers/shapefile/styles.d.ts +1 -0
  350. package/dist/viewers/shapefile/styles.js +28 -0
  351. package/dist/viewers/stp/index.d.ts +15 -0
  352. package/dist/viewers/stp/index.js +5 -0
  353. package/dist/viewers/structured-styles.d.ts +1 -0
  354. package/dist/viewers/structured-styles.js +1 -0
  355. package/dist/viewers/structured.d.ts +36 -0
  356. package/dist/viewers/structured.js +138 -0
  357. package/dist/viewers/toml/controller.d.ts +38 -0
  358. package/dist/viewers/toml/controller.js +61 -0
  359. package/dist/viewers/toml/index.d.ts +18 -0
  360. package/dist/viewers/toml/index.js +34 -0
  361. package/dist/viewers/types.d.ts +36 -0
  362. package/dist/viewers/types.js +9 -0
  363. package/dist/viewers/video/controller.d.ts +29 -0
  364. package/dist/viewers/video/controller.js +54 -0
  365. package/dist/viewers/video/index.d.ts +18 -0
  366. package/dist/viewers/video/index.js +305 -0
  367. package/dist/viewers/video/styles.d.ts +1 -0
  368. package/dist/viewers/video/styles.js +79 -0
  369. package/dist/viewers/word/controller.d.ts +19 -0
  370. package/dist/viewers/word/controller.js +22 -0
  371. package/dist/viewers/word/docx-preprocess.d.ts +63 -0
  372. package/dist/viewers/word/docx-preprocess.js +136 -0
  373. package/dist/viewers/word/index.d.ts +32 -0
  374. package/dist/viewers/word/index.js +187 -0
  375. package/dist/viewers/word/normalize-docx.d.ts +2 -0
  376. package/dist/viewers/word/normalize-docx.js +50 -0
  377. package/dist/viewers/word/paginate.d.ts +1 -0
  378. package/dist/viewers/word/paginate.js +1035 -0
  379. package/dist/viewers/word/self-loading.d.ts +2 -0
  380. package/dist/viewers/word/self-loading.js +7 -0
  381. package/dist/viewers/word/styles.d.ts +1 -0
  382. package/dist/viewers/word/styles.js +686 -0
  383. package/dist/viewers/yaml/controller.d.ts +42 -0
  384. package/dist/viewers/yaml/controller.js +41 -0
  385. package/dist/viewers/yaml/index.d.ts +21 -0
  386. package/dist/viewers/yaml/index.js +20 -0
  387. package/package.json +375 -0
@@ -0,0 +1,686 @@
1
+ export const wordViewerCss = `
2
+ :host{display:block;height:100%;color:var(--omni-fg,#d4d4d4);background:var(--omni-bg,#1e1e1e)}
3
+ .omni-word{display:flex;flex-direction:column;height:100%;font:13px system-ui,sans-serif}
4
+ .omni-word__header,.omni-word__toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--omni-panel-bg,#252526);border-bottom:1px solid var(--omni-border,#3c3c3c)}
5
+ .omni-word__header{justify-content:space-between}.omni-word__title{font-weight:600}.omni-word__meta{opacity:.7;font-size:12px}
6
+ .omni-word__toolbar{justify-content:center}.omni-word__toolbar button{padding:5px 10px;color:inherit;background:var(--omni-control-bg,#3a3d41);border:1px solid var(--omni-border,#555);border-radius:4px}.omni-word__toolbar button:disabled{opacity:.5}
7
+ .omni-word__zoom{min-width:48px;text-align:center}.omni-word__viewport{flex:1;overflow:auto;padding:20px}.omni-word__content{width:max-content;min-width:100%;transform-origin:top center}
8
+ .omni-word__legacy-page{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto 18px;padding:25mm 22mm;background:#fff;color:#111;box-shadow:0 2px 10px #0005;white-space:pre-wrap;line-height:1.55}
9
+ .omni-word__legacy-header,.omni-word__legacy-footer{color:#666;font-size:11px;border-color:#ddd}.omni-word__legacy-header{padding-bottom:8px;border-bottom:1px solid #ddd}.omni-word__legacy-footer{padding-top:8px;border-top:1px solid #ddd}.omni-word__legacy-body{min-height:220mm}.omni-word__legacy-table{width:100%;border-collapse:collapse;white-space:normal}.omni-word__legacy-table th,.omni-word__legacy-table td{padding:5px 7px;border:1px solid #777;text-align:left;vertical-align:top}.omni-word__legacy-image{text-align:center}.omni-word__legacy-image img{max-width:100%;height:auto}
10
+ .omni-word__chart,.omni-word__embedded-sheet{box-sizing:border-box;margin:16px 0;padding:12px;background:#fff;color:#111;border:1px solid #bbb;border-radius:4px;white-space:normal}.omni-word__chart svg{display:block;width:100%;max-height:320px}.omni-word__chart-legend{display:flex;gap:12px;flex-wrap:wrap}.omni-word__chart-legend span{padding-left:5px}
11
+ .omni-word__error{margin:24px;padding:18px;border:1px solid var(--omni-danger,#f48771);color:var(--omni-danger,#f48771);border-radius:6px}
12
+ @media print{.omni-word__header,.omni-word__toolbar{display:none}.omni-word__viewport{overflow:visible;padding:0}.omni-word__legacy-page{box-shadow:none;margin:0;page-break-after:always}}
13
+
14
+ /* VS Code legacy .doc layout — kept in sync with wordViewer.css. */
15
+ :root {
16
+ --bg-color: var(--vscode-editor-background, #1e1e1e);
17
+ --text-color: var(--vscode-editor-foreground, #d4d4d4);
18
+ --border-color: var(--vscode-panel-border, #3c3c3c);
19
+ --header-bg: var(--vscode-sideBar-background, #252526);
20
+ --button-bg: var(--vscode-button-background, #0e639c);
21
+ --button-hover: var(--vscode-button-hoverBackground, #1177bb);
22
+ --button-secondary-bg: var(--vscode-button-secondaryBackground, #3a3d41);
23
+ --button-secondary-hover: var(--vscode-button-secondaryHoverBackground, #45494e);
24
+ }
25
+
26
+ * {
27
+ box-sizing: border-box;
28
+ }
29
+
30
+ body {
31
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
32
+ background: var(--bg-color);
33
+ color: var(--text-color);
34
+ margin: 0;
35
+ padding: 0;
36
+ height: 100vh;
37
+ overflow: hidden;
38
+ }
39
+
40
+ .container {
41
+ display: flex;
42
+ flex-direction: column;
43
+ height: 100vh;
44
+ }
45
+
46
+ .header {
47
+ display: flex;
48
+ justify-content: space-between;
49
+ align-items: center;
50
+ padding: 12px 20px;
51
+ background: var(--header-bg);
52
+ border-bottom: 1px solid var(--border-color);
53
+ }
54
+
55
+ .title {
56
+ font-size: 16px;
57
+ font-weight: 600;
58
+ display: flex;
59
+ align-items: center;
60
+ gap: 8px;
61
+ }
62
+
63
+ .file-info {
64
+ font-size: 12px;
65
+ color: var(--vscode-descriptionForeground, #808080);
66
+ }
67
+
68
+ .controls {
69
+ display: flex;
70
+ justify-content: center;
71
+ align-items: center;
72
+ padding: 10px 20px;
73
+ background: var(--header-bg);
74
+ border-bottom: 1px solid var(--border-color);
75
+ gap: 10px;
76
+ }
77
+
78
+ .view-controls {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 10px;
82
+ }
83
+
84
+ .btn {
85
+ padding: 6px 12px;
86
+ border: none;
87
+ border-radius: 4px;
88
+ cursor: pointer;
89
+ font-size: 12px;
90
+ background: var(--button-secondary-bg);
91
+ color: var(--text-color);
92
+ transition: background 0.2s;
93
+ }
94
+
95
+ .btn:hover {
96
+ background: var(--button-secondary-hover);
97
+ }
98
+
99
+ .zoom-level {
100
+ font-size: 12px;
101
+ min-width: 50px;
102
+ text-align: center;
103
+ color: var(--vscode-descriptionForeground, #808080);
104
+ }
105
+
106
+ .document-container {
107
+ flex: 1;
108
+ overflow: auto;
109
+ padding: 20px;
110
+ display: flex;
111
+ justify-content: center;
112
+ }
113
+
114
+ .loading {
115
+ display: flex;
116
+ flex-direction: column;
117
+ align-items: center;
118
+ justify-content: center;
119
+ height: 200px;
120
+ color: var(--vscode-descriptionForeground, #808080);
121
+ }
122
+
123
+ .error {
124
+ color: var(--vscode-errorForeground, #f48771);
125
+ padding: 20px;
126
+ text-align: center;
127
+ }
128
+
129
+ .word-content {
130
+ background: var(--vscode-editor-background, #1e1e1e);
131
+ color: var(--vscode-editor-foreground, #d4d4d4);
132
+ padding: 40px 60px;
133
+ min-width: 210mm;
134
+ max-width: 210mm;
135
+ min-height: 297mm;
136
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
137
+ transform-origin: top center;
138
+ transition: transform 0.2s ease;
139
+ }
140
+
141
+ .word-content.docx-mode {
142
+ background: transparent;
143
+ color: inherit;
144
+ padding: 0;
145
+ min-width: auto;
146
+ max-width: none;
147
+ min-height: auto;
148
+ box-shadow: none;
149
+ }
150
+
151
+ .word-content.legacy-mode {
152
+ background: transparent;
153
+ color: #111111;
154
+ padding: 0;
155
+ min-width: 210mm;
156
+ max-width: none;
157
+ min-height: auto;
158
+ box-shadow: none;
159
+ overflow: visible;
160
+ }
161
+
162
+ .word-content.legacy-mode .ov-doc-legacy,
163
+ .word-content.legacy-mode .ov-doc-legacy h1,
164
+ .word-content.legacy-mode .ov-doc-legacy h2,
165
+ .word-content.legacy-mode .ov-doc-legacy p,
166
+ .word-content.legacy-mode .ov-doc-legacy li,
167
+ .word-content.legacy-mode .ov-doc-legacy td,
168
+ .word-content.legacy-mode .ov-doc-legacy th {
169
+ color: #111111;
170
+ }
171
+
172
+ .word-content.legacy-mode .ov-doc-legacy {
173
+ display: block;
174
+ width: fit-content;
175
+ background: transparent;
176
+ overflow: visible;
177
+ }
178
+
179
+ .word-content.legacy-mode .ov-doc-legacy-section + .ov-doc-legacy-section {
180
+ margin-top: 18px;
181
+ }
182
+
183
+ .word-content.legacy-mode .ov-doc-legacy-pages {
184
+ display: flex;
185
+ flex-direction: column;
186
+ gap: 18px;
187
+ }
188
+
189
+ .word-content.legacy-mode .ov-doc-legacy-page {
190
+ width: var(--ov-page-width-mm, 210mm);
191
+ min-height: var(--ov-page-height-mm, 297mm);
192
+ background: #ffffff;
193
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
194
+ overflow: visible;
195
+ position: relative;
196
+ }
197
+
198
+ .word-content.legacy-mode .ov-doc-legacy-page-content {
199
+ --ov-gutter-left-mm: 0mm;
200
+ --ov-gutter-right-mm: 0mm;
201
+ display: block;
202
+ width: 100%;
203
+ min-height: calc(
204
+ var(--ov-page-height-mm, 297mm)
205
+ - var(--ov-page-padding-top-mm, 11.29mm)
206
+ - var(--ov-page-padding-bottom-mm, 11.29mm)
207
+ );
208
+ padding:
209
+ max(var(--ov-page-padding-top-mm, 11.29mm), var(--ov-page-active-header-mm, var(--ov-page-header-mm, 12.70mm)))
210
+ calc(var(--ov-page-padding-right-mm, 17.64mm) + var(--ov-gutter-right-mm))
211
+ max(var(--ov-page-padding-bottom-mm, 11.29mm), var(--ov-page-active-footer-mm, var(--ov-page-footer-mm, 12.70mm)))
212
+ calc(var(--ov-page-padding-left-mm, 17.64mm) + var(--ov-gutter-left-mm));
213
+ overflow: visible;
214
+ }
215
+
216
+ .word-content.legacy-mode .ov-doc-legacy-page-content-custom-columns {
217
+ padding-bottom: 0;
218
+ }
219
+
220
+ .word-content.legacy-mode .ov-doc-legacy-page-columns {
221
+ display: grid;
222
+ height: 100%;
223
+ align-items: start;
224
+ width: 100%;
225
+ min-width: 0;
226
+ }
227
+
228
+ .word-content.legacy-mode .ov-doc-legacy-page-column {
229
+ min-width: 0;
230
+ height: 100%;
231
+ overflow: hidden;
232
+ width: 100%;
233
+ }
234
+
235
+ .word-content.legacy-mode .ov-doc-legacy-page-column-gap {
236
+ min-width: 0;
237
+ width: 100%;
238
+ height: 100%;
239
+ pointer-events: none;
240
+ background:
241
+ linear-gradient(
242
+ to right,
243
+ transparent calc(50% - (var(--ov-column-rule-width, 0px) / 2)),
244
+ rgba(148, 163, 184, 0.65) calc(50% - (var(--ov-column-rule-width, 0px) / 2)),
245
+ rgba(148, 163, 184, 0.65) calc(50% + (var(--ov-column-rule-width, 0px) / 2)),
246
+ transparent calc(50% + (var(--ov-column-rule-width, 0px) / 2))
247
+ );
248
+ }
249
+
250
+ .word-content.legacy-mode .ov-doc-legacy-page-column > .ov-doc-legacy-block + .ov-doc-legacy-block {
251
+ margin-top: 12px;
252
+ }
253
+
254
+ .word-content.legacy-mode .ov-doc-legacy-page-header,
255
+ .word-content.legacy-mode .ov-doc-legacy-page-footer {
256
+ position: absolute;
257
+ left: calc(var(--ov-page-padding-left-mm, 17.64mm) + var(--ov-gutter-left-mm, 0mm));
258
+ right: calc(var(--ov-page-padding-right-mm, 17.64mm) + var(--ov-gutter-right-mm, 0mm));
259
+ font-size: 11px;
260
+ line-height: 1.3;
261
+ color: #4b5563;
262
+ white-space: pre-wrap;
263
+ pointer-events: none;
264
+ }
265
+
266
+ .word-content.legacy-mode .ov-doc-legacy-page-header {
267
+ top: max(4mm, calc(var(--ov-page-active-header-mm, var(--ov-page-header-mm, 12.70mm)) - 4mm));
268
+ }
269
+
270
+ .word-content.legacy-mode .ov-doc-legacy-page-footer {
271
+ bottom: max(4mm, calc(var(--ov-page-active-footer-mm, var(--ov-page-footer-mm, 12.70mm)) - 4mm));
272
+ }
273
+
274
+ .word-content.legacy-mode .ov-doc-legacy-page-header[hidden],
275
+ .word-content.legacy-mode .ov-doc-legacy-page-footer[hidden] {
276
+ display: none;
277
+ }
278
+
279
+ .word-content.legacy-mode .ov-doc-legacy-section[data-ov-gutter-side="left"] .ov-doc-legacy-page-content {
280
+ --ov-gutter-left-mm: var(--ov-page-gutter-mm, 0mm);
281
+ }
282
+
283
+ .word-content.legacy-mode .ov-doc-legacy-section[data-ov-gutter-side="right"] .ov-doc-legacy-page-content {
284
+ --ov-gutter-right-mm: var(--ov-page-gutter-mm, 0mm);
285
+ }
286
+
287
+ .word-content.legacy-mode .ov-doc-legacy-block {
288
+ display: block;
289
+ width: 100%;
290
+ max-width: 100%;
291
+ clear: both;
292
+ break-inside: avoid;
293
+ page-break-inside: avoid;
294
+ -webkit-column-break-inside: avoid;
295
+ }
296
+
297
+ .word-content.legacy-mode .ov-doc-legacy-block[data-ov-semantic-role="floating-media"] {
298
+ clear: none;
299
+ margin-bottom: var(--ov-floating-clearance, 12px);
300
+ }
301
+
302
+ .word-content.legacy-mode .ov-doc-legacy-block[data-ov-semantic-role="floating-media"][data-ov-floating-placement="center-block"] {
303
+ clear: both;
304
+ }
305
+
306
+ .word-content.legacy-mode .ov-doc-legacy-block[data-ov-clear-float="true"] {
307
+ clear: both;
308
+ padding-top: var(--ov-clear-float-padding, 4px);
309
+ }
310
+
311
+ .word-content.legacy-mode .ov-doc-legacy-block + .ov-doc-legacy-block {
312
+ margin-top: 12px;
313
+ }
314
+
315
+ .word-content.legacy-mode .ov-doc-legacy-block-overflow {
316
+ break-inside: auto;
317
+ page-break-inside: auto;
318
+ }
319
+
320
+ .word-content.legacy-mode .ov-doc-legacy-page-content h1 {
321
+ font-size: 28px;
322
+ margin: 0 0 18px 0;
323
+ line-height: 1.25;
324
+ }
325
+
326
+ .word-content.legacy-mode .ov-doc-legacy-page-content h2 {
327
+ font-size: 18px;
328
+ margin: 26px 0 10px 0;
329
+ line-height: 1.35;
330
+ }
331
+
332
+ .word-content.legacy-mode .ov-doc-legacy-page-content p {
333
+ display: block;
334
+ width: 100%;
335
+ max-width: 100%;
336
+ clear: both;
337
+ margin: 0;
338
+ line-height: 1.6;
339
+ white-space: pre-wrap;
340
+ tab-size: 4;
341
+ }
342
+
343
+ .word-content.legacy-mode .ov-doc-legacy-page-content ul,
344
+ .word-content.legacy-mode .ov-doc-legacy-page-content ol {
345
+ display: block;
346
+ width: 100%;
347
+ max-width: 100%;
348
+ clear: both;
349
+ margin: 0 0 0 24px;
350
+ padding: 0;
351
+ }
352
+
353
+ .word-content.legacy-mode .ov-doc-legacy-page-content li {
354
+ margin: 0 0 8px 0;
355
+ line-height: 1.6;
356
+ white-space: pre-wrap;
357
+ tab-size: 4;
358
+ }
359
+
360
+ .word-content.legacy-mode .ov-doc-legacy-table {
361
+ display: block;
362
+ width: 100%;
363
+ margin: 0;
364
+ max-width: 100%;
365
+ overflow-x: auto;
366
+ }
367
+
368
+ .word-content.legacy-mode .ov-doc-legacy-page-content table {
369
+ width: 100%;
370
+ border-collapse: collapse;
371
+ font-size: 14px;
372
+ }
373
+
374
+ .word-content.legacy-mode .ov-doc-legacy-page-content th,
375
+ .word-content.legacy-mode .ov-doc-legacy-page-content td {
376
+ border: 1px solid var(--border-color, #3c3c3c);
377
+ padding: 8px 10px;
378
+ text-align: left;
379
+ vertical-align: top;
380
+ }
381
+
382
+ .word-content.legacy-mode .ov-doc-legacy-table[data-ov-explicit-borders="true"] th,
383
+ .word-content.legacy-mode .ov-doc-legacy-table[data-ov-explicit-borders="true"] td {
384
+ border-color: #111111;
385
+ }
386
+
387
+ .word-content.legacy-mode .ov-doc-legacy-page-content th {
388
+ background: #f3f4f6;
389
+ font-weight: 600;
390
+ }
391
+
392
+ .word-content.legacy-mode .ov-doc-legacy-images {
393
+ margin-top: 28px;
394
+ }
395
+
396
+ .word-content.legacy-mode .ov-doc-embedded-sheet {
397
+ display: block;
398
+ clear: both;
399
+ margin: 18px 0;
400
+ width: 100%;
401
+ max-width: 100%;
402
+ overflow: hidden;
403
+ }
404
+
405
+ .word-content.legacy-mode .ov-doc-embedded-sheet-card {
406
+ border: none;
407
+ background: transparent;
408
+ padding: 0;
409
+ }
410
+
411
+ .word-content.legacy-mode .ov-doc-embedded-sheet-head h2 {
412
+ margin: 0 0 12px 0;
413
+ }
414
+
415
+ .word-content.legacy-mode .ov-doc-embedded-chart {
416
+ display: grid;
417
+ grid-template-columns: minmax(0, 1fr) 140px;
418
+ gap: 18px;
419
+ align-items: flex-start;
420
+ margin: 10px 0 24px;
421
+ width: 100%;
422
+ max-width: 100%;
423
+ min-width: 0;
424
+ overflow: hidden;
425
+ }
426
+
427
+ .word-content.legacy-mode .ov-doc-embedded-chart-meta {
428
+ grid-column: 1 / -1;
429
+ font-size: 12px;
430
+ text-transform: uppercase;
431
+ letter-spacing: 0.08em;
432
+ color: #6b7280;
433
+ }
434
+
435
+ .word-content.legacy-mode .ov-doc-embedded-chart-frame {
436
+ flex: 1;
437
+ width: 100%;
438
+ max-width: 100%;
439
+ min-width: 0;
440
+ border: none;
441
+ background: transparent;
442
+ padding: 0;
443
+ overflow: hidden;
444
+ }
445
+
446
+ .word-content.legacy-mode .ov-doc-embedded-chart-svg {
447
+ width: 100%;
448
+ max-width: 100%;
449
+ height: auto;
450
+ display: block;
451
+ overflow: hidden;
452
+ }
453
+
454
+ .word-content.legacy-mode .ov-doc-embedded-chart-legend {
455
+ width: 140px;
456
+ min-width: 140px;
457
+ font-size: 13px;
458
+ }
459
+
460
+ .word-content.legacy-mode .ov-doc-embedded-chart-legend-item {
461
+ display: flex;
462
+ align-items: center;
463
+ gap: 8px;
464
+ margin-bottom: 8px;
465
+ }
466
+
467
+ .word-content.legacy-mode .ov-doc-embedded-chart-swatch {
468
+ width: 12px;
469
+ height: 12px;
470
+ display: inline-block;
471
+ }
472
+
473
+ .word-content.legacy-mode .ov-doc-embedded-table-wrap {
474
+ margin-top: 18px;
475
+ border-top: none;
476
+ padding-top: 0;
477
+ }
478
+
479
+ .word-content.legacy-mode .ov-doc-embedded-table-label {
480
+ font-size: 12px;
481
+ text-transform: uppercase;
482
+ letter-spacing: 0.08em;
483
+ color: #6b7280;
484
+ margin-bottom: 8px;
485
+ }
486
+
487
+ .word-content.legacy-mode .ov-doc-legacy-image-grid {
488
+ display: grid;
489
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
490
+ gap: 14px;
491
+ }
492
+
493
+ .word-content.legacy-mode .ov-doc-legacy-image {
494
+ margin: 0;
495
+ border: 1px solid var(--border-color, #3c3c3c);
496
+ background: #f8fafc;
497
+ padding: 10px;
498
+ }
499
+
500
+ .word-content.legacy-mode .ov-doc-legacy-image-inline {
501
+ max-width: min(100%, 360px);
502
+ }
503
+
504
+ .word-content.legacy-mode .ov-doc-legacy-image-floating {
505
+ width: min(44%, 320px);
506
+ max-width: min(44%, 320px);
507
+ float: right;
508
+ margin: 0 0 14px 18px;
509
+ clear: none;
510
+ }
511
+
512
+ .word-content.legacy-mode .ov-doc-legacy-image-floating-narrow {
513
+ width: min(32%, 240px);
514
+ max-width: min(32%, 240px);
515
+ }
516
+
517
+ .word-content.legacy-mode .ov-doc-legacy-image-floating-wide {
518
+ width: min(52%, 400px);
519
+ max-width: min(52%, 400px);
520
+ }
521
+
522
+ .word-content.legacy-mode .ov-doc-legacy-image-floating-left {
523
+ float: left;
524
+ margin: 0 18px 14px 0;
525
+ }
526
+
527
+ .word-content.legacy-mode .ov-doc-legacy-image-floating-center {
528
+ float: none;
529
+ width: min(56%, 360px);
530
+ max-width: min(56%, 360px);
531
+ margin: 0 auto 14px;
532
+ clear: both;
533
+ }
534
+
535
+ .word-content.legacy-mode .ov-doc-legacy-image img {
536
+ display: block;
537
+ width: 100%;
538
+ max-height: 220px;
539
+ object-fit: contain;
540
+ margin-bottom: 8px;
541
+ }
542
+
543
+ .word-content.legacy-mode .ov-doc-legacy-image figcaption {
544
+ font-size: 12px;
545
+ color: #6b7280;
546
+ word-break: break-word;
547
+ }
548
+
549
+ .word-content.legacy-mode .ov-doc-legacy-empty {
550
+ color: #6b7280;
551
+ font-style: italic;
552
+ }
553
+
554
+ @media print {
555
+ .word-content.legacy-mode .ov-doc-legacy-pages {
556
+ gap: 0;
557
+ }
558
+
559
+ .word-content.legacy-mode .ov-doc-legacy-page {
560
+ box-shadow: none;
561
+ break-after: page;
562
+ page-break-after: always;
563
+ }
564
+
565
+ .word-content.legacy-mode .ov-doc-legacy-page:last-child {
566
+ break-after: auto;
567
+ page-break-after: auto;
568
+ }
569
+ }
570
+
571
+ .word-content.docx-mode .docx-wrapper {
572
+ background: transparent;
573
+ }
574
+
575
+ .word-content.docx-mode p[data-ov-bullet-fix="1"]::before,
576
+ .word-content.docx-mode li[data-ov-bullet-fix="1"]::before {
577
+ content: "* " !important;
578
+ }
579
+
580
+ .word-content.docx-mode .ov-chart-card {
581
+ border: 1px solid #c7cbd1;
582
+ background: #f8fafc;
583
+ padding: 14px;
584
+ margin: 14px auto;
585
+ width: min(100%, 760px);
586
+ }
587
+
588
+ .word-content.docx-mode .ov-chart-title {
589
+ font-size: 28px;
590
+ line-height: 1.1;
591
+ font-weight: 700;
592
+ color: #111827;
593
+ margin-bottom: 10px;
594
+ }
595
+
596
+ .word-content.docx-mode .ov-chart-layout {
597
+ display: flex;
598
+ align-items: flex-start;
599
+ gap: 18px;
600
+ }
601
+
602
+ .word-content.docx-mode .ov-chart-svg {
603
+ width: 100%;
604
+ max-width: 560px;
605
+ height: auto;
606
+ }
607
+
608
+ .word-content.docx-mode .ov-chart-legend {
609
+ min-width: 130px;
610
+ padding-top: 18px;
611
+ }
612
+
613
+ .word-content.docx-mode .ov-chart-legend-item {
614
+ display: flex;
615
+ align-items: center;
616
+ gap: 8px;
617
+ margin-bottom: 8px;
618
+ color: #111827;
619
+ font-size: 14px;
620
+ }
621
+
622
+ .word-content.docx-mode .ov-chart-legend-color {
623
+ display: inline-block;
624
+ width: 12px;
625
+ height: 12px;
626
+ }
627
+
628
+ .word-content.legacy-mode p[data-ov-chart-spacer="keep"],
629
+ .word-content.docx-mode p[data-ov-chart-spacer="keep"] {
630
+ min-height: 0.75em;
631
+ margin: 0;
632
+ line-height: 0;
633
+ }
634
+
635
+ .word-content.legacy-mode p[data-ov-chart-spacer="trim"],
636
+ .word-content.docx-mode p[data-ov-chart-spacer="trim"] {
637
+ display: none;
638
+ }
639
+
640
+ .word-content p {
641
+ margin: 0 0 1em 0;
642
+ line-height: 1.6;
643
+ }
644
+
645
+ .word-content h1, .word-content h2, .word-content h3 {
646
+ margin: 1em 0 0.5em 0;
647
+ line-height: 1.3;
648
+ }
649
+
650
+ .word-content ul, .word-content ol {
651
+ margin: 0.5em 0;
652
+ padding-left: 2em;
653
+ }
654
+
655
+ .word-content table {
656
+ border-collapse: collapse;
657
+ width: 100%;
658
+ margin: 1em 0;
659
+ }
660
+
661
+ .word-content table td,
662
+ .word-content table th {
663
+ border: 1px solid var(--border-color, #3c3c3c);
664
+ padding: 8px;
665
+ }
666
+
667
+ .word-content img {
668
+ max-width: 100%;
669
+ height: auto;
670
+ }
671
+
672
+ @media print {
673
+ body { background: white; }
674
+ .header, .controls { display: none !important; }
675
+ .document-container { padding: 0; overflow: visible; }
676
+ .word-content {
677
+ box-shadow: none;
678
+ padding: 0;
679
+ min-width: auto;
680
+ max-width: 100%;
681
+ min-height: auto;
682
+ transform: none !important;
683
+ }
684
+ }
685
+
686
+ `;
@@ -0,0 +1,42 @@
1
+ import { type YamlNode, type YamlParserDeps } from '../../parsers/yaml/index.js';
2
+ import type { Diagnostic } from '../../parsers/types.js';
3
+ export type YamlAction = {
4
+ type: 'set-mode';
5
+ mode: 'tree' | 'flat' | 'json' | 'raw';
6
+ } | {
7
+ type: 'select-document';
8
+ index: number;
9
+ } | {
10
+ type: 'toggle-node';
11
+ id: string;
12
+ } | {
13
+ type: 'expand-all';
14
+ } | {
15
+ type: 'collapse-all';
16
+ } | {
17
+ type: 'set-search';
18
+ search: string;
19
+ } | {
20
+ type: 'edit-source';
21
+ text: string;
22
+ };
23
+ export interface YamlViewState {
24
+ status: 'ok' | 'partial' | 'failed';
25
+ documents: readonly YamlNode[];
26
+ selectedDocument: number;
27
+ mode: 'tree' | 'flat' | 'json' | 'raw';
28
+ search: string;
29
+ expanded: ReadonlySet<string>;
30
+ diagnostics: readonly Diagnostic[];
31
+ text: string;
32
+ }
33
+ export interface YamlController {
34
+ readonly state: YamlViewState;
35
+ dispatch(action: YamlAction): void;
36
+ subscribe(listener: (state: YamlViewState) => void): () => void;
37
+ nodePath(id: string): string;
38
+ nodeValue(id: string): string;
39
+ nodeJson(id: string): string;
40
+ documentJson(): string;
41
+ }
42
+ export declare function createYamlController(input: Uint8Array | string, deps?: YamlParserDeps): YamlController;