wendang-react 0.0.0-stage → 0.5.5
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.
- package/LICENSE +21 -0
- package/NOTICE.md +381 -0
- package/README.md +469 -2
- package/dist/bindings/yjs.js +5 -0
- package/dist/chunks/AnchoredPanel-D3nte06T.js +68 -0
- package/dist/chunks/MindMapCanvas-VWrxTy5Q.js +2070 -0
- package/dist/chunks/MindMapViewer-DqKu_Kuz.js +180 -0
- package/dist/chunks/SpreadsheetViewer-DN_QQGud.js +157 -0
- package/dist/chunks/code-highlight-BmaqTe1m.js +30 -0
- package/dist/chunks/code-highlight-engine-BFDzDPzy.js +40 -0
- package/dist/chunks/comment-hint-DN7LKJAn.js +296 -0
- package/dist/chunks/composition-state-Bl-U1R_2.js +40 -0
- package/dist/chunks/extensions-B-CVVQhp.js +4210 -0
- package/dist/chunks/fuzzy-match-DYQR-4w2.js +89 -0
- package/dist/chunks/hooks-C53Dp0pr.js +35 -0
- package/dist/chunks/host-C-V688Rq.js +197 -0
- package/dist/chunks/index-Ii536CFG.js +720 -0
- package/dist/chunks/katex-WjrodtTU.js +71 -0
- package/dist/chunks/mind-map-controller-B6SxK3GZ.js +479 -0
- package/dist/chunks/mind-map-delete-CVsxdXfs.js +31 -0
- package/dist/chunks/mind-map-input-CEWRz_t6.js +43 -0
- package/dist/chunks/mind-topic-text-BBNTbFSe.js +446 -0
- package/dist/chunks/nodes-iKqTGr_N.js +291 -0
- package/dist/chunks/popover-placement-D3xVYdkt.js +47 -0
- package/dist/chunks/worksheet-engine-TJ54m0KC.js +125 -0
- package/dist/chunks/worksheet-preview-DsDVWxIM.js +129 -0
- package/dist/document/viewer.js +287 -0
- package/dist/document.js +3620 -0
- package/dist/index.js +8 -0
- package/dist/mindmap/viewer.js +6 -0
- package/dist/mindmap.js +123 -0
- package/dist/shared.js +52 -0
- package/dist/spreadsheet/viewer.js +5 -0
- package/dist/spreadsheet/xlsx.js +299 -0
- package/dist/spreadsheet.js +120 -0
- package/dist/styles/callout.css +34 -0
- package/dist/styles/code-block.css +58 -0
- package/dist/styles/content-style.css +619 -0
- package/dist/styles/editor-interaction.css +621 -0
- package/dist/styles/file-video.css +12 -0
- package/dist/styles/image-preview.css +103 -0
- package/dist/styles/mind-map-block.css +14 -0
- package/dist/styles/mind-map-canvas.css +80 -0
- package/dist/styles/mind-map-comments.css +93 -0
- package/dist/styles/mind-map-details.css +7 -0
- package/dist/styles/mind-map-preview.css +7 -0
- package/dist/styles/mind-map-topic.css +112 -0
- package/dist/styles/page-picker.css +47 -0
- package/dist/styles/renderer.css +45 -0
- package/dist/styles/spreadsheet-editor.css +3 -0
- package/dist/styles/tokens.css +153 -0
- package/dist/styles/video-dialog.css +41 -0
- package/dist/styles/video-embed.css +35 -0
- package/dist/styles.css +2614 -0
- package/dist/types/bindings/yjs.d.ts +3 -0
- package/dist/types/document/viewer.d.ts +3 -0
- package/dist/types/document.d.ts +7 -0
- package/dist/types/editor/BlockAffordance.d.ts +47 -0
- package/dist/types/editor/CalloutView.d.ts +2 -0
- package/dist/types/editor/CodeBlockView.d.ts +9 -0
- package/dist/types/editor/DocumentColorPanel.d.ts +8 -0
- package/dist/types/editor/DocumentEditor.d.ts +71 -0
- package/dist/types/editor/ImagePreview.d.ts +10 -0
- package/dist/types/editor/LinkPopover.d.ts +21 -0
- package/dist/types/editor/PagePicker.d.ts +7 -0
- package/dist/types/editor/SelectionToolbar.d.ts +11 -0
- package/dist/types/editor/SlashMenu.d.ts +30 -0
- package/dist/types/editor/TableControls.d.ts +9 -0
- package/dist/types/editor/VideoEmbedDialog.d.ts +6 -0
- package/dist/types/editor/document-gestures.d.ts +13 -0
- package/dist/types/editor/extensions.d.ts +29 -0
- package/dist/types/editor/nodes.d.ts +20 -0
- package/dist/types/editor/same-document.d.ts +2 -0
- package/dist/types/engine/collab/presence.d.ts +1 -0
- package/dist/types/engine/editor/block-commands.d.ts +35 -0
- package/dist/types/engine/editor/block-conversion.d.ts +12 -0
- package/dist/types/engine/editor/block-drag.d.ts +16 -0
- package/dist/types/engine/editor/block-menu-placement.d.ts +16 -0
- package/dist/types/engine/editor/callout-commands.d.ts +4 -0
- package/dist/types/engine/editor/collab-change-origin.d.ts +2 -0
- package/dist/types/engine/editor/delete-block.d.ts +2 -0
- package/dist/types/engine/editor/extensions/block-format.d.ts +19 -0
- package/dist/types/engine/editor/extensions/block-handle.d.ts +17 -0
- package/dist/types/engine/editor/extensions/block-menu-highlight.d.ts +4 -0
- package/dist/types/engine/editor/extensions/block-selection.d.ts +117 -0
- package/dist/types/engine/editor/extensions/code-highlight.d.ts +2 -0
- package/dist/types/engine/editor/extensions/collab-cursor.d.ts +13 -0
- package/dist/types/engine/editor/extensions/ime-guard.d.ts +8 -0
- package/dist/types/engine/editor/extensions/inline-comments.d.ts +15 -0
- package/dist/types/engine/editor/extensions/paste-sanitizer.d.ts +4 -0
- package/dist/types/engine/editor/extensions/slash.d.ts +16 -0
- package/dist/types/engine/editor/extensions/table-interaction.d.ts +9 -0
- package/dist/types/engine/editor/extensions/upload-placeholder.d.ts +48 -0
- package/dist/types/engine/editor/image-preview-gesture.d.ts +3 -0
- package/dist/types/engine/editor/ime/composition-state.d.ts +9 -0
- package/dist/types/engine/editor/insert-block.d.ts +6 -0
- package/dist/types/engine/editor/insert-picker-logic.d.ts +13 -0
- package/dist/types/engine/editor/link-edit.d.ts +10 -0
- package/dist/types/engine/editor/mind-map-controller.d.ts +63 -0
- package/dist/types/engine/editor/mind-map-delete.d.ts +7 -0
- package/dist/types/engine/editor/mind-map-drag.d.ts +16 -0
- package/dist/types/engine/editor/mind-map-input.d.ts +16 -0
- package/dist/types/engine/editor/mind-map-selection.d.ts +11 -0
- package/dist/types/engine/editor/nodes/columns.d.ts +6 -0
- package/dist/types/engine/editor/nodes/file-nodeview.d.ts +4 -0
- package/dist/types/engine/editor/nodes/file.d.ts +2 -0
- package/dist/types/engine/editor/nodes/image-gallery.d.ts +2 -0
- package/dist/types/engine/editor/nodes/image-nodeview.d.ts +4 -0
- package/dist/types/engine/editor/nodes/image.d.ts +1 -0
- package/dist/types/engine/editor/nodes/inline-style.d.ts +4 -0
- package/dist/types/engine/editor/nodes/math-nodeview.d.ts +2 -0
- package/dist/types/engine/editor/nodes/math.d.ts +3 -0
- package/dist/types/engine/editor/nodes/mention.d.ts +2 -0
- package/dist/types/engine/editor/nodes/mind-map-schema.d.ts +6 -0
- package/dist/types/engine/editor/nodes/page-link.d.ts +2 -0
- package/dist/types/engine/editor/nodes/table-cell.d.ts +4 -0
- package/dist/types/engine/editor/nodes/video-embed-schema.d.ts +2 -0
- package/dist/types/engine/editor/popover-placement.d.ts +35 -0
- package/dist/types/engine/editor/table-clipboard.d.ts +3 -0
- package/dist/types/engine/editor/table-commands.d.ts +20 -0
- package/dist/types/engine/editor/table-geometry.d.ts +34 -0
- package/dist/types/engine/editor/table-menu-placement.d.ts +30 -0
- package/dist/types/engine/editor/tracked-target.d.ts +8 -0
- package/dist/types/engine/editor/trailing-paragraph.d.ts +2 -0
- package/dist/types/engine/host.d.ts +2 -0
- package/dist/types/engine/renderer/attachments.d.ts +11 -0
- package/dist/types/engine/renderer/katex.d.ts +7 -0
- package/dist/types/engine/renderer/lazy-visible.d.ts +11 -0
- package/dist/types/engine/shared/callout.d.ts +1 -0
- package/dist/types/engine/shared/code-block.d.ts +1 -0
- package/dist/types/engine/shared/code-highlight-engine.d.ts +2 -0
- package/dist/types/engine/shared/code-highlight.d.ts +8 -0
- package/dist/types/engine/shared/comment-hint-position.d.ts +20 -0
- package/dist/types/engine/shared/comment-hint.d.ts +2 -0
- package/dist/types/engine/shared/document-colors.d.ts +1 -0
- package/dist/types/engine/shared/fuzzy-match.d.ts +13 -0
- package/dist/types/engine/shared/image-gallery.d.ts +1 -0
- package/dist/types/engine/shared/inline-comments.d.ts +1 -0
- package/dist/types/engine/shared/mind-map-phase2.d.ts +1 -0
- package/dist/types/engine/shared/mind-map.d.ts +1 -0
- package/dist/types/engine/shared/mind-topic-text.d.ts +1 -0
- package/dist/types/engine/shared/modal-stack.d.ts +6 -0
- package/dist/types/engine/shared/page-candidates.d.ts +6 -0
- package/dist/types/engine/shared/pinyin.d.ts +6 -0
- package/dist/types/engine/shared/preview-items.d.ts +10 -0
- package/dist/types/engine/shared/safe-href.d.ts +1 -0
- package/dist/types/engine/shared/table-cell-format.d.ts +1 -0
- package/dist/types/engine/shared/table-layout.d.ts +1 -0
- package/dist/types/engine/shared/video-embed.d.ts +1 -0
- package/dist/types/engine/shared/video-feedback.d.ts +1 -0
- package/dist/types/engine/shared/workbook.d.ts +1 -0
- package/dist/types/engine/worksheets/worksheet-engine.d.ts +16 -0
- package/dist/types/engine/worksheets/worksheet-format.d.ts +20 -0
- package/dist/types/engine/worksheets/worksheet-preview.d.ts +17 -0
- package/dist/types/engine/worksheets/worksheet-xlsx.d.ts +21 -0
- package/dist/types/engine/wui/core/dialog.d.ts +5 -0
- package/dist/types/engine/wui/core/listbox.d.ts +8 -0
- package/dist/types/engine/wui/core/placement.d.ts +40 -0
- package/dist/types/hooks.d.ts +7 -0
- package/dist/types/host-types.d.ts +58 -0
- package/dist/types/host.d.ts +24 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/mindmap/Comments.d.ts +9 -0
- package/dist/types/mindmap/Details.d.ts +13 -0
- package/dist/types/mindmap/Field.d.ts +10 -0
- package/dist/types/mindmap/MindMapCanvas.d.ts +19 -0
- package/dist/types/mindmap/MindMapEditor.d.ts +30 -0
- package/dist/types/mindmap/MindMapViewer.d.ts +23 -0
- package/dist/types/mindmap/TopicLabel.d.ts +4 -0
- package/dist/types/mindmap/viewer.d.ts +2 -0
- package/dist/types/mindmap.d.ts +4 -0
- package/dist/types/renderer/CodeToolbar.d.ts +10 -0
- package/dist/types/renderer/DocumentViewer.d.ts +23 -0
- package/dist/types/renderer/media.d.ts +33 -0
- package/dist/types/shared.d.ts +12 -0
- package/dist/types/spreadsheet/SpreadsheetEditor.d.ts +23 -0
- package/dist/types/spreadsheet/SpreadsheetViewer.d.ts +13 -0
- package/dist/types/spreadsheet/viewer.d.ts +2 -0
- package/dist/types/spreadsheet/xlsx.d.ts +2 -0
- package/dist/types/spreadsheet.d.ts +3 -0
- package/dist/types/wui/AnchoredPanel.d.ts +14 -0
- package/dist/types/wui/Dropdown.d.ts +18 -0
- package/dist/types/wui/Icon.d.ts +7 -0
- package/dist/types/wui/Tooltip.d.ts +5 -0
- package/dist/types/wui/index.d.ts +69 -0
- package/package.json +122 -3
- package/third-party-notices/@fast-csv__format@4.3.5-LICENSE.txt +21 -0
- package/third-party-notices/@fast-csv__parse@4.3.6-LICENSE.txt +21 -0
- package/third-party-notices/@flatten-js__interval-tree@1.1.3-LICENSE.txt +21 -0
- package/third-party-notices/@floating-ui__core@1.8.0-LICENSE.txt +20 -0
- package/third-party-notices/@floating-ui__dom@1.8.0-LICENSE.txt +20 -0
- package/third-party-notices/@floating-ui__react-dom@2.1.9-LICENSE.txt +20 -0
- package/third-party-notices/@floating-ui__utils@0.2.12-LICENSE.txt +20 -0
- package/third-party-notices/@grpc__grpc-js@1.14.6-LICENSE.txt +201 -0
- package/third-party-notices/@grpc__proto-loader@0.8.1-LICENSE.txt +201 -0
- package/third-party-notices/@js-sdsl__ordered-map@4.4.2-LICENSE.txt +21 -0
- package/third-party-notices/@protobufjs__aspromise@1.1.2-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__base64@1.1.2-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__codegen@2.0.5-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__eventemitter@1.1.1-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__fetch@1.1.1-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__float@1.0.2-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__path@1.1.2-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__pool@1.1.0-LICENSE.txt +26 -0
- package/third-party-notices/@protobufjs__utf8@1.1.2-LICENSE.txt +26 -0
- package/third-party-notices/@radix-ui__primitive@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-arrow@1.1.17-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-collection@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-compose-refs@1.1.5-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-context@1.3.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-dialog@1.3.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-direction@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-dismissable-layer@1.2.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-dropdown-menu@2.2.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-focus-guards@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-focus-scope@1.3.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-hover-card@1.2.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-id@1.1.4-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-menu@2.2.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-popover@1.3.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-popper@1.4.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-portal@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-presence@1.1.11-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-primitive@2.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-roving-focus@1.2.1-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-separator@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-slot@1.5.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-callback-ref@1.1.5-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-controllable-state@1.3.0-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-effect-event@0.0.5-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-is-hydrated@0.1.3-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-layout-effect@1.1.4-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-rect@1.1.4-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__react-use-size@1.1.5-LICENSE.txt +21 -0
- package/third-party-notices/@radix-ui__rect@1.1.3-LICENSE.txt +21 -0
- package/third-party-notices/@tiptap__core@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-blockquote@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-bold@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-bullet-list@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-code-block@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-code@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-collaboration@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-document@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-dropcursor@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-gapcursor@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-hard-break@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-heading@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-horizontal-rule@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-image@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-italic@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-link@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-list-item@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-list-keymap@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-list@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-ordered-list@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-paragraph@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-placeholder@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-strike@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-table-cell@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-table-header@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-table-row@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-table@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-task-item@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-task-list@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-text@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extension-underline@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__extensions@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__pm@3.31.4-LICENSE.txt +21 -0
- package/third-party-notices/@tiptap__starter-kit@3.31.4-LICENSE.md.txt +21 -0
- package/third-party-notices/@tiptap__y-tiptap@3.0.7-LICENSE.txt +22 -0
- package/third-party-notices/@types__hast@3.0.5-LICENSE.txt +21 -0
- package/third-party-notices/@types__node@14.18.63-LICENSE.txt +21 -0
- package/third-party-notices/@types__node@26.6.2-LICENSE.txt +21 -0
- package/third-party-notices/@types__react-dom@19.3.0-LICENSE.txt +21 -0
- package/third-party-notices/@types__react@19.3.0-LICENSE.txt +21 -0
- package/third-party-notices/@types__unist@3.0.3-LICENSE.txt +21 -0
- package/third-party-notices/@univerjs__core@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__design@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__docs-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__docs@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__drawing@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__engine-formula@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__engine-render@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__icons@1.46.0-LICENSE.txt +21 -0
- package/third-party-notices/@univerjs__network@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__preset-sheets-core@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__preset-sheets-filter@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__preset-sheets-sort@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__presets@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__rpc@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-filter-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-filter@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-formula-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-formula@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-numfmt-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-numfmt@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-sort-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-sort@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets-ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__sheets@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__telemetry@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__themes@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@univerjs__ui@1.1.0-LICENSE.txt +176 -0
- package/third-party-notices/@wendellhu__redi@1.1.3-LICENSE.txt +7 -0
- package/third-party-notices/ansi-regex@5.0.1-license.txt +9 -0
- package/third-party-notices/ansi-styles@4.3.0-license.txt +9 -0
- package/third-party-notices/archiver-utils@2.1.0-LICENSE.txt +22 -0
- package/third-party-notices/archiver-utils@3.0.4-LICENSE.txt +22 -0
- package/third-party-notices/archiver@5.3.2-LICENSE.txt +22 -0
- package/third-party-notices/aria-hidden@1.2.6-LICENSE.txt +21 -0
- package/third-party-notices/array-buffer-byte-length@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/arraybuffer.prototype.slice@1.0.4-LICENSE.txt +21 -0
- package/third-party-notices/async-function@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/async-lock@1.4.1-LICENSE.txt +22 -0
- package/third-party-notices/async@3.2.6-LICENSE.txt +19 -0
- package/third-party-notices/available-typed-arrays@1.0.7-LICENSE.txt +21 -0
- package/third-party-notices/balanced-match@1.0.2-LICENSE.md.txt +21 -0
- package/third-party-notices/base64-js@1.5.1-LICENSE.txt +21 -0
- package/third-party-notices/big-integer@1.6.52-LICENSE.txt +24 -0
- package/third-party-notices/bl@4.1.0-LICENSE.md.txt +13 -0
- package/third-party-notices/bluebird@3.4.7-LICENSE.txt +21 -0
- package/third-party-notices/brace-expansion@1.1.21-LICENSE.txt +21 -0
- package/third-party-notices/brace-expansion@2.1.7-LICENSE.txt +21 -0
- package/third-party-notices/buffer-crc32@0.2.13-LICENSE.txt +19 -0
- package/third-party-notices/buffer-indexof-polyfill@1.0.2-LICENSE.txt +22 -0
- package/third-party-notices/buffer@5.7.1-LICENSE.txt +21 -0
- package/third-party-notices/call-bind-apply-helpers@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/call-bind@1.0.9-LICENSE.txt +21 -0
- package/third-party-notices/call-bound@1.0.4-LICENSE.txt +21 -0
- package/third-party-notices/class-variance-authority@0.7.1-LICENSE.txt +190 -0
- package/third-party-notices/cliui@8.0.1-LICENSE.txt.txt +14 -0
- package/third-party-notices/clsx@2.1.1-license.txt +9 -0
- package/third-party-notices/cmdk@1.1.1-LICENSE.md.txt +21 -0
- package/third-party-notices/collapse-white-space@2.1.0-license.txt +22 -0
- package/third-party-notices/color-convert@2.0.1-LICENSE.txt +21 -0
- package/third-party-notices/color-name@1.1.4-LICENSE.txt +8 -0
- package/third-party-notices/commander@15.0.0-LICENSE.txt +22 -0
- package/third-party-notices/compress-commons@4.1.2-LICENSE.txt +22 -0
- package/third-party-notices/concat-map@0.0.1-LICENSE.txt +18 -0
- package/third-party-notices/core-util-is@1.0.3-LICENSE.txt +19 -0
- package/third-party-notices/crc-32@1.2.2-LICENSE.txt +201 -0
- package/third-party-notices/crc32-stream@4.0.3-LICENSE.txt +22 -0
- package/third-party-notices/csstype@3.2.3-LICENSE.txt +19 -0
- package/third-party-notices/data-view-buffer@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/data-view-byte-length@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/data-view-byte-offset@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/dayjs@1.11.23-LICENSE.txt +21 -0
- package/third-party-notices/decimal.js@10.6.0-LICENCE.md.txt +23 -0
- package/third-party-notices/define-data-property@1.1.4-LICENSE.txt +21 -0
- package/third-party-notices/define-properties@1.2.1-LICENSE.txt +21 -0
- package/third-party-notices/dequal@2.0.3-license.txt +21 -0
- package/third-party-notices/detect-node-es@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/devlop@1.1.0-license.txt +22 -0
- package/third-party-notices/dunder-proto@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/duplexer2@0.1.4-LICENSE.md.txt +26 -0
- package/third-party-notices/end-of-stream@1.4.5-LICENSE.txt +21 -0
- package/third-party-notices/es-abstract-get@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/es-abstract@1.24.2-LICENSE.txt +21 -0
- package/third-party-notices/es-define-property@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/es-errors@1.3.0-LICENSE.txt +21 -0
- package/third-party-notices/es-object-atoms@1.1.2-LICENSE.txt +21 -0
- package/third-party-notices/es-set-tostringtag@2.1.0-LICENSE.txt +21 -0
- package/third-party-notices/es-to-primitive@1.3.4-LICENSE.txt +22 -0
- package/third-party-notices/escalade@3.2.0-license.txt +9 -0
- package/third-party-notices/exceljs@4.4.0-LICENSE.txt +22 -0
- package/third-party-notices/fast-csv@4.3.6-LICENSE.txt +21 -0
- package/third-party-notices/fast-diff@1.3.0-LICENSE.txt +201 -0
- package/third-party-notices/for-each@0.3.5-LICENSE.txt +22 -0
- package/third-party-notices/fs-constants@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/fs.realpath@1.0.0-LICENSE.txt +43 -0
- package/third-party-notices/fstream@1.0.12-LICENSE.txt +15 -0
- package/third-party-notices/function-bind@1.1.2-LICENSE.txt +20 -0
- package/third-party-notices/function.prototype.name@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/functions-have-names@1.2.3-LICENSE.txt +21 -0
- package/third-party-notices/generator-function@2.0.1-LICENSE.md.txt +7 -0
- package/third-party-notices/get-caller-file@2.0.5-LICENSE.md.txt +6 -0
- package/third-party-notices/get-intrinsic@1.3.0-LICENSE.txt +21 -0
- package/third-party-notices/get-nonce@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/get-proto@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/get-symbol-description@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/glob@7.2.3-LICENSE.txt +21 -0
- package/third-party-notices/globalthis@1.0.4-LICENSE.txt +21 -0
- package/third-party-notices/gopd@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/graceful-fs@4.2.11-LICENSE.txt +15 -0
- package/third-party-notices/has-bigints@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/has-property-descriptors@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/has-proto@1.2.0-LICENSE.txt +21 -0
- package/third-party-notices/has-symbols@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/has-tostringtag@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/hasown@2.0.4-LICENSE.txt +21 -0
- package/third-party-notices/highlight.js@11.11.2-LICENSE.txt +29 -0
- package/third-party-notices/ieee754@1.2.1-LICENSE.txt +11 -0
- package/third-party-notices/immediate@3.0.6-LICENSE.txt.txt +20 -0
- package/third-party-notices/inflight@1.0.6-LICENSE.txt +15 -0
- package/third-party-notices/inherits@2.0.4-LICENSE.txt +16 -0
- package/third-party-notices/internal-slot@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/is-array-buffer@3.0.5-LICENSE.txt +21 -0
- package/third-party-notices/is-async-function@2.1.1-LICENSE.txt +20 -0
- package/third-party-notices/is-bigint@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/is-boolean-object@1.2.2-LICENSE.txt +22 -0
- package/third-party-notices/is-callable@1.2.7-LICENSE.txt +22 -0
- package/third-party-notices/is-data-view@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/is-date-object@1.1.0-LICENSE.txt +22 -0
- package/third-party-notices/is-document.all@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/is-finalizationregistry@1.1.1-LICENSE.txt +21 -0
- package/third-party-notices/is-fullwidth-code-point@3.0.0-license.txt +9 -0
- package/third-party-notices/is-generator-function@1.1.2-LICENSE.txt +20 -0
- package/third-party-notices/is-map@2.0.3-LICENSE.txt +21 -0
- package/third-party-notices/is-negative-zero@2.0.3-LICENSE.txt +20 -0
- package/third-party-notices/is-number-object@1.1.1-LICENSE.txt +22 -0
- package/third-party-notices/is-regex@1.2.1-LICENSE.txt +20 -0
- package/third-party-notices/is-set@2.0.3-LICENSE.txt +21 -0
- package/third-party-notices/is-shared-array-buffer@1.0.4-LICENSE.txt +21 -0
- package/third-party-notices/is-string@1.1.1-LICENSE.txt +22 -0
- package/third-party-notices/is-symbol@1.1.1-LICENSE.txt +22 -0
- package/third-party-notices/is-typed-array@1.1.15-LICENSE.txt +22 -0
- package/third-party-notices/is-weakmap@2.0.2-LICENSE.txt +21 -0
- package/third-party-notices/is-weakref@1.1.1-LICENSE.txt +21 -0
- package/third-party-notices/is-weakset@2.0.4-LICENSE.txt +21 -0
- package/third-party-notices/isarray@2.0.5-LICENSE.txt +21 -0
- package/third-party-notices/isomorphic.js@0.2.5-LICENSE.txt +21 -0
- package/third-party-notices/jszip@3.10.2-LICENSE.markdown.txt +651 -0
- package/third-party-notices/katex@0.18.9-LICENSE.txt +21 -0
- package/third-party-notices/kdbush@4.1.0-LICENSE.txt +15 -0
- package/third-party-notices/lazystream@1.0.1-LICENSE.txt +23 -0
- package/third-party-notices/lib0@0.2.119-LICENSE.txt +21 -0
- package/third-party-notices/lie@3.3.0-license.md.txt +7 -0
- package/third-party-notices/linkifyjs@4.3.3-LICENSE.txt +19 -0
- package/third-party-notices/listenercount@1.0.1-LICENSE.md.txt +5 -0
- package/third-party-notices/lodash-es@4.18.1-LICENSE.txt +47 -0
- package/third-party-notices/lodash.camelcase@4.3.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.defaults@4.2.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.difference@4.5.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.escaperegexp@4.1.2-LICENSE.txt +47 -0
- package/third-party-notices/lodash.flatten@4.4.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.groupby@4.6.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.isboolean@3.0.3-LICENSE.txt +22 -0
- package/third-party-notices/lodash.isequal@4.5.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.isfunction@3.0.9-LICENSE.txt +47 -0
- package/third-party-notices/lodash.isnil@4.0.0-LICENSE.txt +22 -0
- package/third-party-notices/lodash.isplainobject@4.0.6-LICENSE.txt +47 -0
- package/third-party-notices/lodash.isundefined@3.0.1-LICENSE.txt.txt +22 -0
- package/third-party-notices/lodash.union@4.6.0-LICENSE.txt +47 -0
- package/third-party-notices/lodash.uniq@4.5.0-LICENSE.txt +47 -0
- package/third-party-notices/long@5.3.2-LICENSE.txt +202 -0
- package/third-party-notices/lowlight@3.3.0-license.txt +22 -0
- package/third-party-notices/math-intrinsics@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/minimatch@3.1.5-LICENSE.txt +15 -0
- package/third-party-notices/minimatch@5.1.9-LICENSE.txt +15 -0
- package/third-party-notices/minimist@1.2.8-LICENSE.txt +18 -0
- package/third-party-notices/mkdirp@0.5.6-LICENSE.txt +21 -0
- package/third-party-notices/n-gram@2.0.2-license.txt +22 -0
- package/third-party-notices/normalize-path@3.0.0-LICENSE.txt +21 -0
- package/third-party-notices/numfmt@4.0.1-LICENSE.txt +19 -0
- package/third-party-notices/object-inspect@1.13.4-LICENSE.txt +21 -0
- package/third-party-notices/object-keys@1.1.1-LICENSE.txt +21 -0
- package/third-party-notices/object.assign@4.1.7-LICENSE.txt +21 -0
- package/third-party-notices/once@1.4.0-LICENSE.txt +15 -0
- package/third-party-notices/orderedmap@2.1.1-LICENSE.txt +19 -0
- package/third-party-notices/own-keys@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/pako@1.0.11-LICENSE.txt +21 -0
- package/third-party-notices/path-is-absolute@1.0.1-license.txt +21 -0
- package/third-party-notices/possible-typed-array-names@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/process-nextick-args@2.0.1-license.md.txt +19 -0
- package/third-party-notices/prosemirror-changeset@2.4.4-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-commands@1.7.2-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-dropcursor@1.8.4-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-gapcursor@1.4.1-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-history@1.5.1-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-inputrules@1.5.1-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-keymap@1.2.3-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-model@1.25.12-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-schema-list@1.5.1-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-state@1.4.4-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-tables@1.8.5-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-transform@1.12.2-LICENSE.txt +19 -0
- package/third-party-notices/prosemirror-view@1.42.6-LICENSE.txt +19 -0
- package/third-party-notices/protobufjs@7.6.6-LICENSE.txt +39 -0
- package/third-party-notices/quickselect@3.0.0-LICENSE.txt +15 -0
- package/third-party-notices/rbush@4.0.1-LICENSE.txt +21 -0
- package/third-party-notices/react-dom@19.3.1-LICENSE.txt +21 -0
- package/third-party-notices/react-remove-scroll@2.7.2-LICENSE.txt +21 -0
- package/third-party-notices/react-style-singleton@2.2.3-LICENSE.txt +21 -0
- package/third-party-notices/react@19.3.1-LICENSE.txt +21 -0
- package/third-party-notices/readable-stream@2.3.8-LICENSE.txt +47 -0
- package/third-party-notices/readable-stream@3.6.2-LICENSE.txt +47 -0
- package/third-party-notices/readdir-glob@1.1.3-LICENSE.txt +201 -0
- package/third-party-notices/reflect.getprototypeof@1.0.10-LICENSE.txt +21 -0
- package/third-party-notices/regexp.prototype.flags@1.5.4-LICENSE.txt +22 -0
- package/third-party-notices/require-directory@2.1.1-LICENSE.txt +22 -0
- package/third-party-notices/rimraf@2.7.1-LICENSE.txt +15 -0
- package/third-party-notices/rope-sequence@1.3.4-LICENSE.txt +19 -0
- package/third-party-notices/rxjs@7.8.2-LICENSE.txt.txt +202 -0
- package/third-party-notices/safe-array-concat@1.1.4-LICENSE.txt +21 -0
- package/third-party-notices/safe-buffer@5.1.2-LICENSE.txt +21 -0
- package/third-party-notices/safe-buffer@5.2.1-LICENSE.txt +21 -0
- package/third-party-notices/safe-push-apply@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/safe-regex-test@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/scheduler@0.28.0-LICENSE.txt +21 -0
- package/third-party-notices/set-function-length@1.2.2-LICENSE.txt +21 -0
- package/third-party-notices/set-function-name@2.0.2-LICENSE.txt +21 -0
- package/third-party-notices/set-proto@1.0.0-LICENSE.txt +21 -0
- package/third-party-notices/setimmediate@1.0.5-LICENSE.txt.txt +20 -0
- package/third-party-notices/side-channel-list@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/side-channel-map@1.0.1-LICENSE.txt +21 -0
- package/third-party-notices/side-channel-weakmap@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/side-channel@1.1.1-LICENSE.txt +21 -0
- package/third-party-notices/sonner@2.0.8-LICENSE.md.txt +21 -0
- package/third-party-notices/stop-iteration-iterator@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/string-width@4.2.3-license.txt +9 -0
- package/third-party-notices/string.prototype.trim@1.2.11-LICENSE.txt +21 -0
- package/third-party-notices/string.prototype.trimend@1.0.10-LICENSE.txt +21 -0
- package/third-party-notices/string.prototype.trimstart@1.0.8-LICENSE.txt +21 -0
- package/third-party-notices/string_decoder@1.1.1-LICENSE.txt +48 -0
- package/third-party-notices/string_decoder@1.3.0-LICENSE.txt +48 -0
- package/third-party-notices/strip-ansi@6.0.1-license.txt +9 -0
- package/third-party-notices/tar-stream@2.2.0-LICENSE.txt +21 -0
- package/third-party-notices/tiny-pinyin@1.3.2-LICENSE.txt +21 -0
- package/third-party-notices/tmp@0.2.7-LICENSE.txt +21 -0
- package/third-party-notices/traverse@0.3.10-LICENSE.txt +21 -0
- package/third-party-notices/trigram-utils@2.0.1-license.txt +22 -0
- package/third-party-notices/tslib@2.8.1-LICENSE.txt.txt +12 -0
- package/third-party-notices/typed-array-buffer@1.0.3-LICENSE.txt +21 -0
- package/third-party-notices/typed-array-byte-length@1.0.3-LICENSE.txt +21 -0
- package/third-party-notices/typed-array-byte-offset@1.0.5-LICENSE.txt +21 -0
- package/third-party-notices/typed-array-length@1.0.8-LICENSE.txt +21 -0
- package/third-party-notices/typedarray.prototype.slice@1.0.6-LICENSE.txt +21 -0
- package/third-party-notices/unbox-primitive@1.1.0-LICENSE.txt +21 -0
- package/third-party-notices/undici-types@8.9.0-LICENSE.txt +21 -0
- package/third-party-notices/unzipper@0.10.14-LICENSE.txt +25 -0
- package/third-party-notices/use-callback-ref@1.3.3-LICENSE.txt +21 -0
- package/third-party-notices/use-sidecar@1.1.3-LICENSE.txt +21 -0
- package/third-party-notices/util-deprecate@1.0.2-LICENSE.txt +24 -0
- package/third-party-notices/uuid@8.3.2-LICENSE.md.txt +9 -0
- package/third-party-notices/w3c-keyname@2.2.8-LICENSE.txt +19 -0
- package/third-party-notices/which-boxed-primitive@1.1.1-LICENSE.txt +21 -0
- package/third-party-notices/which-builtin-type@1.2.1-LICENSE.txt +21 -0
- package/third-party-notices/which-collection@1.0.2-LICENSE.txt +21 -0
- package/third-party-notices/which-typed-array@1.1.24-LICENSE.txt +22 -0
- package/third-party-notices/wrap-ansi@7.0.0-license.txt +9 -0
- package/third-party-notices/wrappy@1.0.2-LICENSE.txt +15 -0
- package/third-party-notices/xmlchars@2.2.0-LICENSE.txt +18 -0
- package/third-party-notices/y-protocols@1.0.7-LICENSE.txt +21 -0
- package/third-party-notices/y18n@5.0.8-LICENSE.txt +13 -0
- package/third-party-notices/yargs-parser@21.1.1-LICENSE.txt.txt +14 -0
- package/third-party-notices/yargs@17.7.3-LICENSE.txt +21 -0
- package/third-party-notices/yjs@13.6.33-LICENSE.txt +23 -0
- 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)); }
|