wendang-react 0.0.0-stage → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +381 -0
  3. package/README.md +478 -2
  4. package/dist/bindings/yjs.js +5 -0
  5. package/dist/chunks/AnchoredPanel-D3nte06T.js +68 -0
  6. package/dist/chunks/MindMapCanvas-D5XwjVH1.js +2072 -0
  7. package/dist/chunks/MindMapViewer-CQTQAgNq.js +180 -0
  8. package/dist/chunks/SpreadsheetViewer-DN_QQGud.js +157 -0
  9. package/dist/chunks/code-highlight-BmaqTe1m.js +30 -0
  10. package/dist/chunks/code-highlight-engine-BFDzDPzy.js +40 -0
  11. package/dist/chunks/comment-hint-DN7LKJAn.js +296 -0
  12. package/dist/chunks/composition-state-Bl-U1R_2.js +40 -0
  13. package/dist/chunks/extensions-B-CVVQhp.js +4210 -0
  14. package/dist/chunks/fuzzy-match-DYQR-4w2.js +89 -0
  15. package/dist/chunks/hooks-C53Dp0pr.js +35 -0
  16. package/dist/chunks/host-C-V688Rq.js +197 -0
  17. package/dist/chunks/index-Ii536CFG.js +720 -0
  18. package/dist/chunks/katex-WjrodtTU.js +71 -0
  19. package/dist/chunks/mind-map-controller-B6SxK3GZ.js +479 -0
  20. package/dist/chunks/mind-map-delete-CVsxdXfs.js +31 -0
  21. package/dist/chunks/mind-map-input-CEWRz_t6.js +43 -0
  22. package/dist/chunks/mind-topic-text-BBNTbFSe.js +446 -0
  23. package/dist/chunks/nodes-iKqTGr_N.js +291 -0
  24. package/dist/chunks/popover-placement-D3xVYdkt.js +47 -0
  25. package/dist/chunks/worksheet-engine-TJ54m0KC.js +125 -0
  26. package/dist/chunks/worksheet-preview-DsDVWxIM.js +129 -0
  27. package/dist/document/viewer.js +287 -0
  28. package/dist/document.js +3620 -0
  29. package/dist/index.js +8 -0
  30. package/dist/mindmap/viewer.js +6 -0
  31. package/dist/mindmap.js +123 -0
  32. package/dist/shared.js +52 -0
  33. package/dist/spreadsheet/viewer.js +5 -0
  34. package/dist/spreadsheet/xlsx.js +299 -0
  35. package/dist/spreadsheet.js +120 -0
  36. package/dist/styles/callout.css +34 -0
  37. package/dist/styles/code-block.css +58 -0
  38. package/dist/styles/content-style.css +619 -0
  39. package/dist/styles/editor-interaction.css +621 -0
  40. package/dist/styles/file-video.css +12 -0
  41. package/dist/styles/image-preview.css +103 -0
  42. package/dist/styles/mind-map-block.css +14 -0
  43. package/dist/styles/mind-map-canvas.css +80 -0
  44. package/dist/styles/mind-map-comments.css +93 -0
  45. package/dist/styles/mind-map-details.css +7 -0
  46. package/dist/styles/mind-map-preview.css +7 -0
  47. package/dist/styles/mind-map-topic.css +112 -0
  48. package/dist/styles/page-picker.css +47 -0
  49. package/dist/styles/renderer.css +45 -0
  50. package/dist/styles/spreadsheet-editor.css +3 -0
  51. package/dist/styles/tokens.css +154 -0
  52. package/dist/styles/video-dialog.css +41 -0
  53. package/dist/styles/video-embed.css +35 -0
  54. package/dist/styles.css +2615 -0
  55. package/dist/types/bindings/yjs.d.ts +3 -0
  56. package/dist/types/document/viewer.d.ts +3 -0
  57. package/dist/types/document.d.ts +7 -0
  58. package/dist/types/editor/BlockAffordance.d.ts +47 -0
  59. package/dist/types/editor/CalloutView.d.ts +2 -0
  60. package/dist/types/editor/CodeBlockView.d.ts +9 -0
  61. package/dist/types/editor/DocumentColorPanel.d.ts +8 -0
  62. package/dist/types/editor/DocumentEditor.d.ts +71 -0
  63. package/dist/types/editor/ImagePreview.d.ts +10 -0
  64. package/dist/types/editor/LinkPopover.d.ts +21 -0
  65. package/dist/types/editor/PagePicker.d.ts +7 -0
  66. package/dist/types/editor/SelectionToolbar.d.ts +11 -0
  67. package/dist/types/editor/SlashMenu.d.ts +30 -0
  68. package/dist/types/editor/TableControls.d.ts +9 -0
  69. package/dist/types/editor/VideoEmbedDialog.d.ts +6 -0
  70. package/dist/types/editor/document-gestures.d.ts +13 -0
  71. package/dist/types/editor/extensions.d.ts +29 -0
  72. package/dist/types/editor/nodes.d.ts +20 -0
  73. package/dist/types/editor/same-document.d.ts +2 -0
  74. package/dist/types/engine/collab/presence.d.ts +1 -0
  75. package/dist/types/engine/editor/block-commands.d.ts +35 -0
  76. package/dist/types/engine/editor/block-conversion.d.ts +12 -0
  77. package/dist/types/engine/editor/block-drag.d.ts +16 -0
  78. package/dist/types/engine/editor/block-menu-placement.d.ts +16 -0
  79. package/dist/types/engine/editor/callout-commands.d.ts +4 -0
  80. package/dist/types/engine/editor/collab-change-origin.d.ts +2 -0
  81. package/dist/types/engine/editor/delete-block.d.ts +2 -0
  82. package/dist/types/engine/editor/extensions/block-format.d.ts +19 -0
  83. package/dist/types/engine/editor/extensions/block-handle.d.ts +17 -0
  84. package/dist/types/engine/editor/extensions/block-menu-highlight.d.ts +4 -0
  85. package/dist/types/engine/editor/extensions/block-selection.d.ts +117 -0
  86. package/dist/types/engine/editor/extensions/code-highlight.d.ts +2 -0
  87. package/dist/types/engine/editor/extensions/collab-cursor.d.ts +13 -0
  88. package/dist/types/engine/editor/extensions/ime-guard.d.ts +8 -0
  89. package/dist/types/engine/editor/extensions/inline-comments.d.ts +15 -0
  90. package/dist/types/engine/editor/extensions/paste-sanitizer.d.ts +4 -0
  91. package/dist/types/engine/editor/extensions/slash.d.ts +16 -0
  92. package/dist/types/engine/editor/extensions/table-interaction.d.ts +9 -0
  93. package/dist/types/engine/editor/extensions/upload-placeholder.d.ts +48 -0
  94. package/dist/types/engine/editor/image-preview-gesture.d.ts +3 -0
  95. package/dist/types/engine/editor/ime/composition-state.d.ts +9 -0
  96. package/dist/types/engine/editor/insert-block.d.ts +6 -0
  97. package/dist/types/engine/editor/insert-picker-logic.d.ts +13 -0
  98. package/dist/types/engine/editor/link-edit.d.ts +10 -0
  99. package/dist/types/engine/editor/mind-map-controller.d.ts +63 -0
  100. package/dist/types/engine/editor/mind-map-delete.d.ts +7 -0
  101. package/dist/types/engine/editor/mind-map-drag.d.ts +16 -0
  102. package/dist/types/engine/editor/mind-map-input.d.ts +16 -0
  103. package/dist/types/engine/editor/mind-map-selection.d.ts +11 -0
  104. package/dist/types/engine/editor/nodes/columns.d.ts +6 -0
  105. package/dist/types/engine/editor/nodes/file-nodeview.d.ts +4 -0
  106. package/dist/types/engine/editor/nodes/file.d.ts +2 -0
  107. package/dist/types/engine/editor/nodes/image-gallery.d.ts +2 -0
  108. package/dist/types/engine/editor/nodes/image-nodeview.d.ts +4 -0
  109. package/dist/types/engine/editor/nodes/image.d.ts +1 -0
  110. package/dist/types/engine/editor/nodes/inline-style.d.ts +4 -0
  111. package/dist/types/engine/editor/nodes/math-nodeview.d.ts +2 -0
  112. package/dist/types/engine/editor/nodes/math.d.ts +3 -0
  113. package/dist/types/engine/editor/nodes/mention.d.ts +2 -0
  114. package/dist/types/engine/editor/nodes/mind-map-schema.d.ts +6 -0
  115. package/dist/types/engine/editor/nodes/page-link.d.ts +2 -0
  116. package/dist/types/engine/editor/nodes/table-cell.d.ts +4 -0
  117. package/dist/types/engine/editor/nodes/video-embed-schema.d.ts +2 -0
  118. package/dist/types/engine/editor/popover-placement.d.ts +35 -0
  119. package/dist/types/engine/editor/table-clipboard.d.ts +3 -0
  120. package/dist/types/engine/editor/table-commands.d.ts +20 -0
  121. package/dist/types/engine/editor/table-geometry.d.ts +34 -0
  122. package/dist/types/engine/editor/table-menu-placement.d.ts +30 -0
  123. package/dist/types/engine/editor/tracked-target.d.ts +8 -0
  124. package/dist/types/engine/editor/trailing-paragraph.d.ts +2 -0
  125. package/dist/types/engine/host.d.ts +2 -0
  126. package/dist/types/engine/renderer/attachments.d.ts +11 -0
  127. package/dist/types/engine/renderer/katex.d.ts +7 -0
  128. package/dist/types/engine/renderer/lazy-visible.d.ts +11 -0
  129. package/dist/types/engine/shared/callout.d.ts +1 -0
  130. package/dist/types/engine/shared/code-block.d.ts +1 -0
  131. package/dist/types/engine/shared/code-highlight-engine.d.ts +2 -0
  132. package/dist/types/engine/shared/code-highlight.d.ts +8 -0
  133. package/dist/types/engine/shared/comment-hint-position.d.ts +20 -0
  134. package/dist/types/engine/shared/comment-hint.d.ts +2 -0
  135. package/dist/types/engine/shared/document-colors.d.ts +1 -0
  136. package/dist/types/engine/shared/fuzzy-match.d.ts +13 -0
  137. package/dist/types/engine/shared/image-gallery.d.ts +1 -0
  138. package/dist/types/engine/shared/inline-comments.d.ts +1 -0
  139. package/dist/types/engine/shared/mind-map-phase2.d.ts +1 -0
  140. package/dist/types/engine/shared/mind-map.d.ts +1 -0
  141. package/dist/types/engine/shared/mind-topic-text.d.ts +1 -0
  142. package/dist/types/engine/shared/modal-stack.d.ts +6 -0
  143. package/dist/types/engine/shared/page-candidates.d.ts +6 -0
  144. package/dist/types/engine/shared/pinyin.d.ts +6 -0
  145. package/dist/types/engine/shared/preview-items.d.ts +10 -0
  146. package/dist/types/engine/shared/safe-href.d.ts +1 -0
  147. package/dist/types/engine/shared/table-cell-format.d.ts +1 -0
  148. package/dist/types/engine/shared/table-layout.d.ts +1 -0
  149. package/dist/types/engine/shared/video-embed.d.ts +1 -0
  150. package/dist/types/engine/shared/video-feedback.d.ts +1 -0
  151. package/dist/types/engine/shared/workbook.d.ts +1 -0
  152. package/dist/types/engine/worksheets/worksheet-engine.d.ts +16 -0
  153. package/dist/types/engine/worksheets/worksheet-format.d.ts +20 -0
  154. package/dist/types/engine/worksheets/worksheet-preview.d.ts +17 -0
  155. package/dist/types/engine/worksheets/worksheet-xlsx.d.ts +21 -0
  156. package/dist/types/engine/wui/core/dialog.d.ts +5 -0
  157. package/dist/types/engine/wui/core/listbox.d.ts +8 -0
  158. package/dist/types/engine/wui/core/placement.d.ts +40 -0
  159. package/dist/types/hooks.d.ts +7 -0
  160. package/dist/types/host-types.d.ts +58 -0
  161. package/dist/types/host.d.ts +24 -0
  162. package/dist/types/index.d.ts +5 -0
  163. package/dist/types/mindmap/Comments.d.ts +9 -0
  164. package/dist/types/mindmap/Details.d.ts +13 -0
  165. package/dist/types/mindmap/Field.d.ts +10 -0
  166. package/dist/types/mindmap/MindMapCanvas.d.ts +19 -0
  167. package/dist/types/mindmap/MindMapEditor.d.ts +30 -0
  168. package/dist/types/mindmap/MindMapViewer.d.ts +23 -0
  169. package/dist/types/mindmap/TopicLabel.d.ts +4 -0
  170. package/dist/types/mindmap/viewer.d.ts +2 -0
  171. package/dist/types/mindmap.d.ts +4 -0
  172. package/dist/types/renderer/CodeToolbar.d.ts +10 -0
  173. package/dist/types/renderer/DocumentViewer.d.ts +23 -0
  174. package/dist/types/renderer/media.d.ts +33 -0
  175. package/dist/types/shared.d.ts +12 -0
  176. package/dist/types/spreadsheet/SpreadsheetEditor.d.ts +23 -0
  177. package/dist/types/spreadsheet/SpreadsheetViewer.d.ts +13 -0
  178. package/dist/types/spreadsheet/viewer.d.ts +2 -0
  179. package/dist/types/spreadsheet/xlsx.d.ts +2 -0
  180. package/dist/types/spreadsheet.d.ts +3 -0
  181. package/dist/types/wui/AnchoredPanel.d.ts +14 -0
  182. package/dist/types/wui/Dropdown.d.ts +18 -0
  183. package/dist/types/wui/Icon.d.ts +7 -0
  184. package/dist/types/wui/Tooltip.d.ts +5 -0
  185. package/dist/types/wui/index.d.ts +69 -0
  186. package/package.json +122 -3
  187. package/third-party-notices/@fast-csv__format@4.3.5-LICENSE.txt +21 -0
  188. package/third-party-notices/@fast-csv__parse@4.3.6-LICENSE.txt +21 -0
  189. package/third-party-notices/@flatten-js__interval-tree@1.1.3-LICENSE.txt +21 -0
  190. package/third-party-notices/@floating-ui__core@1.8.0-LICENSE.txt +20 -0
  191. package/third-party-notices/@floating-ui__dom@1.8.0-LICENSE.txt +20 -0
  192. package/third-party-notices/@floating-ui__react-dom@2.1.9-LICENSE.txt +20 -0
  193. package/third-party-notices/@floating-ui__utils@0.2.12-LICENSE.txt +20 -0
  194. package/third-party-notices/@grpc__grpc-js@1.14.6-LICENSE.txt +201 -0
  195. package/third-party-notices/@grpc__proto-loader@0.8.1-LICENSE.txt +201 -0
  196. package/third-party-notices/@js-sdsl__ordered-map@4.4.2-LICENSE.txt +21 -0
  197. package/third-party-notices/@protobufjs__aspromise@1.1.2-LICENSE.txt +26 -0
  198. package/third-party-notices/@protobufjs__base64@1.1.2-LICENSE.txt +26 -0
  199. package/third-party-notices/@protobufjs__codegen@2.0.5-LICENSE.txt +26 -0
  200. package/third-party-notices/@protobufjs__eventemitter@1.1.1-LICENSE.txt +26 -0
  201. package/third-party-notices/@protobufjs__fetch@1.1.1-LICENSE.txt +26 -0
  202. package/third-party-notices/@protobufjs__float@1.0.2-LICENSE.txt +26 -0
  203. package/third-party-notices/@protobufjs__path@1.1.2-LICENSE.txt +26 -0
  204. package/third-party-notices/@protobufjs__pool@1.1.0-LICENSE.txt +26 -0
  205. package/third-party-notices/@protobufjs__utf8@1.1.2-LICENSE.txt +26 -0
  206. package/third-party-notices/@radix-ui__primitive@1.2.0-LICENSE.txt +21 -0
  207. package/third-party-notices/@radix-ui__react-arrow@1.1.17-LICENSE.txt +21 -0
  208. package/third-party-notices/@radix-ui__react-collection@1.2.0-LICENSE.txt +21 -0
  209. package/third-party-notices/@radix-ui__react-compose-refs@1.1.5-LICENSE.txt +21 -0
  210. package/third-party-notices/@radix-ui__react-context@1.3.0-LICENSE.txt +21 -0
  211. package/third-party-notices/@radix-ui__react-dialog@1.3.1-LICENSE.txt +21 -0
  212. package/third-party-notices/@radix-ui__react-direction@1.2.0-LICENSE.txt +21 -0
  213. package/third-party-notices/@radix-ui__react-dismissable-layer@1.2.1-LICENSE.txt +21 -0
  214. package/third-party-notices/@radix-ui__react-dropdown-menu@2.2.1-LICENSE.txt +21 -0
  215. package/third-party-notices/@radix-ui__react-focus-guards@1.2.0-LICENSE.txt +21 -0
  216. package/third-party-notices/@radix-ui__react-focus-scope@1.3.1-LICENSE.txt +21 -0
  217. package/third-party-notices/@radix-ui__react-hover-card@1.2.1-LICENSE.txt +21 -0
  218. package/third-party-notices/@radix-ui__react-id@1.1.4-LICENSE.txt +21 -0
  219. package/third-party-notices/@radix-ui__react-menu@2.2.1-LICENSE.txt +21 -0
  220. package/third-party-notices/@radix-ui__react-popover@1.3.1-LICENSE.txt +21 -0
  221. package/third-party-notices/@radix-ui__react-popper@1.4.0-LICENSE.txt +21 -0
  222. package/third-party-notices/@radix-ui__react-portal@1.2.0-LICENSE.txt +21 -0
  223. package/third-party-notices/@radix-ui__react-presence@1.1.11-LICENSE.txt +21 -0
  224. package/third-party-notices/@radix-ui__react-primitive@2.2.0-LICENSE.txt +21 -0
  225. package/third-party-notices/@radix-ui__react-roving-focus@1.2.1-LICENSE.txt +21 -0
  226. package/third-party-notices/@radix-ui__react-separator@1.2.0-LICENSE.txt +21 -0
  227. package/third-party-notices/@radix-ui__react-slot@1.5.0-LICENSE.txt +21 -0
  228. package/third-party-notices/@radix-ui__react-use-callback-ref@1.1.5-LICENSE.txt +21 -0
  229. package/third-party-notices/@radix-ui__react-use-controllable-state@1.3.0-LICENSE.txt +21 -0
  230. package/third-party-notices/@radix-ui__react-use-effect-event@0.0.5-LICENSE.txt +21 -0
  231. package/third-party-notices/@radix-ui__react-use-is-hydrated@0.1.3-LICENSE.txt +21 -0
  232. package/third-party-notices/@radix-ui__react-use-layout-effect@1.1.4-LICENSE.txt +21 -0
  233. package/third-party-notices/@radix-ui__react-use-rect@1.1.4-LICENSE.txt +21 -0
  234. package/third-party-notices/@radix-ui__react-use-size@1.1.5-LICENSE.txt +21 -0
  235. package/third-party-notices/@radix-ui__rect@1.1.3-LICENSE.txt +21 -0
  236. package/third-party-notices/@tiptap__core@3.31.4-LICENSE.md.txt +21 -0
  237. package/third-party-notices/@tiptap__extension-blockquote@3.31.4-LICENSE.md.txt +21 -0
  238. package/third-party-notices/@tiptap__extension-bold@3.31.4-LICENSE.md.txt +21 -0
  239. package/third-party-notices/@tiptap__extension-bullet-list@3.31.4-LICENSE.md.txt +21 -0
  240. package/third-party-notices/@tiptap__extension-code-block@3.31.4-LICENSE.md.txt +21 -0
  241. package/third-party-notices/@tiptap__extension-code@3.31.4-LICENSE.md.txt +21 -0
  242. package/third-party-notices/@tiptap__extension-collaboration@3.31.4-LICENSE.md.txt +21 -0
  243. package/third-party-notices/@tiptap__extension-document@3.31.4-LICENSE.md.txt +21 -0
  244. package/third-party-notices/@tiptap__extension-dropcursor@3.31.4-LICENSE.md.txt +21 -0
  245. package/third-party-notices/@tiptap__extension-gapcursor@3.31.4-LICENSE.md.txt +21 -0
  246. package/third-party-notices/@tiptap__extension-hard-break@3.31.4-LICENSE.md.txt +21 -0
  247. package/third-party-notices/@tiptap__extension-heading@3.31.4-LICENSE.md.txt +21 -0
  248. package/third-party-notices/@tiptap__extension-horizontal-rule@3.31.4-LICENSE.md.txt +21 -0
  249. package/third-party-notices/@tiptap__extension-image@3.31.4-LICENSE.md.txt +21 -0
  250. package/third-party-notices/@tiptap__extension-italic@3.31.4-LICENSE.md.txt +21 -0
  251. package/third-party-notices/@tiptap__extension-link@3.31.4-LICENSE.md.txt +21 -0
  252. package/third-party-notices/@tiptap__extension-list-item@3.31.4-LICENSE.md.txt +21 -0
  253. package/third-party-notices/@tiptap__extension-list-keymap@3.31.4-LICENSE.md.txt +21 -0
  254. package/third-party-notices/@tiptap__extension-list@3.31.4-LICENSE.md.txt +21 -0
  255. package/third-party-notices/@tiptap__extension-ordered-list@3.31.4-LICENSE.md.txt +21 -0
  256. package/third-party-notices/@tiptap__extension-paragraph@3.31.4-LICENSE.md.txt +21 -0
  257. package/third-party-notices/@tiptap__extension-placeholder@3.31.4-LICENSE.md.txt +21 -0
  258. package/third-party-notices/@tiptap__extension-strike@3.31.4-LICENSE.md.txt +21 -0
  259. package/third-party-notices/@tiptap__extension-table-cell@3.31.4-LICENSE.md.txt +21 -0
  260. package/third-party-notices/@tiptap__extension-table-header@3.31.4-LICENSE.md.txt +21 -0
  261. package/third-party-notices/@tiptap__extension-table-row@3.31.4-LICENSE.md.txt +21 -0
  262. package/third-party-notices/@tiptap__extension-table@3.31.4-LICENSE.md.txt +21 -0
  263. package/third-party-notices/@tiptap__extension-task-item@3.31.4-LICENSE.md.txt +21 -0
  264. package/third-party-notices/@tiptap__extension-task-list@3.31.4-LICENSE.md.txt +21 -0
  265. package/third-party-notices/@tiptap__extension-text@3.31.4-LICENSE.md.txt +21 -0
  266. package/third-party-notices/@tiptap__extension-underline@3.31.4-LICENSE.md.txt +21 -0
  267. package/third-party-notices/@tiptap__extensions@3.31.4-LICENSE.md.txt +21 -0
  268. package/third-party-notices/@tiptap__pm@3.31.4-LICENSE.txt +21 -0
  269. package/third-party-notices/@tiptap__starter-kit@3.31.4-LICENSE.md.txt +21 -0
  270. package/third-party-notices/@tiptap__y-tiptap@3.0.7-LICENSE.txt +22 -0
  271. package/third-party-notices/@types__hast@3.0.5-LICENSE.txt +21 -0
  272. package/third-party-notices/@types__node@14.18.63-LICENSE.txt +21 -0
  273. package/third-party-notices/@types__node@26.6.2-LICENSE.txt +21 -0
  274. package/third-party-notices/@types__react-dom@19.3.0-LICENSE.txt +21 -0
  275. package/third-party-notices/@types__react@19.3.0-LICENSE.txt +21 -0
  276. package/third-party-notices/@types__unist@3.0.3-LICENSE.txt +21 -0
  277. package/third-party-notices/@univerjs__core@1.1.0-LICENSE.txt +176 -0
  278. package/third-party-notices/@univerjs__design@1.1.0-LICENSE.txt +176 -0
  279. package/third-party-notices/@univerjs__docs-ui@1.1.0-LICENSE.txt +176 -0
  280. package/third-party-notices/@univerjs__docs@1.1.0-LICENSE.txt +176 -0
  281. package/third-party-notices/@univerjs__drawing@1.1.0-LICENSE.txt +176 -0
  282. package/third-party-notices/@univerjs__engine-formula@1.1.0-LICENSE.txt +176 -0
  283. package/third-party-notices/@univerjs__engine-render@1.1.0-LICENSE.txt +176 -0
  284. package/third-party-notices/@univerjs__icons@1.46.0-LICENSE.txt +21 -0
  285. package/third-party-notices/@univerjs__network@1.1.0-LICENSE.txt +176 -0
  286. package/third-party-notices/@univerjs__preset-sheets-core@1.1.0-LICENSE.txt +176 -0
  287. package/third-party-notices/@univerjs__preset-sheets-filter@1.1.0-LICENSE.txt +176 -0
  288. package/third-party-notices/@univerjs__preset-sheets-sort@1.1.0-LICENSE.txt +176 -0
  289. package/third-party-notices/@univerjs__presets@1.1.0-LICENSE.txt +176 -0
  290. package/third-party-notices/@univerjs__rpc@1.1.0-LICENSE.txt +176 -0
  291. package/third-party-notices/@univerjs__sheets-filter-ui@1.1.0-LICENSE.txt +176 -0
  292. package/third-party-notices/@univerjs__sheets-filter@1.1.0-LICENSE.txt +176 -0
  293. package/third-party-notices/@univerjs__sheets-formula-ui@1.1.0-LICENSE.txt +176 -0
  294. package/third-party-notices/@univerjs__sheets-formula@1.1.0-LICENSE.txt +176 -0
  295. package/third-party-notices/@univerjs__sheets-numfmt-ui@1.1.0-LICENSE.txt +176 -0
  296. package/third-party-notices/@univerjs__sheets-numfmt@1.1.0-LICENSE.txt +176 -0
  297. package/third-party-notices/@univerjs__sheets-sort-ui@1.1.0-LICENSE.txt +176 -0
  298. package/third-party-notices/@univerjs__sheets-sort@1.1.0-LICENSE.txt +176 -0
  299. package/third-party-notices/@univerjs__sheets-ui@1.1.0-LICENSE.txt +176 -0
  300. package/third-party-notices/@univerjs__sheets@1.1.0-LICENSE.txt +176 -0
  301. package/third-party-notices/@univerjs__telemetry@1.1.0-LICENSE.txt +176 -0
  302. package/third-party-notices/@univerjs__themes@1.1.0-LICENSE.txt +176 -0
  303. package/third-party-notices/@univerjs__ui@1.1.0-LICENSE.txt +176 -0
  304. package/third-party-notices/@wendellhu__redi@1.1.3-LICENSE.txt +7 -0
  305. package/third-party-notices/ansi-regex@5.0.1-license.txt +9 -0
  306. package/third-party-notices/ansi-styles@4.3.0-license.txt +9 -0
  307. package/third-party-notices/archiver-utils@2.1.0-LICENSE.txt +22 -0
  308. package/third-party-notices/archiver-utils@3.0.4-LICENSE.txt +22 -0
  309. package/third-party-notices/archiver@5.3.2-LICENSE.txt +22 -0
  310. package/third-party-notices/aria-hidden@1.2.6-LICENSE.txt +21 -0
  311. package/third-party-notices/array-buffer-byte-length@1.0.2-LICENSE.txt +21 -0
  312. package/third-party-notices/arraybuffer.prototype.slice@1.0.4-LICENSE.txt +21 -0
  313. package/third-party-notices/async-function@1.0.0-LICENSE.txt +21 -0
  314. package/third-party-notices/async-lock@1.4.1-LICENSE.txt +22 -0
  315. package/third-party-notices/async@3.2.6-LICENSE.txt +19 -0
  316. package/third-party-notices/available-typed-arrays@1.0.7-LICENSE.txt +21 -0
  317. package/third-party-notices/balanced-match@1.0.2-LICENSE.md.txt +21 -0
  318. package/third-party-notices/base64-js@1.5.1-LICENSE.txt +21 -0
  319. package/third-party-notices/big-integer@1.6.52-LICENSE.txt +24 -0
  320. package/third-party-notices/bl@4.1.0-LICENSE.md.txt +13 -0
  321. package/third-party-notices/bluebird@3.4.7-LICENSE.txt +21 -0
  322. package/third-party-notices/brace-expansion@1.1.21-LICENSE.txt +21 -0
  323. package/third-party-notices/brace-expansion@2.1.7-LICENSE.txt +21 -0
  324. package/third-party-notices/buffer-crc32@0.2.13-LICENSE.txt +19 -0
  325. package/third-party-notices/buffer-indexof-polyfill@1.0.2-LICENSE.txt +22 -0
  326. package/third-party-notices/buffer@5.7.1-LICENSE.txt +21 -0
  327. package/third-party-notices/call-bind-apply-helpers@1.0.2-LICENSE.txt +21 -0
  328. package/third-party-notices/call-bind@1.0.9-LICENSE.txt +21 -0
  329. package/third-party-notices/call-bound@1.0.4-LICENSE.txt +21 -0
  330. package/third-party-notices/class-variance-authority@0.7.1-LICENSE.txt +190 -0
  331. package/third-party-notices/cliui@8.0.1-LICENSE.txt.txt +14 -0
  332. package/third-party-notices/clsx@2.1.1-license.txt +9 -0
  333. package/third-party-notices/cmdk@1.1.1-LICENSE.md.txt +21 -0
  334. package/third-party-notices/collapse-white-space@2.1.0-license.txt +22 -0
  335. package/third-party-notices/color-convert@2.0.1-LICENSE.txt +21 -0
  336. package/third-party-notices/color-name@1.1.4-LICENSE.txt +8 -0
  337. package/third-party-notices/commander@15.0.0-LICENSE.txt +22 -0
  338. package/third-party-notices/compress-commons@4.1.2-LICENSE.txt +22 -0
  339. package/third-party-notices/concat-map@0.0.1-LICENSE.txt +18 -0
  340. package/third-party-notices/core-util-is@1.0.3-LICENSE.txt +19 -0
  341. package/third-party-notices/crc-32@1.2.2-LICENSE.txt +201 -0
  342. package/third-party-notices/crc32-stream@4.0.3-LICENSE.txt +22 -0
  343. package/third-party-notices/csstype@3.2.3-LICENSE.txt +19 -0
  344. package/third-party-notices/data-view-buffer@1.0.2-LICENSE.txt +21 -0
  345. package/third-party-notices/data-view-byte-length@1.0.2-LICENSE.txt +21 -0
  346. package/third-party-notices/data-view-byte-offset@1.0.1-LICENSE.txt +21 -0
  347. package/third-party-notices/dayjs@1.11.23-LICENSE.txt +21 -0
  348. package/third-party-notices/decimal.js@10.6.0-LICENCE.md.txt +23 -0
  349. package/third-party-notices/define-data-property@1.1.4-LICENSE.txt +21 -0
  350. package/third-party-notices/define-properties@1.2.1-LICENSE.txt +21 -0
  351. package/third-party-notices/dequal@2.0.3-license.txt +21 -0
  352. package/third-party-notices/detect-node-es@1.1.0-LICENSE.txt +21 -0
  353. package/third-party-notices/devlop@1.1.0-license.txt +22 -0
  354. package/third-party-notices/dunder-proto@1.0.1-LICENSE.txt +21 -0
  355. package/third-party-notices/duplexer2@0.1.4-LICENSE.md.txt +26 -0
  356. package/third-party-notices/end-of-stream@1.4.5-LICENSE.txt +21 -0
  357. package/third-party-notices/es-abstract-get@1.0.0-LICENSE.txt +21 -0
  358. package/third-party-notices/es-abstract@1.24.2-LICENSE.txt +21 -0
  359. package/third-party-notices/es-define-property@1.0.1-LICENSE.txt +21 -0
  360. package/third-party-notices/es-errors@1.3.0-LICENSE.txt +21 -0
  361. package/third-party-notices/es-object-atoms@1.1.2-LICENSE.txt +21 -0
  362. package/third-party-notices/es-set-tostringtag@2.1.0-LICENSE.txt +21 -0
  363. package/third-party-notices/es-to-primitive@1.3.4-LICENSE.txt +22 -0
  364. package/third-party-notices/escalade@3.2.0-license.txt +9 -0
  365. package/third-party-notices/exceljs@4.4.0-LICENSE.txt +22 -0
  366. package/third-party-notices/fast-csv@4.3.6-LICENSE.txt +21 -0
  367. package/third-party-notices/fast-diff@1.3.0-LICENSE.txt +201 -0
  368. package/third-party-notices/for-each@0.3.5-LICENSE.txt +22 -0
  369. package/third-party-notices/fs-constants@1.0.0-LICENSE.txt +21 -0
  370. package/third-party-notices/fs.realpath@1.0.0-LICENSE.txt +43 -0
  371. package/third-party-notices/fstream@1.0.12-LICENSE.txt +15 -0
  372. package/third-party-notices/function-bind@1.1.2-LICENSE.txt +20 -0
  373. package/third-party-notices/function.prototype.name@1.2.0-LICENSE.txt +21 -0
  374. package/third-party-notices/functions-have-names@1.2.3-LICENSE.txt +21 -0
  375. package/third-party-notices/generator-function@2.0.1-LICENSE.md.txt +7 -0
  376. package/third-party-notices/get-caller-file@2.0.5-LICENSE.md.txt +6 -0
  377. package/third-party-notices/get-intrinsic@1.3.0-LICENSE.txt +21 -0
  378. package/third-party-notices/get-nonce@1.0.1-LICENSE.txt +21 -0
  379. package/third-party-notices/get-proto@1.0.1-LICENSE.txt +21 -0
  380. package/third-party-notices/get-symbol-description@1.1.0-LICENSE.txt +21 -0
  381. package/third-party-notices/glob@7.2.3-LICENSE.txt +21 -0
  382. package/third-party-notices/globalthis@1.0.4-LICENSE.txt +21 -0
  383. package/third-party-notices/gopd@1.2.0-LICENSE.txt +21 -0
  384. package/third-party-notices/graceful-fs@4.2.11-LICENSE.txt +15 -0
  385. package/third-party-notices/has-bigints@1.1.0-LICENSE.txt +21 -0
  386. package/third-party-notices/has-property-descriptors@1.0.2-LICENSE.txt +21 -0
  387. package/third-party-notices/has-proto@1.2.0-LICENSE.txt +21 -0
  388. package/third-party-notices/has-symbols@1.1.0-LICENSE.txt +21 -0
  389. package/third-party-notices/has-tostringtag@1.0.2-LICENSE.txt +21 -0
  390. package/third-party-notices/hasown@2.0.4-LICENSE.txt +21 -0
  391. package/third-party-notices/highlight.js@11.11.2-LICENSE.txt +29 -0
  392. package/third-party-notices/ieee754@1.2.1-LICENSE.txt +11 -0
  393. package/third-party-notices/immediate@3.0.6-LICENSE.txt.txt +20 -0
  394. package/third-party-notices/inflight@1.0.6-LICENSE.txt +15 -0
  395. package/third-party-notices/inherits@2.0.4-LICENSE.txt +16 -0
  396. package/third-party-notices/internal-slot@1.1.0-LICENSE.txt +21 -0
  397. package/third-party-notices/is-array-buffer@3.0.5-LICENSE.txt +21 -0
  398. package/third-party-notices/is-async-function@2.1.1-LICENSE.txt +20 -0
  399. package/third-party-notices/is-bigint@1.1.0-LICENSE.txt +21 -0
  400. package/third-party-notices/is-boolean-object@1.2.2-LICENSE.txt +22 -0
  401. package/third-party-notices/is-callable@1.2.7-LICENSE.txt +22 -0
  402. package/third-party-notices/is-data-view@1.0.2-LICENSE.txt +21 -0
  403. package/third-party-notices/is-date-object@1.1.0-LICENSE.txt +22 -0
  404. package/third-party-notices/is-document.all@1.0.0-LICENSE.txt +21 -0
  405. package/third-party-notices/is-finalizationregistry@1.1.1-LICENSE.txt +21 -0
  406. package/third-party-notices/is-fullwidth-code-point@3.0.0-license.txt +9 -0
  407. package/third-party-notices/is-generator-function@1.1.2-LICENSE.txt +20 -0
  408. package/third-party-notices/is-map@2.0.3-LICENSE.txt +21 -0
  409. package/third-party-notices/is-negative-zero@2.0.3-LICENSE.txt +20 -0
  410. package/third-party-notices/is-number-object@1.1.1-LICENSE.txt +22 -0
  411. package/third-party-notices/is-regex@1.2.1-LICENSE.txt +20 -0
  412. package/third-party-notices/is-set@2.0.3-LICENSE.txt +21 -0
  413. package/third-party-notices/is-shared-array-buffer@1.0.4-LICENSE.txt +21 -0
  414. package/third-party-notices/is-string@1.1.1-LICENSE.txt +22 -0
  415. package/third-party-notices/is-symbol@1.1.1-LICENSE.txt +22 -0
  416. package/third-party-notices/is-typed-array@1.1.15-LICENSE.txt +22 -0
  417. package/third-party-notices/is-weakmap@2.0.2-LICENSE.txt +21 -0
  418. package/third-party-notices/is-weakref@1.1.1-LICENSE.txt +21 -0
  419. package/third-party-notices/is-weakset@2.0.4-LICENSE.txt +21 -0
  420. package/third-party-notices/isarray@2.0.5-LICENSE.txt +21 -0
  421. package/third-party-notices/isomorphic.js@0.2.5-LICENSE.txt +21 -0
  422. package/third-party-notices/jszip@3.10.2-LICENSE.markdown.txt +651 -0
  423. package/third-party-notices/katex@0.18.9-LICENSE.txt +21 -0
  424. package/third-party-notices/kdbush@4.1.0-LICENSE.txt +15 -0
  425. package/third-party-notices/lazystream@1.0.1-LICENSE.txt +23 -0
  426. package/third-party-notices/lib0@0.2.119-LICENSE.txt +21 -0
  427. package/third-party-notices/lie@3.3.0-license.md.txt +7 -0
  428. package/third-party-notices/linkifyjs@4.3.3-LICENSE.txt +19 -0
  429. package/third-party-notices/listenercount@1.0.1-LICENSE.md.txt +5 -0
  430. package/third-party-notices/lodash-es@4.18.1-LICENSE.txt +47 -0
  431. package/third-party-notices/lodash.camelcase@4.3.0-LICENSE.txt +47 -0
  432. package/third-party-notices/lodash.defaults@4.2.0-LICENSE.txt +47 -0
  433. package/third-party-notices/lodash.difference@4.5.0-LICENSE.txt +47 -0
  434. package/third-party-notices/lodash.escaperegexp@4.1.2-LICENSE.txt +47 -0
  435. package/third-party-notices/lodash.flatten@4.4.0-LICENSE.txt +47 -0
  436. package/third-party-notices/lodash.groupby@4.6.0-LICENSE.txt +47 -0
  437. package/third-party-notices/lodash.isboolean@3.0.3-LICENSE.txt +22 -0
  438. package/third-party-notices/lodash.isequal@4.5.0-LICENSE.txt +47 -0
  439. package/third-party-notices/lodash.isfunction@3.0.9-LICENSE.txt +47 -0
  440. package/third-party-notices/lodash.isnil@4.0.0-LICENSE.txt +22 -0
  441. package/third-party-notices/lodash.isplainobject@4.0.6-LICENSE.txt +47 -0
  442. package/third-party-notices/lodash.isundefined@3.0.1-LICENSE.txt.txt +22 -0
  443. package/third-party-notices/lodash.union@4.6.0-LICENSE.txt +47 -0
  444. package/third-party-notices/lodash.uniq@4.5.0-LICENSE.txt +47 -0
  445. package/third-party-notices/long@5.3.2-LICENSE.txt +202 -0
  446. package/third-party-notices/lowlight@3.3.0-license.txt +22 -0
  447. package/third-party-notices/math-intrinsics@1.1.0-LICENSE.txt +21 -0
  448. package/third-party-notices/minimatch@3.1.5-LICENSE.txt +15 -0
  449. package/third-party-notices/minimatch@5.1.9-LICENSE.txt +15 -0
  450. package/third-party-notices/minimist@1.2.8-LICENSE.txt +18 -0
  451. package/third-party-notices/mkdirp@0.5.6-LICENSE.txt +21 -0
  452. package/third-party-notices/n-gram@2.0.2-license.txt +22 -0
  453. package/third-party-notices/normalize-path@3.0.0-LICENSE.txt +21 -0
  454. package/third-party-notices/numfmt@4.0.1-LICENSE.txt +19 -0
  455. package/third-party-notices/object-inspect@1.13.4-LICENSE.txt +21 -0
  456. package/third-party-notices/object-keys@1.1.1-LICENSE.txt +21 -0
  457. package/third-party-notices/object.assign@4.1.7-LICENSE.txt +21 -0
  458. package/third-party-notices/once@1.4.0-LICENSE.txt +15 -0
  459. package/third-party-notices/orderedmap@2.1.1-LICENSE.txt +19 -0
  460. package/third-party-notices/own-keys@1.0.2-LICENSE.txt +21 -0
  461. package/third-party-notices/pako@1.0.11-LICENSE.txt +21 -0
  462. package/third-party-notices/path-is-absolute@1.0.1-license.txt +21 -0
  463. package/third-party-notices/possible-typed-array-names@1.1.0-LICENSE.txt +21 -0
  464. package/third-party-notices/process-nextick-args@2.0.1-license.md.txt +19 -0
  465. package/third-party-notices/prosemirror-changeset@2.4.4-LICENSE.txt +19 -0
  466. package/third-party-notices/prosemirror-commands@1.7.2-LICENSE.txt +19 -0
  467. package/third-party-notices/prosemirror-dropcursor@1.8.4-LICENSE.txt +19 -0
  468. package/third-party-notices/prosemirror-gapcursor@1.4.1-LICENSE.txt +19 -0
  469. package/third-party-notices/prosemirror-history@1.5.1-LICENSE.txt +19 -0
  470. package/third-party-notices/prosemirror-inputrules@1.5.1-LICENSE.txt +19 -0
  471. package/third-party-notices/prosemirror-keymap@1.2.3-LICENSE.txt +19 -0
  472. package/third-party-notices/prosemirror-model@1.25.12-LICENSE.txt +19 -0
  473. package/third-party-notices/prosemirror-schema-list@1.5.1-LICENSE.txt +19 -0
  474. package/third-party-notices/prosemirror-state@1.4.4-LICENSE.txt +19 -0
  475. package/third-party-notices/prosemirror-tables@1.8.5-LICENSE.txt +19 -0
  476. package/third-party-notices/prosemirror-transform@1.12.2-LICENSE.txt +19 -0
  477. package/third-party-notices/prosemirror-view@1.42.6-LICENSE.txt +19 -0
  478. package/third-party-notices/protobufjs@7.6.6-LICENSE.txt +39 -0
  479. package/third-party-notices/quickselect@3.0.0-LICENSE.txt +15 -0
  480. package/third-party-notices/rbush@4.0.1-LICENSE.txt +21 -0
  481. package/third-party-notices/react-dom@19.3.1-LICENSE.txt +21 -0
  482. package/third-party-notices/react-remove-scroll@2.7.2-LICENSE.txt +21 -0
  483. package/third-party-notices/react-style-singleton@2.2.3-LICENSE.txt +21 -0
  484. package/third-party-notices/react@19.3.1-LICENSE.txt +21 -0
  485. package/third-party-notices/readable-stream@2.3.8-LICENSE.txt +47 -0
  486. package/third-party-notices/readable-stream@3.6.2-LICENSE.txt +47 -0
  487. package/third-party-notices/readdir-glob@1.1.3-LICENSE.txt +201 -0
  488. package/third-party-notices/reflect.getprototypeof@1.0.10-LICENSE.txt +21 -0
  489. package/third-party-notices/regexp.prototype.flags@1.5.4-LICENSE.txt +22 -0
  490. package/third-party-notices/require-directory@2.1.1-LICENSE.txt +22 -0
  491. package/third-party-notices/rimraf@2.7.1-LICENSE.txt +15 -0
  492. package/third-party-notices/rope-sequence@1.3.4-LICENSE.txt +19 -0
  493. package/third-party-notices/rxjs@7.8.2-LICENSE.txt.txt +202 -0
  494. package/third-party-notices/safe-array-concat@1.1.4-LICENSE.txt +21 -0
  495. package/third-party-notices/safe-buffer@5.1.2-LICENSE.txt +21 -0
  496. package/third-party-notices/safe-buffer@5.2.1-LICENSE.txt +21 -0
  497. package/third-party-notices/safe-push-apply@1.0.0-LICENSE.txt +21 -0
  498. package/third-party-notices/safe-regex-test@1.1.0-LICENSE.txt +21 -0
  499. package/third-party-notices/scheduler@0.28.0-LICENSE.txt +21 -0
  500. package/third-party-notices/set-function-length@1.2.2-LICENSE.txt +21 -0
  501. package/third-party-notices/set-function-name@2.0.2-LICENSE.txt +21 -0
  502. package/third-party-notices/set-proto@1.0.0-LICENSE.txt +21 -0
  503. package/third-party-notices/setimmediate@1.0.5-LICENSE.txt.txt +20 -0
  504. package/third-party-notices/side-channel-list@1.0.1-LICENSE.txt +21 -0
  505. package/third-party-notices/side-channel-map@1.0.1-LICENSE.txt +21 -0
  506. package/third-party-notices/side-channel-weakmap@1.0.2-LICENSE.txt +21 -0
  507. package/third-party-notices/side-channel@1.1.1-LICENSE.txt +21 -0
  508. package/third-party-notices/sonner@2.0.8-LICENSE.md.txt +21 -0
  509. package/third-party-notices/stop-iteration-iterator@1.1.0-LICENSE.txt +21 -0
  510. package/third-party-notices/string-width@4.2.3-license.txt +9 -0
  511. package/third-party-notices/string.prototype.trim@1.2.11-LICENSE.txt +21 -0
  512. package/third-party-notices/string.prototype.trimend@1.0.10-LICENSE.txt +21 -0
  513. package/third-party-notices/string.prototype.trimstart@1.0.8-LICENSE.txt +21 -0
  514. package/third-party-notices/string_decoder@1.1.1-LICENSE.txt +48 -0
  515. package/third-party-notices/string_decoder@1.3.0-LICENSE.txt +48 -0
  516. package/third-party-notices/strip-ansi@6.0.1-license.txt +9 -0
  517. package/third-party-notices/tar-stream@2.2.0-LICENSE.txt +21 -0
  518. package/third-party-notices/tiny-pinyin@1.3.2-LICENSE.txt +21 -0
  519. package/third-party-notices/tmp@0.2.7-LICENSE.txt +21 -0
  520. package/third-party-notices/traverse@0.3.10-LICENSE.txt +21 -0
  521. package/third-party-notices/trigram-utils@2.0.1-license.txt +22 -0
  522. package/third-party-notices/tslib@2.8.1-LICENSE.txt.txt +12 -0
  523. package/third-party-notices/typed-array-buffer@1.0.3-LICENSE.txt +21 -0
  524. package/third-party-notices/typed-array-byte-length@1.0.3-LICENSE.txt +21 -0
  525. package/third-party-notices/typed-array-byte-offset@1.0.5-LICENSE.txt +21 -0
  526. package/third-party-notices/typed-array-length@1.0.8-LICENSE.txt +21 -0
  527. package/third-party-notices/typedarray.prototype.slice@1.0.6-LICENSE.txt +21 -0
  528. package/third-party-notices/unbox-primitive@1.1.0-LICENSE.txt +21 -0
  529. package/third-party-notices/undici-types@8.9.0-LICENSE.txt +21 -0
  530. package/third-party-notices/unzipper@0.10.14-LICENSE.txt +25 -0
  531. package/third-party-notices/use-callback-ref@1.3.3-LICENSE.txt +21 -0
  532. package/third-party-notices/use-sidecar@1.1.3-LICENSE.txt +21 -0
  533. package/third-party-notices/util-deprecate@1.0.2-LICENSE.txt +24 -0
  534. package/third-party-notices/uuid@8.3.2-LICENSE.md.txt +9 -0
  535. package/third-party-notices/w3c-keyname@2.2.8-LICENSE.txt +19 -0
  536. package/third-party-notices/which-boxed-primitive@1.1.1-LICENSE.txt +21 -0
  537. package/third-party-notices/which-builtin-type@1.2.1-LICENSE.txt +21 -0
  538. package/third-party-notices/which-collection@1.0.2-LICENSE.txt +21 -0
  539. package/third-party-notices/which-typed-array@1.1.24-LICENSE.txt +22 -0
  540. package/third-party-notices/wrap-ansi@7.0.0-license.txt +9 -0
  541. package/third-party-notices/wrappy@1.0.2-LICENSE.txt +15 -0
  542. package/third-party-notices/xmlchars@2.2.0-LICENSE.txt +18 -0
  543. package/third-party-notices/y-protocols@1.0.7-LICENSE.txt +21 -0
  544. package/third-party-notices/y18n@5.0.8-LICENSE.txt +13 -0
  545. package/third-party-notices/yargs-parser@21.1.1-LICENSE.txt.txt +14 -0
  546. package/third-party-notices/yargs@17.7.3-LICENSE.txt +21 -0
  547. package/third-party-notices/yjs@13.6.33-LICENSE.txt +23 -0
  548. package/third-party-notices/zip-stream@4.1.1-LICENSE.txt +22 -0
@@ -0,0 +1,58 @@
1
+ /* One shell for the editor node view and the read-only renderer. */
2
+ .ywiki-content .ywiki-code-panel {
3
+ --code-bg:#ffffff;--code-header:#f7f8fa;--code-border:#e2e5e9;--code-text:#303640;--code-muted:#8a9099;
4
+ --code-keyword:#d13b52;--code-string:#2e8764;--code-number:#a66e12;--code-title:#8250b5;--code-property:#476f9c;--code-comment:#8a9099;--code-tag:#bf3c51;
5
+ position:relative;min-width:0;max-width:100%;border:1px solid var(--code-border);border-radius:7px;
6
+ background:var(--code-bg);color:var(--code-text);isolation:isolate;
7
+ }
8
+ .ywiki-content .ywiki-code-panel.code-theme-soft {
9
+ --code-bg:#f5f8fc;--code-header:#edf2f8;--code-border:#dce4ef;--code-text:#34445b;--code-muted:#8492a7;
10
+ --code-keyword:#3478bd;--code-string:#318b6d;--code-number:#9b7a1e;--code-title:#9851c4;--code-property:#516c9f;--code-comment:#8492a7;--code-tag:#b14c6c;
11
+ }
12
+ [data-wendang-theme='dark'] .ywiki-content .ywiki-code-panel.code-theme-auto,
13
+ .ywiki-content .ywiki-code-panel.code-theme-night {
14
+ --code-bg:#20242c;--code-header:#272c35;--code-border:#373e49;--code-text:#d7dde7;--code-muted:#929cac;
15
+ --code-keyword:#f58196;--code-string:#a5cf8b;--code-number:#efbc82;--code-title:#c6a0ee;--code-property:#89b9ee;--code-comment:#919cab;--code-tag:#f08a9d;
16
+ }
17
+ .code-toolbar {display:flex;align-items:center;gap:7px;min-height:38px;padding:4px 9px;background:var(--code-header);border-bottom:1px solid var(--code-border);border-radius:6px 6px 0 0;font:12px/1.5 var(--font-sans,system-ui,sans-serif);color:var(--code-muted);user-select:none;}
18
+ .code-toolbar-host {position:relative;z-index:2;}
19
+ .code-toolbar-actions {display:flex;align-items:center;gap:7px;margin-left:auto;min-width:0;}
20
+ .code-toolbar-summary {font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;}
21
+ /*
22
+ * 语言选择器在代码块的深色标题栏里,必须把 wui 的语义变量改指向代码块色板,
23
+ * 否则会是一块白底控件。面板本身渲染在 portal 根(正文之外),不继承这些
24
+ * 变量,因此下拉列表仍是普通的浅色菜单 —— 与其它菜单一致。
25
+ */
26
+ .code-language-select {width:146px;font-size:12px;--w-surface:var(--code-header);--w-text:var(--code-text);--w-text-faint:var(--code-muted);--w-border-strong:var(--code-border);--w-border:var(--code-border);--w-surface-subtle:color-mix(in srgb,var(--code-text) 10%,transparent);}
27
+ .code-language-label {max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;}
28
+ .code-toolbar-divider {height:15px;border-left:1px solid var(--code-border);margin:0 2px;}
29
+ .code-toolbar .code-copy-button,.code-toolbar .code-settings-button,.code-toolbar .code-fold-button {color:var(--code-muted);background:transparent;}
30
+ .code-toolbar .code-copy-button {min-width:86px;}
31
+ .code-toolbar .code-copy-button:hover,.code-toolbar .code-settings-button:hover,.code-toolbar .code-fold-button:hover {color:var(--code-text);background:color-mix(in srgb,var(--code-text) 6%,transparent);}
32
+ .code-copy-button svg {vertical-align:middle;}
33
+ .code-copy-announcement {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
34
+ .code-option-check {float:right;margin-left:24px;}
35
+ .code-theme-swatch {display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-right:8px;border:1px solid #c7ccd4;border-radius:3px;background:#fff;}
36
+ .code-theme-swatch[data-code-swatch='auto'] {background:linear-gradient(90deg,#fff 50%,#303743 50%);}
37
+ .code-theme-swatch[data-code-swatch='soft'] {background:#e6effa;}
38
+ .code-theme-swatch[data-code-swatch='night'] {background:#272c35;}
39
+ .ywiki-content .ywiki-code-panel .code-scroll {display:flex;align-items:stretch;position:relative;overflow:auto;max-height:464px;border-radius:0 0 6px 6px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--code-muted) 45%,transparent) transparent;background:var(--code-bg);}
40
+ .ywiki-content .ywiki-code-panel .code-scroll[hidden] {display:none;}
41
+ .ywiki-content .ywiki-code-panel.is-unlimited .code-scroll {max-height:none;}
42
+ .ywiki-content .ywiki-code-panel .code-line-numbers,
43
+ .ywiki-content .ywiki-code-panel pre.doc-code {font:13px/22px ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;font-variant-ligatures:none;tab-size:2;white-space:pre;}
44
+ .ywiki-content .ywiki-code-panel .code-line-numbers {position:sticky;left:0;z-index:1;align-self:stretch;flex:0 0 auto;min-width:42px;box-sizing:border-box;padding:12px 10px 12px 12px;text-align:right;color:var(--code-muted);background:var(--code-bg);border-right:1px solid color-mix(in srgb,var(--code-border) 65%,transparent);user-select:none;pointer-events:none;}
45
+ .ywiki-content .ywiki-code-panel pre.doc-code {flex:1 0 auto;min-width:0;max-width:none;margin:0!important;padding:12px 16px;border:0;border-radius:0;background:var(--code-bg);color:var(--code-text);overflow:visible;}
46
+ .ywiki-content .ywiki-code-panel pre.doc-code code {display:block;margin:0;padding:0;border:0;background:none;color:var(--code-text);font:inherit;white-space:inherit;tab-size:inherit;border-radius:0;}
47
+ .ywiki-content .ywiki-code-panel.is-collapsed .code-toolbar {border-bottom:0;border-radius:6px;}
48
+ .ywiki-content .ywiki-code-panel:focus-within {border-color:color-mix(in srgb,var(--color-accent) 45%,var(--code-border));}
49
+ .ywiki-content .ywiki-code-panel .code-scroll:focus-visible {outline:2px solid var(--color-accent);outline-offset:-2px;}
50
+ .ywiki-content .ywiki-code-panel :where(.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-meta) {color:var(--code-keyword);}
51
+ .ywiki-content .ywiki-code-panel :where(.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute) {color:var(--code-string);}
52
+ .ywiki-content .ywiki-code-panel :where(.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-variable,.hljs-template-variable) {color:var(--code-number);}
53
+ .ywiki-content .ywiki-code-panel :where(.hljs-title,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-type) {color:var(--code-title);}
54
+ .ywiki-content .ywiki-code-panel :where(.hljs-built_in,.hljs-attr,.hljs-property) {color:var(--code-property);}
55
+ .ywiki-content .ywiki-code-panel :where(.hljs-comment,.hljs-quote) {color:var(--code-comment);font-style:normal;}
56
+ .ywiki-content .ywiki-code-panel :where(.hljs-tag,.hljs-name,.hljs-deletion) {color:var(--code-tag);}
57
+ @media(max-width:600px){.code-toolbar{gap:4px;padding-inline:6px}.code-toolbar-actions{gap:4px}.code-language-select{width:108px}.code-toolbar-summary{display:none}.code-toolbar-divider{margin:0}.code-language-label{max-width:100px}.code-copy-button{min-width:72px!important}}
58
+ @media print{.ywiki-content .ywiki-code-panel .code-scroll{max-height:none!important;overflow:visible!important;display:flex!important}.code-toolbar-actions,.code-fold-button{display:none!important}.ywiki-content .ywiki-code-panel{break-inside:avoid}.ywiki-content .ywiki-code-panel pre.doc-code{white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:1}}
@@ -0,0 +1,619 @@
1
+ @import './code-block.css';
2
+ @import './callout.css';
3
+
4
+ /**
5
+ * 内容排版**单一真源**。
6
+ *
7
+ * 为什么单独一个文件(对齐《Wiki好用技术方案》1.1 的「单一 schema 真源」):
8
+ * 正文的观感必须在**编辑态与只读态完全一致**。此前编辑端样式写在
9
+ * `EditorPane.vue` 的 `.ywiki-prose`、只读端写在 `renderer/renderer.css`
10
+ * 的 `.doc-renderer`,两份各改各的——实测已经漂移(标题上间距 1.2em vs 1.6em、
11
+ * h5/h6 两端都没定义)。这里收敛为一份,两端只在根元素上带同一个类
12
+ * `ywiki-content`:
13
+ * - 编辑端:`editorProps.attributes.class = 'ywiki-prose ywiki-content'`
14
+ * - 只读端:`DocRenderer` 根节点 `class="doc-renderer ywiki-content"`
15
+ *
16
+ * 只保留「只有一端才有」的规则在各自文件里(如编辑端的块手柄、只读端的
17
+ * 图片懒加载占位)。凡是两端都会渲染的元素,样式只写在这里。
18
+ *
19
+ * 尺度以 docs/Wiki内容区域规范.md 为准;数值是 YWiki 的产品基线。
20
+ * 块间距由文件末尾的 flow 规则统一处理,容器结构使用 :where(),确保编辑根
21
+ * 与阅读根以及兼容 .doc-body 容器的选择器优先级相同。元素规则不再各自声明纵向 margin。
22
+ */
23
+
24
+ /* ---------------------------------------------------------------- 根与节奏 */
25
+ .ywiki-content {
26
+ min-width: 0;
27
+ container-type: inline-size;
28
+ container-name: wiki-content;
29
+ font-size: var(--content-font-size);
30
+ line-height: var(--content-line-height);
31
+ color: var(--content-text-color);
32
+ /* 标点空白裁剪(支持的浏览器生效);不修改正文中的中英文空格。 */
33
+ text-spacing-trim: space-all;
34
+ overflow-wrap: anywhere;
35
+ word-break: normal;
36
+ }
37
+
38
+ /* reset 与 flow 都只有 .ywiki-content 的一份 class 权重。
39
+ 避免 p/ul/pre 的 margin: 0 压过编辑端的相邻块间距。 */
40
+ .ywiki-content :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, pre, table, hr, img) {
41
+ margin-block: 0;
42
+ }
43
+ /* 用户输入的空段落也必须在阅读端保留一行,不能只在编辑端占高度。 */
44
+ .ywiki-content p:empty {
45
+ min-height: calc(1em * var(--content-line-height));
46
+ }
47
+ .ywiki-content :where(h1, h2, h3, h4, h5, h6):empty {
48
+ min-height: 1.3em;
49
+ }
50
+
51
+ /* ---------------------------------------------------------------- 标题层级
52
+ 标题字号随正文 token 等比缩放。
53
+ 字重统一 600(原 650 偏重),标题带轻微负字距更像正文排版而非 UI 文本。 */
54
+ .ywiki-content h1,
55
+ .ywiki-content h2,
56
+ .ywiki-content h3,
57
+ .ywiki-content h4,
58
+ .ywiki-content h5,
59
+ .ywiki-content h6 {
60
+ font-weight: 600;
61
+ color: var(--content-heading-color);
62
+ line-height: 1.3;
63
+ letter-spacing: -0.01em;
64
+ /* 目录跳转时留出顶部空间,避免标题被页头挡住 */
65
+ scroll-margin-top: var(--content-scroll-offset);
66
+ }
67
+ .ywiki-content h1 { font-size: calc(var(--content-font-size) * 1.625); }
68
+ .ywiki-content h2 { font-size: calc(var(--content-font-size) * 1.375); }
69
+ .ywiki-content h3 { font-size: calc(var(--content-font-size) * 1.125); }
70
+ .ywiki-content h4 { font-size: var(--content-font-size); }
71
+ .ywiki-content h5 { font-size: var(--content-font-size); }
72
+ .ywiki-content h6 {
73
+ font-size: var(--content-font-size);
74
+ color: var(--color-text-muted);
75
+ letter-spacing: 0;
76
+ }
77
+
78
+ /* ---------------------------------------------------------------- 列表 */
79
+ .ywiki-content ul,
80
+ .ywiki-content ol {
81
+ padding-left: 1.5em;
82
+ }
83
+ .ywiki-content ul { list-style: disc; }
84
+ .ywiki-content ol { list-style: decimal; }
85
+ /* 层级用不同符号区分,长嵌套下更容易看清层级。 */
86
+ .ywiki-content ul ul { list-style: circle; }
87
+ .ywiki-content ul ul ul { list-style: square; }
88
+ .ywiki-content li + li { margin-top: var(--space-list-item); }
89
+ .ywiki-content li::marker { color: var(--color-text-muted); }
90
+ /* 列表项段落的 reset 与内部间距同样由 flow 规则提供。 */
91
+
92
+ /* 待办列表:编辑端是 ul[data-type='taskList'],只读端是 ul.doc-task-list。
93
+ 勾选框与正文左缘齐平、且与首行文字垂直居中(此前水平缩进 4px、垂直偏低约 5px,
94
+ 用户反馈"不对齐")。刻意不用普通列表的 1.5em 缩进——待办项希望勾选框与
95
+ 上方段落左对齐,读起来是一条直线。 */
96
+ .ywiki-content ul.doc-task-list,
97
+ .ywiki-content ul[data-type='taskList'] {
98
+ list-style: none;
99
+ padding-left: 0;
100
+ }
101
+ .ywiki-content li.doc-task-item,
102
+ .ywiki-content ul[data-type='taskList'] > li {
103
+ display: flex;
104
+ gap: 0.5em;
105
+ align-items: flex-start;
106
+ line-height: var(--content-line-height);
107
+ }
108
+ .ywiki-content li.doc-task-item > input[type='checkbox'],
109
+ .ywiki-content ul[data-type='taskList'] > li > label > input[type='checkbox'] {
110
+ flex: none;
111
+ font: inherit;
112
+ width: 1em;
113
+ height: 1em;
114
+ margin: 0;
115
+ accent-color: var(--color-accent);
116
+ }
117
+ /* 阅读端的 input 直接参与任务项布局,用上边距对齐首行。
118
+ 编辑端由首行等高的 label 居中,不能再给 input 叠加这段偏移。 */
119
+ .ywiki-content li.doc-task-item > input[type='checkbox'] {
120
+ margin-top: calc((var(--content-line-height) - 1) * 0.5em);
121
+ }
122
+ .ywiki-content li.doc-task-item > span,
123
+ .ywiki-content ul[data-type='taskList'] > li > div {
124
+ min-width: 0;
125
+ flex: 1;
126
+ }
127
+
128
+ /* ---------------------------------------------------------------- 引用 */
129
+ .ywiki-content blockquote {
130
+ border-left: 3px solid var(--color-border-strong);
131
+ padding: 0.1em 0 0.1em 1em;
132
+ color: var(--color-text-muted);
133
+ }
134
+
135
+ /* 代码块外观由 code-block.css 统一;裸 pre 用于兼容内容。 */
136
+ .ywiki-content pre { overflow:auto; padding:12px 16px; border:1px solid var(--color-border); border-radius:6px; background:var(--color-code-bg); font:13px/22px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
137
+ .ywiki-content code { background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em; }
138
+
139
+ /* ---------------- 编辑端:公式就地编辑(nodeView) ---------------- */
140
+ .math-node { cursor: pointer; }
141
+ /* 渲染结果就位后,把它包在带淡底的容器里,提示"这是一段可点击编辑的公式" */
142
+ .math-node .math-render { border-radius: 4px; }
143
+ .math-node:hover .math-render {
144
+ background: color-mix(in srgb, var(--color-accent) 10%, transparent);
145
+ }
146
+ .math-node.is-editing .math-render { display: none; }
147
+ .math-latex-input {
148
+ width: 100%;
149
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
150
+ font-size: 0.875em;
151
+ padding: 2px 6px;
152
+ border: 1px solid var(--color-accent);
153
+ border-radius: 4px;
154
+ background: var(--color-surface);
155
+ color: var(--color-text);
156
+ }
157
+ /* ---------------------------------------------------------------- 表格
158
+ 文档网格:白色内容区、浅色表头、圆角外框;读写端共用。 */
159
+ .ywiki-content table,
160
+ .ywiki-content .doc-table {
161
+ --table-grid-color: var(--content-table-grid-color);
162
+ --table-header-bg: var(--content-table-header-bg);
163
+ border-collapse: separate;
164
+ border-spacing: 0;
165
+ /* 无显式列宽时按内容分配,避免说明列与短标签列被强制等分。
166
+ 有 colwidth 的表格仍通过两端共同的 colgroup + 表宽保留作者尺寸。 */
167
+ table-layout: auto;
168
+ width: 100%;
169
+ font-size: var(--content-table-font-size);
170
+ background: var(--color-surface);
171
+ border: 1px solid var(--table-grid-color);
172
+ border-radius: 6px;
173
+ overflow: hidden;
174
+ }
175
+ .ywiki-content :where(.doc-table-wrap, .tableWrapper) {
176
+ overflow-x: auto;
177
+ scrollbar-width: thin;
178
+ scrollbar-color: var(--color-border-strong) transparent;
179
+ }
180
+ .ywiki-content th,
181
+ .ywiki-content td {
182
+ border: none;
183
+ border-right: 1px solid var(--table-grid-color);
184
+ border-bottom: 1px solid var(--table-grid-color);
185
+ padding: 6px 8px;
186
+ line-height: var(--content-table-line-height);
187
+ min-width: 60px;
188
+ text-align: left;
189
+ vertical-align: top;
190
+ overflow-wrap: anywhere;
191
+ }
192
+ .ywiki-content th {
193
+ background: var(--table-header-bg);
194
+ color: var(--content-heading-color);
195
+ font-weight: 600;
196
+ }
197
+ .ywiki-content tr:last-child > :where(td, th) { border-bottom: none; }
198
+ .ywiki-content tr > :where(td, th):last-child { border-right: none; }
199
+ .ywiki-content tr:first-child > :where(td, th):first-child { border-top-left-radius: 5px; }
200
+ .ywiki-content tr:first-child > :where(td, th):last-child { border-top-right-radius: 5px; }
201
+ .ywiki-content tr:last-child > :where(td, th):first-child { border-bottom-left-radius: 5px; }
202
+ .ywiki-content tr:last-child > :where(td, th):last-child { border-bottom-right-radius: 5px; }
203
+
204
+ /* ---------------------------------------------------------------- 分割线 */
205
+ .ywiki-content hr {
206
+ border: none;
207
+ border-top: 1px solid var(--color-border);
208
+ }
209
+
210
+ /* ---------------------------------------------------------------- 图片 */
211
+ /* 图注(阅读端由 DocRenderer 渲染在图片下方) */
212
+ .ywiki-content .doc-image-caption {
213
+ margin-top: 6px;
214
+ color: var(--color-text-muted);
215
+ font-size: 12px;
216
+ line-height: 1.5;
217
+ text-align: center;
218
+ overflow: hidden;
219
+ text-overflow: ellipsis;
220
+ white-space: nowrap;
221
+ }
222
+ .ywiki-content .doc-image-gallery {
223
+ display: flex;
224
+ flex-wrap: wrap;
225
+ align-items: flex-start;
226
+ gap: 8px;
227
+ width: 100%;
228
+ }
229
+ .ywiki-content .doc-image-gallery > .doc-image[data-sized] {
230
+ /* 图库内的图由容器统一排布,忽略作者对单图设置的宽度。 */
231
+ margin-inline: 0;
232
+ }
233
+ /**
234
+ * 图片行:按比例铺满整行(与编辑态同一口径)。
235
+ *
236
+ * 列宽由 `flex-grow: 比例` 分配,高度由 `aspect-ratio` 自动产生,
237
+ * 因此同行几乎等高、右侧没有空白。
238
+ */
239
+ .ywiki-content .doc-image-gallery {
240
+ gap: 12px;
241
+ align-items: flex-start;
242
+ }
243
+ .ywiki-content .doc-image-gallery > .doc-image {
244
+ flex: 1 1 0;
245
+ min-width: 0;
246
+ width: auto;
247
+ height: auto;
248
+ max-width: none;
249
+ margin: 0;
250
+ aspect-ratio: var(--doc-image-aspect-ratio, 1.3333);
251
+ object-fit: contain;
252
+ /* 权重 = 原始比例 × 用户拖角设定的相对缩放 */
253
+ flex-grow: calc(var(--doc-image-aspect-ratio, 1) * var(--doc-image-weight, 1));
254
+ }
255
+ /**
256
+ * 带图注的图片在图片行里被一层 `<figure>` 包住,因此 **figure 才是 flex 子项**。
257
+ *
258
+ * 缺了这条规则时 figure 用默认 `flex: 0 1 auto`,按内部图片的固有宽度占位,
259
+ * 整行被挤成多行(实测两张 4:3 图变成上下两行、右侧留白),与"按比例铺满"
260
+ * 的口径不一致。变量由渲染器同时写到 figure 上(见 DocRenderer 的 galleryVars)。
261
+ */
262
+ .ywiki-content .doc-image-gallery > .doc-image-figure {
263
+ flex: 1 1 0;
264
+ min-width: 0;
265
+ margin: 0;
266
+ flex-grow: calc(var(--doc-image-aspect-ratio, 1) * var(--doc-image-weight, 1));
267
+ }
268
+ .ywiki-content .doc-image-gallery > .doc-image-figure > .doc-image {
269
+ /* 图注容器已按比例分到列宽,图片铺满容器即可。 */
270
+ width: 100%;
271
+ max-width: 100%;
272
+ margin: 0;
273
+ }
274
+ .ywiki-content .doc-image-gallery > .doc-image-figure > .doc-image-caption {
275
+ /* 行内已有 12px 列间距,图注不再额外缩进,跟随图片列宽。 */
276
+ margin-inline: 0;
277
+ }
278
+ .ywiki-content img,
279
+ .ywiki-content .doc-image {
280
+ display: block;
281
+ margin-inline: auto;
282
+ max-width: 100%;
283
+ height: auto;
284
+ border-radius: var(--content-media-radius);
285
+ }
286
+
287
+ /**
288
+ * 图片读取中:**渐变沿边框流动**的加载指示。
289
+ *
290
+ * ## 为什么不再用"整块灰底 + 微光"
291
+ *
292
+ * 静态灰块在浅色页面上几乎看不出是在加载,看起来更像"图丢了"或"这里是一块
293
+ * 空白"(用户多轮反馈)。改成一条沿边框奔跑的渐变——像贪吃蛇那样顺着圆角
294
+ * 绕圈,既明确表达"正在取",又不会往图片区域里填任何东西。
295
+ *
296
+ * ## 实现要点
297
+ *
298
+ * 1. **conic-gradient + 遮罩挖空**:整块铺一个锥形渐变,再用
299
+ * `mask-composite: exclude` 把中间挖掉,只留 2px 的一圈。
300
+ * `<img>` 是替换元素、`::before` 不渲染,所以不能像普通元素那样做双层。
301
+ * 2. **旋转靠 `@property` 注册角度变量**:conic-gradient 的 `from` 角度是离散值,
302
+ * 只有注册成 `<angle>` 类型才能被 `@keyframes` 平滑插值。不支持 `@property`
303
+ * 的浏览器会停在静态渐变上(仍有边框,只是不转)。
304
+ * 3. **加载完成时 `data-loading` 消失** → 遮罩一并移除,图片正常显示,
305
+ * 不会因为残留的 mask 把图片裁掉。
306
+ */
307
+ @property --ywiki-image-flow-angle {
308
+ syntax: '<angle>';
309
+ initial-value: 0deg;
310
+ inherits: false;
311
+ }
312
+
313
+ .ywiki-content .doc-image[data-loading] {
314
+ box-sizing: border-box;
315
+ /* 这 3px 就是"边框"的厚度:遮罩只保留它,中间透明 */
316
+ padding: 3px;
317
+ border-radius: var(--content-media-radius);
318
+ background-image: conic-gradient(
319
+ from var(--ywiki-image-flow-angle),
320
+ color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-subtle)) 0turn 55%,
321
+ color-mix(in srgb, var(--color-accent) 55%, transparent) 78%,
322
+ var(--color-accent) 92%,
323
+ color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-subtle)) 100%
324
+ );
325
+ -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
326
+ -webkit-mask-clip: content-box, border-box;
327
+ -webkit-mask-composite: xor;
328
+ mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
329
+ mask-clip: content-box, border-box;
330
+ mask-composite: exclude;
331
+ animation: ywiki-image-flow 1.4s linear infinite;
332
+ /* 独立图片没有 aspect-ratio 可撑高:给一个最小高度,否则框不可见 */
333
+ min-height: 120px;
334
+ }
335
+ /* 图片行内的高度由 aspect-ratio 决定,不要再叠加最小高度(会把行撑高) */
336
+ .ywiki-content .doc-image-gallery > .doc-image[data-loading] {
337
+ min-height: 0;
338
+ }
339
+ @keyframes ywiki-image-flow {
340
+ to { --ywiki-image-flow-angle: 360deg; }
341
+ }
342
+ /**
343
+ * 加载失败:一条很淡的实线边框 + 极浅底色,**不流动**。
344
+ *
345
+ * 与"加载中"靠"有没有在转"区分:正在转 = 还在取,静止 = 取不到。不需要图标
346
+ * 或文字(它们在大块图片里比图片本身还抢眼,用户实测反馈更丑)。
347
+ * 不用虚线:虚线在缩略图上会碎成一段段,看起来像边框画错了。
348
+ */
349
+ .ywiki-content .doc-image[data-image-error] {
350
+ box-sizing: border-box;
351
+ min-height: 72px;
352
+ background-color: color-mix(in srgb, var(--color-surface-subtle) 70%, var(--color-border));
353
+ border-radius: var(--content-media-radius);
354
+ outline: 1px solid color-mix(in srgb, var(--color-border-strong) 55%, transparent);
355
+ outline-offset: -1px;
356
+ /*
357
+ * 破图图标不在这里处理:组件在失败时给 `<img>` 换上透明像素(见
358
+ * `LazyAttachmentImage` 的 `TRANSPARENT_PIXEL`)。CSS 侧的 `content: ''`、
359
+ * `text-indent`、`font-size: 0` 都盖不住浏览器为失败图片绘制的那个图标。
360
+ */
361
+ }
362
+ .ywiki-content .doc-image-gallery > .doc-image[data-image-error] {
363
+ min-height: 0;
364
+ }
365
+ @media (prefers-reduced-motion: reduce) {
366
+ /* 减少动效:保留渐变的光段,只是不再旋转 */
367
+ .ywiki-content .doc-image[data-loading] {
368
+ animation: none;
369
+ }
370
+ }
371
+
372
+ /*
373
+ * 作者显式缩放过的图片(data-sized):**左对齐**,宽度即作者设定值。
374
+ * 与编辑端同一口径(EditorPane 的 .ywiki-image-frame[data-sized]):
375
+ * 缩放锚点固定在左缘,编辑端与阅读端观感一致;未缩放的图仍居中。
376
+ */
377
+ .ywiki-content .doc-image[data-sized] {
378
+ margin-left: 0;
379
+ margin-right: auto;
380
+ }
381
+
382
+ /*
383
+ * 图片工具条设置的显式对齐(data-align)优先于上面的默认规则。
384
+ * 三端共用同一语义:编辑端用 flex 对齐容器,阅读端用 margin 对齐图片。
385
+ */
386
+ .ywiki-content .doc-image[data-align='left'] { margin-left: 0; margin-right: auto; }
387
+ .ywiki-content .doc-image[data-align='center'] { margin-left: auto; margin-right: auto; }
388
+ .ywiki-content .doc-image[data-align='right'] { margin-left: auto; margin-right: 0; }
389
+
390
+ /* ---------------------------------------------------------------- 链接与行内 chip */
391
+ .ywiki-content a,
392
+ .ywiki-content .doc-link {
393
+ color: var(--color-accent);
394
+ text-decoration: none;
395
+ }
396
+ .ywiki-content a:hover,
397
+ .ywiki-content .doc-link:hover { text-decoration: underline; }
398
+
399
+ /* 页面引用:蓝色文字 + 淡下划线。 */
400
+ .ywiki-content .doc-page-link {
401
+ color: var(--color-accent);
402
+ text-decoration: none;
403
+ border-bottom: 1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);
404
+ }
405
+ .ywiki-content .doc-page-link:hover {
406
+ border-bottom-color: var(--color-accent);
407
+ text-decoration: none;
408
+ }
409
+ .ywiki-content .doc-page-link-plain { color: var(--color-text); }
410
+
411
+ /* @提及:蓝色药丸 */
412
+ .ywiki-content .doc-mention {
413
+ color: var(--color-accent);
414
+ background: var(--color-accent-soft);
415
+ border-radius: 4px;
416
+ padding: 0.05em 0.35em;
417
+ font-size: 0.95em;
418
+ font-weight: 500;
419
+ white-space: nowrap;
420
+ }
421
+
422
+ /* 文字高亮:无自定义颜色时的默认底色(自定义色走内联 style 覆盖) */
423
+ .ywiki-content mark,
424
+ .ywiki-content .doc-mark-highlight {
425
+ background: color-mix(in srgb, var(--color-warning) 30%, transparent);
426
+ border-radius: 2px;
427
+ padding: 0.05em 0.1em;
428
+ color: inherit;
429
+ }
430
+
431
+ /* ---------------------------------------------------------------- 分栏 */
432
+ .ywiki-content .doc-columns {
433
+ display: flex;
434
+ gap: 16px;
435
+ align-items: flex-start;
436
+ }
437
+ .ywiki-content .doc-column { flex: 1 1 0; min-width: 0; }
438
+ .ywiki-content .doc-column > *:first-child { margin-top: 0; }
439
+ @media (max-width: 560px) {
440
+ .ywiki-content .doc-columns { flex-direction: column; gap: 10px; }
441
+ }
442
+ @container wiki-content (max-width: 560px) {
443
+ .ywiki-content .doc-columns { flex-direction: column; gap: 10px; }
444
+ }
445
+
446
+ /* ---------------------------------------------------------------- 公式 */
447
+ .ywiki-content .doc-math-inline { display: inline-block; vertical-align: middle; }
448
+ .ywiki-content .doc-math-block {
449
+ display: block;
450
+ overflow-x: auto;
451
+ padding: 8px 0;
452
+ text-align: center;
453
+ }
454
+ .doc-math-pending {
455
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
456
+ font-size: 0.875em;
457
+ color: var(--color-text-muted);
458
+ }
459
+ .doc-math-error {
460
+ border: 1px dashed color-mix(in srgb, var(--color-danger) 50%, transparent);
461
+ border-radius: 4px;
462
+ padding: 0 4px;
463
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
464
+ font-size: 0.875em;
465
+ color: var(--color-danger);
466
+ }
467
+ .doc-math-error-hint { margin-left: 6px; font-size: 0.85em; opacity: 0.8; }
468
+
469
+ /* ---------------------------------------------------------------- 文件与媒体
470
+ 编辑 NodeView 与阅读卡片的结构类不同,盒模型与正文均由这一份样式提供。 */
471
+ .ywiki-content :where(.doc-file, .doc-file-attachment) {
472
+ border: 1px solid var(--color-border);
473
+ border-radius: 8px;
474
+ padding: 10px 12px;
475
+ background: var(--color-surface-subtle);
476
+ font-size: 14px;
477
+ color: var(--color-text-muted);
478
+ }
479
+ .ywiki-content .doc-file-head { display: flex; align-items: center; gap: 8px; }
480
+ .ywiki-content .doc-file-icon { flex: none; }
481
+ .ywiki-content .doc-file-name {
482
+ flex: 1;
483
+ min-width: 0;
484
+ overflow: hidden;
485
+ text-overflow: ellipsis;
486
+ white-space: nowrap;
487
+ }
488
+ .ywiki-content .doc-file-size { flex: none; font-size: 12px; color: var(--color-text-faint); }
489
+ .ywiki-content .doc-file-action {
490
+ flex: none;
491
+ border: 1px solid var(--color-border);
492
+ background: var(--color-surface);
493
+ border-radius: 6px;
494
+ padding: 2px 10px;
495
+ font-size: 12px;
496
+ color: var(--color-text-muted);
497
+ cursor: pointer;
498
+ }
499
+ .ywiki-content .doc-file-action:hover { color: var(--color-accent); border-color: var(--color-accent); }
500
+ .ywiki-content video.doc-file-video {
501
+ display: block;
502
+ width: 100%;
503
+ max-height: 420px;
504
+ margin-top: 8px;
505
+ border-radius: 6px;
506
+ background: #000;
507
+ }
508
+ .ywiki-content img.doc-file-image {
509
+ display: block;
510
+ max-width: 100%;
511
+ margin: 8px 0 0;
512
+ border-radius: 6px;
513
+ }
514
+
515
+ /* ---------------------------------------------------------------- 行内评论高亮
516
+ 编辑端与只读端共用同一套观感。
517
+
518
+ ## 同一黄色系三档,靠深浅表达强弱
519
+
520
+ 早先用 `--color-warning`(偏橙棕)叠 22%,是脏橘色、与正文高亮分不清;
521
+ 后来改淡米黄又太浅("看不到评论的选中区");再后来"有回复"用蓝色区分,
522
+ 用户反馈与黄色差别太大、容易误读成两类东西("可以搞多色,但是不要影响
523
+ 用户心智")。
524
+
525
+ 现在三档都在黄色家族里:普通评论亮黄底 + 深琥珀下划线,有回复加深一档,
526
+ 激活再深一档。下划线用深琥珀而不是亮黄——底色变亮后,浅色下划线在浅蓝
527
+ 或白色背景上都看不清(用户反馈"这个看不清,底部和背景色")。
528
+
529
+ ## 方角,不用圆角
530
+
531
+ `border-radius: 0`(用户明确要求)。标记是"文字底下的一条色带",
532
+ 圆角会让它在行内显得像按钮。
533
+
534
+ ## 提示不用原生 title
535
+
536
+ `title` 由浏览器绘制、样式不可控,这里由 `shared/comment-hint.ts` 自绘。 */
537
+ .ywiki-content .doc-inline-comment {
538
+ background: var(--comment-mark-bg, #ffe58f);
539
+ border-bottom: 2px solid var(--comment-mark-line, #d48806);
540
+ border-radius: 0;
541
+ /* 让底色与文字之间留一点空隙,读起来像"标记"而不是"文字被染色" */
542
+ padding-bottom: 1px;
543
+ cursor: pointer;
544
+ }
545
+ .ywiki-content .doc-inline-comment.has-replies {
546
+ background: var(--comment-mark-bg-reply, #ffd666);
547
+ border-bottom-color: var(--comment-mark-line-reply, #ad6800);
548
+ }
549
+ .ywiki-content .doc-inline-comment.is-active {
550
+ background: var(--comment-mark-bg-active, #ffc53d);
551
+ border-bottom-color: var(--comment-mark-line-active, #ad6800);
552
+ /* 激活项加一圈同色细边:与"有评论"区分开,一眼看出当前在看哪条 */
553
+ outline: 1px solid var(--comment-mark-line-active, #ad6800);
554
+ outline-offset: 1px;
555
+ }
556
+ /* 原文被改动:零宽落点用左侧竖线标记,避免伪装成正常高亮 */
557
+ .ywiki-content .doc-inline-comment.is-shifted {
558
+ border-left: 2px solid var(--color-danger);
559
+ padding-left: 1px;
560
+ background: transparent;
561
+ }
562
+
563
+ /* ---------------------------------------------------------------- 块流
564
+ 两端的结构路径放进 :where(),统一为 (0,1,0) 权重。规则放在元素 reset 之后,
565
+ 不以 !important 或逐个给 h/p 添加 class 来补偿 DOM 包装差异。
566
+ 引用、高亮块、分栏、单元格内部使用同一节奏,首尾不产生额外空白。 */
567
+ .ywiki-content > * + *,
568
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th) > * + * {
569
+ margin-top: var(--space-block);
570
+ }
571
+ .ywiki-content > :where(h1, h2, h3, h4, h5, h6),
572
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th) > :where(h1, h2, h3, h4, h5, h6) {
573
+ margin-top: var(--space-heading-top);
574
+ }
575
+ /* 标题与其后的内容是一组,连续标题也保持紧凑。 */
576
+ .ywiki-content > :where(h1, h2, h3, h4, h5, h6) + *,
577
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th) > :where(h1, h2, h3, h4, h5, h6) + * {
578
+ margin-top: var(--space-heading-bottom);
579
+ }
580
+ /* 待办项的 label 和内容容器横向排列,不在二者之间加纵向块间距。 */
581
+ /* TaskItem 的编辑 node view 没有 data-type,必须根据父 taskList 识别。 */
582
+ .ywiki-content :where(li:not(.doc-task-item):not(ul[data-type='taskList'] > li), li > div, li > span) > * + * {
583
+ margin-top: var(--space-list-block);
584
+ }
585
+ /* 结构模块与普通段落分开:两边都留模块间距,不能由短段距挤在一起。
586
+ 编辑 nodeView 与阅读包装分别列明,单元格最后再按其内部紧凑规则覆盖。 */
587
+ .ywiki-content > :where(ul, ol, blockquote, pre, table, img, .tableWrapper, .doc-table-wrap, .code-block-wrap, .doc-code-wrap, .ywiki-image-frame, .doc-image, .doc-callout, .doc-columns, .doc-file-attachment, .doc-file-video, .doc-video-embed, [data-video-embed], .doc-math-block, .math-block) ,
588
+ .ywiki-content > :where(ul, ol, blockquote, pre, table, img, .tableWrapper, .doc-table-wrap, .code-block-wrap, .doc-code-wrap, .ywiki-image-frame, .doc-image, .doc-callout, .doc-columns, .doc-file-attachment, .doc-file-video, .doc-video-embed, [data-video-embed], .doc-math-block, .math-block) + *,
589
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column) > :where(ul, ol, blockquote, pre, table, img, .tableWrapper, .doc-table-wrap, .code-block-wrap, .doc-code-wrap, .ywiki-image-frame, .doc-image, .doc-callout, .doc-columns, .doc-file-attachment, .doc-file-video, .doc-video-embed, [data-video-embed], .doc-math-block, .math-block),
590
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column) > :where(ul, ol, blockquote, pre, table, img, .tableWrapper, .doc-table-wrap, .code-block-wrap, .doc-code-wrap, .ywiki-image-frame, .doc-image, .doc-callout, .doc-columns, .doc-file-attachment, .doc-file-video, .doc-video-embed, [data-video-embed], .doc-math-block, .math-block) + * {
591
+ margin-top: var(--space-module);
592
+ }
593
+ /* 标题是章节边界;即使前面是表格、代码或媒体,也保留足够章节留白。 */
594
+ .ywiki-content > :where(h1, h2, h3, h4, h5, h6),
595
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column) > :where(h1, h2, h3, h4, h5, h6) {
596
+ margin-top: var(--space-heading-top);
597
+ }
598
+ .ywiki-content > :where(h1, h2, h3, h4, h5, h6) + *,
599
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column) > :where(h1, h2, h3, h4, h5, h6) + * {
600
+ margin-top: var(--space-heading-bottom);
601
+ }
602
+ .ywiki-content > hr,
603
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th) > hr {
604
+ margin-block: var(--space-divider);
605
+ }
606
+ .ywiki-content > :first-child,
607
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th, li, li > div, li > span) > :first-child {
608
+ margin-top: 0;
609
+ }
610
+ .ywiki-content > :last-child,
611
+ .ywiki-content :where(.doc-body, blockquote, .doc-callout-content, .doc-column, td, th, li, li > div, li > span) > :last-child {
612
+ margin-bottom: 0;
613
+ }
614
+
615
+ /* 文档表格有自己的紧凑节奏,仍保留作者输入的空段落与显式加粗。 */
616
+ .ywiki-content :where(td, th) > * + * { margin-top: 0.25em; }
617
+ .ywiki-content :where(td, th) > :first-child { margin-top: 0; }
618
+ .ywiki-content :where(td, th) > :where(p, ul, ol) { font-weight: inherit; }
619
+ .ywiki-content :where(td, th) > p:empty { min-height: calc(1em * var(--content-table-line-height)); }